SA-MP Forums Archive
[PEDIDO] Comando /Algemar - 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] Comando /Algemar (/showthread.php?tid=269110)



[PEDIDO] Comando /Algemar - [FTC]Scorpion - 14.07.2011

Boa noite.

Bom, pesquisei no fуrum, e achei um comando de /algemar, porйm, o mesmo nгo deu certo.

Alguйm pode me 'emprestar' / ensinar a fazer um comando desse? De preferкncia que o jogador ficasse algemado por 30s, ou que viesse com o comando /desalgemar. :X

Obrigado,
._.


Re: [PEDIDO] Comando /Algemar - [BEP]AcerPilot - 14.07.2011

Se quando vocк diz algemado vocк quer que o player fique congelado, use TogglePlayerControllable com SetTimerEx.


Re: [PEDIDO] Comando /Algemar - Dark.Angel - 14.07.2011

Como que й esse comando /algemar?
O player vai la digita /algemar ai acontece oque?


Re: [PEDIDO] Comando /Algemar - [FTC]Scorpion - 14.07.2011

Quando o jogador digita /Algemar [ID], ele Algema - congela - o jogador.

O player sу fica congelado. '~'

@EDIT

Detalhe, a parte de fazer o comando /Algemar й fбcil, seguindo o TogglePlayerControllable. O problema, й fazer com que, para algemar, o jogador tenha que estar perto.


Re: [PEDIDO] Comando /Algemar - Dark.Angel - 14.07.2011

Fiz um bem simples pra vc... sу arrumar do jeito que vocк quiser

PHP код:
    if (strcmp(cmd,"/algemar",true) == 0)
    {
        new 
player2;
        
tmp strtok(cmdtext,idx);
        
player2 strval(tmp);
        if (!
strlen(tmp)) return SendClientMessage(playerid,-1,"Digite: /algemar [ID do Jogador]");
        
TogglePlayerControllable(player2,false); // vai congelar o player2 
        
return true;
    }
    if (
strcmp(cmd,"/desalgemar",true) == 0)
    {
        new 
player2;
        
tmp strtok(cmdtext,idx);
        
player2 strval(tmp);
        if (!
strlen(tmp)) return SendClientMessage(playerid,-1,"Digite: /desalgemar [ID do Jogador]");
        
TogglePlayerControllable(player2,true); // vai descongelar o player2
        
return true;
    } 



Re: [PEDIDO] Comando /Algemar - [FTC]Scorpion - 14.07.2011

Entгo, Dark, eu fiz quase igual a isso, sу que tinha um negуcio de DistanceBetweenPlayers ( eu tinha pego do outro tуpico que eu tinha visto ), e aquele negуcio (DistanceBetweenPlayers) era o ъnico que estava fazendo dar o ЪNICO erro. :S

@EDIT

Olha o cуdigo:

PHP код:
forward Algemar2(playerid); 
pawn Код:
if(strcmp(cmd, "/algemar", true) == 0) {
   if(PROFISSХES OU ORGANIZAЗХES QUE PODERГO USAR O COMANDO){
      new name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, name, sizeof(name));
      new string[128];
      new tmp[256];
        new plid;
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)){
          SendClientMessage(playerid, 0xF52D0AAA, "/algemar [id]");
            return 1;
            }
            plid = strval(tmp);
            if(!IsPlayerConnected(plid)){
              SendClientMessage(playerid, 0xF52D0AAA, "[ERRO] O jogador nгo estб conectado");
            return 1;
            } else {
              if(GetDistanceBetweenPlayers(plid,playerid) < 21){
                SendClientMessage(playerid, 0x5CAE51AA, "[INFO] Algemado com sucesso!");
          format(string, sizeof(string), "[INFO] Vocк foi algemado por %s ", name);
          SendClientMessage(plid, 0xF8DA07AA, string);
          TogglePlayerControllable(playerid,0);
          SetTimerEx("Algemar2",15000,false,"i",playerid);
                return 1;
                } else {
                  SendClientMessage(playerid,0xF52D0AAA,"[ERRO] Chegue mais perto para poder algemar!");
                return 1;
                }
            }
        } else {
          SendClientMessage(playerid,0xF52D0AAA,"[ERRO] Vocк nгo tem permissгo!");
        return 1;
        }
    }


PHP код:
public Algemar2(playerid) {
TogglePlayerControllable(playerid,1);
SendClientMessage(playerid,0x5CAE51AA,"[INFO] Liberado, jб pode andar.");
return 
1;




Re: [PEDIDO] Comando /Algemar - pr0bscur3 - 14.07.2011

vo usa o do cara ai de cima e passa a func de o jogador perto.

pawn Код:
if (strcmp(cmd,"/algemar",true) == 0)
    {
        new player2;
        tmp = strtok(cmdtext,idx);
        player2 = strval(tmp);
        if (!strlen(tmp)) return SendClientMessage(playerid,-1,"Digite: /algemar [ID do Jogador]");
        else if(!JogadorPerto(playerid, player2, 5.0)) return SendClientMessage(playerid, COR, "Favor se aproxime mais do jogador.");
        else
        {

        TogglePlayerControllable(player2,false); // vai congelar o player2  
        return true;
    }

    if (strcmp(cmd,"/desalgemar",true) == 0)
    {
        new player2;
        tmp = strtok(cmdtext,idx);
        player2 = strval(tmp);
        if (!strlen(tmp)) return SendClientMessage(playerid,-1,"Digite: /desalgemar [ID do Jogador]");
        else if(!JogadorPerto(playerid, player2, 5.0)) return SendClientMessage(playerid, COR, "Favor se aproxime mais do jogador.");

        TogglePlayerControllable(player2,true); // vai descongelar o player2
        return true;
    }

no final do seu mode poe:

pawn Код:
stock JogadorPerto(playerid, playerid2, Float:raio)
{
    new
        Float:x,
        Float:y,
        Float:z;
    GetPlayerPos(playerid2, x, y, z);
    return IsPlayerInRangeOfPoint(playerid, raio, x, y, z);
}



Re: [PEDIDO] Comando /Algemar - Dark.Angel - 14.07.2011

Eu uso assim pra fazer esse tipo de comando...
PHP код:
    if (strcmp(cmd,"/algemar",true) == 0)
    {
        new 
player2;
        
tmp strtok(cmdtext,idx);
        
player2 strval(tmp);
        if (!
strlen(tmp)) return SendClientMessage(playerid,-1,"Digite: /algemar [ID do Jogador]");
        new 
Float:Pos[3];
        
GetPlayerPos(player2,Pos[0],Pos[1],Pos[2]);
        if(
IsPlayerInRangeOfPoint(playerid,15.0,Pos[0],Pos[1],Pos[2])) // Altera pro tanto que desejar
        
{
                
TogglePlayerControllable(player2,false); // vai congelar o player2
        
}
        else return 
SendClientMessage(playerid,-1,"Vocк deve estar a menos de 15 metros para usar o comando");
        return 
true;
    } 



Re: [PEDIDO] Comando /Algemar - pr0bscur3 - 14.07.2011

й a mesma coisa que eu fiz dark, so que eu fiz em stock pra nao fica muita coisa no comando.


Re: [PEDIDO] Comando /Algemar - Dark.Angel - 14.07.2011

Pdc ... mais eu nem tinha visto que vocк posto kkk malz