Guten Abend.
Ich wollte ein kleines Anti-Area51 Besucherskript machen. Ich meine damit, dass man ausserhalb einer Staatsfraktion oder als normaler User( kein Admin ) eine Warnung bekommt wenn du die Area ( colshape ) betrittst. Nur leider komm ein paar Warnings:
Zeile 10: isPedInVehicle() Bad pointer
Zeile 18: triggerServerEvent() Expected Element at argument 2 got nil
Clientside Skript:
Lua
local area51col = createColSphere(216.46994,1951.89600,17.64063,350)
gMe = getLocalPlayer()
addEventHandler("onClientColShapeHit", area51col,
function(gMe)
local f = getElementData(gMe,"fraktion")
local adminlvl = getElementData(gMe,"adminlvl")
if not isPedInVehicle(source) then
if not (f == 1) or (f == 6) or (f == 8) or (adminlvl) then
outputChatBox("Du bist nicht autorisiert den Bereich des Feldweges und der Area 51 zu betreten!",125,0,0)
outputChatBox("Falls du nicht verschwindest, wird dein Wantedlevel auf 6 gesetzt!",125,0,0)
outputChatBox("Du hast 30 Sekunden Zeit die Sperrzone zu verlassen!",125,0,0)
setElementData(gMe,"inarea",true)
local wantedTimer = setTimer(
function (gMe)
triggerServerEvent("onAreaTimerDone", gMe )
outputChatBox("Aufgrund deines nicht autorisierten Aufenthalts wurde dein Wantedlevel auf 6 gesetzt!",125,0,0)
end
,30000,1)
end
else
outputChatBox("Du bist nicht autorisiert den Bereich des Feldweges und der Area 51 zu betreten!",0,125,0)
outputChatBox("Da du dich in einem Fahrzeug befindest, hast du nur 10 Sekunden Zeit die Sperrzone zu verlassen!",125,0,0)
setElementData(gMe,"inarea",true)
local wantedTimer = setTimer(
function (gMe)
triggerServerEvent("onAreaTimerDone", getLocalPlayer() )
outputChatBox("Aufgrund deines nicht autorisierten Aufenthalts wurde dein Wantedlevel auf 6 gesetzt!",125,0,0)
end
,10000,1)
addEventHandler("onClientColShapeLeave", area51col,
function ()
if getElementData(gMe,"inarea") == true then
killTimer(wantedTimer)
setElementData(gMe,"inarea",false)
outputChatBox("Timer killed!",gMe)
end
end
)
end
end
)
Alles anzeigen
Serverside:
Lua
addEvent("onAreaTimerDone",true)
addEventHandler("onAreaTimerDone", getRootElement(),
function (player)
setPlayerWantedLevel(player, (tonumber(getPlayerWantedLevel(player))) +6 )
end
)
Ich hoffe jemand weiss was falsch ist.
Falls sich einer fragt , warum ich setPlayerWantedLevel triggere, ist ganz einfach, clientseitig will die Funktion bei mir nicht.
mfg