[PEDIDO] Nгo usar comando
#1

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.
Reply
#2

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 .
Reply
#3

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
Reply
#4

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!");
Reply
#5

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;
Reply
#6

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);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)