29.01.2017, 07:18
Entгo galera, to tentando me livrar dos hacks, consegui me livrar do meus infernal, aquele INVuneravel fazendo uma nova vida:
new vida[MAX_PLAYERS]...
Alйm disso com essa nova vida[playerid] e um novo onplayerdeath, me livrei de um fake kill, que poderia literalmente destruir meu servidor...
Usando onplayergivedamage consegui fazer todas as substituiзхes de dano do servidor, porйm ainda me resta mais 3 tipos de dano que estгo ridiculos no meu servidor...
detectar dano de queda
pegando fogo
dano de explosгo
Por exemplo, se um cara fica do lado de uma explosгo do carro ele nгo perde o vida[playerid], toma um tiro de RPG...
Se um cara pula de um aviгo, ele nгo morre (jб vi um servidor que vc perdia vida qnd caia dependendo da altura que vc caia, como eles fizeram isso?)
Se um cara passa num fogo ou toma uma molotov, ele fica sem perder dano enquanto pega fogo
Nгo achei nada sobre isso no fуrum...
Tentei fazer umas gambiarras, como por exemplo o dano de queda:
Botei isso no OnPlayerUpdate, mas ficou horrivel...
new vida[MAX_PLAYERS]...
Alйm disso com essa nova vida[playerid] e um novo onplayerdeath, me livrei de um fake kill, que poderia literalmente destruir meu servidor...
Usando onplayergivedamage consegui fazer todas as substituiзхes de dano do servidor, porйm ainda me resta mais 3 tipos de dano que estгo ridiculos no meu servidor...
detectar dano de queda
pegando fogo
dano de explosгo
Por exemplo, se um cara fica do lado de uma explosгo do carro ele nгo perde o vida[playerid], toma um tiro de RPG...
Se um cara pula de um aviгo, ele nгo morre (jб vi um servidor que vc perdia vida qnd caia dependendo da altura que vc caia, como eles fizeram isso?)
Se um cara passa num fogo ou toma uma molotov, ele fica sem perder dano enquanto pega fogo
Nгo achei nada sobre isso no fуrum...
Tentei fazer umas gambiarras, como por exemplo o dano de queda:
Код:
DanoQueda(playerid) { new danoqueda, dmgstring[10], anim = GetPlayerAnimationIndex(playerid); if(anim == 1029) { danoqueda = 10; } else if(anim == 1208) { danoqueda = 20; } else if(anim == 1129) { danoqueda = 5; } if(danoqueda > 0) { vida[playerid] -= danoqueda; ultimoplayerquemedeudano[playerid] = playerid; ultimaarmaquemedeudano[playerid] = 54; ApplyAnimation(playerid, "GYMNASIUM", "gym_jog_falloff", 4.1, 0, 1, 1, 0, 0); SetTimerEx("StopAnim", 1500, false, "i", playerid); } }