[Pedido] Comando de Tutorial
#1

Boas, no meu Gamemode eu gostava de puder adicionar dois 2 comandos, eles sгo:
/mandartut [playerid]
/tirartut [playerid]

Estes comandos serviam para mandar ou tirar o player do tutorial.

O nome da Primeira funзгo й - "InitiateTutorial"
O nome da Ultima funзгo й - "TutorialStateEight"

Se me pudessem ajudar, eu agradecia.
Reply
#2

pawn Код:
if(strcmp(cmd, "/mandartut", true) == 0)
    {
    if(/*Funзгo que define se й adm*/) return SendClientMessage(playerid, Branco, "Vocк nгo й um {E31919}Administrador");
    new tmp[20], string[128], giveplayerid, Entregador[MAX_PLAYER_NAME], Recebedor[MAX_PLAYER_NAME];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /MandarTut [id]");
    giveplayerid = strval(tmp);
    if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, Branco, "Este jogador nгo estб online");
    InitiateTutorial(giveplayerid);
    GetPlayerName(giveplayerid, Recebedor, sizeof(Recebedor));
    GetPlayerName(playerid, Entregador, sizeof(Entregador));
    format(string, sizeof(string), "O administrador {1E90FF}%s{FFFFFF} Mandou {E31919}%s{FFFFFF} para o tutorial", Entregador, Recebedor);
    SendClientMessageToAll(Branco, string);
    return 1;
    }
    if(strcmp(cmd, "/TirarTut", true) == 0)
    {
    if(/*Funзгo que define se й adm*/) return SendClientMessage(playerid, Branco, "Vocк nгo й um {E31919}Administrador");
    new tmp[20], string[128], giveplayerid, Entregador[MAX_PLAYER_NAME], Recebedor[MAX_PLAYER_NAME];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /TirarTut [id]");
    giveplayerid = strval(tmp);
    if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, Branco, "Este jogador nгo estб online");
    TutorialStateEight(giveplayerid);
    GetPlayerName(giveplayerid, Recebedor, sizeof(Recebedor));
    GetPlayerName(playerid, Entregador, sizeof(Entregador));
    format(string, sizeof(string), "O administrador {1E90FF}%s{FFFFFF} tirou {E31919}%s{FFFFFF} do tutorial", Entregador, Recebedor);
    SendClientMessageToAll(Branco, string);
    return 1;
    }
Vocк quer um comando pra mandar e outro pra tirar o cara do tutorial й isso?
vк se й isso que vocк quer.
Reply
#3

й isso, amigo.
sу que dб 2 erros:
Erro:
pawn Код:
error 047: array sizes do not match, or destination array is too small
Linha:
pawn Код:
tmp = strtok(cmdtext, idx)
Neste comando:
pawn Код:
f(strcmp(cmd, "/mandartut", true) == 0)
    {
    if(/*Funзгo que define se й adm*/) return SendClientMessage(playerid, Branco, "Vocк nгo й um {E31919}Administrador");
    new tmp[20], string[128], giveplayerid, Entregador[MAX_PLAYER_NAME], Recebedor[MAX_PLAYER_NAME];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /MandarTut [id]");
    giveplayerid = strval(tmp);
    if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, Branco, "Este jogador nгo estб online");
    InitiateTutorial(giveplayerid);
    GetPlayerName(giveplayerid, Recebedor, sizeof(Recebedor));
    GetPlayerName(playerid, Entregador, sizeof(Entregador));
    format(string, sizeof(string), "O administrador {1E90FF}%s{FFFFFF} Mandou {E31919}%s{FFFFFF} para o tutorial", Entregador, Recebedor);
    SendClientMessageToAll(Branco, string);
    return 1;
    }
O mesmo erro, acontece para o outro comando, mas se conseguir ajudar, tambem deve dar para consertar o outro erro.
Reply
#4

pawn Код:
new tmp[20] //muda issso.
new tmp[40] //por isso
Tenta, Se nгo pegar coloca um numero maior.
Reply
#5

nao funciona
Reply
#6

Olб Pedronobre.

Bem pelo que eu me lembro, quando eu utilizava os comandos desta forma a variбvel que eu criava era com 256 cйlulas, tente desta forma:
pawn Код:
new tmp[256];

Atenciosamente,
Falcon.
Reply
#7

nao deu, Falcon :/
Reply
#8

pawn Код:
if(strcmp(cmd, "/mandartut", true) == 0)
{
    if(/*Funзгo que define se й adm*/) return SendClientMessage(playerid, Branco, "Vocк nгo й um {E31919}Administrador");
    new tmp[128];
    new string[128], giveplayerid, Entregador[MAX_PLAYER_NAME], Recebedor[MAX_PLAYER_NAME];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /MandarTut [id]");
    giveplayerid = strval(tmp);
    if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, Branco, "Este jogador nгo estб online");
    InitiateTutorial(giveplayerid);
    GetPlayerName(giveplayerid, Recebedor, sizeof(Recebedor));
    GetPlayerName(playerid, Entregador, sizeof(Entregador));
    format(string, sizeof(string), "O administrador {1E90FF}%s{FFFFFF} Mandou {E31919}%s{FFFFFF} para o tutorial", Entregador, Recebedor);
    SendClientMessageToAll(Branco, string);
    return 1;
}

Isso deveria funcionar : P
Reply
#9

diz que nao sou administrador.
Mas eu jб pus a funзao que define se й admin ou nao.
mas aparece sempre assim: Vocк nгo й um Administrador.
Reply
#10

pawn Код:
if(strcmp(cmd, "/mandartut", true) == 0)
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Branco, "Vocк nгo й um {E31919}Administrador");
    new tmp[128];
    new string[128], giveplayerid, Entregador[MAX_PLAYER_NAME], Recebedor[MAX_PLAYER_NAME];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, Branco, "{1E90FF}Uso correto:{FFFFFF} /MandarTut [id]");
    giveplayerid = strval(tmp);
    if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, Branco, "Este jogador nгo estб online");
    InitiateTutorial(giveplayerid);
    GetPlayerName(giveplayerid, Recebedor, sizeof(Recebedor));
    GetPlayerName(playerid, Entregador, sizeof(Entregador));
    format(string, sizeof(string), "O administrador {1E90FF}%s{FFFFFF} Mandou {E31919}%s{FFFFFF} para o tutorial", Entregador, Recebedor);
    SendClientMessageToAll(Branco, string);
    return 1;
}
Para administrador logado na rcon.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)