Se zerar o dano de tal arma, tem como burlб-la? -
pWesley - 23.02.2015
Olб a todos. Eu estou desenvolvendo um servidor de Deathmatch que sу possa utilizar Deagle, Sniper, Shotgun e Armas brancas. Sendo assim, eu fiz uma sincronizaзгo de dano para as demais armas, mas a minha pergunta й a seguinte: Se zerar o dano de uma arma, tem como o cara burlar?
OBS: O tуpico coloquei em tag Off pra abrir uma discussгo sobre o assunto.
Re: Se zerar o dano de tal arma, tem como burlб-la? -
Lуs - 23.02.2015
Desde que seja server-side, nгo.
Re: Se zerar o dano de tal arma, tem como burlб-la? -
pWesley - 23.02.2015
Quote:
Originally Posted by Lуs
Desde que seja server-side, nгo.
|
Ou seja, eu posso fazer com que o dano de tal arma seja nulo a partir do server-side?
Re: Se zerar o dano de tal arma, tem como burlб-la? -
Lуs - 23.02.2015
Quote:
Originally Posted by pWesley
Ou seja, eu posso fazer com que o dano de tal arma seja nulo a partir do server-side?
|
Creio que sim.
Dк uma olhada nessas funзхes:
-------------
Utilizando retorno falso no
OnPlayerWeaponShot vocк consegue anular.
Re: Se zerar o dano de tal arma, tem como burlб-la? -
pWesley - 23.02.2015
Eu estou usando a funзгo OnPlayerGiveDamage e fiz uns testes ... e por sinal, ele consegue anular o dano da arma que eu defini.
Re: Se zerar o dano de tal arma, tem como burlб-la? -
zPain - 23.02.2015
Pelo que li na wiki, suponho que possa ser feito da seguinte forma:
PHP код:
new AllowedWeapons[] = {24, 25, 34};
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ) {
for(new index = 0; AllowedWeapons[index]; ++index) {
if(weaponid == AllowedWeapons[index]) {
return 1;
}
}
return 0;
}
Basta inserir os IDs das armas brancas na array.
Re: Se zerar o dano de tal arma, tem como burlб-la? -
pWesley - 23.02.2015
Quote:
Originally Posted by zPain
Pelo que li na wiki, suponho que possa ser feito da seguinte forma:
PHP код:
new AllowedWeapons[] = {24, 25, 34};
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ) {
for(new index = 0; AllowedWeapons[index]; ++index) {
if(weaponid == AllowedWeapons[index]) {
return 1;
}
}
return 0;
}
Basta inserir os IDs das armas brancas na array.
|
Nisso que й feito a verificaзгo da(s) arma(s) a partir da matriz, faz com que habilite o dano de tal arma ligada a ela?
Eu fiz meu proprнo cancelamento de dano, usando OnPlayerGiveDamage:
PHP код:
public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid, bodypart){
switch(weaponid){
// Danos (ANTI WEAPON HACK)
case 16, 17, 18, 22, 23, 27, 28, 29, 30, 31, 32: amount = 0;
case 33, 35, 36, 37, 38, 39, 40, 41, 42, 43: amount = 0;
default: amount = 5;
}
return 1;
}
e por sinal, ela cancela totalmente os danos (OBSERVE COMO ESTБ A PARTIR DA LINHA COMENTADA // DANOS).
Re: Se zerar o dano de tal arma, tem como burlб-la? -
zPain - 23.02.2015
Quote:
Originally Posted by pWesley
Nisso que й feito a verificaзгo da(s) arma(s) a partir da matriz, faz com que habilite o dano de tal arma ligada a ela?
Eu fiz meu proprнo cancelamento de dano, usando OnPlayerGiveDamage:
PHP код:
public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid, bodypart)
{
if(Morto[damagedid] == true || ModoAFK[damagedid] == true || APlayerData[damagedid][Admin] == 8) return 1;
switch(weaponid){
case 24: amount = (amount < 10 ? 5 : 32);
case 25: amount = (amount < 10 ? 5 : 16);
case 34: amount = (amount < 10 ? 5 : 40);
// Danos (ANTI WEAPON HACK)
case 16, 17, 18, 22, 23, 27, 28, 29, 30, 31, 32: amount = 0;
case 33, 35, 36, 37, 38, 39, 40, 41, 42, 43: amount = 0;
default: amount = 5;
}
return 1;
}
|
Meu cуdigo simplesmente anula o dano de armas que nгo sejam Desert Eagle, Shotgun e Sniper. Foi o que eu entendi.
Re: Se zerar o dano de tal arma, tem como burlб-la? -
Rodney Francalim - 23.02.2015
Vocкs precisam lembrar que o lagcomp tem de estar igual a 1.