Zplague
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Zplague Entrar

Seu portal de Zombie Plague no Brasil


descriptionComo criar um plugin com comando no say, com circustancias. EmptyComo criar um plugin com comando no say, com circustancias.

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

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 :


espero que tenham gostado do tutorial, até a proxima.
tutorial criado por junin 05/10/2012

descriptionComo criar um plugin com comando no say, com circustancias. EmptyRe: Como criar um plugin com comando no say, com circustancias.

more_horiz
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK

new g_luans[33] << Dá não velho kkk

descriptionComo criar um plugin com comando no say, com circustancias. EmptyRe: Como criar um plugin com comando no say, com circustancias.

more_horiz
Esse plugin ficou show!

Tive essa ideia uma vez que não aguentava mais ver meu nome no say, ai dei a ideia pro Junin, e ta ai, ele fez! No tempo tinha posto assim:
Você foi kikado por falar o nome de "você sabe quem" onde não devia
trollf
Zplague19
kkkkkk

Ideia: podem usar esse plugin para evitar também palavrões.

descriptionComo criar um plugin com comando no say, com circustancias. EmptyRe: Como criar um plugin com comando no say, com circustancias.

more_horiz
Luankc escreveu:
Esse plugin ficou show!

Tive essa ideia uma vez que não aguentava mais ver meu nome no say, ai dei a ideia pro Junin, e ta ai, ele fez! No tempo tinha posto assim:
Você foi kikado por falar o nome de "você sabe quem" onde não devia
Como criar um plugin com comando no say, com circustancias. 3983697932
Como criar um plugin com comando no say, com circustancias. 2183973178
kkkkkk

Ideia: podem usar esse plugin para evitar também palavrões.


kkkkkKKKKKKKKKK LOL. Eu já pensei nisso também, um dia vou fazer isso aí fazer troll demais. kkk

Teve um vídeo que eu postei aqui (no qual não é meu) no qual não era de ZM e sim o normal (sem mod), que o jogador estava desarmando a bomba no de_inferno e saiu do local ainda desarmando a bomba. Isso é legal O_O

descriptionComo criar um plugin com comando no say, com circustancias. EmptyRe: Como criar um plugin com comando no say, com circustancias.

more_horiz
Muito legal Junin parabéns como sempre ajudando.

descriptionComo criar um plugin com comando no say, com circustancias. EmptyRe: Como criar um plugin com comando no say, com circustancias.

more_horiz
Existem alguns problemas nesse tuto.

1º: A função 'mensagem3()', já que ela envia 2 mensagem de texto antes do jogador ser kickado, mais sem intervalo de tempo entre as mensagens e o kick, nesse caso o jogador nem conseguiria ler a mensagem antes de ser kickado.

2º: A verificação de quantas vezes o player que entrou já digitou "luan" no chat, já que, por exemplo, em um servidor de 16 slots, caso um jogador seja kickado por digitar "luan" muitas vezes, não haveria como o servidor ficar lotado. Explicando: cada jogador no servidor tem um indice (que é um número), no exemplo acima os índices iriam de 1 até 16, caso o jogador com indice 13 fosse kickado (pelo plugin é claro), ninguém mais conseguiria entrar no servidor usando o índice 13 (até a troca de mapa), por que o valor de 'g_luans[13]' já é igual a 3 e o plugin iria dar kick nele, mesmo sendo um jogador que não tivesse digitado "luan" 3 vezes no chat, e quanto mais players digitassem isso, menos índices poderiam ser utilizados, e o servidor iria ficando com cada vez menos players.

3º: Na linha 60, onde você da o arranque na native 'server_cmd()' que irá enviar o comando de kickar o jogador, apesar de você capturar o nome do jogador acima você não concatena no comando que será enviado.

Ou seja, altere de:

Código:


server_cmd("amx_kick %s")


Para:

Código:


server_cmd("amx_kick %s", name)


Ou você pode fazer dessa forma que ficaria mais adequado, o efeito seria o mesmo e não precisaria capturar o nome do jogador:

Código:


server_cmd("kick #%d", get_user_userid(id))


Última edição por SpriiTe em 5/10/2012, 7:57 pm, editado 1 vez(es)

descriptionComo criar um plugin com comando no say, com circustancias. EmptyRe: Como criar um plugin com comando no say, com circustancias.

more_horiz
LOL Sprite kkkkkkkkk.

Belo tutorial!

descriptionComo criar um plugin com comando no say, com circustancias. EmptyRe: Como criar um plugin com comando no say, com circustancias.

more_horiz
SpriiTe nerd kkk valeu pela ajuda ai SpriiTe

descriptionComo criar um plugin com comando no say, com circustancias. EmptyRe: Como criar um plugin com comando no say, com circustancias.

more_horiz
Leozinho escreveu:
SpriiTe nerd kkk valeu pela ajuda ai SpriiTe


agora sim o fórum vai pra frente haha

descriptionComo criar um plugin com comando no say, com circustancias. EmptyRe: Como criar um plugin com comando no say, com circustancias.

more_horiz
ótimo pluguin .Como criar um plugin com comando no say, com circustancias. 2816086731

descriptionComo criar um plugin com comando no say, com circustancias. EmptyRe: Como criar um plugin com comando no say, com circustancias.

more_horiz
privacy_tip Permissões neste sub-fórum
Não podes responder a tópicos
power_settings_newInicie sessão para responder