SA-MP Forums Archive
[Ajuda] Como faзo para aparecer o motivo para o player kickado? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Como faзo para aparecer o motivo para o player kickado? (/showthread.php?tid=475961)



Como faзo para aparecer o motivo para o player kickado? - RicardoMaia - 15.11.2013

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



Re: Como faзo para aparecer o motivo para o player kickado? - Dolby - 15.11.2013

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


Re: Como faзo para aparecer o motivo para o player kickado? - RicardoMaia - 15.11.2013

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



Re: Como faзo para aparecer o motivo para o player kickado? - JoaoMonteiro452 - 15.11.2013

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;
}



Re: Como faзo para aparecer o motivo para o player kickado? - Dolby - 15.11.2013

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

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