Detectar outras formas de dano sem ser Arma -
weex - 29.01.2017
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:
Код:
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);
}
}
Botei isso no OnPlayerUpdate, mas ficou horrivel...
Re: Detectar outras formas de dano sem ser Arma -
DiegoLeo - 29.01.2017
De uma olhada nisso:
https://sampwiki.blast.hk/wiki/OnPlayerTakeDamage
Re: Detectar outras formas de dano sem ser Arma -
PT - 29.01.2017
Bem tem algumas includes ai no forum que te ajudam nisso.
Porem algumas delas tem alguns bugs e nem os proprios criadores delas querem fixar.
Anyway sao outras historias.
Eu tambem ando a estudar isso ai ( sim pq nao tenho mexido muito com pawn ) para o meu servidor de DM,
notei que existem alguns bugs nao fixados do proprio samp o que complica mais..
Exemplo se for passageiro de uma NGR 500 tu nao toma dano.. e como deve imaginar em sv de DM isso й uma treta.
Re: Detectar outras formas de dano sem ser Arma -
RodrigoMSR - 29.01.2017
Quote:
Originally Posted by PT
Exemplo se for passageiro de uma NGR 500 tu nao toma dano.. e como deve imaginar em sv de DM isso й uma treta.
|
No meu dei um jeito nisso bloqueando atirar de um veнculo sem motorista, ajudou muito na йpoca.
Re: Detectar outras formas de dano sem ser Arma -
PT - 29.01.2017
Quote:
Originally Posted by RodrigoMSR
No meu dei um jeito nisso bloqueando atirar de um veнculo sem motorista, ajudou muito na йpoca.
|
Sim eu ja tinha pensado nisso e talvez terei de fazer o mesmo.
Re: Detectar outras formas de dano sem ser Arma -
weex - 30.01.2017
Quote:
Originally Posted by PT
Bem tem algumas includes ai no forum que te ajudam nisso.
Porem algumas delas tem alguns bugs e nem os proprios criadores delas querem fixar.
Anyway sao outras historias.
Eu tambem ando a estudar isso ai ( sim pq nao tenho mexido muito com pawn ) para o meu servidor de DM,
notei que existem alguns bugs nao fixados do proprio samp o que complica mais..
Exemplo se for passageiro de uma NGR 500 tu nao toma dano.. e como deve imaginar em sv de DM isso й uma treta.
|
Ah isso й fбcil de resolver, eu resolvi assim:
Em:
OnPlayerKeyStateChange
Colocar essa parte de codigo:
Код:
if(newkeys & KEY_FIRE && IsPlayerInAnyVehicle(playerid)) {
new vehid = GetPlayerVehicleID(playerid);
if(GetVehicleDriver(vehid) == 65535) {
RemovePlayerFromVehicle(playerid);
}
}
Eu nгo achei nenhuma include que detecta-se dano de:
- Player pegando fogo
- Player pegou numa explosгo
- Player caindo (pelo menos essa eu fiz um codigo podre, mas talvez tenha um mais bem feito como o do server de zumbi que eu joguei)
Tem como mostrar onde vocк achou essas includes?
Re: Detectar outras formas de dano sem ser Arma -
weex - 02.02.2017
Alguйm sabe como detectar dano:
Player Pegando Fogo
Explosгo
Queda (com altura)
Re: Detectar outras formas de dano sem ser Arma -
RodrigoMSR - 02.02.2017
Quote:
Originally Posted by weex
Alguйm sabe como detectar dano:
Player Pegando Fogo
Explosгo
Queda (com altura)
|
Utilize a callback
OnPlayerTakeDamage.
Re: Detectar outras formas de dano sem ser Arma -
weex - 03.02.2017
Quote:
Originally Posted by RodrigoMSR
|
Nгo funciona dano de explosгo/rpg/hs-rocket, nem pegando fogo...
Programando e Relaxando -
RazorGuigo - 03.02.2017
Quote:
Originally Posted by weex
Nгo funciona dano de explosгo/rpg/hs-rocket, nem pegando fogo...
|
Vocк tem que fazer altas gambiarras, estude o basico de programaзгo, й importante ter um conhecimento minimo de variantes, e tambйm leia na Wiki-SA:MP sobre
Callbacks