Raised This Month: $ Target: $400
 0% 

[ZP] Extra Iten : Golden M3


Post New Thread Reply   
 
Thread Tools Display Modes
Old 07-31-2011, 12:45
rezkallah
This message has been deleted by NiHiLaNTh. Reason: wtf? oO
brosis
New Member
Join Date: Nov 2012
Old 11-25-2012 , 07:15   Re: [ZP] Extra Iten : Golden M3
Reply With Quote #2

it deals normal damage
brosis is offline
jezda034
Junior Member
Join Date: Nov 2010
Old 07-06-2013 , 03:24   Re: [ZP] Extra Iten : Golden M3
Reply With Quote #3

hi i have a problem, and need help, when i use this plugin i get this error:
Code:
L 07/06/2013 - 08:32:25: Invalid CVAR pointer
L 07/06/2013 - 08:32:25: [AMXX] Displaying debug trace (plugin "zp_extra_golden_m3.amxx")
L 07/06/2013 - 08:32:25: [AMXX] Run time error 10: native error (native "get_pcvar_num")
L 07/06/2013 - 08:32:25: [AMXX]    [0] zp_extra_golden_m3.sma::make_tracer (line 211)
here is the .sma
PHP Code:
/*
[ZP] Extra Item: Golden M3
Team: Humans

Description: This plugin adds a new weapon for Human Teams.
Weapon Cost: 30

Features:
- This weapon do more damage
- This weapon has zoom
- Launch Lasers
- This weapon has unlimited bullets

Cvars:


- zp_goldenm3_dmg <5> - Damage Multiplier for Golden M3
- zp_goldenm3_custom_model <1|0> - Golden M3 Custom Model
- zp_goldenm3_unlimited_clip <1|0> - Golden M3 Unlimited Clip 

*/



#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#include <zombieplague>

#define is_valid_player(%1) (1 <= %1 <= 32)
#define ENG_NULLENT        -1
#define EV_INT_WEAPONKEY    EV_INT_impulse
#define GAK_WEAPONKEY    666
new const g_GAKEnt[] = "weapon_m3"

new M3_V_MODEL[64] = "models/zombie_plague/v_golden_m3.mdl"
new M3_P_MODEL[64] = "models/p_m3.mdl"
new M3_W_MODEL[64] = "models/zombie_plague/w_golden_m3.mdl"

/* Pcvars */
new cvar_dmgmultipliercvar_custommodelcvar_uclipcvar_goldbullets

// Item ID
new g_itemid

new bool:g_HasM3[33]

new 
g_hasZoom33 ]
new 
bullets33 ]

// Sprite
new m_spriteTexture

const Wep_M3 = ((1<<CSW_M3))

public 
plugin_init()
{
    
    
/* CVARS */
    
cvar_dmgmultiplier register_cvar("zp_goldenm3_dmg""3")
    
cvar_custommodel register_cvar("zp_goldenm3_custom_model""1")
    
cvar_uclip register_cvar("zp_goldenm3_unlimited_clip""1")
    
    
// Register The Plugin
    
register_plugin("[ZP] Extra: Golden M3""1.0""TheArmagedon")
    
register_cvar("Shidla""[ZP] Golden M3"FCVAR_SERVER|FCVAR_SPONLY)
    
// Register Zombie Plague extra item
    
g_itemid zp_register_extra_item("Golden M3"40ZP_TEAM_HUMAN)
    
// Death Msg
    
register_event("DeathMsg""Death""a")
    
// Weapon Pick Up
    
register_event("WeapPickup","checkModel","b","1=19")
    
// Current Weapon Event
    
register_event("CurWeapon","checkWeapon","be","1=1")
    
register_event("CurWeapon""make_tracer""be""1=1""3>0")
    
// Ham TakeDamage
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage")
    
register_forwardFM_CmdStart"fw_CmdStart" )
    
RegisterHam(Ham_Spawn"player""fwHamPlayerSpawnPost"1)
    
RegisterHam(Ham_Item_AddToPlayerg_GAKEnt"fw_GAK47AddToPlayer")
    
    
register_forward(FM_SetModel"fw_SetModel")
    
}

public 
client_connect(id)
{
    
g_HasM3[id] = false
}

public 
client_disconnect(id)
{
    
g_HasM3[id] = false
}

public 
Death()
{
    
g_HasM3[read_data(2)] = false
}

public 
fwHamPlayerSpawnPost(id)
{
    
g_HasM3[id] = false
}

public 
plugin_precache()
{
    
precache_model(M3_V_MODEL)
    
precache_model(M3_P_MODEL)
    
precache_model(M3_W_MODEL)
    
m_spriteTexture precache_model("sprites/dot.spr")
    
precache_sound("weapons/zoom.wav")
}

public 
zp_user_infected_post(id)
{
    if (
zp_get_user_zombie(id))
    {
        
g_HasM3[id] = false
    
}
}

public 
checkModel(id)
{
    if ( 
zp_get_user_zombie(id) )
        return 
PLUGIN_HANDLED
    
    
new szWeapID read_data(2)
    
    if ( 
szWeapID == CSW_M3 && g_HasM3[id] == true && get_pcvar_num(cvar_custommodel) )
    {
        
set_pev(idpev_viewmodel2M3_V_MODEL)
        
set_pev(idpev_weaponmodel2M3_P_MODEL)
    }
    return 
PLUGIN_HANDLED
}

public 
checkWeapon(id)
{
    new 
plrClipplrAmmoplrWeap[32]
    new 
plrWeapId
    
    plrWeapId 
get_user_weapon(idplrClip plrAmmo)
    
    if (
plrWeapId == CSW_M3 && g_HasM3[id])
    {
        
checkModel(id)
    }
    else 
    {
        return 
PLUGIN_CONTINUE
    
}
    
    if (
plrClip == && get_pcvar_num(cvar_uclip))
    {
        
// If the user is out of ammo..
        
get_weaponname(plrWeapIdplrWeap31)
        
// Get the name of their weapon
        
give_item(idplrWeap)
        
engclient_cmd(idplrWeap
        
engclient_cmd(idplrWeap)
        
engclient_cmd(idplrWeap)
    }
    return 
PLUGIN_HANDLED
}



public 
fw_TakeDamage(victiminflictorattackerFloat:damage)
{
    if ( 
is_valid_playerattacker ) && get_user_weapon(attacker) == CSW_M3 && g_HasM3[attacker] )
    {
        
SetHamParamFloat(4damage get_pcvar_floatcvar_dmgmultiplier ) )
    }
}

public 
fw_CmdStartiduc_handleseed )
{
    if( !
is_user_aliveid ) ) 
        return 
PLUGIN_HANDLED
    
    
if( ( get_ucuc_handleUC_Buttons ) & IN_ATTACK2 ) && !( pevidpev_oldbuttons ) & IN_ATTACK2 ) )
    {
        new 
szClipszAmmo
        
new szWeapID get_user_weaponidszClipszAmmo )
        
        if( 
szWeapID == CSW_M3 && g_HasM3[id] == true && !g_hasZoom[id] == true)
        {
            
g_hasZoom[id] = true
            cs_set_user_zoom
idCS_SET_AUGSG552_ZOOM)
            
emit_soundidCHAN_ITEM"weapons/zoom.wav"0.202.400100 )
        }
        
        else if ( 
szWeapID == CSW_M3 && g_HasM3[id] == true && g_hasZoom[id])
        {
            
g_hasZoomid ] = false
            cs_set_user_zoom
idCS_RESET_ZOOM)
            
        }
        
    }
    return 
PLUGIN_HANDLED
}


public 
make_tracer(id)
{
    if (
get_pcvar_num(cvar_goldbullets))
    {
        new 
clip,ammo
        
new wpnid get_user_weapon(id,clip,ammo)
        new 
pteam[16]
        
        
get_user_team(idpteam15)
        
        if ((
bullets[id] > clip) && (wpnid == CSW_M3) && g_HasM3[id]) 
        {
            new 
vec1[3], vec2[3]
            
get_user_origin(idvec11// origin; your camera point.
            
get_user_origin(idvec24// termina; where your bullet goes (4 is cs-only)
            
            
            //BEAMENTPOINTS
            
message_beginMSG_BROADCAST,SVC_TEMPENTITY)
            
write_byte (0)     //TE_BEAMENTPOINTS 0
            
write_coord(vec1[0])
            
write_coord(vec1[1])
            
write_coord(vec1[2])
            
write_coord(vec2[0])
            
write_coord(vec2[1])
            
write_coord(vec2[2])
            
write_shortm_spriteTexture )
            
write_byte(1// framestart
            
write_byte(5// framerate
            
write_byte(2// life
            
write_byte(10// width
            
write_byte(0// noise
            
write_byte255 )     // r, g, b
            
write_byte215 )       // r, g, b
            
write_byte)       // r, g, b
            
write_byte(200// brightness
            
write_byte(150// speed
            
message_end()
        }
    
        
bullets[id] = clip
    
}
    
}

public 
zp_extra_item_selected(playeritemid)
{
    if ( 
itemid == g_itemid )
    {
        if ( 
user_has_weapon(playerCSW_M3) )
        {
            
drop_prim(player)
        }
        
        
give_item(player"weapon_m3")
        
client_print(playerprint_chat"[ZP] You Brought Golden M3")
        
g_HasM3[player] = true;
    }
}

// Set Model
public fw_SetModel(entitymodel[])
{
    
// Entity is not valid
    
if(!is_valid_ent(entity))
        return 
FMRES_IGNORED;
        
    
// Entity model is not w_ak47
    
if(!equal(model"models/w_m3.mdl")) 
        return 
FMRES_IGNORED;
        
    
// Get classname
    
static szClassName[33]
    
entity_get_string(entityEV_SZ_classnameszClassNamecharsmax(szClassName))
        
    
// Not a Weapon box
    
if(!equal(szClassName"weaponbox"))
        return 
FMRES_IGNORED
    
    
// Some vars
    
static iOwneriStoredGalilID
    
    
// Get owner
    
iOwner entity_get_edict(entityEV_ENT_owner)
    
    
// Get drop weapon index (galil) to use in fw_Galil_AddToPlayer forward
    
iStoredGalilID find_ent_by_owner(ENG_NULLENT"weapon_ak47"entity)
    
    
// Entity classname is weaponbox, and galil has founded
    
if(g_HasM3[iOwner] && is_valid_ent(iStoredGalilID))
    {
        
// Setting weapon options
        
entity_set_int(iStoredGalilIDEV_INT_WEAPONKEYGAK_WEAPONKEY)

        
// Reset user vars
        
g_HasM3[iOwner] = false
        
        
// Set weaponbox new model
        
entity_set_model(entityM3_W_MODEL)
        
        return 
FMRES_SUPERCEDE
    
}

    return 
FMRES_IGNORED
}

// Give
public fw_GAK47AddToPlayer (GAK47id)
{
    
// Make sure that this is M79
    
if( is_valid_ent(GAK47) && is_user_connected(id) && entity_get_int(GAK47EV_INT_WEAPONKEY) == GAK_WEAPONKEY)
    {
        
// Update
        
g_HasM3[id] = true

        
// Reset weapon options
        
entity_set_int(GAK47EV_INT_WEAPONKEY0)

        return 
HAM_HANDLED
    
}

    return 
HAM_IGNORED
}

stock drop_prim(id
{
    new 
weapons[32], num
    get_user_weapons
(idweaponsnum)
    for (new 
0numi++) {
        if (
Wep_M3 & (1<<weapons[i])) 
        {
            static 
wname[32]
            
get_weaponname(weapons[i], wnamesizeof wname 1)
            
engclient_cmd(id"drop"wname)
        }
    }

__________________
jezda034 is offline
Send a message via Skype™ to jezda034
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 16:23.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode