[Ajuda] Como faзo para aparecer o motivo para o player kickado?
#1

O titulo jб diz, codigo:

Код:
if(strcmp(cmd, "/kick", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	    	tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD2, "USE: /kick [Id Do Jogador] [motivo]");
				return true;
			}
			giveplayerid = ReturnUser(tmp);
			if (PlayerInfo[playerid][pAdmin] >= 1)
			{
       if(admtrampando[playerid] < 1 && PlayerInfo[playerid][pAdmin] != DONO)
				{
					SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo estб trabalhando! (/trabalhar)");
					return true;
				}
				if(IsPlayerConnected(giveplayerid))
				{
				    if(giveplayerid != INVALID_PLAYER_ID)
				    {
			        	if(PlayerInfo[giveplayerid][pAdmin] >= 1340 && PlayerInfo[playerid][pAdmin] < SUB_GERENTE)
						{
							SendClientMessage(playerid, COLOR_GRAD1, "Vocк nгo pode kickar um Admin Dono !");
							return true;
						}
         				GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
						GetPlayerName(playerid, sendername, sizeof(sendername));
						new length = strlen(cmdtext);
						while ((idx < length) && (cmdtext[idx] <= ' '))
						{
							idx++;
						}
						new offset = idx;
						new result[64];
						while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
						{
							result[idx - offset] = cmdtext[idx];
							idx++;
						}
						result[idx - offset] = EOS;
						if(!strlen(result))
						{
							SendClientMessage(playerid, COLOR_GRAD2, "USE: /kick [Id Do Jogador] [motivo]");
							return true;
						}
						getdate(year, month, day);
						if(admtrampando[playerid] == 1 && admhide[playerid] == 1)
						{
							format(string, sizeof(string), "AdmCmd: %s foi kickado por BooT_Perfect(Modo Cia), Motivo: %s (%d-%d-%d)", giveplayer, (result),day,month,year);
							KickLog(string);
							format(string, sizeof(string), "AdmCmd: %s foi kickado por BooT_Perfect, Motivo: %s", giveplayer, (result));
							SendClientMessageToAll(COLOR_LIGHTRED, string);
						}
						else
						{
							format(string, sizeof(string), "AdmCmd: %s foi kickado por %s, Motivo: %s (%d-%d-%d)", giveplayer, sendername, (result),day,month,year);
							KickLog(string);
							format(string, sizeof(string), "AdmCmd: %s foi kickado por %s, Motivo: %s", giveplayer, sendername, (result));
							SendClientMessageToAll(COLOR_LIGHTRED, string);
						}
						Kick(giveplayerid);
						return true;
					}
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_GRAD1, "   Esse nгo й um jogador ativo.");
			}
		}
		return true;
	}
Por exemplo, aparecer para o player kickado:

Jogador_BPC foi kickado por Ricardo_Maia. Motivo: Forum SA-MP
Server Closed Connection
Reply
#2

Veja a funзгo KickWithMessage que estб nesta pбgina: Kick.
Reply
#3

Quote:
Originally Posted by Dolby
Посмотреть сообщение
Veja a funзгo KickWithMessage que estб nesta pбgina: Kick.
Mais por exemplo, eu quero que apareзa o mesmo motivo pelo o qual o administrador kickou, exemplo:


Mensagem enviada para todos os players:
Код:
 Jogador_BPC foi kickado por Ricardo_Maia. Motivo: Forum SA-MP
Mensagem enviada para o jogador kickado:
Код:
Jogador_BPC foi kickado por Ricardo_Maia. Motivo: Forum SA-MP
Server Closed Connection
Reply
#4

Correзгo do kick e ban 0.3x


pawn Код:
#define Kick(%0) SetTimerEx("Kicka", 100, false, "i", %0) // Kick
#define Ban(%0) SetTimerEx("Bana", 100, false, "i", %0) // Ban
forward Bana(a); // Correзгo do Ban
forward Kicka(a); // Coreзгo do Kick
// Correзгo do Kick/Ban
public Bana(a)
{
    #undef Ban
    Ban(a);
    #define Ban(%0) SetTimerEx("Bana", 100, false, "i", %0)
    return true;
}
public Kicka(a)
{
    #undef Kick
    Kick(a);
    #define Kick(%0) SetTimerEx("Kicka", 100, false, "i", %0)
    return true;
}
Reply
#5

Ha sim, entгo neste caso vocк necessita aprender a trabalhar com strtok

Ou... Aprender sscanf e mudar todo seu Script pra Sscanf
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)