[Ajuda] Mensagem ao ser ban
#1

Seguinte estou trabalhando com o GM de treino do BRUNIN e queria resolver uma coisa
Quando um player leva ban nao aparece no chat dele o motivo pelo qual ele foi banido
Apenas aparece server closed Conection

Olhando o Cуdigo nao consegui encontrar o motivo pelo qual a mensagem nao aparece jб que
Nessa linha tem informando mensagem para todos os players

Код:
SendClientMessageToAll(COR_NEGATIVO, string);
Ban(giveplayerid);
Meu cуdigo completo do /ban

Код:
 if(strcmp(cmd,"/ban",true) == 0)
{
if(PlayerInfo[playerid][pAdmin] < 1) return SendClientMessage(playerid,COLOR_RED,"Erro: Vocк nгo tem permissгo para usar este comando.");
new string[128];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COR_USOCORRETO, "Uso correto: /ban [id do player] [motivo]");
return 1;
}
giveplayerid = strval(tmp);
if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid,COLOR_RED,"Erro: Este id estб offline.");
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' ')) {
idx++;
}
new result[64];
new offset = idx;
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))) {
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COR_ERRO, "Vocк sу pode banir com uma razгo apropriada!");
}
else
{
format(string, sizeof(string), "AdmCMD: %s foi banido pelo Administrador %s | Motivo: %s", Nome(giveplayerid), Nome(playerid), result);
SendClientMessageToAll(COR_NEGATIVO, string);
Ban(giveplayerid);
}
return 1;
}
Isso tbm estб acontecendo com o /kick porem postei sу o cуdigo do /ban pois resolvendo o problema de um eu implantarei a mesma coisa no kick
Gostaria de saber se alguйm pode me ajudar com isso pois fica ruim aparecer na tela da pessoa apenas server Close Conection sem saber o motivo

OBS: Sou novo no fуrum, alguem pode informar qual o comando para colocar cуdigo pawn?
pois eu sу sei o [*CODE] [*/CODE]
Reply
#2

O cуdigo do pawn й [*pawn][/pawn] .
Para aparecer a mensagem vocк tem de criar um SetTimerEx. Exemplo:

pawn Код:
Forward BanEx(playerid);
SetTimerEx("BanEx", 500, false, "i", giveid);

public BanEx(playerid)
{
Ban(playerid);
return 1;
}
Tem de fazer a mesma coisa com o kick.
Reply
#3

BanEx jб й uma funзгo que existe, tem que usar outro nome

Funзгo banEx:

BanEx(VeNuZ_ "Minha Razгo");

O erro й causado porque a velocidade do Ban e do Kick й mais rбpido que a de SendClientMessage.
Reply
#4

Eu sempre declarei BanEx e KickEx e nunca me deu erro que a funзгo ja esta definida...
Reply
#5

Use o que eu criei, funciona perfeitamente !!!
pawn Код:
CMD:ban(playerid, params[]) {
new id;
new str[256];
new Motivo[256];
new pName[MAX_PLAYER_NAME];
new aName[MAX_PLAYER_NAME];
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Laranja, "| ERRO | Vocк nгo й administrador(a)!");
if(sscanf(params,"ds", id, Motivo)) return SendClientMessage(playerid, Vermelho, "| ERRO |{FFFFFF}Digite: /Ban [id] [Motivo]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Laranja, "| ERRO | ID Invбlido");
GetPlayerName(playerid, aName, sizeof(aName));
GetPlayerName(playerid, pName, sizeof(pName));
format(str, sizeof(str), "O(A) Administrador(a) %s baniu o jogador(a) %s (Motivo: %s)!",aName, pName, Motivo);
SendClientMessageToAll(azuladm, str);
format(str, sizeof(str), "» {FFFFFF}Vocк foi banido(a) pelo administrador(a) %s (Motivo: %s)!",aName, Motivo);
SendClientMessage(id,Vermelho, str);
SendClientMessage(id,Vermelho, "» {00FF00}Se vocк acha que levou um BAN injusto tire uma ScreenShot e crie um tуpico no nosso forum{FF0000} server.forumeiros.com");
Ban(id);
return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)