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


description[AJUDA] Vidaextra Empty[AJUDA] Vidaextra

more_horiz
Bom galera um dia eu tentei colocar limite pro plugin vida extra para que cada player só possa compra 6 vezes HP por round mas n deu muito certo, só estava dando erro.
Bom se alguém puder me ajuda poderiam editar pra mim. Obrigado.

.Sma abaixo:

Código:

#include <amxmodx>
#include < fun >
#include <zombieplague>
#include <cstrike>

new const item_name[] = "Vida extra"
new g_itemid_buyhp
new hpamount_z, hpamount_h

new g_fire
new const heal_effect[] = "cso/zm_heal.wav"
new const human_buy[] = "cso/hm_heal.wav"
 
public plugin_precache()
{
    g_fire = precache_model("sprites/vida_sprits.spr")
    precache_sound(heal_effect)
    precache_sound(human_buy)
}

public plugin_init()
{
    register_plugin("Vida extra", "1.0", "Extra Vida")
    hpamount_z = register_cvar("zp_buyhp_zombie", "5000")
    hpamount_h = register_cvar("zp_buyhp_human", "700")
    g_itemid_buyhp = zp_register_extra_item(item_name,20, ZP_TEAM_HUMAN & ZP_TEAM_ZOMBIE)
}

public onHealth()
{
    new victim=read_data(2)
 
    new CsTeams:team=cs_get_user_team(victim)
    if(team==CS_TEAM_T)
    {
        set_task(3.0,"fire",victim)
    }
}

fire_zombie(origin[3])
{
    message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
    write_byte(TE_SPRITE)
    write_coord(origin[0])
    write_coord(origin[1])
    write_coord(origin[2]+=30)
    write_short(g_fire)
    write_byte(8)
    write_byte(255)
    message_end()
}

public fire(victim)
{
    new origin[3]
    get_user_origin(victim,origin)
 
    fire_zombie(origin)
}
 
public zp_extra_item_selected(id,itemid)
{
    if (!is_user_alive(id))
    return PLUGIN_HANDLED;
 
    if (itemid==g_itemid_buyhp)
    {
        if (zp_get_user_ammo_packs(id) < 5)
        {
            client_print(id, print_chat,"[ZP] Voce nao tem Ammo Packs Suficiente !!");
            return PLUGIN_HANDLED;
        }
        if (zp_get_user_zombie(id))
        {
            set_user_health(id,get_user_health(id)+get_pcvar_num(hpamount_z));
            client_print(id, print_chat,"[ZP] Voce comprou 5.000 de HP !");
            emit_sound(id, CHAN_ITEM, heal_effect, 0.6, ATTN_NORM, 0, PITCH_NORM)
            fire(id);
        }
        if (!zp_get_user_zombie(id))
        {
            set_user_health(id,get_user_health(id)+get_pcvar_num(hpamount_h));
            client_print(id, print_chat,"[ZP] Voce comprou 700 de HP!");
            emit_sound(id, CHAN_ITEM, human_buy, 0.6, ATTN_NORM, 0, PITCH_NORM)
        }
    }
    return PLUGIN_CONTINUE;
}

description[AJUDA] Vidaextra EmptyRe: [AJUDA] Vidaextra

more_horiz

Código:

#include <amxmodx>
#include <  fun >
#include <zombieplague>
#include <cstrike>

new const item_name[] = "Vida extra"
new g_itemid_buyhp
new hpamount_z, hpamount_h
new g_maxplayers

new g_fire
new const heal_effect[] = "cso/zm_heal.wav"
new const human_buy[] = "cso/hm_heal.wav"

new bought_limit[33], cvar_limit_bought
 
public plugin_precache()
{
    g_fire = precache_model("sprites/vida_sprits.spr")
    precache_sound(heal_effect)
    precache_sound(human_buy)
}

public plugin_init()
{
    cvar_limit_bought = register_cvar("zp_antidote_bomb_limit", "6")
    register_plugin("Vida extra", "1.0", "Extra Vida")
    hpamount_z = register_cvar("zp_buyhp_zombie", "5000")
    hpamount_h = register_cvar("zp_buyhp_human", "700")
    register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
    g_itemid_buyhp = zp_register_extra_item(item_name,20, ZP_TEAM_HUMAN & ZP_TEAM_ZOMBIE)
}

public event_round_start()
{
   for(new id = 1; id <= g_maxplayers; id++)
   {
      bought_limit[id] = 0
   }
}

public onHealth()
{
    new victim=read_data(2)
 
    new CsTeams:team=cs_get_user_team(victim)
    if(team==CS_TEAM_T)
    {
        set_task(3.0,"fire",victim)
    }
}

fire_zombie(origin[3])
{
    message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
    write_byte(TE_SPRITE)
    write_coord(origin[0])
    write_coord(origin[1])
    write_coord(origin[2]+=30)
    write_short(g_fire)
    write_byte(8)
    write_byte(255)
    message_end()
}

public fire(victim)
{
    new origin[3]
    get_user_origin(victim,origin)
 
    fire_zombie(origin)
}
 
public zp_extra_item_selected(id,itemid)
{
    if (!is_user_alive(id))
    return PLUGIN_HANDLED;
 
    if (itemid==g_itemid_buyhp)
    {
        if (zp_get_user_ammo_packs(id) < 5)
        {
            client_print(id, print_chat,"[ZP] Voce nao tem Ammo Packs Suficiente !!");
            return PLUGIN_HANDLED;
        }
        if (zp_get_user_zombie(id))
        {
            set_user_health(id,get_user_health(id)+get_pcvar_num(hpamount_z));
            client_print(id, print_chat,"[ZP] Voce comprou 5.000 de HP !");
            emit_sound(id, CHAN_ITEM, heal_effect, 0.6, ATTN_NORM, 0, PITCH_NORM)
            fire(id);
        }
        if (!zp_get_user_zombie(id))
        {
            set_user_health(id,get_user_health(id)+get_pcvar_num(hpamount_h));
            client_print(id, print_chat,"[ZP] Voce comprou 700 de HP!");
            emit_sound(id, CHAN_ITEM, human_buy, 0.6, ATTN_NORM, 0, PITCH_NORM)
        }
        if(bought_limit[id] >= get_pcvar_num(cvar_limit_bought))
        {
     client_print(id, print_chat, "[ZP] Ja Usaro muita vida")
     zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + 20)
        }
    }
    return PLUGIN_CONTINUE
}

tenta

description[AJUDA] Vidaextra EmptyRe: [AJUDA] Vidaextra

more_horiz
vlw dexter daqui a pouco testo e te aviso se deu certo. Obrigado pela ajuda.

description[AJUDA] Vidaextra EmptyRe: [AJUDA] Vidaextra

more_horiz
Dexter não deu certo ele passa do limite de compras.




Obrigado deu certo 97()27!/>

Pode fechar.

Última edição por micael mattei em 15/1/2014, 1:02 pm, editado 1 vez(es)

description[AJUDA] Vidaextra EmptyRe: [AJUDA] Vidaextra

more_horiz

Código:

    #include <amxmodx>
    #include <  fun >
    #include <zombieplague>
    #include <cstrike>

    new const item_name[] = "Vida extra"
    new g_itemid_buyhp
    new hpamount_z, hpamount_h

    new g_fire, g_limit[33], cvar_max_boughts
    new const heal_effect[] = "cso/zm_heal.wav"
    new const human_buy[] = "cso/hm_heal.wav"

    public plugin_precache()
    {
       g_fire = precache_model("sprites/cso_heal.spr")
       precache_sound(heal_effect)
       precache_sound(human_buy)
    }

    public plugin_init()
    {
       register_plugin("Vida extra", "1.0", "Extra Vida")
       register_event("HLTV", "event_round_start", "a", "1=0", "2=0")

       hpamount_z = register_cvar("zp_buyhp_zombie", "1000")
       hpamount_h = register_cvar("zp_buyhp_human", "350")
       cvar_max_boughts = register_cvar("zp_buyhp_limit", "6")   // So pode comprar hp 3 x por round
      
       g_itemid_buyhp = zp_register_extra_item(item_name,20, ZP_TEAM_HUMAN & ZP_TEAM_ZOMBIE)
    }

    public onHealth()
    {
       new victim=read_data(2)
      
       new CsTeams:team=cs_get_user_team(victim)

       if(team==CS_TEAM_T) set_task(3.0,"fire",victim);
    }

    public event_round_start() for (new id = 1; id <= get_maxplayers(); id++) g_limit[id] = 0; // Resetando a contagem


    fire_zombie(origin[3])
    {
       message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
       write_byte(TE_SPRITE)
       write_coord(origin[0])
       write_coord(origin[1])
       write_coord(origin[2]+=30)
       write_short(g_fire)
       write_byte(8)
       write_byte(255)
       message_end()
    }

    public fire(victim)
    {
       new origin[3]
       get_user_origin(victim,origin)
      
       fire_zombie(origin)
    }

    public zp_extra_item_selected(id,itemid)
    {
       if (!is_user_alive(id))
       return PLUGIN_HANDLED;
      
       if (itemid==g_itemid_buyhp)
       {
          if (g_limit[id] > get_pcvar_num(cvar_max_boughts))
          {
             client_print(id, print_chat,"[ZP] Voce Comprou Muitas Vidas Nesse Round !!");
             return PLUGIN_HANDLED;
          }
          if (zp_get_user_zombie(id))
          {
             set_user_health(id,get_user_health(id)+get_pcvar_num(hpamount_z));
             client_print(id, print_chat,"[ZP] Voce comprou 1.000 de HP !");
             emit_sound(id, CHAN_ITEM, heal_effect, 0.6, ATTN_NORM, 0, PITCH_NORM)
             g_limit[id]++
             fire(id);
          }
          if (!zp_get_user_zombie(id))
          {
             set_user_health(id,get_user_health(id)+get_pcvar_num(hpamount_h));
             client_print(id, print_chat,"[ZP] Voce comprou 350 de HP !");
             g_limit[id]++
             emit_sound(id, CHAN_ITEM, human_buy, 0.6, ATTN_NORM, 0, PITCH_NORM)
          }
       }
       return PLUGIN_CONTINUE;
    }

Testa ae ! essa foi o [P]erfect[T] [S]cr[@]s[H] que boto o limite.

description[AJUDA] Vidaextra EmptyRe: [AJUDA] Vidaextra

more_horiz
Fechado

description[AJUDA] Vidaextra EmptyRe: [AJUDA] Vidaextra

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