[Pedido] Perdendo vida ao levar socos
#1

Eu desejo saber como alterar, o sistema, tipo, a pessoa dб um soco na outra aqui e a pessoa perde vida, eu queria saber de uma base de como nгo deixar que isso aconteзa, alguйm sabe como posso definir isso pf?
Reply
#2

Up.. alguem?
Reply
#3

PHP код:
public OnPlayerGiveDamage(playeriddamagedidFloatamountweaponidbodypart) {

    if ( 
weaponid == || weaponid == // soco e soqueira
        
return 0;

    return 
1;

Nгo tenho certeza se irб funcionar.

Beijos!
Reply
#4

Quote:
Originally Posted by Gii
Посмотреть сообщение
PHP код:
public OnPlayerGiveDamage(playeriddamagedidFloatamountweaponidbodypart) {
    if ( 
weaponid == || weaponid == // soco e soqueira
        
return 0;
    return 
1;

Nгo tenho certeza se irб funcionar.

Beijos!
Nгo funcionou.. '.'

pensei que ia funcionar pela logica

@topic
up!
Reply
#5

Use a logica acima no OnPlayerTakeDamage
Reply
#6

Ao usares o que o PT disse, tens que criar duas variбveis que guardem o valor da vida e do colete (se tiver) e depois mudar o valor delas consoante o dano feito.

Quote:
Originally Posted by PT
Посмотреть сообщение
Use a logica acima no OnPlayerTakeDamage
https://sampwiki.blast.hk/wiki/OnPlayerTakeDamage
Reply
#7

Sу que nгo, vocк teria que fazer mais ou menos assim:

PHP код:
public OnPlayerGiveDamage(playeriddamagedidFloatamountweaponidbodypart) { 

    if ( 
weaponid == || weaponid == // soco e soqueira 
    
{
        static
            
Floatdamage[2]
        ;
        
        
GetPlayerHealth(damagediddamage[0]);
        
GetPlayerArmour(damagediddamage[1]);
        
        
SetPlayerHealth(damagedidamount damage[0]);
        
SetPlayerArmour(damagedidamount damage[0]);
    }

    return 
1

Reply
#8

Код:
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart)
{
	if(weaponid == 0 || weaponid == 1)
	{
		new Float:health,
				Float:armour;

		GetPlayerHealth(playerid, health);
		GetPlayerArmour(playerid, armour);

		if(armour > 0)
		{
			SetPlayerArmour(playerid, armour + amount);
		}
		else
		{
			SetPlayerHealth(playerid, health + amount);
	 	}
	}
	return 1;
}
E mesmo assim nгo estб 100% correto. Pode haver falhas por causa do colete, mas й fбcil de saber ao testar in-game (combinado com o OnPlayerGiveDamage tambйm **) .

** Detetar se o jogador tem colete antes que seja feito o dano e entгo prosseguir para o que postei.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)