SA-MP Forums Archive
[Pedido] Como realizar uma checagem.. - 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: [Pedido] Como realizar uma checagem.. (/showthread.php?tid=476376)



Como realizar uma checagem.. - PawnoBrasil[xPBx] - 18.11.2013

Gostaria de checar para quando um jogador atinge-se outro..

Exemplo:

Um jogador de ID 1 me bateu e eu nгo reagi.. se eu digita-se /dm 1 irб aparecer a mensagem:
Ele te atingiu e vc nгo reagiu.


Como seria?


Re: Como realizar uma checagem.. - Ley - 18.11.2013

Booleana:
PHP код:
new bool:Bateu[MAX_PLAYERS]; 
Verificar se o jogador bateu em alguйm:
PHP код:
public OnPlayerTakeDamage(playeridissueridFloatamountweaponid)
{
    
Bateu[playerid] = true;

Comando para prender:
PHP код:
CMD:prender(playeridparams[])
{
    if(
Bateu[playerid] == false) return SendClientMessage(playerid, -1,"Esse jogador nгo bateu em ninguйm.");
    
// Cуdigo para prender 
    
return 1;

PHP код:
CMD:dm(playeridparams[])
{
    new 
id;
    if(
sscanf(params,"i"id)) return SendClientMessage(playerid, -1,"Uso: /dm [id]");
    else if(
Bateu[id] == false) return SendClientMessage(playerid, -1,"Esse jogador nгo bateu em ninguйm."); 
    
// Resto do cуdigo...
    
return 1;




Re: Como realizar uma checagem.. - PawnoBrasil[xPBx] - 18.11.2013

Ow ley.. eu queria era saber se ele me atingiu..

Nгo se ele atingiu alguem.. mas estou estudando seu script, se alguem tiver uma soluзгo melhor poste


Re: Como realizar uma checagem.. - Gii - 18.11.2013

pawn Код:
#include a_samp
#include zcmd

new Bateu[MAX_PLAYERS];

public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) {

    if(issuerid != INVALID_PLAYER_ID) {
        Bateu[issuerid] = playerid;
    }
    return true;
}

CMD:dm(playerid, params[]) {

    if ( isnull(params) )
        return SendClientMessage(playerid, -1, "Use /dm [id]");
       
    new id = strval(params);
   
    if ( !IsPlayerConnected(id) )
        return SendClientMessage(playerid, -1, "Jogador nгo esta conectado!");
       
    if ( Bateu[id] == playerid) {
        new NomeAgressor[25], MeuNome[25], cStr[80];
        GetPlayerName(playerid, MeuNome, 25);
        GetPlayerName(id, NomeAgressor, 25);
        format (cStr, sizeof cStr, "Foi constatado que %s realmente agrediu %s!", NomeAgressor, MeuNome);
        SendClientMessage(playerid, -1, cStr);
    }
    else {
   
        SendClientMessage(playerid, -1, "Este jogador nгo bateu em vocк!");
    }

    return true;
}
Nгo testei, muito menos compilei.


@edit

Й apenas um cуdigo base, requer melhorias.