[Tutorial] [TUT] Comando /sair (Bom para Gang War)
#1

Nгo sei se muita gente ja viu o comando "/sair" Usado para pessoas nгo fugirem com "/q" Funciona da Simples Forma
Ao Digitar "/sair" Iniciara uma Contagem de 10 Segundos (usando SetTimmer) para Desconectar do Servidor
Aqui o Tutorial Espero que Gostem:
No Topo do GM (pode ser abaixo das #includes) Coloque Esta Forward

pawn Code:
forward saindo(playerid);
--> Serб Usada para Indicar a Public e Tambйm Saber a Hora que Ocorrerб


Seguidamente Coloque Esta Public:
pawn Code:
public saindo(playerid)
{
SendClientMessage(playerid,0xFFCC2299,"Desconectado com Sucesso do Servidor");
Kick(playerid);
return 1;
}
public saindo --> й Onde colocamos o Nomes da Forward lб encima do Tuto;
SendClientMessage --> Enviara a Tal Mensagem a o Player Antes de Desconectar
0xFFCC2299 --->> Cor da Mesagem
Kick(playerid); -->> Kickara o Player ou Seja ele Desconectarб do Server


Apуs Isso CTRL + F e Procure

pawn Code:
public OnPlayerCommandText(playerid, cmdtext[])
{
E Coloque Abaixo:
pawn Code:
//-----------------------------Comando Sair-------------------------------
    if(strcmp("/sair", cmd, true) == 0)
    {
    SetTimerEx("saindo",10000,false, "i", playerid);
    SendClientMessage(playerid,xFFCC2299,"Aguarde 10 Segundo para Desconectar");
    return 1;
    }

//-------------------------------[Comanduh SAIR]----------------------------------------
if(strcmp("/sair", cmd, true) == 0) -->> Comando Usado ou Seja /sair
SetTimer("saindo",10000,true); -->> Novamente Colocamos para garantir que nгo haverб erros





PS: Brevemente Estarei Colocando um TUT de Sistema AntiFuga (Anti-/q)


Reply
#2

Muito bom cara. Tem que ter paciкncia para fazer um tuto, e pelo jeito й o que vocк mais tem. ^^

Vai ajudar bastante quem nгo sabe fazer esse tipo de comando e atй ajuda-los a criar outros. mas para ficar otimo, vocк sу prescisava ter colocado o anti-/q aqui. ^^
Reply
#3

й que o Sistema Anti/q й Muito Complexo Estou ainda a criar mesmo assim Obrigado
Vocк tambйm й um grande membro do Fуrum!
Reply
#4

Mas isto nгo previne os jogadores e usarem o comando /q, logo nгo vejo a utilidade disto.
Reply
#5

Som RoamPT mas Como Disse, brevemente irei fazer Anti-/q
й da Seguinte forma

Nгo tem como Bloquear o Comando /q
Entгo o jeito seria, quando a pessoa dar /q leva Prisгo, Ou Aviso ou Atй 5 Deaths no Status esse й o Objetivo entendes?
Entгo ja fui me adiantando e postando o Comandos Sair..
Reply
#6

Uma boa ideia seria ao jogador digitar /sair e salvar todos stats.

Apos Kick(playerid), Crashar o jogo dele (Usando objetos invalidos, criando os somente para o jogador)
Reply
#7

Quote:
Originally Posted by GhOsT[X
]
Uma boa ideia seria ao jogador digitar /sair e salvar todos stats.

Apos Kick(playerid), Crashar o jogo dele (Usando objetos invalidos, criando os somente para o jogador)
Existem vбrias maneiras de crashar um jogador, e essa й a que mais lagga o servidor
Reply
#8

jasus ta ai um problema ENORME!!!

SetTimer("saindo",10000,true); ISTO VAI FAZER REPETIR!!

E NAO SO!

Porque ou bem me engano ou nao kika o jogador ou kika TODOS! porque para definires o jogador tens de usar um SetTimerEx

so te digo uma coisa antes de postar testa e aprende antes de fazer tutoriais para nao dar problemas...

mesmo assim eu vou fazer de maneira a crashar e crashar com objectos ja nao й possivel no 0.3a

pawn Code:
if(strcmp("/sair", cmd, true) == 0)
{
    SetTimerEx("saindo",10000,false, "i", playerid);
    SendClientMessage(playerid,xFFCC2299,"Aguarde 10 Segundo para Desconectar");
    return 1;
}
pawn Code:
forward saindo(playerid);
public saindo(playerid)
{
    SendClientMessage(playerid,0xFFCC2299,"Desconectado com Sucesso do Servidor");
    GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 1000, 0);
    GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 2000, 1);
    GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 3000, 2);
    GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 4000, 3);
    GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 5000, 4);
    GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 6000, 5);
    GameTextForPlayer(playerid, "•¤¶§!$$%&'()*+,-./01~!@#$^&*()_-+={[}]:;'<,>.?/", 7000, 6);
    Kick(playerid);
    return 1;
}
Reply
#9

Filho ja foi testado e aprovado nгo tem nenhum BUG Comando /sair Apenas й vбlido para o player, enquanto o Crash nгo vou fazer desta forma atй porque vai ficar muitos arquivos Crash.txt la dentro da Pasta do game Mode
o Comando Sair Aplica-se apenas ao player que o digita
a prуpria Funзгo "Kick(playerid)" ja indica que vai kickar apйnas o player que digitou.


Vou Confiar em Vocк e editar o Cуdigo da forma que vocк me colocas-te Brevemente farei teste espero que vocк nгo esteja errado...

Vocк tem Idйia de como faz o Anti-/q?


Testado Felizmente Deu Certo Mais o Certo nгo seria crashar o Player.
Reply
#10

Quote:
Originally Posted by DraKoN
Vocк tem Idйia de como faz o Anti-/q?
no OnPlayerCommandText:

pawn Code:
if (strcmp("/q", cmdtext, true, 10) == 0)
{
  new string[44],pName[MAX_PLAYER_NAME];
  GetPlayerName(playerid, pName, sizeof(pName));
  format(string, sizeof(string), "%s usou o comando /q.",pName);
  SendClientMessageToAll(0xFFFFFFFF, string);
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)