| nicolazo103 |
11-24-2009 14:17 |
A little Problem Setting features
1 Attachment(s)
Well...i donīt know if you understood me, but this is the problem:
The plugin doesnīt set gravity, speed, heath or armor.
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <zombieplague>
#include <fun>
#include <hamsandwich>
#include <engine>
#include <fakemeta>
#include <cstrike>
#define VERSION "2"
#define fm_cs_set_weapon_ammo(%1,%2) set_pdata_int(%1, OFFSET_CLIPAMMO, %2, OFFSET_LINUX_WEAPONS)
#define OFFSET_CLIPAMMO 51
#define OFFSET_LINUX_WEAPONS 4
// Customization
new const ml[] = "surv.txt"
new const characters[][] = { "Heavy Gunner", "Sniper", "Scout", "Anti-T", "Bomber" }
new const v_m249[] = "models/v_m249.mdl"
new const p_m249[] = "models/p_m249.mdl"
new const v_awp[] = "models/v_awp.mdl"
new const p_awp[] = "models/p_awp.mdl"
new const v_mp5[] = "models/v_mp5.mdl"
new const p_mp5[] = "models/p_mp5.mdl"
new const v_m4a1[] = "models/v_m4a1.mdl"
new const p_m4a1[] = "models/p_m4a1.mdl"
new const v_m3[] = "models/v_m3.mdl"
new const p_m3[] = "models/p_m3.mdl"
new const v_he[] = "models/v_hegrenade.mdl"
new const p_he[] = "models/p_hegrenade.mdl"
//end here
//item
new g_itemid1
// classes
/*enum ( <<= 1 ) {
Scout = 1,
Heavy,
Sniper,
Anti,
Bomber,
Soldier,
Pyro
}
new g_is [ 33]*/
new g_has[33][6]
//Characterīs features
//Heavy
new cvar_heavy_health, cvar_heavy_speed, cvar_heavy_gravity, cvar_heavy_armor
//Sniper
new cvar_sniper_health, cvar_sniper_speed, cvar_sniper_gravity, cvar_sniper_armor
//Scout
new cvar_scout_health, cvar_scout_speed, cvar_scout_gravity, cvar_scout_armor
//ANTI
new cvar_anti_health, cvar_anti_speed, cvar_anti_gravity, cvar_anti_armor
//Bomber
new cvar_bomber_health, cvar_bomber_speed, cvar_bomber_gravity, cvar_bomber_armor
const NOCLIP_WPN_BS = ((1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE)|(1<<CSW_C4))
new const g_MaxClipAmmo[] =
{
0,
13, //CSW_P228
0,
10, //CSW_SCOUT
0, //CSW_HEGRENADE
7, //CSW_XM1014
0, //CSW_C4
30,//CSW_MAC10
30, //CSW_AUG
0, //CSW_SMOKEGRENADE
15,//CSW_ELITE
20,//CSW_FIVESEVEN
25,//CSW_UMP45
30, //CSW_SG550
35, //CSW_GALIL
25, //CSW_FAMAS
12,//CSW_USP
20,//CSW_GLOCK18
10, //CSW_AWP
30,//CSW_MP5NAVY
100,//CSW_M249
8, //CSW_M3
30, //CSW_M4A1
30,//CSW_TMP
20, //CSW_G3SG1
0, //CSW_FLASHBANG
7, //CSW_DEAGLE
30, //CSW_SG552
30, //CSW_AK47
0, //CSW_KNIFE
50//CSW_P90
}
public plugin_init()
{
register_plugin("Extra Item: Survivor Instinct", VERSION, "nico | nicolazo103")
g_itemid1 = zp_register_extra_item("Survivor Instinct", 25, ZP_TEAM_HUMAN)
//---------------------------------------------
RegisterHam(Ham_TakeDamage, "player", "TakeDamage")
RegisterHam(Ham_Killed, "player", "Death")
//---------------------------------------------
register_library(ml)
register_event("CurWeapon", "CurWeapon", "be")
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
register_forward(FM_PlayerPreThink, "fw_PreThink")
register_clcmd("drop", "drop")
register_clcmd("class1", "classes")
//---------------------------------------------
//Heavy Gunner
cvar_heavy_health = register_cvar("zp_si_heavy_hp", "700")
cvar_heavy_speed = register_cvar("zp_si_heavy_sp", "230.0")
cvar_heavy_armor = register_cvar("zp_si_heavy_ar", "300")
cvar_heavy_gravity = register_cvar("zp_si_heavy_gr", "1.1")
//Sniper
cvar_sniper_health = register_cvar("zp_si_sniper_hp", "400")
cvar_sniper_speed = register_cvar("zp_si_sniper_sp", "250.0")
cvar_sniper_armor = register_cvar("zp_si_sniper_ar", "160")
cvar_sniper_gravity = register_cvar("zp_si_sniper_gr", "0.4")
//Scout
cvar_scout_health = register_cvar("zp_si_scout_hp", "200")
cvar_scout_speed = register_cvar("zp_si_scout_sp", "290.0")
cvar_scout_armor = register_cvar("zp_si_scout_ar", "150")
cvar_scout_gravity = register_cvar("zp_si_sniper_gr", "0.8")
//ANTI
cvar_anti_health = register_cvar("zp_si_anti_hp", "300")
cvar_anti_speed = register_cvar("zp_si_anti_sp", "270.0")
cvar_anti_armor = register_cvar("zp_si_anti_ar", "500")
cvar_anti_gravity = register_cvar("zp_si_anti_gr", "1.0")
//Bomber
cvar_bomber_health = register_cvar("zp_si_bomber_hp", "150")
cvar_bomber_speed = register_cvar("zp_si_bomber_sp", "280.0")
cvar_bomber_armor = register_cvar("zp_si_bomber_ar", "100")
cvar_bomber_gravity = register_cvar("zp_si_bomber_gr", "0.9")
}
public zp_extra_item_selected(id, itemid)
{
if(itemid == g_itemid1)
{
set_task(1.0, "classes", id)
strip_user_weapons(id)
}
}
public classes(id)
{
new menu,szItem[32], szTemp[3]
menu = menu_create("Choose a Character", "showthem")
for(new i; i < sizeof characters; i++)
{
num_to_str(i + 1, szTemp, 2)
format(szItem, 32, "\w %s", characters[i])
menu_additem(menu, szItem, szTemp)
}
menu_display(id, menu, 0)
}
public showthem(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) +25)
return PLUGIN_HANDLED
}
new aData[6], aName[32], access, callback
menu_item_getinfo(menu, item, access, aData, 5, aName, 31, callback)
new key = str_to_num(aData)
switch(key)
{
case 1:
{
g_has[id][1] = true
//g_is[ id ] |= Heavy
set_user_health(id, get_pcvar_num(cvar_heavy_health))
set_user_armor(id, get_pcvar_num(cvar_heavy_armor))
set_user_gravity(id, get_pcvar_float(cvar_heavy_gravity))
give_item(id, "weapon_m249")
set_user_rendering(id, kRenderFxGlowShell, 50, 250, 0, kRenderTransAlpha, 16)
}
case 2:
{
g_has[id][2] = true
//g_is[ id ] |= Sniper
set_user_health(id, get_pcvar_num(cvar_sniper_health))
set_user_armor(id, get_pcvar_num(cvar_sniper_armor))
set_user_gravity(id, get_pcvar_float(cvar_sniper_gravity))
give_item(id, "weapon_awp")
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 255, kRenderTransAlpha, 16)
}
case 3:
{
g_has[id][3] = true
//g_is[ id ] |= Scout
set_user_health(id, get_pcvar_num(cvar_scout_health))
set_user_armor(id, get_pcvar_num(cvar_scout_armor))
set_user_gravity(id, get_pcvar_float(cvar_scout_gravity))
give_item(id, "weapon_mp5")
set_user_rendering(id, kRenderFxGlowShell, 0, 250, 0, kRenderTransAlpha, 16)
}
case 4:
{
g_has[id][4] = true
//g_is[ id ] |= Anti
set_user_health(id, get_pcvar_num(cvar_anti_health))
set_user_armor(id, get_pcvar_num(cvar_anti_armor))
set_user_gravity(id, get_pcvar_float(cvar_anti_gravity))
give_item(id, "weapon_m4a1")
set_user_rendering(id, kRenderFxGlowShell, 250, 250, 0, kRenderTransAlpha, 16)
}
case 5:
{
g_has[id][5] = true
//g_is[ id ] |= Bomber
set_user_health(id, get_pcvar_num(cvar_bomber_health))
set_user_armor(id, get_pcvar_num(cvar_bomber_armor))
set_user_gravity(id, get_pcvar_float(cvar_bomber_gravity))
give_item(id, "weapon_m3")
give_item(id, "weapon_hegrenade")
set_user_rendering(id, kRenderFxGlowShell, 250, 250, 250, kRenderTransAlpha, 16)
}
}
return PLUGIN_HANDLED
}
public CurWeapon(id)
{
new WeaponID = read_data(2)
//if(g_is[id] & Heavy && WeaponID == CSW_M249 )
if(g_has[id][1] && (WeaponID == CSW_M249))
{
entity_set_string(id, EV_SZ_viewmodel, v_m249)
entity_set_string(id, EV_SZ_weaponmodel, p_m249)
if( !( NOCLIP_WPN_BS & (1<<WeaponID) ) )
fm_cs_set_weapon_ammo( get_pdata_cbase(id, 373) , g_MaxClipAmmo[ WeaponID ] )
}
//else if(g_is[id] & Sniper && WeaponID == CSW_AWP)
else if(g_has[id][2] && WeaponID == CSW_AWP)
{
entity_set_string(id, EV_SZ_viewmodel, v_awp)
entity_set_string(id, EV_SZ_weaponmodel, p_awp)
if( !( NOCLIP_WPN_BS & (1<<WeaponID) ) )
fm_cs_set_weapon_ammo( get_pdata_cbase(id, 373) , g_MaxClipAmmo[ WeaponID ] )
}
//else if(g_is[id] & Scout && WeaponID == CSW_MP5NAVY)
else if(g_has[id][3] && WeaponID == CSW_MP5NAVY)
{
entity_set_string(id, EV_SZ_viewmodel, v_mp5)
entity_set_string(id, EV_SZ_weaponmodel, p_mp5)
if( !( NOCLIP_WPN_BS & (1<<WeaponID) ) )
fm_cs_set_weapon_ammo( get_pdata_cbase(id, 373) , g_MaxClipAmmo[ WeaponID ] )
}
//else if(g_is[id] & Anti && WeaponID == CSW_M4A1)
else if(g_has[id][4] && WeaponID == CSW_M4A1)
{
entity_set_string(id, EV_SZ_viewmodel, v_m4a1)
entity_set_string(id, EV_SZ_weaponmodel, p_m4a1)
if( !( NOCLIP_WPN_BS & (1<<WeaponID) ) )
fm_cs_set_weapon_ammo( get_pdata_cbase(id, 373) , g_MaxClipAmmo[ WeaponID ] )
}
//else if(g_is[id] & Bomber)
else if(g_has[id][5])
{
if(WeaponID == CSW_M3)
{
entity_set_string(id, EV_SZ_viewmodel, v_m3)
entity_set_string(id, EV_SZ_weaponmodel, p_m3)
if( !( NOCLIP_WPN_BS & (1<<WeaponID) ) )
fm_cs_set_weapon_ammo( get_pdata_cbase(id, 373) , g_MaxClipAmmo[ WeaponID ] )
}
else if(WeaponID == CSW_HEGRENADE)
{
entity_set_string(id, EV_SZ_viewmodel, v_he)
entity_set_string(id, EV_SZ_weaponmodel, p_he)
}
}
}
public fw_PreThink(id)
{
//if(g_is[id] & Heavy)
if(g_has[id][1])
set_user_maxspeed(id, get_pcvar_float(cvar_heavy_speed))
//else if(g_is[id] & Sniper)
if(g_has[id][2])
set_user_maxspeed(id, get_pcvar_float(cvar_sniper_speed))
//else if(g_is[id] & Scout)
if(g_has[id][3])
set_user_maxspeed(id, get_pcvar_float(cvar_scout_speed))
//else if(g_is[id] & Anti)
if(g_has[id][4])
set_user_maxspeed(id, get_pcvar_float(cvar_anti_speed))
//else if(g_is[id] & Bomber)
if(g_has[id][5])
set_user_maxspeed(id, get_pcvar_float(cvar_bomber_speed))
}
public Death(id, attacker, shouldgib)
{
/*g_is[ id ] &= ~Heavy
g_is[ id ] &= ~Sniper
g_is[ id ] &= ~Scout
g_is[ id ] &= ~Anti
g_is[ id ] &= ~Bomber*/
for(new a; a < 5; a++)
{
g_has[id][a] = false
}
}
public grenade_throw( id , greindex , wId )
{
//if (g_is[id] & Bomber && ( wId == CSW_HEGRENADE ) )
if(g_has[id][5] && (wId == CSW_HEGRENADE))
{
cs_set_user_bpammo( id , wId , 2)
give_item(id , "weapon_hegrenade" )
}
}
public TakeDamage(id, inflictor, attacker, Float:damage, damagebits)
{
/*if(g_is[attacker] & Sniper)
SetHamParamFloat(4, damage * 3.0)
if(g_is[attacker] & Bomber)
SetHamParamFloat(4, damage * 2.0)*/
if(g_has[attacker][2])
SetHamParamFloat(4, damage * 2.0)
else if(g_has[attacker][5])
SetHamParamFloat(4, damage * 5.0)
return HAM_HANDLED
}
|