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...