Guten Abend, ich habe ein Problem mit dem "Noobspawn Schutz" der Spieler soll nicht getötet werden können und kein Schaden erhalten in der Zone.
Leider, werde ich mit folgenden Waffen trotzdem gekillt:
Rocket Launcher = ID: 35
Satchel = ID: 39
Flamethrower = ID: 37
Sawed-off = ID: 26
Molotov = ID: 8
Teargas = ID: 17
Granate = ID: 16
Combat shotgun = ID: 27
Rocket Launcher HS = ID: 36
Minigun = ID: 38
Warum ist das so obwohl ich mit einer Abfrage von Anfang an das Damage für Spieler verbiete,
und warum werde ich bei Standard Waffen nicht gekillt?
Lua
function damageCalcServer_func ( player, weapon, bodypart )
if source == client then
-- Spawnschutz
if not vioGetElementData ( client, "spawnProtection" ) and not vioGetElementData (player, "spawnProtection" ) and not vioGetElementData ( player, "tazered" ) and not getElementData(player, "nodmzone") == 1 then
-- Spielzeit
if vioGetElementData ( client, "playingtime" ) and vioGetElementData ( client, "playingtime" ) >= noobtime and vioGetElementData (player, "playingtime" ) and vioGetElementData (player, "playingtime" ) >= noobtime then
if vioGetElementData (player, "jailtime" ) == 0 and vioGetElementData ( player, "prison" ) == 0 then
local x1, y1, z1 = getElementPosition ( client )
local x2, y2, z2 = getElementPosition ( player )
triggerClientEvent (player, "startBloodScreen", player)
local dist = getDistanceBetweenPoints3D(x1,y1,z1,x2,y2,z2)
gotLastHit[player] = getTickCount()
gotLastHit[client] = getTickCount()
if weapon == 34 and bodypart == 9 and dist >= 20 and vioGetElementData(player, "nodmzone") == 0 then
setPedHeadless ( player, true )
killPed ( player, client, weapon, bodypart )
outputChatBox ( "Du wurdest gesnipet!", player, 255, 0, 0 )
outputLog ( getPlayerName ( client ).." hat "..getPlayerName ( player ).." mit der Sniper ein Headshot gegeben", "dmg" )
elseif weapon == 34 and bodypart == 9 then
return
else
local multiply = 1
if weapon == 24 and dist <= 1 then
multiply = 0.5
end
local basicDMG = ( weaponDamages[weapon] and weaponDamages[weapon][bodypart] or 1 ) * multiply
damagePlayer ( player, basicDMG, client, weapon )
local pname = getPlayerName ( client )
outputLog ( pname.." hat "..getPlayerName ( player ).." mit Waffe "..weapon.." an Part "..bodypart.." getroffen, Schaden: "..basicDMG, "dmg" )
if gangAreaUnderAttack then
if playerData[pname] and playerData[pname]["imGW"] and isElement ( player ) and getElementType ( player ) == "player" and vioGetElementData ( player, "fraktion" ) ~= vioGetElementData ( client, "fraktion" ) then
playerData[pname]["damage"] = playerData[pname]["damage"] + basicDMG
if playerData[getPlayerName(player)] then
playerData[getPlayerName(player)]["hatDMGbekommen"] = client
end
vioSetElementData ( client, "GangwarDamageGemacht", ( vioGetElementData ( client, "GangwarDamageGemacht" ) or 0 ) + basicDMG )
vioSetElementData ( player, "GangwarDamageBekommen", ( vioGetElementData ( player, "GangwarDamageBekommen" ) or 0 ) + basicDMG )
triggerClientEvent ( client, "rechneDMGAn", client, basicDMG )
end
end
if client then
vioSetElementData ( client, "lastcrime", "violance" )
end
end
end
end
end
end
end
addEvent ( "damageCalcServer", true )
addEventHandler ( "damageCalcServer", getRootElement(), damageCalcServer_func )
Alles anzeigen