[Ajuda] Dano Arma.
#1

Olб galera, estou com uma dъvida aqui.
Estou fazendo um sistema de dano na arma (alterando apenas).

E eu gostaria que funciona-se assim:

Ele perca primeiro o colete e depois a vida, caso nгo haja colete ele perca a vida toda.

pawn Код:
if (weaponid == 24) // Desert Eagle
    {
            new Float:life;
            SetPlayerArmour(damagedid,life - 50);
            SetPlayerHealth(damagedid,life - 100);
    }
Poderiam me ensinar?
Reply
#2

pawn Код:
if (weaponid == 24) // Desert Eagle
    {
    if(GetPlayerArmour(damageid) > 0)
    {
            new Float:armour;
            armour = GetPlayerArmour(damageid);
            SetPlayerArmour(damagedid,armour - amount);
    }else{
    SetPlayerHealth(damageid,0);
    }
    }

Se meus pensamentos estiverem corretos , quando o player tiver colete , ele vai tirar um certo dano e quando
nгo tiver colete , vai matar o cara.

Acho que sу funcionarб na OnPlayerGiveDamage
Reply
#3

Olhando assim parece funcionar, atй que entendi o code!

Vou testar, obrigado pela ajuda.
Reply
#4

Код:
C:\Users\DaviWindows\Desktop\[CSMBR] Gamer Virtual Server\gamemodes\[CSMBR].pwn(3939) : warning 202: number of arguments does not match definition
C:\Users\DaviWindows\Desktop\[CSMBR] Gamer Virtual Server\gamemodes\[CSMBR].pwn(3942) : warning 202: number of arguments does not match definition
pawn Код:
if (weaponid == 24) // Desert Eagle
    {
    if(GetPlayerArmour(damagedid) > 0)
    {
            new Float:armour;
            armour = GetPlayerArmour(damagedid);
            SetPlayerArmour(damagedid,armour - amount);
    }
    else
    {
    SetPlayerHealth(damagedid,0);
    }
    }
}
Dei uma arrumada...

Linhas de erro:
3939> if(GetPlayerArmour(damagedid) > 0)
3942> armour = GetPlayerArmour(damagedid);
Reply
#5

PHP код:
    if (weaponid == 24// Desert Eagle
    
{
        new 
Float:Colete;
        
GetPlayerArmour(damageid,Colete);
        if(
Colete 0)
        {
            
SetPlayerArmour(damagedid,Colete amount);
        }
        else
        {
            
SetPlayerHealth(damagedid,0);
        }
    } 
Tente agora...
Reply
#6

Nгo apresentou erro, agora preciso de algum amigo para testar.
Irei aguardar algum amigo que tenha hamachi para testar, se funciona avisarei.

+REP! - Obrigado.
Reply
#7

Dъvida:
Em quais ocasiхes й utilizado os sнmbolos:
<=
<
==

Entre outros...

Tem algum tutorial explicando sobre isso ?
Reply
#8

> maior que
< menor que
>= maior ou igual que
<= menor ou igual que
== igual б

Entre outros.

pawn Код:
if(var1 == var2)// Se Var1 for igual б var2 retorna verdadeiro.

if(var1 >= var2)// Se Var1 for maior ou igual б var2 retorna verdadeiro.

Procure por Expressхes neste tуpico :

https://sampforum.blast.hk/showthread.php?tid=396495
Reply
#9

Certo!
Entгo amigo, funcionou sу que;

O player й morto sozinho, ao invйs da pessoa matar... tem algum jeito de arrumar isso ?
Reply
#10

Fera, em que Callback ta pondo isso ?

Se estiver pondo na OnPlayerTake ou na OnPlayerGiveDamage й sу mudar o valor do amount

Ex:

Код:
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
    if(issuerid != INVALID_PLAYER_ID)
    {
		if(weaponid == 24) // SE FOR COM A DEAGLE
		{
			amount = 50; // O DANO DA EAGLE PASSA A SER 50, SE BEM ME LEMBRO O PADRГO Й 42.
		}
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)