Neste tutorial iremos aprender a criar um comando no say que dependo da quantidade que digitamos
ocorrerá um evento determinado . Este plugin foi feito por mim mesmo juntamente com uma brincadeira do nosso amigo Luankc.
Primeiro iremos criar nossa variável para o player [33] e juntamente as includes necessárias.
aqui registramos o plugin, e a função que será " hookeada ".
nesta função, se o player conectar ao servidor sendo que tenha digitada a palavra chave 3 vezes
é automaticamente kickado. Sendo que a variavel g_luans vai ser resetada sempre ao trocar o mapa/reiniciar o servidor.
Aqui por exemplo vamos aplicar as devidas punições, primeiramente com um aviso prévio e simples,
na segunda vez ele perde uma determinada quantidade de ammo packs, e na terceira é kickado automaticamente.
lembrando as regrinhas de sinais ( as mais utilizadas )
- = menos
= = igual
> = maior que
< = menor que
+ = mais
Aqui é onde está Hookeado o Chat, sendo assim quando digitarmos luan, ira aparecer as seguintes circustancias
previstas anteriormente acima.
Código completo
espero que tenham gostado do tutorial, até a proxima.
tutorial criado por junin 05/10/2012
ocorrerá um evento determinado . Este plugin foi feito por mim mesmo juntamente com uma brincadeira do nosso amigo Luankc.
Primeiro iremos criar nossa variável para o player [33] e juntamente as includes necessárias.
- Código:
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <zombieplague>
new g_luans[33]
aqui registramos o plugin, e a função que será " hookeada ".
- Código:
public plugin_init() {
register_plugin("[ZP] Addon:Anti Luan", "0.1", "Junin")
register_clcmd("say","say_happy");
}
nesta função, se o player conectar ao servidor sendo que tenha digitada a palavra chave 3 vezes
é automaticamente kickado. Sendo que a variavel g_luans vai ser resetada sempre ao trocar o mapa/reiniciar o servidor.
- Código:
public client_putinserver(id)
{
if (g_luans[id] == 3)
{
mensagem3(id)
}
}
Aqui por exemplo vamos aplicar as devidas punições, primeiramente com um aviso prévio e simples,
na segunda vez ele perde uma determinada quantidade de ammo packs, e na terceira é kickado automaticamente.
lembrando as regrinhas de sinais ( as mais utilizadas )
- = menos
= = igual
> = maior que
< = menor que
+ = mais
- Código:
public mensagem2(id)
{
if (g_luans[id] == 1)
{
client_texto(id, DontChange,"^4[ZP]^1 Luan Morreu, agora a dona e a Carla")
client_texto(id, DontChange,"^4[ZP]^1 Por Favor nao Repita este nome, Obrigado")
}
if (g_luans[id] == 2)
{
client_texto(id, DontChange,"^4[ZP]^1 Nao Diga o nome do Luan, ou sofrera com as consequencias")
client_texto(id, DontChange,"^4[ZP]^1 Por Exemplo Agora voce Perdeu 50 Packs")
new din
din = zp_get_user_ammo_packs(id)
zp_set_user_ammo_packs(id, din - 50)
}
if (g_luans[id] == 3)
{
mensagem3(id)
}
g_luans[id]++
return PLUGIN_CONTINUE
}
public mensagem3(id)
{
client_texto(id, DontChange,"^4[ZP]^1 Voce Falou o Nome do Membro Supremo, por isso foi kickado.")
client_texto(id, DontChange,"^4[ZP]^1 Escolha outro servidor para jogar, anteciosamente [Anti-Luan 1.0].")
new name[32]
get_user_name(id, name, 32)
server_cmd("amx_kick %s")
return PLUGIN_CONTINUE
}
Aqui é onde está Hookeado o Chat, sendo assim quando digitarmos luan, ira aparecer as seguintes circustancias
previstas anteriormente acima.
- Código:
[code]public say_happy(id){
new said[32]
read_argv(1,said,31);
if (containi(said, "luan") != -1) {
{
mensagem2(id)
}
}
return PLUGIN_CONTINUE
}[/code]
Código completo
- Spoiler:
- Código:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <zombieplague>
new g_luans[33]
public plugin_init() {
register_plugin("[ZP] Addon:Anti Luan", "0.1", "Junin")
register_clcmd("say","say_happy");
}
public client_putinserver(id)
{
if (g_luans[id] == 3)
{
mensagem3(id)
}
}
public mensagem2(id)
{
if (g_luans[id] == 1)
{
client_texto(id, DontChange,"^4[ZP]^1 Luan Morreu, agora a dona e a Carla")
client_texto(id, DontChange,"^4[ZP]^1 Por Favor nao Repita este nome, Obrigado")
}
if (g_luans[id] == 2)
{
client_texto(id, DontChange,"^4[ZP]^1 Nao Diga o nome do Luan, ou sofrera com as consequencias")
client_texto(id, DontChange,"^4[ZP]^1 Por Exemplo Agora voce Perdeu 50 Packs")
new din
din = zp_get_user_ammo_packs(id)
zp_set_user_ammo_packs(id, din - 50)
}
if (g_luans[id] == 3)
{
mensagem3(id)
}
g_luans[id]++
return PLUGIN_CONTINUE
}
public mensagem3(id)
{
client_texto(id, DontChange,"^4[ZP]^1 Voce Falou o Nome do Membro Supremo, por isso foi kickado.")
client_texto(id, DontChange,"^4[ZP]^1 Escolha outro servidor para jogar, anteciosamente [Anti-Luan 1.0].")
new name[32]
get_user_name(id, name, 32)
server_cmd("amx_kick %s")
return PLUGIN_CONTINUE
}
public say_happy(id){
new said[32]
read_argv(1,said,31);
if (containi(said, "luan") != -1) {
{
mensagem2(id)
}
}
return PLUGIN_CONTINUE
}
espero que tenham gostado do tutorial, até a proxima.
tutorial criado por junin 05/10/2012