What's new

Skrypty & Kody A random place.

Status
Not open for further replies.

misztrz440

Banned
Joined
Dec 15, 2012
Messages
1,032
Reaction score
39
Siemno. Tak my?l? i nie za bardzo wiem jak to zrobi?. "Mamy np. 3 skrzynie o aid takim samym. W jednej jest item np. w ?rodkowej i jak kto? we?nie to teraz item jest w losowej skrzynce np. w tej po prawej." No i nie wiem jak to zrobi?, ?eby to mia?o sens.
 

Placek

Blue Waffle
Joined
Sep 30, 2008
Messages
6,793
Reaction score
672
Age
9
Odp: A random place.

Przede wszystkim to ty nawet nie wiesz co chcesz zrobic. Wez to opisz jakos po ludzku zeby sie dalo zrozumiec co ty chcesz, a nie taki mindfuck jaki ci sie udalo stworzyc w tym jednym zdaniu...
 

misztrz440

Banned
Joined
Dec 15, 2012
Messages
1,032
Reaction score
39
Odp: A random place.

mamy 50000 skrzyn i zeby za kazdym razem jak gracz znajdzie wlasciwa czyli ta z iteme to nastepnym razem ten item byl w innej, bo w tej samej caly czas jak bedzie to ktos znajdzie i powie w ktorej jest, a tak kazdy musi sam znalesc ta wlasciwa skrzynie. XDDDD
 

Ciamciaj Bigos

ก้้้้้้&
Joined
Jun 6, 2013
Messages
2,081
Reaction score
192
Odp: A random place.

w pierwszym ifie sprawdzasz czy aid sie zgadza, jesli tak to dodaje nagrode cidowi. pozniej losujesz pozycje jednej z 50000 skrzyn (getThingFromPos(math.random(1, #pos)).uid) i zmieniasz jej aid na ten z nagroda, nie zapominajac o usunieciu aid klikanej skrzynki.
 

misztrz440

Banned
Joined
Dec 15, 2012
Messages
1,032
Reaction score
39
Odp: A random place.

Aaaa dobra, ?e zmienia atrybut skrzyni tak my?la?em, ale myslalem tez ze cos latwiejszego jest ale dobra z tym ogarne dzieki. Rep

---------- Tre?? dodana o 18:00 ----------

Nie moge repa
 

Placek

Blue Waffle
Joined
Sep 30, 2008
Messages
6,793
Reaction score
672
Age
9
Odp: A random place.

Mozna latwiej...
Nadaj skrzyniom np aid od 10000 do 60000.
Zapisuj w ktorej skrzyni jest nagroda gdzies, np global storage jakies.
I skrypt jakis taki:

Code:
function onUse(cid, item)
if item.aid == getGlobalStorage(1234) then
setGlobalStorage(1234, math.random(10000,60000))
doPlayerAddItem(cid, 5432)
else
doPlayerSendCancel("item jest w innej skrzyni")
end
end

Ten kod sam w sobie pewnie nie zadziala, ale sobie popraw. Dawno nie ruszalem lua i mi sie skladnia zapomniala, a nie chce mi sie grzebac teraz po dokumentacjach i poradnikach jak to lecialo.
Jaki jest plus? Nie musisz grzebac przy pozycjach, sprawdzac ich, zapisywac w skrypcie i kombinowac, nie musisz zmieniac aid skrzynek w skrypcie za kazdym razem. Tylko sobie wybierasz zakres aidow i dodajesz te aidy na skrzynki ktore maja brac udzial w losowaniu.
W sumie sa plusy i minusy jednego i drugiego rozwiazania...
Mozna by kombinowac i optymalizowac potem i zrobic to ladnie i poprawnie. Ale tego nie zrobisz a pewnie nikomu sie nie bedzie chcialo ;P No i poza tym trzeba by wiedziec konkretnie jakie ma byc zastosowanie zeby to przemyslec i zrobic optymalnie. Mozliwe, ze najlepiej by bylo po prostu dac zakres pozycji, taki kwadrat na mapie i wszystkie skrzynki z niego liczyc do losowania, czy cos...
 

misztrz440

Banned
Joined
Dec 15, 2012
Messages
1,032
Reaction score
39
Odp: A random place.

Dobra co? wykombinuj?, abym mia? na czym si? oprze? za ch?ci podziekowanie (repa tez nie moge dac) Xd

---------- Tre?? dodana o 14:00 ----------

REFFRESHHH

jeszcze tylko jedno jak to po??czy?:
[LUA]
local pos = {
{x= 983, y=945, z=5},
{x= 984, y=945, z=5}
}

doItemSetAttribute(getThingfromPos(math.random(1, #pos).uid), "aid", 123448)[/LUA]
Aby losowalo z tych 2 pozycji>? jakas petle czy cus bo zapomnialem
 
Status
Not open for further replies.
Top