[Ajuda] Stock para kick
#1

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!
Reply
#2

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);
}
Reply
#3

onde eu boto esse settimerex?
Reply
#4

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
Reply
#5

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!
Reply
#6

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;

Reply
#7

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 
Reply
#8

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
Reply
#9

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
Reply
#10

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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)