[Erro de compilação] [Alguém ajuda] Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

Zplague

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

Seu portal de Zombie Plague no Brasil

Zumbis Online

Últimos assuntos

» [ANÚNCIO] Alguem vivo ai?
por [Dk]Serial-Killer Ontem à(s) 12:46 am

» The Fen1xS CLan | Zombie Plague | [XP/LEVELS] #2024
por hevy 5/7/2024, 8:28 pm

»
por Eclipse 29/2/2024, 12:30 am

» [Plugin] /vm Com Status
por Isr7 4/6/2023, 3:24 pm

» Alguém pra manter um servidor comigo?
por Isr7 3/6/2023, 4:52 pm

» Alguém querendo criar um servidor de zp? eu pago a host quem quiser deixar o discord ai Isr7#6920
por Isr7 3/6/2023, 3:18 pm

» PEDIDO: Multijump pros VIP
por Madness 15/3/2023, 3:44 pm

» [ZP] Modo padre para 5.0
por XperitosEspetinho123 15/7/2022, 3:31 pm

» [KZ] Servidores de cs 1.6
por [Dk]Serial-Killer 7/5/2022, 4:12 am

» [PLUGIN BY SKVD & WILLIAN] SHOP DE FANTASIAS
por dushowW 23/7/2020, 5:44 pm

Os membros mais ativos da semana

Frases filosóficas Zplague:

....

Google Adsense

Estatísticas

Os nossos membros postaram um total de 38142 mensagens em 6680 assuntos

Temos 2796 usuários registrados

O último membro registrado é zmplugins - Henrique


3 participantes

    [Erro de compilação] [Alguém ajuda]

    hackermatheus10
    hackermatheus10
    Humano


    Nick : DZ_MTv
    Masculino Número de Mensagens : 130
    CyberHackersbr
    Ammo Packs : 4203
    Honra : -4
    Data de inscrição : 27/06/2013

    [Erro de compilação] [Alguém ajuda] Empty [Erro de compilação] [Alguém ajuda]

    Mensagem por hackermatheus10 2/9/2013, 1:05 pm

    Hola vim portal aqui um erro que esta ocorrendo um certo erro de compilação nesse plugin aqui e queria saber se algum de vocês poderia arrumar ele para mim...

    [Erro de compilação] [Alguém ajuda] Sepm

    Código:
    #include <amxmodx>
    #include <engine>
    #include <fakemeta>
    #include <fakemeta_util>
    #include <zmvip>
    #include <hamsandwich>
    #include <zombieplague>
    #include <cstrike>

    new const fire_classname[] = "fire_salamander"
    new const fire_spr_name[] = "sprites/fire_salamander.spr"

    new const v_model[] = "models/zombie_plague/v_salamander.mdl"
    new const p_model[] = "models/zombie_plague/p_salamander.mdl"
    new const w_model[] = "models/zombie_plague/w_salamander.mdl"

    new const fire_sound[] = "weapons/flamegun-2.wav"

    // HARD CODE
    #define CSW_SALAMANDER CSW_M249
    #define PEV_ENT_TIME pev_fuser1
    #define TASK_FIRE 3123123
    #define TASK_RELOAD 2342342
    new g_had_salamander[33], bool:is_firing[33], bool:is_reloading[33], Float:g_last_fire[33],
    bool:can_fire[33], g_reload_ammo[33], g_ammo[33]

    enum
    {
       IDLE_ANIM = 0,
       DRAW_ANIM = 4,
       RELOAD_ANIM = 3,
       SHOOT_ANIM = 1,
       SHOOT_END_ANIM = 2
    }

    new g_salamander
    new cvar_dmgrd_start, cvar_dmgrd_end, cvar_fire_delay, cvar_max_clip

    public plugin_init()
    {
       register_plugin("*VIP* Extra Item: Salamander", "1.0", "Dias")
       
       register_event("CurWeapon", "event_curweapon", "be", "1=1")
       register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1)
       RegisterHam(Ham_Spawn, "player", "fw_spawn", 1)
       RegisterHam(Ham_Weapon_Reload, "weapon_m249", "fw_weapon_reload", 1)
       RegisterHam(Ham_Item_Deploy, "weapon_m249", "fw_weapon_deploy", 1)
       RegisterHam(Ham_Item_PostFrame, "weapon_m249", "fw_item_postframe", 1)
       RegisterHam(Ham_Item_AddToPlayer, "weapon_m249", "fw_item_addtoplayer", 1)
       register_forward(FM_CmdStart, "fw_cmdstart")
       register_touch(fire_classname, "*", "fw_touch")
       register_think(fire_classname, "fw_think")
       register_forward(FM_SetModel, "fw_SetModel")
       
       register_clcmd("lastinv", "check_lastinv")
       
       g_salamander = zv_register_extra_item("Salamander", 30, ZV_TEAM_HUMAN)
       
       cvar_dmgrd_start = register_cvar("zp_salamander_dmgrandom_start", "65.0")
       cvar_dmgrd_end = register_cvar("zp_salamander_dmgrandom_end", "90.0")
       cvar_fire_delay = register_cvar("zp_salamander_fire_delay", "0.1")
       cvar_max_clip = register_cvar("zp_salamander_max_clip", "100")
    }

    public plugin_precache()
    {
       precache_model(v_model)
       precache_model(p_model)
       precache_model(w_model)
       
       precache_model(fire_spr_name)
       precache_sound(fire_sound)
       
       precache_sound("weapons/flamegun-1.wav")
       precache_sound("weapons/flamegun_clipin1.wav")
       precache_sound("weapons/flamegun_clipout1.wav")
       precache_sound("weapons/flamegun_clipout2.wav")
       precache_sound("weapons/flamegun_draw.wav")
    }

    public fw_spawn(id)
    {
       if(g_had_salamander[id])
          g_had_salamander[id] = false
          
       if(task_exists(id+TASK_FIRE)) remove_task(id+TASK_FIRE)
       if(task_exists(id+TASK_RELOAD)) remove_task(id+TASK_RELOAD)
       
       remove_entity_name(fire_classname)
    }

    public zv_extra_item_selected(id, itemid)
    {
       if(itemid == g_salamander)
       {
          g_had_salamander[id] = true
          is_reloading[id] = false
          is_firing[id] = false
          can_fire[id] = true
          
          fm_give_item(id, "weapon_m249")
          g_ammo[id] = 100
          cs_set_user_bpammo(id, CSW_SALAMANDER, 200)
       }
    }

    public fw_item_postframe(ent)
    {
       if(!is_valid_ent(ent))
          return HAM_IGNORED
       
       static id
       id = pev(ent, pev_owner)
       
       if(!is_user_alive(id) || !is_user_connected(id) || zp_get_user_zombie(id))
          return HAM_IGNORED
       
       if(get_user_weapon(id) != CSW_SALAMANDER || !g_had_salamander[id])
          return HAM_IGNORED
          
       if(!is_reloading[id])
       {
          static iAnim
          iAnim = pev(id, pev_weaponanim)
          
          if(iAnim == RELOAD_ANIM)
             play_weapon_anim(id, IDLE_ANIM)
       }
          
       static salamander
       salamander = fm_find_ent_by_class(-1, "weapon_m249")
       
       set_pdata_int(salamander, 54, 0, 4)
       
       return HAM_HANDLED
    }

    public fw_item_addtoplayer(ent, id)
    {
       if(!is_valid_ent(ent))
          return HAM_IGNORED
          
       if(zp_get_user_zombie(id))
          return HAM_IGNORED
             
       if(entity_get_int(ent, EV_INT_impulse) == 701)
       {
          g_had_salamander[id] = true
          g_ammo[id] = pev(ent, pev_iuser3)
          entity_set_int(id, EV_INT_impulse, 0)
          
          play_weapon_anim(id, DRAW_ANIM)
          set_task(1.0, "make_wpn_canfire", id)
          
          return HAM_HANDLED
       }      

       return HAM_HANDLED
    }

    public check_lastinv(id)
    {
       if(!is_user_alive(id) || !is_user_connected(id) || zp_get_user_zombie(id))
          return PLUGIN_HANDLED
          
       if(get_user_weapon(id) == CSW_SALAMANDER && g_had_salamander[id])
       {
          set_task(0.5, "start_check_draw", id)
       }
       
       return PLUGIN_CONTINUE
    }

    public start_check_draw(id)
    {
       if(can_fire[id])
          can_fire[id] = false
    }

    public event_curweapon(id)
    {
       if(is_user_alive(id) && get_user_weapon(id) == CSW_SALAMANDER && g_had_salamander[id] && !zp_get_user_zombie(id))
       {
          set_pev(id, pev_viewmodel2, v_model)
          set_pev(id, pev_weaponmodel2, p_model)
       }
    }

    public fw_weapon_deploy(ent)
    {
       static id
       id = pev(ent, pev_owner)
       
       if(!is_user_alive(id) || !is_user_connected(id) || zp_get_user_zombie(id))
          return HAM_IGNORED
       
       if(!g_had_salamander[id])
          return HAM_IGNORED
          
       can_fire[id] = false
       
       play_weapon_anim(id, DRAW_ANIM)
       set_task(1.0, "make_wpn_canfire", id)
          
       return HAM_HANDLED
    }

    public make_wpn_canfire(id)
    {
       can_fire[id] = true
    }

    public fw_weapon_reload(ent)
    {
       static id
       id = pev(ent, pev_owner)
       
       if(!is_user_alive(id) || !is_user_connected(id) || zp_get_user_zombie(id))
          return HAM_IGNORED
       
       if(get_user_weapon(id) != CSW_SALAMANDER && !g_had_salamander[id])
          return HAM_IGNORED
          
       return HAM_SUPERCEDE
    }

    public client_PostThink(id)
    {
       if(is_user_alive(id) && is_user_connected(id) && !zp_get_user_zombie(id))
       {
          if(g_had_salamander[id] && get_user_weapon(id) != CSW_SALAMANDER)
          {
             if(can_fire[id])
                can_fire[id] = false
                
             if(is_reloading[id])
             {
                is_reloading[id] = false
                if(task_exists(id+TASK_RELOAD)) remove_task(id+TASK_RELOAD)
             }         
          } else if(g_had_salamander[id] && get_user_weapon(id) == CSW_SALAMANDER) {
             static salamander
             salamander = fm_get_user_weapon_entity(id, CSW_M249)
             
             cs_set_weapon_ammo(salamander, g_ammo[id])
          }
       }
    }

    public fw_SetModel(entity, model[])
    {
       if(!is_valid_ent(entity))
          return FMRES_IGNORED;
       
       static szClassName[33]
       entity_get_string(entity, EV_SZ_classname, szClassName, charsmax(szClassName))
       
       if(!equal(szClassName, "weaponbox"))
          return FMRES_IGNORED;
       
       static iOwner
       iOwner = entity_get_edict(entity, EV_ENT_owner)
       
       if(equal(model, "models/w_m249.mdl"))
       {
          static iStoredAugID
          iStoredAugID = find_ent_by_owner(-1, "weapon_m249", entity)
          
          if(!is_valid_ent(iStoredAugID))
             return FMRES_IGNORED;
          
          if(g_had_salamander[iOwner])
          {
             entity_set_int(iStoredAugID, EV_INT_impulse, 701)
             g_had_salamander[iOwner] = false
             set_pev(iStoredAugID, pev_iuser3, g_ammo[iOwner])
             entity_set_model(entity, w_model)
             
             return FMRES_SUPERCEDE;
          }
       }
       
       return FMRES_IGNORED;
    }

    public fw_UpdateClientData_Post(id, sendweapons, cd_handle)
    {
       if(!is_user_alive(id) || !is_user_connected(id) || zp_get_user_zombie(id))
          return FMRES_IGNORED
       
       if(get_user_weapon(id) != CSW_SALAMANDER || !g_had_salamander[id])
          return FMRES_IGNORED
          
       set_cd(cd_handle, CD_flNextAttack, halflife_time() + 0.001)  

       return FMRES_HANDLED
    }

    public fw_cmdstart(id, uc_handle, seed)
    {
       if(!is_user_alive(id) || !is_user_connected(id) || zp_get_user_zombie(id))
          return FMRES_IGNORED
       
       if(get_user_weapon(id) != CSW_SALAMANDER || !g_had_salamander[id])
          return FMRES_IGNORED
       
       static Button
       Button = get_uc(uc_handle, UC_Buttons)
       
       if(Button & IN_ATTACK)
       {
          if((get_gametime() - get_pcvar_float(cvar_fire_delay) > g_last_fire[id]))
          {
             if(can_fire[id] && !is_reloading[id])
             {
                if(g_ammo[id] > 0)
                {
                   if(pev(id, pev_weaponanim) != SHOOT_ANIM)
                      play_weapon_anim(id, SHOOT_ANIM)
                   
                   if(task_exists(id+TASK_FIRE)) remove_task(id+TASK_FIRE)
                   is_firing[id] = true
                   throw_fire(id)
                   emit_sound(id, CHAN_WEAPON, "weapons/flamegun-2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
                   g_ammo[id]--
                }

             }
             g_last_fire[id] = get_gametime()
          }
       } else {
          if(is_firing[id])
          {
             if(!task_exists(id+TASK_FIRE))
             {
                set_task(0.1, "stop_fire", id+TASK_FIRE)
                emit_sound(id, CHAN_WEAPON, "weapons/flamegun-2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
             }
          }
          
       }
       
       if(Button & IN_RELOAD)
       {
          if(!is_reloading[id] && !is_firing[id])
          {
             static curammo, require_ammo, bpammo
             
             curammo = g_ammo[id]
             bpammo = cs_get_user_bpammo(id, CSW_SALAMANDER)
             require_ammo = get_pcvar_num(cvar_max_clip) - curammo
             
             if(bpammo > require_ammo)
             {
                g_reload_ammo[id] = require_ammo
             } else {
                g_reload_ammo[id] = bpammo
             }
             
             if(g_ammo[id] < get_pcvar_num(cvar_max_clip) && bpammo > 0)
             {
                is_reloading[id] = true
                play_weapon_anim(id, RELOAD_ANIM)
             
                set_task(5.0, "finish_reload", id+TASK_RELOAD)
             }
          }
       }
       
       Button &= ~IN_ATTACK
       set_uc(uc_handle, UC_Buttons, Button)
       
       Button &= ~IN_RELOAD
       set_uc(uc_handle, UC_Buttons, Button)
       
       return FMRES_HANDLED
    }

    public finish_reload(id)
    {
       id -= TASK_RELOAD

       g_ammo[id] += g_reload_ammo[id]
       cs_set_user_bpammo(id, CSW_SALAMANDER, cs_get_user_bpammo(id, CSW_SALAMANDER) - g_reload_ammo[id])
       is_reloading[id] = false
    }

    public stop_fire(id)
    {
       id -= TASK_FIRE
       
       is_firing[id] = false
       if(pev(id, pev_weaponanim) != SHOOT_END_ANIM)
          play_weapon_anim(id, SHOOT_END_ANIM)   
    }

    public throw_fire(id)
    {
       new iEnt = create_entity("env_sprite")
       new Float:vfVelocity[3]
       
       velocity_by_aim(id, 500, vfVelocity)
       xs_vec_mul_scalar(vfVelocity, 0.4, vfVelocity)
       
       // add velocity of Owner for ent
       new Float:fOwnerVel[3], Float:vfAttack[3], Float:vfAngle[3]
       pev(id, pev_angles, vfAngle)
       //pev(id, pev_origin, vfAttack)
       get_weapon_attackment(id, vfAttack, 20.0)
       vfAttack[2] -= 7.0
       //vfAttack[1] += 7.0
       pev(id, pev_velocity, fOwnerVel)
       fOwnerVel[2] = 0.0
       xs_vec_add(vfVelocity, fOwnerVel, vfVelocity)
       
       // set info for ent
       set_pev(iEnt, pev_movetype, MOVETYPE_FLY)
       set_pev(iEnt, pev_rendermode, kRenderTransAdd)
       set_pev(iEnt, pev_renderamt, 150.0)
       set_pev(iEnt, PEV_ENT_TIME, get_gametime() + 1.5)   // time remove
       set_pev(iEnt, pev_scale, 0.2)
       set_pev(iEnt, pev_nextthink, halflife_time() + 0.05)
       
       set_pev(iEnt, pev_classname, fire_classname)
       engfunc(EngFunc_SetModel, iEnt, fire_spr_name)
       set_pev(iEnt, pev_mins, Float:{-1.0, -1.0, -1.0})
       set_pev(iEnt, pev_maxs, Float:{1.0, 1.0, 1.0})
       set_pev(iEnt, pev_origin, vfAttack)
       set_pev(iEnt, pev_gravity, 0.01)
       set_pev(iEnt, pev_velocity, vfVelocity)
       vfAngle[1] += 30.0
       set_pev(iEnt, pev_angles, vfAngle)
       set_pev(iEnt, pev_solid, SOLID_BBOX)
       set_pev(iEnt, pev_owner, id)
       set_pev(iEnt, pev_iuser2, 1)
    }

    public fw_think(iEnt)
    {
       if ( !pev_valid(iEnt) ) return;
       
       new Float:fFrame, Float:fScale, Float:fNextThink
       pev(iEnt, pev_frame, fFrame)
       pev(iEnt, pev_scale, fScale)
       
       // effect exp
       new iMoveType = pev(iEnt, pev_movetype)
       if (iMoveType == MOVETYPE_NONE)
       {
          fNextThink = 0.015
          fFrame += 1.0
          
          if (fFrame > 21.0)
          {
             engfunc(EngFunc_RemoveEntity, iEnt)
             return
          }
       }
       
       // effect normal
       else
       {
          fNextThink = 0.045
          fFrame += 1.0
          fFrame = floatmin(21.0, fFrame)
       }
       
       fScale = (entity_range(iEnt, pev(iEnt, pev_owner)) / 500) * 3.0
       
       set_pev(iEnt, pev_frame, fFrame)
       set_pev(iEnt, pev_scale, fScale)
       set_pev(iEnt, pev_nextthink, halflife_time() + fNextThink)
       
       
       // time remove
       new Float:fTimeRemove
       pev(iEnt, PEV_ENT_TIME, fTimeRemove)
       if (get_gametime() >= fTimeRemove)
       {
          engfunc(EngFunc_RemoveEntity, iEnt)
          return;
       }
    }

    public fw_touch(ent, id)
    {
       set_pev(ent, pev_movetype, MOVETYPE_NONE)
       set_pev(ent, pev_solid, SOLID_NOT)   
       
       if(!is_valid_ent(id))
          return FMRES_IGNORED
       
       if(!is_user_alive(id) || !is_user_connected(id) || !zp_get_user_zombie(id))
          return FMRES_IGNORED
       
       if(pev(ent, pev_iuser2) == 1)
       {
          set_pev(ent, pev_iuser2, 0)
          
          static attacker, ent_kill
          
          attacker = pev(ent, pev_owner)
          ent_kill = fm_get_user_weapon_entity(id, CSW_KNIFE)
          
          
          ExecuteHam(Ham_TakeDamage, id, ent_kill, attacker, random_float(get_pcvar_float(cvar_dmgrd_start), get_pcvar_float(cvar_dmgrd_end)), DMG_BULLET)      
       }
       return FMRES_HANDLED
    }

    stock play_weapon_anim(player, anim)
    {
       set_pev(player, pev_weaponanim, anim)
       message_begin(MSG_ONE, SVC_WEAPONANIM, {0, 0, 0}, player)
       write_byte(anim)
       write_byte(pev(player, pev_body))
       message_end()
    }

    stock get_weapon_attackment(id, Float:output[3], Float:fDis = 40.0)
    {
       new Float:vfEnd[3], viEnd[3]
       get_user_origin(id, viEnd, 3)  
       IVecFVec(viEnd, vfEnd)
       
       new Float:fOrigin[3], Float:fAngle[3]
       
       pev(id, pev_origin, fOrigin)
       pev(id, pev_view_ofs, fAngle)
       
       xs_vec_add(fOrigin, fAngle, fOrigin)
       
       new Float:fAttack[3]
       
       xs_vec_sub(vfEnd, fOrigin, fAttack)
       xs_vec_sub(vfEnd, fOrigin, fAttack)
       
       new Float:fRate
       
       fRate = fDis / vector_length(fAttack)
       xs_vec_mul_scalar(fAttack, fRate, fAttack)
       
       xs_vec_add(fOrigin, fAttack, output)
    }
    Sergio #
    Sergio #
    Moderador
    Moderador


    Masculino Número de Mensagens : 682
    Ammo Packs : 4374
    Honra : 44
    Data de inscrição : 16/02/2013

    [Erro de compilação] [Alguém ajuda] Empty Re: [Erro de compilação] [Alguém ajuda]

    Mensagem por Sergio # 2/9/2013, 3:52 pm

    Tenta ver se não esta faltando alguma include para compilar...
    Dexter
    Dexter
    Humano


    Nick : Dexter
    Masculino Número de Mensagens : 913
    '-'
    Ammo Packs : 3681
    Honra : -3
    Data de inscrição : 28/04/2013

    [Erro de compilação] [Alguém ajuda] Empty Re: [Erro de compilação] [Alguém ajuda]

    Mensagem por Dexter 2/9/2013, 4:00 pm

    o erro e aki:
    Código:
    g_salamander = zv_register_extra_item("Salamander", 30, ZV_TEAM_HUMAN)
    esta em  "zv" mude pra "zp" nessa parte:

    Código:
    zv_register_extra_item
    e nessa tb

    Código:
    ZV_TEAM_HUMAN
    Sergio #
    Sergio #
    Moderador
    Moderador


    Masculino Número de Mensagens : 682
    Ammo Packs : 4374
    Honra : 44
    Data de inscrição : 16/02/2013

    [Erro de compilação] [Alguém ajuda] Empty Re: [Erro de compilação] [Alguém ajuda]

    Mensagem por Sergio # 2/9/2013, 4:02 pm

    Dexter escreveu:o erro e aki:
    Código:
    g_salamander = zv_register_extra_item("Salamander", 30, ZV_TEAM_HUMAN)
    esta em  "zv" mude pra "zp" nessa parte:

    Código:
    zv_register_extra_item
    e nessa tb

    Código:
    ZV_TEAM_HUMAN
    Verdade, testei aqui e era isso mesmo... mas acho que ele quer o item para vips/adm, não?

    @edit

    pelo que o Dexter disse eu arrumei para você, só não sei se vai ficar somente para vips porque quando modifica a linha: 
    Código:
    zp_register_extra_item
    para:
    Código:
    zv_register_extra_item
    ele da erro na compilação, mas qualquer coisa ta ai: 
    Código:
    #include <amxmodx>
    #include <engine>
    #include <fakemeta>
    #include <fakemeta_util>
    #include <zmvip>
    #include <hamsandwich>
    #include <zombieplague>
    #include <cstrike>

    new const fire_classname[] = "fire_salamander"
    new const fire_spr_name[] = "sprites/fire_salamander.spr"

    new const v_model[] = "models/zombie_plague/v_salamander.mdl"
    new const p_model[] = "models/zombie_plague/p_salamander.mdl"
    new const w_model[] = "models/zombie_plague/w_salamander.mdl"

    new const fire_sound[] = "weapons/flamegun-2.wav"

    // HARD CODE
    #define CSW_SALAMANDER CSW_M249
    #define PEV_ENT_TIME pev_fuser1
    #define TASK_FIRE 3123123
    #define TASK_RELOAD 2342342
    new g_had_salamander[33], bool:is_firing[33], bool:is_reloading[33], Float:g_last_fire[33],
    bool:can_fire[33], g_reload_ammo[33], g_ammo[33]

    enum
    {
      IDLE_ANIM = 0,
      DRAW_ANIM = 4,
      RELOAD_ANIM = 3,
      SHOOT_ANIM = 1,
      SHOOT_END_ANIM = 2
    }

    new g_salamander
    new cvar_dmgrd_start, cvar_dmgrd_end, cvar_fire_delay, cvar_max_clip

    public plugin_init()
    {
      register_plugin("*VIP* Extra Item: Salamander", "1.0", "Dias")
     
      register_event("CurWeapon", "event_curweapon", "be", "1=1")
      register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1)
      RegisterHam(Ham_Spawn, "player", "fw_spawn", 1)
      RegisterHam(Ham_Weapon_Reload, "weapon_m249", "fw_weapon_reload", 1)
      RegisterHam(Ham_Item_Deploy, "weapon_m249", "fw_weapon_deploy", 1)
      RegisterHam(Ham_Item_PostFrame, "weapon_m249", "fw_item_postframe", 1)
      RegisterHam(Ham_Item_AddToPlayer, "weapon_m249", "fw_item_addtoplayer", 1)
      register_forward(FM_CmdStart, "fw_cmdstart")
      register_touch(fire_classname, "*", "fw_touch")
      register_think(fire_classname, "fw_think")
      register_forward(FM_SetModel, "fw_SetModel")
     
      register_clcmd("lastinv", "check_lastinv")
     
      g_salamander = zp_register_extra_item("Salamander", 30, ZV_TEAM_HUMAN)
     
      cvar_dmgrd_start = register_cvar("zp_salamander_dmgrandom_start", "65.0")
      cvar_dmgrd_end = register_cvar("zp_salamander_dmgrandom_end", "90.0")
      cvar_fire_delay = register_cvar("zp_salamander_fire_delay", "0.1")
      cvar_max_clip = register_cvar("zp_salamander_max_clip", "100")
    }

    public plugin_precache()
    {
      precache_model(v_model)
      precache_model(p_model)
      precache_model(w_model)
     
      precache_model(fire_spr_name)
      precache_sound(fire_sound)
     
      precache_sound("weapons/flamegun-1.wav")
      precache_sound("weapons/flamegun_clipin1.wav")
      precache_sound("weapons/flamegun_clipout1.wav")
      precache_sound("weapons/flamegun_clipout2.wav")
      precache_sound("weapons/flamegun_draw.wav")
    }

    public fw_spawn(id)
    {
      if(g_had_salamander[id])
          g_had_salamander[id] = false
         
      if(task_exists(id+TASK_FIRE)) remove_task(id+TASK_FIRE)
      if(task_exists(id+TASK_RELOAD)) remove_task(id+TASK_RELOAD)
     
      remove_entity_name(fire_classname)
    }

    public zv_extra_item_selected(id, itemid)
    {
      if(itemid == g_salamander)
      {
          g_had_salamander[id] = true
          is_reloading[id] = false
          is_firing[id] = false
          can_fire[id] = true
         
          fm_give_item(id, "weapon_m249")
          g_ammo[id] = 100
          cs_set_user_bpammo(id, CSW_SALAMANDER, 200)
      }
    }

    public fw_item_postframe(ent)
    {
      if(!is_valid_ent(ent))
          return HAM_IGNORED
     
      static id
      id = pev(ent, pev_owner)
     
      if(!is_user_alive(id) || !is_user_connected(id) || zp_get_user_zombie(id))
          return HAM_IGNORED
     
      if(get_user_weapon(id) != CSW_SALAMANDER || !g_had_salamander[id])
          return HAM_IGNORED
         
      if(!is_reloading[id])
      {
          static iAnim
          iAnim = pev(id, pev_weaponanim)
         
          if(iAnim == RELOAD_ANIM)
            play_weapon_anim(id, IDLE_ANIM)
      }
         
      static salamander
      salamander = fm_find_ent_by_class(-1, "weapon_m249")
     
      set_pdata_int(salamander, 54, 0, 4)
     
      return HAM_HANDLED
    }

    public fw_item_addtoplayer(ent, id)
    {
      if(!is_valid_ent(ent))
          return HAM_IGNORED
         
      if(zp_get_user_zombie(id))
          return HAM_IGNORED
           
      if(entity_get_int(ent, EV_INT_impulse) == 701)
      {
          g_had_salamander[id] = true
          g_ammo[id] = pev(ent, pev_iuser3)
          entity_set_int(id, EV_INT_impulse, 0)
         
          play_weapon_anim(id, DRAW_ANIM)
          set_task(1.0, "make_wpn_canfire", id)
         
          return HAM_HANDLED
      }     

      return HAM_HANDLED
    }

    public check_lastinv(id)
    {
      if(!is_user_alive(id) || !is_user_connected(id) || zp_get_user_zombie(id))
          return PLUGIN_HANDLED
         
      if(get_user_weapon(id) == CSW_SALAMANDER && g_had_salamander[id])
      {
          set_task(0.5, "start_check_draw", id)
      }
     
      return PLUGIN_CONTINUE
    }

    public start_check_draw(id)
    {
      if(can_fire[id])
          can_fire[id] = false
    }

    public event_curweapon(id)
    {
      if(is_user_alive(id) && get_user_weapon(id) == CSW_SALAMANDER && g_had_salamander[id] && !zp_get_user_zombie(id))
      {
          set_pev(id, pev_viewmodel2, v_model)
          set_pev(id, pev_weaponmodel2, p_model)
      }
    }

    public fw_weapon_deploy(ent)
    {
      static id
      id = pev(ent, pev_owner)
     
      if(!is_user_alive(id) || !is_user_connected(id) || zp_get_user_zombie(id))
          return HAM_IGNORED
     
      if(!g_had_salamander[id])
          return HAM_IGNORED
         
      can_fire[id] = false
     
      play_weapon_anim(id, DRAW_ANIM)
      set_task(1.0, "make_wpn_canfire", id)
         
      return HAM_HANDLED
    }

    public make_wpn_canfire(id)
    {
      can_fire[id] = true
    }

    public fw_weapon_reload(ent)
    {
      static id
      id = pev(ent, pev_owner)
     
      if(!is_user_alive(id) || !is_user_connected(id) || zp_get_user_zombie(id))
          return HAM_IGNORED
     
      if(get_user_weapon(id) != CSW_SALAMANDER && !g_had_salamander[id])
          return HAM_IGNORED
         
      return HAM_SUPERCEDE
    }

    public client_PostThink(id)
    {
      if(is_user_alive(id) && is_user_connected(id) && !zp_get_user_zombie(id))
      {
          if(g_had_salamander[id] && get_user_weapon(id) != CSW_SALAMANDER)
          {
            if(can_fire[id])
                can_fire[id] = false
               
            if(is_reloading[id])
            {
                is_reloading[id] = false
                if(task_exists(id+TASK_RELOAD)) remove_task(id+TASK_RELOAD)
            }       
          } else if(g_had_salamander[id] && get_user_weapon(id) == CSW_SALAMANDER) {
            static salamander
            salamander = fm_get_user_weapon_entity(id, CSW_M249)
           
            cs_set_weapon_ammo(salamander, g_ammo[id])
          }
      }
    }

    public fw_SetModel(entity, model[])
    {
      if(!is_valid_ent(entity))
          return FMRES_IGNORED;
     
      static szClassName[33]
      entity_get_string(entity, EV_SZ_classname, szClassName, charsmax(szClassName))
     
      if(!equal(szClassName, "weaponbox"))
          return FMRES_IGNORED;
     
      static iOwner
      iOwner = entity_get_edict(entity, EV_ENT_owner)
     
      if(equal(model, "models/w_m249.mdl"))
      {
          static iStoredAugID
          iStoredAugID = find_ent_by_owner(-1, "weapon_m249", entity)
         
          if(!is_valid_ent(iStoredAugID))
            return FMRES_IGNORED;
         
          if(g_had_salamander[iOwner])
          {
            entity_set_int(iStoredAugID, EV_INT_impulse, 701)
            g_had_salamander[iOwner] = false
            set_pev(iStoredAugID, pev_iuser3, g_ammo[iOwner])
            entity_set_model(entity, w_model)
           
            return FMRES_SUPERCEDE;
          }
      }
     
      return FMRES_IGNORED;
    }

    public fw_UpdateClientData_Post(id, sendweapons, cd_handle)
    {
      if(!is_user_alive(id) || !is_user_connected(id) || zp_get_user_zombie(id))
          return FMRES_IGNORED
     
      if(get_user_weapon(id) != CSW_SALAMANDER || !g_had_salamander[id])
          return FMRES_IGNORED
         
      set_cd(cd_handle, CD_flNextAttack, halflife_time() + 0.001) 

      return FMRES_HANDLED
    }

    public fw_cmdstart(id, uc_handle, seed)
    {
      if(!is_user_alive(id) || !is_user_connected(id) || zp_get_user_zombie(id))
          return FMRES_IGNORED
     
      if(get_user_weapon(id) != CSW_SALAMANDER || !g_had_salamander[id])
          return FMRES_IGNORED
     
      static Button
      Button = get_uc(uc_handle, UC_Buttons)
     
      if(Button & IN_ATTACK)
      {
          if((get_gametime() - get_pcvar_float(cvar_fire_delay) > g_last_fire[id]))
          {
            if(can_fire[id] && !is_reloading[id])
            {
                if(g_ammo[id] > 0)
                {
                  if(pev(id, pev_weaponanim) != SHOOT_ANIM)
                      play_weapon_anim(id, SHOOT_ANIM)
                 
                  if(task_exists(id+TASK_FIRE)) remove_task(id+TASK_FIRE)
                  is_firing[id] = true
                  throw_fire(id)
                  emit_sound(id, CHAN_WEAPON, "weapons/flamegun-2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
                  g_ammo[id]--
                }

            }
            g_last_fire[id] = get_gametime()
          }
      } else {
          if(is_firing[id])
          {
            if(!task_exists(id+TASK_FIRE))
            {
                set_task(0.1, "stop_fire", id+TASK_FIRE)
                emit_sound(id, CHAN_WEAPON, "weapons/flamegun-2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
            }
          }
         
      }
     
      if(Button & IN_RELOAD)
      {
          if(!is_reloading[id] && !is_firing[id])
          {
            static curammo, require_ammo, bpammo
           
            curammo = g_ammo[id]
            bpammo = cs_get_user_bpammo(id, CSW_SALAMANDER)
            require_ammo = get_pcvar_num(cvar_max_clip) - curammo
           
            if(bpammo > require_ammo)
            {
                g_reload_ammo[id] = require_ammo
            } else {
                g_reload_ammo[id] = bpammo
            }
           
            if(g_ammo[id] < get_pcvar_num(cvar_max_clip) && bpammo > 0)
            {
                is_reloading[id] = true
                play_weapon_anim(id, RELOAD_ANIM)
           
                set_task(5.0, "finish_reload", id+TASK_RELOAD)
            }
          }
      }
     
      Button &= ~IN_ATTACK
      set_uc(uc_handle, UC_Buttons, Button)
     
      Button &= ~IN_RELOAD
      set_uc(uc_handle, UC_Buttons, Button)
     
      return FMRES_HANDLED
    }

    public finish_reload(id)
    {
      id -= TASK_RELOAD

      g_ammo[id] += g_reload_ammo[id]
      cs_set_user_bpammo(id, CSW_SALAMANDER, cs_get_user_bpammo(id, CSW_SALAMANDER) - g_reload_ammo[id])
      is_reloading[id] = false
    }

    public stop_fire(id)
    {
      id -= TASK_FIRE
     
      is_firing[id] = false
      if(pev(id, pev_weaponanim) != SHOOT_END_ANIM)
          play_weapon_anim(id, SHOOT_END_ANIM) 
    }

    public throw_fire(id)
    {
      new iEnt = create_entity("env_sprite")
      new Float:vfVelocity[3]
     
      velocity_by_aim(id, 500, vfVelocity)
      xs_vec_mul_scalar(vfVelocity, 0.4, vfVelocity)
     
      // add velocity of Owner for ent
      new Float:fOwnerVel[3], Float:vfAttack[3], Float:vfAngle[3]
      pev(id, pev_angles, vfAngle)
      //pev(id, pev_origin, vfAttack)
      get_weapon_attackment(id, vfAttack, 20.0)
      vfAttack[2] -= 7.0
      //vfAttack[1] += 7.0
      pev(id, pev_velocity, fOwnerVel)
      fOwnerVel[2] = 0.0
      xs_vec_add(vfVelocity, fOwnerVel, vfVelocity)
     
      // set info for ent
      set_pev(iEnt, pev_movetype, MOVETYPE_FLY)
      set_pev(iEnt, pev_rendermode, kRenderTransAdd)
      set_pev(iEnt, pev_renderamt, 150.0)
      set_pev(iEnt, PEV_ENT_TIME, get_gametime() + 1.5)  // time remove
      set_pev(iEnt, pev_scale, 0.2)
      set_pev(iEnt, pev_nextthink, halflife_time() + 0.05)
     
      set_pev(iEnt, pev_classname, fire_classname)
      engfunc(EngFunc_SetModel, iEnt, fire_spr_name)
      set_pev(iEnt, pev_mins, Float:{-1.0, -1.0, -1.0})
      set_pev(iEnt, pev_maxs, Float:{1.0, 1.0, 1.0})
      set_pev(iEnt, pev_origin, vfAttack)
      set_pev(iEnt, pev_gravity, 0.01)
      set_pev(iEnt, pev_velocity, vfVelocity)
      vfAngle[1] += 30.0
      set_pev(iEnt, pev_angles, vfAngle)
      set_pev(iEnt, pev_solid, SOLID_BBOX)
      set_pev(iEnt, pev_owner, id)
      set_pev(iEnt, pev_iuser2, 1)
    }

    public fw_think(iEnt)
    {
      if ( !pev_valid(iEnt) ) return;
     
      new Float:fFrame, Float:fScale, Float:fNextThink
      pev(iEnt, pev_frame, fFrame)
      pev(iEnt, pev_scale, fScale)
     
      // effect exp
      new iMoveType = pev(iEnt, pev_movetype)
      if (iMoveType == MOVETYPE_NONE)
      {
          fNextThink = 0.015
          fFrame += 1.0
         
          if (fFrame > 21.0)
          {
            engfunc(EngFunc_RemoveEntity, iEnt)
            return
          }
      }
     
      // effect normal
      else
      {
          fNextThink = 0.045
          fFrame += 1.0
          fFrame = floatmin(21.0, fFrame)
      }
     
      fScale = (entity_range(iEnt, pev(iEnt, pev_owner)) / 500) * 3.0
     
      set_pev(iEnt, pev_frame, fFrame)
      set_pev(iEnt, pev_scale, fScale)
      set_pev(iEnt, pev_nextthink, halflife_time() + fNextThink)
     
     
      // time remove
      new Float:fTimeRemove
      pev(iEnt, PEV_ENT_TIME, fTimeRemove)
      if (get_gametime() >= fTimeRemove)
      {
          engfunc(EngFunc_RemoveEntity, iEnt)
          return;
      }
    }

    public fw_touch(ent, id)
    {
      set_pev(ent, pev_movetype, MOVETYPE_NONE)
      set_pev(ent, pev_solid, SOLID_NOT) 
     
      if(!is_valid_ent(id))
          return FMRES_IGNORED
     
      if(!is_user_alive(id) || !is_user_connected(id) || !zp_get_user_zombie(id))
          return FMRES_IGNORED
     
      if(pev(ent, pev_iuser2) == 1)
      {
          set_pev(ent, pev_iuser2, 0)
         
          static attacker, ent_kill
         
          attacker = pev(ent, pev_owner)
          ent_kill = fm_get_user_weapon_entity(id, CSW_KNIFE)
         
         
          ExecuteHam(Ham_TakeDamage, id, ent_kill, attacker, random_float(get_pcvar_float(cvar_dmgrd_start), get_pcvar_float(cvar_dmgrd_end)), DMG_BULLET)     
      }
      return FMRES_HANDLED
    }

    stock play_weapon_anim(player, anim)
    {
      set_pev(player, pev_weaponanim, anim)
      message_begin(MSG_ONE, SVC_WEAPONANIM, {0, 0, 0}, player)
      write_byte(anim)
      write_byte(pev(player, pev_body))
      message_end()
    }

    stock get_weapon_attackment(id, Float:output[3], Float:fDis = 40.0)
    {
      new Float:vfEnd[3], viEnd[3]
      get_user_origin(id, viEnd, 3) 
      IVecFVec(viEnd, vfEnd)
     
      new Float:fOrigin[3], Float:fAngle[3]
     
      pev(id, pev_origin, fOrigin)
      pev(id, pev_view_ofs, fAngle)
     
      xs_vec_add(fOrigin, fAngle, fOrigin)
     
      new Float:fAttack[3]
     
      xs_vec_sub(vfEnd, fOrigin, fAttack)
      xs_vec_sub(vfEnd, fOrigin, fAttack)
     
      new Float:fRate
     
      fRate = fDis / vector_length(fAttack)
      xs_vec_mul_scalar(fAttack, fRate, fAttack)
     
      xs_vec_add(fOrigin, fAttack, output)
    }
    Dexter
    Dexter
    Humano


    Nick : Dexter
    Masculino Número de Mensagens : 913
    '-'
    Ammo Packs : 3681
    Honra : -3
    Data de inscrição : 28/04/2013

    [Erro de compilação] [Alguém ajuda] Empty Re: [Erro de compilação] [Alguém ajuda]

    Mensagem por Dexter 2/9/2013, 5:11 pm

    sim ele esqueceu de por a descriçao do plugin
    olha ela aki pronta:
    Código:
    #include <amxmodx>
    #include <engine>
    #include <fakemeta>
    #include <fakemeta_util>
    #include <zmvip>
    #include <hamsandwich>
    #include <zombieplague>
    #include <cstrike>

    new const fire_classname[] = "fire_salamander"
    new const fire_spr_name[] = "sprites/fire_salamander.spr"

    new const v_model[] = "models/zombie_plague/v_salamander.mdl"
    new const p_model[] = "models/zombie_plague/p_salamander.mdl"
    new const w_model[] = "models/zombie_plague/w_salamander.mdl"

    new const fire_sound[] = "weapons/flamegun-2.wav"

    // HARD CODE
    #define CSW_SALAMANDER CSW_M249
    #define PEV_ENT_TIME pev_fuser1
    #define TASK_FIRE 3123123
    #define TASK_RELOAD 2342342
    new g_had_salamander[33], bool:is_firing[33], bool:is_reloading[33], Float:g_last_fire[33],
    bool:can_fire[33], g_reload_ammo[33], g_ammo[33]

    enum
    {
       IDLE_ANIM = 0,
       DRAW_ANIM = 4,
       RELOAD_ANIM = 3,
       SHOOT_ANIM = 1,
       SHOOT_END_ANIM = 2
    }

    new g_salamander
    new cvar_dmgrd_start, cvar_dmgrd_end, cvar_fire_delay, cvar_max_clip

    public plugin_init()
    {
       register_plugin("*VIP* Extra Item: Salamander", "1.0", "Dias")
      
       register_event("CurWeapon", "event_curweapon", "be", "1=1")
       register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1)
       RegisterHam(Ham_Spawn, "player", "fw_spawn", 1)
       RegisterHam(Ham_Weapon_Reload, "weapon_m249", "fw_weapon_reload", 1)
       RegisterHam(Ham_Item_Deploy, "weapon_m249", "fw_weapon_deploy", 1)
       RegisterHam(Ham_Item_PostFrame, "weapon_m249", "fw_item_postframe", 1)
       RegisterHam(Ham_Item_AddToPlayer, "weapon_m249", "fw_item_addtoplayer", 1)
       register_forward(FM_CmdStart, "fw_cmdstart")
       register_touch(fire_classname, "*", "fw_touch")
       register_think(fire_classname, "fw_think")
       register_forward(FM_SetModel, "fw_SetModel")
      
       register_clcmd("lastinv", "check_lastinv")
      
       g_salamander = zv_register_extra_item("Salamander", "Queima o toba dos ZMs", 30, ZV_TEAM_HUMAN)
      
       cvar_dmgrd_start = register_cvar("zp_salamander_dmgrandom_start", "65.0")
       cvar_dmgrd_end = register_cvar("zp_salamander_dmgrandom_end", "90.0")
       cvar_fire_delay = register_cvar("zp_salamander_fire_delay", "0.1")
       cvar_max_clip = register_cvar("zp_salamander_max_clip", "100")
    }

    public plugin_precache()
    {
       precache_model(v_model)
       precache_model(p_model)
       precache_model(w_model)
      
       precache_model(fire_spr_name)
       precache_sound(fire_sound)
      
       precache_sound("weapons/flamegun-1.wav")
       precache_sound("weapons/flamegun_clipin1.wav")
       precache_sound("weapons/flamegun_clipout1.wav")
       precache_sound("weapons/flamegun_clipout2.wav")
       precache_sound("weapons/flamegun_draw.wav")
    }

    public fw_spawn(id)
    {
       if(g_had_salamander[id])
          g_had_salamander[id] = false
          
       if(task_exists(id+TASK_FIRE)) remove_task(id+TASK_FIRE)
       if(task_exists(id+TASK_RELOAD)) remove_task(id+TASK_RELOAD)
      
       remove_entity_name(fire_classname)
    }

    public zv_extra_item_selected(id, itemid)
    {
       if(itemid == g_salamander)
       {
          g_had_salamander[id] = true
          is_reloading[id] = false
          is_firing[id] = false
          can_fire[id] = true
          
          fm_give_item(id, "weapon_m249")
          g_ammo[id] = 100
          cs_set_user_bpammo(id, CSW_SALAMANDER, 200)
       }
    }

    public fw_item_postframe(ent)
    {
       if(!is_valid_ent(ent))
          return HAM_IGNORED
      
       static id
       id = pev(ent, pev_owner)
      
       if(!is_user_alive(id) || !is_user_connected(id) || zp_get_user_zombie(id))
          return HAM_IGNORED
      
       if(get_user_weapon(id) != CSW_SALAMANDER || !g_had_salamander[id])
          return HAM_IGNORED
          
       if(!is_reloading[id])
       {
          static iAnim
          iAnim = pev(id, pev_weaponanim)
          
          if(iAnim == RELOAD_ANIM)
             play_weapon_anim(id, IDLE_ANIM)
       }
          
       static salamander
       salamander = fm_find_ent_by_class(-1, "weapon_m249")
      
       set_pdata_int(salamander, 54, 0, 4)
      
       return HAM_HANDLED
    }

    public fw_item_addtoplayer(ent, id)
    {
       if(!is_valid_ent(ent))
          return HAM_IGNORED
          
       if(zp_get_user_zombie(id))
          return HAM_IGNORED
            
       if(entity_get_int(ent, EV_INT_impulse) == 701)
       {
          g_had_salamander[id] = true
          g_ammo[id] = pev(ent, pev_iuser3)
          entity_set_int(id, EV_INT_impulse, 0)
          
          play_weapon_anim(id, DRAW_ANIM)
          set_task(1.0, "make_wpn_canfire", id)
          
          return HAM_HANDLED
       }      

       return HAM_HANDLED
    }

    public check_lastinv(id)
    {
       if(!is_user_alive(id) || !is_user_connected(id) || zp_get_user_zombie(id))
          return PLUGIN_HANDLED
          
       if(get_user_weapon(id) == CSW_SALAMANDER && g_had_salamander[id])
       {
          set_task(0.5, "start_check_draw", id)
       }
      
       return PLUGIN_CONTINUE
    }

    public start_check_draw(id)
    {
       if(can_fire[id])
          can_fire[id] = false
    }

    public event_curweapon(id)
    {
       if(is_user_alive(id) && get_user_weapon(id) == CSW_SALAMANDER && g_had_salamander[id] && !zp_get_user_zombie(id))
       {
          set_pev(id, pev_viewmodel2, v_model)
          set_pev(id, pev_weaponmodel2, p_model)
       }
    }

    public fw_weapon_deploy(ent)
    {
       static id
       id = pev(ent, pev_owner)
      
       if(!is_user_alive(id) || !is_user_connected(id) || zp_get_user_zombie(id))
          return HAM_IGNORED
      
       if(!g_had_salamander[id])
          return HAM_IGNORED
          
       can_fire[id] = false
      
       play_weapon_anim(id, DRAW_ANIM)
       set_task(1.0, "make_wpn_canfire", id)
          
       return HAM_HANDLED
    }

    public make_wpn_canfire(id)
    {
       can_fire[id] = true
    }

    public fw_weapon_reload(ent)
    {
       static id
       id = pev(ent, pev_owner)
      
       if(!is_user_alive(id) || !is_user_connected(id) || zp_get_user_zombie(id))
          return HAM_IGNORED
      
       if(get_user_weapon(id) != CSW_SALAMANDER && !g_had_salamander[id])
          return HAM_IGNORED
          
       return HAM_SUPERCEDE
    }

    public client_PostThink(id)
    {
       if(is_user_alive(id) && is_user_connected(id) && !zp_get_user_zombie(id))
       {
          if(g_had_salamander[id] && get_user_weapon(id) != CSW_SALAMANDER)
          {
             if(can_fire[id])
                can_fire[id] = false
                
             if(is_reloading[id])
             {
                is_reloading[id] = false
                if(task_exists(id+TASK_RELOAD)) remove_task(id+TASK_RELOAD)
             }        
          } else if(g_had_salamander[id] && get_user_weapon(id) == CSW_SALAMANDER) {
             static salamander
             salamander = fm_get_user_weapon_entity(id, CSW_M249)
            
             cs_set_weapon_ammo(salamander, g_ammo[id])
          }
       }
    }

    public fw_SetModel(entity, model[])
    {
       if(!is_valid_ent(entity))
          return FMRES_IGNORED;
      
       static szClassName[33]
       entity_get_string(entity, EV_SZ_classname, szClassName, charsmax(szClassName))
      
       if(!equal(szClassName, "weaponbox"))
          return FMRES_IGNORED;
      
       static iOwner
       iOwner = entity_get_edict(entity, EV_ENT_owner)
      
       if(equal(model, "models/w_m249.mdl"))
       {
          static iStoredAugID
          iStoredAugID = find_ent_by_owner(-1, "weapon_m249", entity)
          
          if(!is_valid_ent(iStoredAugID))
             return FMRES_IGNORED;
          
          if(g_had_salamander[iOwner])
          {
             entity_set_int(iStoredAugID, EV_INT_impulse, 701)
             g_had_salamander[iOwner] = false
             set_pev(iStoredAugID, pev_iuser3, g_ammo[iOwner])
             entity_set_model(entity, w_model)
            
             return FMRES_SUPERCEDE;
          }
       }
      
       return FMRES_IGNORED;
    }

    public fw_UpdateClientData_Post(id, sendweapons, cd_handle)
    {
       if(!is_user_alive(id) || !is_user_connected(id) || zp_get_user_zombie(id))
          return FMRES_IGNORED
      
       if(get_user_weapon(id) != CSW_SALAMANDER || !g_had_salamander[id])
          return FMRES_IGNORED
          
       set_cd(cd_handle, CD_flNextAttack, halflife_time() + 0.001)  

       return FMRES_HANDLED
    }

    public fw_cmdstart(id, uc_handle, seed)
    {
       if(!is_user_alive(id) || !is_user_connected(id) || zp_get_user_zombie(id))
          return FMRES_IGNORED
      
       if(get_user_weapon(id) != CSW_SALAMANDER || !g_had_salamander[id])
          return FMRES_IGNORED
      
       static Button
       Button = get_uc(uc_handle, UC_Buttons)
      
       if(Button & IN_ATTACK)
       {
          if((get_gametime() - get_pcvar_float(cvar_fire_delay) > g_last_fire[id]))
          {
             if(can_fire[id] && !is_reloading[id])
             {
                if(g_ammo[id] > 0)
                {
                   if(pev(id, pev_weaponanim) != SHOOT_ANIM)
                      play_weapon_anim(id, SHOOT_ANIM)
                  
                   if(task_exists(id+TASK_FIRE)) remove_task(id+TASK_FIRE)
                   is_firing[id] = true
                   throw_fire(id)
                   emit_sound(id, CHAN_WEAPON, "weapons/flamegun-2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
                   g_ammo[id]--
                }

             }
             g_last_fire[id] = get_gametime()
          }
       } else {
          if(is_firing[id])
          {
             if(!task_exists(id+TASK_FIRE))
             {
                set_task(0.1, "stop_fire", id+TASK_FIRE)
                emit_sound(id, CHAN_WEAPON, "weapons/flamegun-2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
             }
          }
          
       }
      
       if(Button & IN_RELOAD)
       {
          if(!is_reloading[id] && !is_firing[id])
          {
             static curammo, require_ammo, bpammo
            
             curammo = g_ammo[id]
             bpammo = cs_get_user_bpammo(id, CSW_SALAMANDER)
             require_ammo = get_pcvar_num(cvar_max_clip) - curammo
            
             if(bpammo > require_ammo)
             {
                g_reload_ammo[id] = require_ammo
             } else {
                g_reload_ammo[id] = bpammo
             }
            
             if(g_ammo[id] < get_pcvar_num(cvar_max_clip) && bpammo > 0)
             {
                is_reloading[id] = true
                play_weapon_anim(id, RELOAD_ANIM)
            
                set_task(5.0, "finish_reload", id+TASK_RELOAD)
             }
          }
       }
      
       Button &= ~IN_ATTACK
       set_uc(uc_handle, UC_Buttons, Button)
      
       Button &= ~IN_RELOAD
       set_uc(uc_handle, UC_Buttons, Button)
      
       return FMRES_HANDLED
    }

    public finish_reload(id)
    {
       id -= TASK_RELOAD

       g_ammo[id] += g_reload_ammo[id]
       cs_set_user_bpammo(id, CSW_SALAMANDER, cs_get_user_bpammo(id, CSW_SALAMANDER) - g_reload_ammo[id])
       is_reloading[id] = false
    }

    public stop_fire(id)
    {
       id -= TASK_FIRE
      
       is_firing[id] = false
       if(pev(id, pev_weaponanim) != SHOOT_END_ANIM)
          play_weapon_anim(id, SHOOT_END_ANIM)  
    }

    public throw_fire(id)
    {
       new iEnt = create_entity("env_sprite")
       new Float:vfVelocity[3]
      
       velocity_by_aim(id, 500, vfVelocity)
       xs_vec_mul_scalar(vfVelocity, 0.4, vfVelocity)
      
       // add velocity of Owner for ent
       new Float:fOwnerVel[3], Float:vfAttack[3], Float:vfAngle[3]
       pev(id, pev_angles, vfAngle)
       //pev(id, pev_origin, vfAttack)
       get_weapon_attackment(id, vfAttack, 20.0)
       vfAttack[2] -= 7.0
       //vfAttack[1] += 7.0
       pev(id, pev_velocity, fOwnerVel)
       fOwnerVel[2] = 0.0
       xs_vec_add(vfVelocity, fOwnerVel, vfVelocity)
      
       // set info for ent
       set_pev(iEnt, pev_movetype, MOVETYPE_FLY)
       set_pev(iEnt, pev_rendermode, kRenderTransAdd)
       set_pev(iEnt, pev_renderamt, 150.0)
       set_pev(iEnt, PEV_ENT_TIME, get_gametime() + 1.5)   // time remove
       set_pev(iEnt, pev_scale, 0.2)
       set_pev(iEnt, pev_nextthink, halflife_time() + 0.05)
      
       set_pev(iEnt, pev_classname, fire_classname)
       engfunc(EngFunc_SetModel, iEnt, fire_spr_name)
       set_pev(iEnt, pev_mins, Float:{-1.0, -1.0, -1.0})
       set_pev(iEnt, pev_maxs, Float:{1.0, 1.0, 1.0})
       set_pev(iEnt, pev_origin, vfAttack)
       set_pev(iEnt, pev_gravity, 0.01)
       set_pev(iEnt, pev_velocity, vfVelocity)
       vfAngle[1] += 30.0
       set_pev(iEnt, pev_angles, vfAngle)
       set_pev(iEnt, pev_solid, SOLID_BBOX)
       set_pev(iEnt, pev_owner, id)
       set_pev(iEnt, pev_iuser2, 1)
    }

    public fw_think(iEnt)
    {
       if ( !pev_valid(iEnt) ) return;
      
       new Float:fFrame, Float:fScale, Float:fNextThink
       pev(iEnt, pev_frame, fFrame)
       pev(iEnt, pev_scale, fScale)
      
       // effect exp
       new iMoveType = pev(iEnt, pev_movetype)
       if (iMoveType == MOVETYPE_NONE)
       {
          fNextThink = 0.015
          fFrame += 1.0
          
          if (fFrame > 21.0)
          {
             engfunc(EngFunc_RemoveEntity, iEnt)
             return
          }
       }
      
       // effect normal
       else
       {
          fNextThink = 0.045
          fFrame += 1.0
          fFrame = floatmin(21.0, fFrame)
       }
      
       fScale = (entity_range(iEnt, pev(iEnt, pev_owner)) / 500) * 3.0
      
       set_pev(iEnt, pev_frame, fFrame)
       set_pev(iEnt, pev_scale, fScale)
       set_pev(iEnt, pev_nextthink, halflife_time() + fNextThink)
      
      
       // time remove
       new Float:fTimeRemove
       pev(iEnt, PEV_ENT_TIME, fTimeRemove)
       if (get_gametime() >= fTimeRemove)
       {
          engfunc(EngFunc_RemoveEntity, iEnt)
          return;
       }
    }

    public fw_touch(ent, id)
    {
       set_pev(ent, pev_movetype, MOVETYPE_NONE)
       set_pev(ent, pev_solid, SOLID_NOT)  
      
       if(!is_valid_ent(id))
          return FMRES_IGNORED
      
       if(!is_user_alive(id) || !is_user_connected(id) || !zp_get_user_zombie(id))
          return FMRES_IGNORED
      
       if(pev(ent, pev_iuser2) == 1)
       {
          set_pev(ent, pev_iuser2, 0)
          
          static attacker, ent_kill
          
          attacker = pev(ent, pev_owner)
          ent_kill = fm_get_user_weapon_entity(id, CSW_KNIFE)
          
          
          ExecuteHam(Ham_TakeDamage, id, ent_kill, attacker, random_float(get_pcvar_float(cvar_dmgrd_start), get_pcvar_float(cvar_dmgrd_end)), DMG_BULLET)      
       }
       return FMRES_HANDLED
    }

    stock play_weapon_anim(player, anim)
    {
       set_pev(player, pev_weaponanim, anim)
       message_begin(MSG_ONE, SVC_WEAPONANIM, {0, 0, 0}, player)
       write_byte(anim)
       write_byte(pev(player, pev_body))
       message_end()
    }

    stock get_weapon_attackment(id, Float:output[3], Float:fDis = 40.0)
    {
       new Float:vfEnd[3], viEnd[3]
       get_user_origin(id, viEnd, 3)  
       IVecFVec(viEnd, vfEnd)
      
       new Float:fOrigin[3], Float:fAngle[3]
      
       pev(id, pev_origin, fOrigin)
       pev(id, pev_view_ofs, fAngle)
      
       xs_vec_add(fOrigin, fAngle, fOrigin)
      
       new Float:fAttack[3]
      
       xs_vec_sub(vfEnd, fOrigin, fAttack)
       xs_vec_sub(vfEnd, fOrigin, fAttack)
      
       new Float:fRate
      
       fRate = fDis / vector_length(fAttack)
       xs_vec_mul_scalar(fAttack, fRate, fAttack)
      
       xs_vec_add(fOrigin, fAttack, output)
    }
    hackermatheus10
    hackermatheus10
    Humano


    Nick : DZ_MTv
    Masculino Número de Mensagens : 130
    CyberHackersbr
    Ammo Packs : 4203
    Honra : -4
    Data de inscrição : 27/06/2013

    [Erro de compilação] [Alguém ajuda] Empty Re: [Erro de compilação] [Alguém ajuda]

    Mensagem por hackermatheus10 3/9/2013, 12:53 am

    kkkkkkkkk



       g_salamander = zv_register_extra_item("Salamander", "Queima o toba dos ZMs", 30, ZV_TEAM_HUMAN)

    mati jk cg [Erro de compilação] [Alguém ajuda] 3902505996 [Erro de compilação] [Alguém ajuda] 2677847194 [Erro de compilação] [Alguém ajuda] 110486816 style pç

    Conteúdo patrocinado


    [Erro de compilação] [Alguém ajuda] Empty Re: [Erro de compilação] [Alguém ajuda]

    Mensagem por Conteúdo patrocinado


      Data/hora atual: 26/11/2024, 10:45 pm