SA-MP Forums Archive
[Ajuda] Stock para kick - 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] Stock para kick (/showthread.php?tid=656834)



Stock para kick - vitinhosamp - 25.07.2018

percebi que quando eu fazia um comando de kick, ele kickava antes de mandar a mensagem, entao resolvi fazer um stock com uma settimer para kickar o player, alguem me ajuda? sei que e facil fazer mas mesmo assim tenho duvidas!


Re: Stock para kick - Paulthaz - 25.07.2018

timers nгo funcionam em stocks... tu tem q criar uma callbackzinha...

Код:
SetTimerEx("KickEx", 300, false, "i", playerid);

forward KickEx(playerid);
public KickEx(playerid)
{
	Kick(playerid);
}



Re: Stock para kick - vitinhosamp - 25.07.2018

onde eu boto esse settimerex?


Re: Stock para kick - Paulthaz - 25.07.2018

no local q vc vai querer kickar o cara ue... eu te explico melhor.. me chama no discord


Yoshi#0596 ou Skype ronaldo.b.l.j


Re: Stock para kick - Luiiiz - 25.07.2018

PHP код:
CMD:kick(playeridparams[])
{
    new 
id;
    if(
sscanf(params"u"id)) return SendClientMessage(playerid0xFF0000AA"| ERRO | Use: /kick [id].");
    if(!
IsPlayerConnected(id)) return SendClientMessage(playerid0xFF0000AA"| ERRO | Jogador nгo conectado.");
    
SetTimerEx("Kickar"5000"i"id);
}

forward Kickar(id);
public 
Kickar(id)
{
    
SendClientMessage(id, -1"Vocк foi kickado.");
    
Kick(id);

Creio que funcionarб. Se baseie nisso!


Re: Stock para kick - AutoMatic2 - 25.07.2018

PHP код:
CMD:kick(playeridparams[])
{
    new 
IDMotivo[30];
    if(!
IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1"| ERRO | Vocк nгo tem permissгo!");
    if(
sscanf(params"us[30]"IDMotivo)) return SendClientMessage(playerid, -1"| ERRO | Use: /Kick [ID] [Motivo]");
    if(!
IsPlayerConnected(ID)) return SendClientMessage(playerid, -1"| ERRO | ID Invбlido!");
    
format(stringsizeof(string), "| INFO-SERVER | O(A) Administrador(a) %s (%d) Kickou o(a) jogador(a) %s (%d) ( Motivo: %s )"Nome(playerid), playeridNome(ID), IDMotivo);
    
SendClientMessageToAll(-1string);
    
SetTimerEx("Kick"500false"i"ID);
    return 
1;
}
forward Kick(playerid);
public 
Kick(playerid)
{
    
Kick(playerid);
    return 
1;




Re: Stock para kick - Santso - 25.07.2018

vou fazer o comando para vc ai vai aparecer no chat assim Exemplo: O administrador Santso kickou o jogador por fazer c-bug, vou fazer em zcmd, e sscanf


PHP код:
CMD:kickar(playerid)// aqui йo comando para kickar
{
      new 
string[100];//aqui й uma string para armazenar as informзхes da menssagem
      
new nome[25];aqui a variavel que vai armazenar o nome do player kickado
      
new name[25];aqui a variavel que vai armazenar o nome do adm
      
new motivo[80];//aki a variavel que vai armazenar o motivo pelo qual o player fo kickado
      
new idx;//aki a variavel que vai pegar o id do player
      
if(sscanf(params,"ds",idx,motivo))//aqui vou definir o parametro "D" pra variavel idx, e "s" para o motivo
      
if(IsPlayerConnected(idx))  return SendClientMessage(playerid, -1"O jogador nгo estб conectado  !");// aki retorna a mensagem se o player nгo tiver conectado
      
GetPlayerName(idxnome24);
      
GetPlayerName(playeridname24);
      
format(string,sizeof(string), "O Adm %s kickou o jogador %s, Motivo: %s",namenomemotivo);
      
SendClientMessageToAll(-1string);
      
SetTimerEx("kickar"2000false"i"idx);
      return 
1;
}
forward kickar();//aqui cria a public para kickar o player
public kickar()
{
     new 
idx;
     if(
sscanf(params,"d",idx))
     
Kick(idx);
     return 
1;
}
//se quiser que coloque que precisa ser adm pra kickar me manda seu sistema de adm ae, se der algum erro me avisa, se ajudei +Rep 



Re: Stock para kick - Malandrin - 25.07.2018

Vamos simplificar o comando mas fazк-lo funcional.
Adicione isso:
PHP код:
 #define Kick(%0) SetTimerEx("Kicka", 100, false, "i", %0) //coloque no topo da GM
forward Kicka(p); //Coloque no topo da GM

public Kicka(p) { //Coloque no Final de sua GM.
    #undef Kick
    
Kick(p);
    
#define Kick(%0) SetTimerEx("Kicka", 100, false, "i", %0)
    
return 1;

Crйditos: http://forum.sa-mp.com/showpost.php?...postcount=2486


Re: Stock para kick - Santso - 25.07.2018

Quote:
Originally Posted by Malandrin
Посмотреть сообщение
Vamos simplificar o comando mas fazк-lo funcional.
Adicione isso:
PHP код:
 #define Kick(%0) SetTimerEx("Kicka", 100, false, "i", %0) //coloque no topo da GM
forward Kicka(p); //Coloque no topo da GM
public Kicka(p) { //Coloque no Final de sua GM.
    #undef Kick
    
Kick(p);
    
#define Kick(%0) SetTimerEx("Kicka", 100, false, "i", %0)
    
return 1;

Crйditos: http://forum.sa-mp.com/showpost.php?...postcount=2486
pra que ta usando #undef e #define Kick.... ? sem precisгo, deixa mal otimizado o comando, causa lag


Re: Stock para kick - Malandrin - 25.07.2018

Quote:
Originally Posted by Santso
Посмотреть сообщение
pra que ta usando #undef e #define Kick.... ? sem precisгo, deixa mal otimizado o comando, causa lag
Nгo sei se percebeu mas esse comando nгo й meu, deixei crйditos no fim do tуpico mas por toda via ele funcionou perfeitamente comigo.