Po co dodatkowy argument w funkcji, je?li z klienta nie prze?lemy innego gracza ni? client (nie wliczam w to przesy?ania server -> client -> server).
Faktycznie, estetyczniejsze - doda?e? warunek sprawdzaj?cy, kt?ryego killercycDDS nie mia? w kodzie -- sk?d wiesz, ?e autor postu uwzgl?dnia go w triggerClientEvent, po stronie klienta, w 3/4 argumencie?
Tabulatory krzywo dodane, zero estetyki.
Je?li masz zamiar edytowa? kod na szybko bazuj?c na mojej odpowiedzi to si??u?miej?.
Timer dalej nie b?dzie dzia?a? bo nic w nim nie zmieni?e? - tylko doda?e? zb?dny kod i tyle. Je?li ju? chcesz pomaga? i nabija? sobie posty to przeanalizuj kod wcze?niej.
Nie chc? kogo? urazi?, ale dobry przyk?ad Support-Teamu.
Poprawi?em tw?j kod troch?, jest bardziej przejrzysty:
function loshajs(source)
outputChatBox ("Trwa losowanie...", source)
if getElementData(source, "losuj:hajs") == 2 then
setTimer(function()
outputChatBox ("Losowa?e? ju? dzisiaj", source)
setElementData(source, "losuj:hajs", false)
end, 5000, 1)
else
local money = math.random(15,50)
setTimer(function()
outputChatBox("Wylosowa?e? " ..money.. "$.", source)
givePlayerMoney(source, money)
setElementData(source, "losuj:hajs", 2)
setElementData(source, "losuj:hajs", false)
end, 5000, 1)
end
end
addEvent("loshajs", true)
addEventHandler("loshajs", resourceRoot, loshajs)
Po co dodatkowy argument w funkcji, je?li z klienta nie prze?lemy innego gracza ni? client (nie wliczam w to przesy?ania server -> client -> server).
Faktycznie, estetyczniejsze - doda?e? warunek sprawdzaj?cy, kt?ryego killercycDDS nie mia? w kodzie -- sk?d wiesz, ?e autor postu uwzgl?dnia go w triggerClientEvent, po stronie klienta, w 3/4 argumencie?
Tabulatory krzywo dodane, zero estetyki.
Je?li masz zamiar edytowa? kod na szybko bazuj?c na mojej odpowiedzi to si??u?miej?.
Timer dalej nie b?dzie dzia?a? bo nic w nim nie zmieni?e? - tylko doda?e? zb?dny kod i tyle. Je?li ju? chcesz pomaga? i nabija? sobie posty to przeanalizuj kod wcze?niej.
Nie chc? kogo? urazi?, ale dobry przyk?ad Support-Teamu.
Po 1 dla mnie kod kt?ry wys?a?em wygl?da estetyczniej i jest bardziej czytelny.
Po 2 nie bazowa?em na twoim kodzie, przerobi?em pierwotny kod.
Po 3 nie wiem jak ty ale ja zawsze sprawdzam to co wysy?am i kod kt?ry poda?em dzia?a w por?wnaniu do twojego.
Nie wiem czy wiesz, ale timer na dawanie kasy ustawi?e? na 500 sekund (~8,5minut).
Czyli: po wykonaniu triggerClientEvent, za 8 minut otrzymasz kas?.
Musisz si? upewni?, ?e Twoja elementData "losuj:hajs" jest ustawiona na false.
Je?li timer ustawi si? raz wraz z elementDat?, musisz wykona? reconnect albo ustawi? sobie r?cznie elementDat? na false.
Kod, kt?ry dzia?a i sprawdzi?em (zmie? sobie czas timera je?li chcesz otrzyma? kas? natychmiast):
function loshajs()
local money = math.random(15,50)
outputChatBox("Wylosowa?e? " .. money .. "$.", client)
if getElementData(client, "losuj:hajs") then return end
setElementData(client, "losuj:hajs", true)
setTimer(function()
outputChatBox("Losowa?e? ju? dzisiaj", client)
setElementData(client, "losuj:hajs", false)
givePlayerMoney(client, tonumber(money))
end, 500000, 1)
end
addEvent("loshajs", true)
addEventHandler("loshajs", getRootElement(), loshajs)
Od siebie proponowa?bym taki kod:
function loshajs()
if getElementData(client, "losuj:hajs") then
outputChatBox("Losowa?es ju? dzisiaj!", client)
return
end
local money = math.random(15, 50)
outputChatBox("Wylosowa?e? " .. money .. "$", client)
setElementData(client, "losuj:hajs", true)
givePlayerMoney(client, money)
end
addEvent("loshajs", true)
addEventHandler("loshajs", getRootElement(), loshajs)
Je?li chcia?by? resetowanie elementDaty po okre?lonym czasie, dodaj taki setTimer po givePlayerMoney:
local za_ile = 10 --ilo?? sekund, za ile resetujemy elementDat?
function loshajs()
if getElementData(client, "losuj:hajs") then
outputChatBox("Losowa?es ju? dzisiaj!", client)
return
end
local money = math.random(15, 50)
outputChatBox("Wylosowa?e? " .. money .. "$", client)
setElementData(client, "losuj:hajs", true)
givePlayerMoney(client, money)
setTimer(function()
setElementData(client, "losuj:hajs", false)
end, za_ile * 1000, 1)
end
addEvent("loshajs", true)
addEventHandler("loshajs", getRootElement(), loshajs)
Zmienna 'za_ile' okre?la, po ilu sekundach chcesz zresetowa? elementDat?, aby gracz m?g? ponownie przyst?pi? do losowania pieni?dzy.
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach