[PEDIDO]Comando de teleport
#1

Alguem pode me ajudar...
Tipo eu queria um comando para Teleport que o admin ativa e desativa.
E quando o admin desativa da a mensagem pro player que tentou entrar que teleport nгo ta aberto.
O mais simples possivel ta bom, ah e quando o player se teleporta ele fica congelado
Nгo to obrigando ninguem a fazer mas quem poder me ajuda porfavor ajudem eu.
vlw
Reply
#2

pawn Код:
new EstaTravado;

    if (strcmp("/aeroporto", cmdtext, true) == 0)
    {
        if(EstaTravado != 0) return SendClientMessage(playerid,-1,"Este comando esta travado!");
        SetPlayerPos(playerid,x,y,z);
        TogglePlayerControllable(playerid,false);
        return 1;
    }

    if (strcmp("/travarcomando", cmdtext, true) == 0)
    {
        SendClientMessage(playerid,-1,"Voce travou este comando!");
        EstaTravado = 1;
        return 1;
    }

    if (strcmp("/destravarcomando", cmdtext, true) == 0)
    {
        SendClientMessage(playerid,-1,"Voce destravou este comando!");
        EstaTravado = 0;
        return 1;
    }
Reply
#3

Seria isto?

pawn Код:
new Aberto[MAX_PLAYERS];

if(!strcmp(cmdtext, "/ativar", true))
{
     new nome[24], str[128];
     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "[ERRO]: Vocк nгo й Admin RCON"); // nao й admin RCON!
     GetPlayerName(playerid, nome, 24);
     format(str, sizeof(str), "[INFO]: O Admin %s ativou o teleporte!", nome);
     SendClientMessageToAll(-1, str);
     Aberto[playerid] = 1;
     return 1;
}

if(!strcmp(cmdtext, "/desativar", true))
{
     new nome[24], str[128];
     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "[ERRO]: Vocк nгo й Admin RCON"); // nao й admin RCON!
     GetPlayerName(playerid, nome, 24);
     format(str, sizeof(str), "[INFO]: O Admin %s desativou o teleporte!", nome);
     SendClientMessageToAll(-1, str);
     Aberto[playerid] = 0;
     return 1;
}

//No teleporte que quer que apareзa a mensagem

if(Aberto[playerid] == 0) return SendClientMessage(playerid, -1, "[ERRO]: Teleporte nгo foi aberto pelo admin.");
Apenas um exemplo.
Reply
#4

@BlackDonelly

Isso ai sу irб funcionar para quem digitou o comando. Ou seja o resto dos players poderгo entrar contanto que nгo digitem /travarcomando.
O correto seria:
pawn Код:
new EstaTravado;
//trancar:
EstaTravado = 1;
//destrancar:
EstaTravado = 0;
Reply
#5

Quote:

Isso ai sу irб funcionar para quem digitou o comando. Ou seja o resto dos players poderгo entrar contanto que nгo digitem /travarcomando.

ele sй funcionaria assim se fosse EstaTravado[MAX_PLAEYRS]; , mas como й uma variбvel geral e nгo individual ele trava, caso EstaTravado seja diferente de 0 nгo impontando quem digita o comando de travar ou destravar
Reply
#6

Vocк editou depois de ver meu post, pois vocк tinha colocado isso:
pawn Код:
new EstaTravado[MAX_PLAYERS];

    if (strcmp("/aeroporto", cmdtext, true) == 0)
    {
        if(EstaTravado[playerid] != 0) return SendClientMessage(playerid,-1,"Este comando esta travado!");
        SetPlayerPos(playerid,x,y,z);
        TogglePlayerControllable(playerid,false);
        return 1;
    }

    if (strcmp("/travarcomando", cmdtext, true) == 0)
    {
        SendClientMessage(playerid,-1,"Voce travou este comando!");
        EstaTravado[playerid] = 1;
        return 1;
    }

    if (strcmp("/destravarcomando", cmdtext, true) == 0)
    {
        SendClientMessage(playerid,-1,"Voce destravou este comando!");
        EstaTravado[playerid] = 0;
        return 1;
    }
Reply
#7

nono eu editei na visualizaзгo entes de postar
a nгo ser que eu cliquei em postar e nem percebi
Reply
#8

nos codes de vcs dava pra usar variбvel booleana
Reply
#9

Corrigindo:
pawn Код:
new bool:Aberto;

if(!strcmp(cmdtext, "/ativar", true))
{
     new nome[24], str[128];
     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "[ERRO]: Vocк nгo й Admin RCON"); // nao й admin RCON!
     GetPlayerName(playerid, nome, 24);
     format(str, sizeof(str), "[INFO]: O Admin %s ativou o teleporte!", nome);
     SendClientMessageToAll(-1, str);
     Aberto = true;
     return 1;
}

if(!strcmp(cmdtext, "/desativar", true))
{
     new nome[24], str[128];
     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "[ERRO]: Vocк nгo й Admin RCON"); // nao й admin RCON!
     GetPlayerName(playerid, nome, 24);
     format(str, sizeof(str), "[INFO]: O Admin %s desativou o teleporte!", nome);
     SendClientMessageToAll(-1, str);
     Aberto = false;
     return 1;
}

//No teleporte que quer que apareзa a mensagem

if(Aberto[playerid] == false) return SendClientMessage(playerid, -1, "[ERRO]: Teleporte nгo foi aberto pelo admin.");
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)