SA-MP Forums Archive
[Ajuda] Perca de dano - 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] Perca de dano (/showthread.php?tid=253558)



[Ajuda] Perca de dano - diretor7 - 07.05.2011

Pessoal hб algum jeito de quando eu soltar um tapa em alguйm ai aparecer pros admins:
AdmCmd: O Admin %s deu um tapa em %s e perdeu 90% de HP


Re: [Duvida] Perca de dano - The Knight - 07.05.2011

Encontrei este sistema aqui, й sу usar o search (ferramenta de pesquisa):
pawn Код:
if( !strcmp( cmdtext, "/tapa", true ) )
{
   if( IsPlayerConnected( playerid ) )
   {
      tmp = strtok( cmdtext, idx) ;
      if( !strlen( tmp ) )
      {
         SendClientMessage( playerid, 0xFFFFFFFF, "USE: /tapa [Jogador]" );
         return true;
      }
      new playa;
      new Float: shealth;
      new Float: slx, Float: sly, Float:s lz;
      playa = ReturnUser(tmp);
      if( IsPlayerAdmin( playerid ) )
      {
         if( IsPlayerConnected( playa ) )
         {
            if( playa != INVALID_PLAYER_ID )
            {
               GetPlayerName( playa, giveplayer, sizeof( giveplayer ) );
               GetPlayerName( playerid, sendername, sizeof( sendername ) );
               GetPlayerHealth( playa, shealth );
               SetPlayerHealth( playa, shealth-90 );
               GetPlayerPos( playa, slx, sly, slz );
               SetPlayerPos( playa, slx, sly, slz+5 );,
               PlayerPlaySound( playa, 1130, slx, sly, slz+5 );
               printf( "AdmCmd: %s meteu um tapao em %s",sendername, giveplayer );
               format( string, sizeof( string ), "AdmCmd: %s levou um tapa de %s e perdeu 90% de vida!",giveplayer ,sendername );
               SendClientMessageToAll( 0xFF6347AA, string );
            }
         }
      }
      else
      {
         SendClientMessage( playerid, 0xFFFFFFFF, " Vocк nгo pode utilizar esse comando!" );
      }
   }
   return true;
}
Este sistema estб feito para que sу quem estiver logado na RCON possa usar.
Se quiser mudar para administrador nнvel x (se tiver sistema de administradores no seu gamemode), mude o:
pawn Код:
if( IsPlayerAdmin( playerid ) )
Pela variбvel que usa para detetar administradores!

Exemplo:
pawn Код:
if( PlayerInfo[ playerid ][ kAdmin ] >= 1 )



Re: [Duvida] Perca de dano - Vageto[STK] - 07.05.2011

Mais eu acho que o carinha queria tipo assim %s levou um tapa do admin %s e perdeu %d de vida


Re: [Duvida] Perca de dano - The Knight - 07.05.2011

Vageto[STK], ele queria que aparecesse o jogador que levou o tapa, o administrador que deu o tapa e que o jogador que levou o tapa perdesse 90% de vida, tal e qual o que fiz.


Re: [Duvida] Perca de dano - Shadoww5 - 07.05.2011

Se voce postar o comando de dar tapa em alguem seria melhor, pois poderiamos adaptб-lo. Mas caso nгo tenha use o do The Knight


Re: [Ajuda] Perca de dano - diretor7 - 07.05.2011

Nгo dessa forma!
Falo da seguinte forma:
Exemplo do cheater:
Ele leva um tapa, e o HP dele nгo desce ai aparece pros Admins:
AdmCmd: Diretor_7 deu um tapa em Cheater_xD e perdeu 0 de vida.

Agora quando nгo й cheater:
AdmCmd: Diretor_7 deu um tapa em Normal_xD e perdeu 15 de vida.

Ele vai perder o life do tanto que for o tape entede?
pawn Код:
if(strcmp(cmd, "/tapa", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /tapa [playerid]");
                return 1;
            }
            new playa;
            //new Float:shealth;
            new Float:slx, Float:sly, Float:slz;
            playa = ReturnUser(tmp);
            if (PlayerInfo[playerid][pAdmin] >=1)
            {
                if(modoadmin[playerid] < 1)
                {
                    SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo estб trabalhando!");
                    return 1;
                }
                if(IsPlayerConnected(playa))
                {
                    if(playa != INVALID_PLAYER_ID)
                    {
                        GetPlayerName(playa, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        //GetPlayerHealth(playa, shealth);
                        //SetPlayerHealth(playa, shealth-5);
                        GetPlayerPos(playa, slx, sly, slz);
                        SetPlayerPos(playa, slx, sly, slz+12);
                        PlayerPlaySound(playa, 1130, slx, sly, slz+12);
                        printf("AdmCmd: %s slapped %s",sendername,  giveplayer);
                        if(modoadmin[playerid] == 1 || modoadmin[playerid] == 2)
                        {
                            format(string, sizeof(string), "AdmCmd: %s ganhou um tapa de: %s",giveplayer ,sendername);
                        }
                        ABroadCast(COLOR_LIGHTRED,string,1);
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "   Vocк nгo estб autorizado a usar este comando!");
            }
        }
        return 1;
    }