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 Hat obrigatório para eventos  Emptycomo criar um Hat obrigatório para eventos

more_horiz
Neste tutorial iremos aprender a utilizar hats ( chapeus ) obrigatoriamente no servidor.
Muito utilizado em eventos como natal, pascoa. etc....

estas são as includes

Código:

#include
#include
#include


variavel da entidade do hat

Código:

new g_iHatEntityID[33]

indentificação da propaganda

Código:

new g_propaganda

aqui a escolha da skin da hat

Código:

new const zp_coelhinho[] = "models/zombie_plague/orelhadecoelho.mdl" //  model


aqui onde escolheremos se ativamos a propaganda e registramos o plugin.

Código:

public plugin_init()
{
    register_plugin("[ZP] Chapeus", "1.0", "Junin")
       
    g_propaganda = register_cvar("zp_pascoa_propaganda_ativar", "1")
   
}


tempo que aparecera propagandas indicando o uso .

Código:

public plugin_cfg()
{
    set_task(200.0, "propaganda", 0)
}


essa função faz que logo que o player entre ao servidor já tenha a hat

Código:

public client_putinserver(id)
{
    chapeu_ativar(id)
}

Aqui podemos escolher uma mensagem de felicidade

Código:


public propaganda()
{
    if(g_propaganda)
    client_texto(0,DontChange,"^4[ZP]^1 Desejamos uma Feliz Pascoa para todos !!!")
   
}

onde carregamos a skin indicada anteriormente

Código:

public plugin_precache()
{
    precache_model(zp_coelhinho)
}

código do chapeu juntamente de como remove-lo. Com mensagem de ativação.

Código:


public chapeu_ativar(id)
{
   
    new iEnt = g_iHatEntityID[id]
   
    // Has a valid hat?
    if(!is_valid_ent(g_iHatEntityID[id]))
    {
        client_texto(id,DontChange,"^4[ZP]^1 Seu^3 Chapeu^1 foi^4 Ativado^1, caso queira desativar/ativar digite ^3/pascoa.")
       
        // Create a new one
        g_iHatEntityID[id] = iEnt = create_entity("info_target")
       
        // Set their options to follow the player
        entity_set_int(iEnt, EV_INT_movetype, MOVETYPE_FOLLOW)
        entity_set_edict(iEnt, EV_ENT_aiment, id)           
        entity_set_model(iEnt, zp_coelhinho)
       
       
    }
   
   
    return
   
}
stock remover_chapeu(id)
{
    if(is_valid_ent(g_iHatEntityID[id]))
    {
        remove_entity(g_iHatEntityID[id])
        g_iHatEntityID[id] = -1
    }
}



download skin : http://sharex.xpg.com.br/files/6123951433/orelhadecoelho.mdl.html

espero que tenham gostado : )
tutorial feito por junin 05/10/12

descriptioncomo criar um Hat obrigatório para eventos  EmptyRe: como criar um Hat obrigatório para eventos

more_horiz
No caso, em que outras situações poderemos utilizar o plugin_cfg? Em alguns plugin vejo outras configurações, mas destes não entendi. Por isso resolvi tirar esta pergunta aqui. Agradeço se responder.

PS: Ótimo tutorial! Junin O_O sou seu fã!

descriptioncomo criar um Hat obrigatório para eventos  EmptyRe: como criar um Hat obrigatório para eventos

more_horiz
ele faz um "recarregamento de informações"
no cfg ele faz para ler a cada x momento

como o nome sugere é feito para executar aqueles .cfgs
mas pode ser utilizado em vários casos

valeu : )

descriptioncomo criar um Hat obrigatório para eventos  EmptyRe: como criar um Hat obrigatório para eventos

more_horiz
Pena que na libraria do AMX Mod X não tem todas as explicações possíveis. Resumindo só procurando mesmo na internet.

descriptioncomo criar um Hat obrigatório para eventos  EmptyRe: como criar um Hat obrigatório para eventos

more_horiz
Muito bom Junin parabéns.

descriptioncomo criar um Hat obrigatório para eventos  EmptyRe: como criar um Hat obrigatório para eventos

more_horiz
Existe um erro no tuto.

Você guardou o ponteiro da cvar 'zp_pascoa_propaganda_ativar' na variável 'g_propaganda', mais na condicional da função 'propaganda()' você não capturou o valor dessa cvar e sim utilizou o indice do ponteiro.

Ou seja, altere de:

Código:


public propaganda()
{
 if(g_propaganda)
  client_texto(0,DontChange,"^4[ZP]^1 Desejamos uma Feliz Pascoa para todos !!!")
}


Para:

Código:


public propaganda()
{
 if(get_pcvar_num(g_propaganda))
  client_texto(0,DontChange,"^4[ZP]^1 Desejamos uma Feliz Pascoa para todos !!!")
}

descriptioncomo criar um Hat obrigatório para eventos  EmptyRe: como criar um Hat obrigatório para eventos

more_horiz
Ótima identificação! Mas, errar é humano. =)

Spirrite, uma pergunta: Se caso seja um número Float no registro da CVAR, utilizará dentro da função 'se' o código get_pcvar_float, correto?

Além disso, qual a diferença entre pcvar e cvar?
Agradeço se responder a estas 2 perguntas. Obrigado. =)

descriptioncomo criar um Hat obrigatório para eventos  EmptyRe: como criar um Hat obrigatório para eventos

more_horiz
Sim, caso você queira capturar um valor decimal você deve usar a native 'get_pcvar_float'.

A diferença entre as natives: 'get_pcvar_...()' das 'get_cvar_...', é que as 'get_pcvar_...()' capturam o valor de uma cvar a partir de um ponteiro (cvar pointer), e as natives 'get_cvar_...()' capturam o valor de uma cvar a partir do nome dela.

descriptioncomo criar um Hat obrigatório para eventos  EmptyRe: como criar um Hat obrigatório para eventos

more_horiz
Sprite
Obrigado por ter reparado nisso, aqui tinha funcionado mas da forma que você postou tem um funcionamento melhor... valeu

descriptioncomo criar um Hat obrigatório para eventos  EmptyRe: como criar um Hat obrigatório para eventos

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