Eu venho procurando a muito tempo uma proteção admin o (godmode) o que acontece é que, o "Headshot" é de "Stealth" portando não importa qual PROTEÇÃO eu insira no servidor, sendo HS, irá morrer imediatamente. Então minha duvida é, como seria o resource pra evitar isso? Já que sendo somente no corpo ele "protege" o ped, mas na cabeça morre.
Client da Proteção
addEventHandler ( "onClientPlayerDamage",root,
function ()
if getElementData(source,"invincible") then
cancelEvent()
end
end)
addEventHandler("onClientPlayerStealthKill",localPlayer,
function (targetPlayer)
if getElementData(targetPlayer,"invincible") then
cancelEvent()
end
end)
Server:
function toggleGodMode ( thePlayer )
local account = getPlayerAccount ( thePlayer )
if ( not account or isGuestAccount ( account ) ) then
return
end
local accountName = getAccountName ( account )
if ( isObjectInACLGroup ( "user.".. accountName, aclGetGroup ( "Console" ) ) ) then
local state = ( not getElementData ( thePlayer, "invincible" ) )
setElementData ( thePlayer, "invincible", state )
outputChatBox ( "God Mode is now ".. ( state and "Enabled" or "Disabled" ) ..".", thePlayer, 0, 255, 0 )
end
end
addCommandHandler ( "god", toggleGodMode )
Parte do Headshot
Server:
function MakePlayerHeadshot( attacker, weapon, bodypart, loss )
if attacker and getElementType ( attacker ) == "ped" then
if bodypart == 9 then
triggerEvent( "onPlayerHeadshot", source, attacker, weapon, loss )
setPedHeadless ( source, true )
killPed( source, attacker, weapon, bodypart )
setTimer( BackUp, 900, 1, source )
end
end
end
function MakeHeadshot( source, attacker, weapon, loss )
triggerEvent( "onPlayerHeadshot", source, attacker, weapon, loss )
killPed( source, attacker, weapon, 9 )
setPedHeadless ( source, true )
setTimer( BackUp, 900, 1, source )
end
function BackUp( source )
if getElementType ( source ) == "player" then
setPedHeadless ( source, false )
end
end
function outputHeadshotIcon (killer, weapon, bodypart)
if bodypart == 9 then
cancelEvent()
exports.killmessages:outputMessage (
{getPlayerName(killer),{"padding",width=3},{"icon",id=weapon},{"padding",width=3},{"icon",id=256},{"padding",width=3},{"color",r=r1,g=g1,b=b1},getPlayerName(source) }, getRootElement(),r2,g2,b2)
end
end
addEvent ( "onServerHeadshot", true )
addEventHandler( "onPlayerDamage", getRootElement(), MakePlayerHeadshot )
addEventHandler( "onPlayerKillMessage", getRootElement(), outputHeadshotIcon )
addEventHandler( "onServerHeadshot", getRootElement(), MakeHeadshot )
Client:
function sendHeadshot ( attacker, weapon, bodypart, loss )
if attacker == getLocalPlayer() then
if bodypart == 9 then
triggerServerEvent( "onServerHeadshot", getRootElement(), source, attacker, weapon, loss )
setElementHealth ( source, 0 )
setPedHeadless( source, true )
end
end
end
addEventHandler ( "onClientPedDamage", getRootElement(), sendHeadshot )
addEventHandler ( "onClientPlayerDamage", getRootElement(), sendHeadshot )