SA-MP Forums Archive
[Ajuda] setar pra algo acontecer quando tiver colete 0 - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] setar pra algo acontecer quando tiver colete 0 (/showthread.php?tid=395733)



setar pra algo acontecer quando tiver colete 0 - Sonik_Paintballer - 27.11.2012

galera tipo eu queria setar pra quando o colete do cara cair pra 0 aparecece essa mensagem:

SendClientMessage(playerid,TEAM_GROVE_COLOR,"Vocк estб sem colete");

mas tipo eu nao quero um comando q faзa essa imagem aparecer de 5 em 5 milйsimos '-' teve um cara q fez um negуcil pra mim sу q ele seto pra aparece sempre q tivece em colete 0 entгo ficava floodando isso eu queria pra q tipo quando caice o colete para 0 aparecece 1 vez essa mensagem


Re: setar pra algo acontecer quando tiver colete 0 - BreakDriFT - 27.11.2012

Faz uma verificaзгo no OnPlayerUpdate.

GetPlayerArmour.


Re: setar pra algo acontecer quando tiver colete 0 - Delete_ - 27.11.2012

Adiciona no onplayerdeath, assim a mensagem vai aparecer somente quando o player matar alguem.


Re: setar pra algo acontecer quando tiver colete 0 - Sky™ - 27.11.2012

pawn Код:
//onplayerupdate
new Float:colete;
    GetPlayerArmour(playerid, colete);

    if(colete <= 0)
    {
        SendClientMessage(playerid,TEAM_GROVE_COLOR,"Vocк estб sem colete");
    }



Re: setar pra algo acontecer quando tiver colete 0 - Delete_ - 27.11.2012

pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{

    new Float:colete;
    GetPlayerArmour(killerid, colete);
                                                                           //por Sky
    if(colete <= 0)
    {
        SendClientMessage(killerid, -1,"Vocк estб sem colete");
    }
    return 1;
}



Re: setar pra algo acontecer quando tiver colete 0 - VenoN - 27.11.2012

Quote:
Originally Posted by delete
Посмотреть сообщение
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{

    new Float:colete;
    GetPlayerArmour(killerid, colete);
                                                                           //por Sky
    if(colete <= 0)
    {
        SendClientMessage(killerid, -1,"Vocк estб sem colete");
    }
    return 1;
}
agr fiquei confuso ele quer que isso verifique sozin ou quando alguem rancar o colete!


Re: setar pra algo acontecer quando tiver colete 0 - BreakDriFT - 27.11.2012

OnPlayerDeath й chamada quando o jogador morre, sendo assim й claro que o colete cabo o HP tambйm ,
neste caso somente um SendClientmessage basta.

Mais Para verificar use no OnPlayerUpdate assim quando acabar manda uma mensagem sem precisar mandar quando ele for morto.


Re: setar pra algo acontecer quando tiver colete 0 - duuuwh - 27.11.2012

quando o colete acaba, nгo acaba a hp, primeiro perde o life do colete, e apуs terminar o colete, ai come o life normal. '-'


Re: setar pra algo acontecer quando tiver colete 0 - Sky™ - 27.11.2012

Quote:
Originally Posted by Sky_.
Посмотреть сообщение
pawn Код:
//onplayerupdate
new Float:colete;
    GetPlayerArmour(playerid, colete);

    if(colete <= 0)
    {
        SendClientMessage(playerid,TEAM_GROVE_COLOR,"Vocк estб sem colete");
    }
simples!


Re: setar pra algo acontecer quando tiver colete 0 - humildadeforever - 27.11.2012

Quote:
Originally Posted by Sky_.
Посмотреть сообщение
simples!
Isso ia floodar atй o jogador tomar crash. Usa uma bool para verificar se o jogador jб foi avisado sobre o colete...
pawn Код:
new bool:AvColete[MAX_PLAYERS];

public OnPlayerDeath(playerid, killerid, reason)
{
    AvColete[playerid] = false;
    return 1;
}

public OnPlayerUpdate(playerid)
{
    new Float: ColeteP;
    GetPlayerArmour(playerid, ColeteP);
    if(ColeteP < 1 && AvColete[playerid] == false)
    {
        SendClientMessage(playerid, -1 ,"EEEEEE! Vocк perdeu seu colete! VIVA!");
        AvColete[playerid] = true;
    }
    return 1;
}