SA-MP Forums Archive
[PEDIDO] Nгo usar comando - 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] Nгo usar comando (/showthread.php?tid=244677)



[PEDIDO] Nгo usar comando - [AF]Junior - 28.03.2011

pawn Код:
if(strcmp(cmdtext, "/arena", true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_RED,"Vocк nгo pode ir a Arena em um veнculo!");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new string[256];
    format(string, sizeof(string), "O Player {FFFFFF}%s {FF0000}foi para a Arena! Digite /arena.", sendername);
    SendClientMessageToAll(COLOR_YELLOW, string);
    SetPlayerPos(playerid, 1677.4564,-1337.7351,158.4766);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 16, 50);
    GivePlayerWeapon(playerid, 31, 100000);
    GivePlayerWeapon(playerid, 26, 100000);
    GivePlayerWeapon(playerid, 32, 100000);
    SetPlayerHealth(playerid, 100.0);
    SetPlayerArmour(playerid, 100.0);
    return 1;
    }
Quero que quando o player digitar /arena nгo possa mais digitar comandos atй que ele morra. Como faзo isso? Jб procurei bastante mas nгo achei aqui.


Re: [PEDIDO] Nгo usar comando - rjjj - 28.03.2011

Basta criar uma variбvel para checar se o jogador usou o comando ou nгo, e bloquear o OnPlayerCommandText usando return .

Coloque:

pawn Код:
//No seu comando /arena:


SetPVarInt(playerid, "Usou Comando Arena", true);



//E no topo do seu OnPlayerCommandText, antes de todos os comandos:


if(GetPVarInt(playerid, "Usou Comando Arena")) return SendClientMessage(playerid,0xFFFFFFAA,"Comandos bloqueados, pois vocк usou o comando /arena !");

Espero ter ajudado .


Re: [PEDIDO] Nгo usar comando - Falcon. - 28.03.2011

Mas desta forma irб bloquear todos os comandos e caso ele for sair da arena, nгo irб poder entгo outra soluзгo seria acrescentar o cуdigo dentro dos comandos normalmente..Antes de tudo que executa no comando (menos no /sair arena) Caso tenha


Re: [PEDIDO] Nгo usar comando - CyNiC - 28.03.2011

Quote:
Originally Posted by Falcon.Sixe
Посмотреть сообщение
Mas desta forma irб bloquear todos os comandos e caso ele for sair da arena, nгo irб poder entгo outra soluзгo seria acrescentar o cуdigo dentro dos comandos normalmente..Antes de tudo que executa no comando (menos no /sair arena) Caso tenha
pawn Код:
if(strcmp("/sair", cmdtext, true) && GetPVarInt(playerid, "UsouComando")) return SendClientMessage(playerid, 0xFF4040AA, "Impossivel usar comandos na arena!");



Re: [PEDIDO] Nгo usar comando - Josma_cmd - 28.03.2011

Coloca um bool ou em um enum.
exemplo:
pawn Код:
UsouComando //coloca no enum
pawn Код:
if(strcmp(cmdtext, "/arena", true) == 0)
    {
if(PlayerInfo[playerid][UsouComando] > 0) return SendClientMessage(playerid, Branco, "Vocк jб tб na arena use /sairarena"); //isso checarб se ele jб usou o comando
    if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_RED,"Vocк nгo pode ir a Arena em um veнculo!");
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new string[256];
    format(string, sizeof(string), "O Player {FFFFFF}%s {FF0000}foi para a Arena! Digite /arena.", sendername);
    SendClientMessageToAll(COLOR_YELLOW, string);
    SetPlayerPos(playerid, 1677.4564,-1337.7351,158.4766);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid, 16, 50);
    GivePlayerWeapon(playerid, 31, 100000);
    GivePlayerWeapon(playerid, 26, 100000);
    GivePlayerWeapon(playerid, 32, 100000);
    SetPlayerHealth(playerid, 100.0);
    SetPlayerArmour(playerid, 100.0);
    PlayerInfo[playerid][UsouComando] = 1; //Isso define que ele jб usou o comando
    return 1;
    }
pawn Код:
//coloca isso no /sairarena
PlayerInfo[playerid][UsouComando = 0;



Re: [PEDIDO] Nгo usar comando - LuxurioN™ - 28.03.2011

Basta colocar o comando "/sair" antes de desativar o uso dos comandos em arena:

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext, "/sair", true) == 0 && GetPVarInt(playerid, "NaArena") == 1 )
    return SendClientMessage(playerid,Cor,"Vocк saiu!"),
    SetPVarInt(playerid, "NaArena",0);
       
    if(GetPVarInt(playerid, "NaArena") == 1)
    return SendClientMessage(playerid,Cor,"Vocк nгo pode usar comandos na Arena!");
   
    if(strcmp(cmdtext, "/arena", true) == 0 && GetPVarInt(playerid, "NaArena") == 0 )
    {
        if(IsPlayerInAnyVehicle(playerid))
        return SendClientMessage(playerid,Cor,"Vocк nгo pode ir a Arena em um veнculo!");
       
        SetPlayerPos(playerid, 1677.4564,-1337.7351,158.4766);
        ResetPlayerWeapons(playerid);
        GivePlayerWeapon(playerid, 16, 50);
        GivePlayerWeapon(playerid, 31, 100000);
        GivePlayerWeapon(playerid, 26, 100000);
        GivePlayerWeapon(playerid, 32, 100000);
        SetPlayerHealth(playerid, 100.0);
        SetPlayerArmour(playerid, 100.0);
       
        SetPVarInt(playerid, "NaArena",1);
        return 1;
    }  
    //Outros comandos.
    return 0;
}
E, em OnPlayerDeath:
pawn Код:
if(GetPVarInt(playerid, "NaArena") == 1) SetPVarInt(playerid, "NaArena",0);