Cześć,
Może zacznę od tego, że jestem lama jeśli chodzi o lua i jeszcze raczkuję, dlatego mam problem z pewnym skryptem, który powiem w prost ściągnąłem z internetu. Mam nadzieje ze autor się nie pogniewa.
Na serwerze którym się zajmuję mam niemały problem z graczami uciekającymi podczas walki, dlatego dość intensywnie poszukuje sposobu aby temu zaradzić.
Poniżej zamieszczam skrypt, który poprawnie wykrywa zadawane obrażenia, uruchamia timer i wyświetla ostrzeżenia, jednak chciałbym aby skrypt ustawiał ujemną wartość "blood" dla gracza, który wyjdzie z serwera przed upływem 20 sekund od zadania obrażeń.
Proszę o pomoc w poprawnym dopisaniu tej funkcji.
function damageAntiQuit ( data,oldvalue)
if (data=="blood") then
if oldvalue then
local ranny = getElementData (source, "CanLeave")
local obrazenia150 = oldvalue - getElementData(source,"blood")
if (obrazenia150>250) then
if (ranny ~= "no" ) then
triggerClientEvent(source,"wlaczInfo",source)
setTimer (triggerClientEvent,30000,1,source,"wylaczInfo",source)
getElementData( source,"CanLeave", "no" )
outputChatBox ( "* Otrzymałeś obrażenia. Z gry możesz wyjść dopiero za 20 sekund!", source, 255, 0, 0 )
setTimer ( getElementData, 20000, 1, source,"CanLeave", false)
setTimer ( outputChatBox, 20000, 1, "* Mozesz teraz bezpiecznie wyjsc z gry", source, 255, 0, 0 )
elseif (ranny == "no" ) then
end
end
end
end
end
addEventHandler("onElementDataChange",getRootElement(),damageAntiQuit)
function antyQuit( )
local ranny = getElementData (source, "CanLeave")
if ( ranny == "no" ) then
sourceAccount = getPlayerAccount (source)
setAccountData(sourceAccount,"blood",-1)
outputDebugString("* " .. getPlayerName(source) .. "wyszedl z gry podczas walki!")
end
end
addEventHandler("onPlayerQuit",getRootElement(),antyQuit)