AlliedModders Donor
Join Date: Mar 2016
Location: Germany
|
03-23-2020
, 13:25
Re: set pev model
|
#7
|
Quote:
Originally Posted by OciXCrom
Show the full code.
|
PHP Code:
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); cvar_dmgmultiplier = register_cvar("ak_multiplier", "1") cvar_goldbullets = register_cvar("ak_bullets", "1") cvar_dmgmultiplier2 = register_cvar("mp5_dmg_multiplier", "1") register_event("WeapPickup","checkModel","b","1=19") register_event("DeathMsg", "Event_DeathMsg", "a") // 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_forward( FM_CmdStart, "fw_CmdStart" ) RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1) g_Players = get_maxplayers(); register_clcmd("say /testmenu", "extra_weapon_menu") }
public client_connect(id) { g_HasMp5[id] = false g_HasAk[id] = false }
public client_disconnect(id) { g_HasMp5[id] = false g_HasAk[id] = false }
public Death() { g_HasMp5[read_data(2)] = false g_HasAk[read_data(2)] = false }
public fwHamPlayerSpawnPost(id) { g_HasMp5[id] = false g_HasAk[id] = false } public checkWeapon(id) { new plrWeapId if (plrWeapId == CSW_AK47 && g_HasAk[id] || CSW_MP5NAVY && g_HasMp5[id]) { checkModel(id) } else { return PLUGIN_CONTINUE } return PLUGIN_HANDLED }
public checkModel(id) { new szWeapID = read_data(2) switch(szWeapID) { case CSW_AK47: { if(g_HasAk[id]) { set_pev(id, pev_viewmodel2, AK_V_MODEL) set_pev(id, pev_weaponmodel2, AK_P_MODEL) } } case CSW_MP5NAVY: { if(g_HasMp5[id]) { set_pev(id, pev_viewmodel2, MP_V_MODEL) set_pev(id, pev_weaponmodel2, MP_P_MODEL) } } } }
public fw_TakeDamage(victim, inflictor, attacker, Float:damage) { if ( is_valid_player( attacker ) && get_user_weapon(attacker) == CSW_AK47 && g_HasAk[attacker] ) { SetHamParamFloat(4, damage * get_pcvar_float( cvar_dmgmultiplier ) ) } if ( is_valid_player( attacker ) && get_user_weapon(attacker) == CSW_MP5NAVY && g_HasMp5[attacker] ) { SetHamParamFloat(4, damage * get_pcvar_float( cvar_dmgmultiplier2 ) ) } }
public fw_CmdStart( id, uc_handle, seed ) { if( !is_user_alive( id ) ) return PLUGIN_HANDLED if( ( get_uc( uc_handle, UC_Buttons ) & IN_ATTACK2 ) && !( pev( id, pev_oldbuttons ) & IN_ATTACK2 ) ) { new szClip, szAmmo new szWeapID = get_user_weapon( id, szClip, szAmmo ) if( szWeapID == CSW_AK47 && g_HasAk[id] == true && !g_hasZoom[id] == true) { g_hasZoom[id] = true cs_set_user_zoom( id, CS_SET_AUGSG552_ZOOM, 0 ) emit_sound( id, CHAN_ITEM, "weapons/zoom.wav", 0.20, 2.40, 0, 100 ) } else if ( szWeapID == CSW_AK47 && g_HasAk[id] == true && g_hasZoom[id]) { g_hasZoom[ id ] = false cs_set_user_zoom( id, CS_RESET_ZOOM, 0 ) } } 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(id, pteam, 15) if ((bullets[id] > clip) && (wpnid == CSW_AK47) && g_HasAk[id]) { new vec1[3], vec2[3] get_user_origin(id, vec1, 1) // origin; your camera point. get_user_origin(id, vec2, 4) // termina; where your bullet goes (4 is cs-only) //BEAMENTPOINTS message_begin( MSG_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_short( m_spriteTexture ) write_byte(1) // framestart write_byte(5) // framerate write_byte(2) // life write_byte(10) // width write_byte(0) // noise write_byte( 255 ) // r, g, b write_byte( 215 ) // r, g, b write_byte( 0 ) // r, g, b write_byte(200) // brightness write_byte(150) // speed message_end() } bullets[id] = clip } }
public Event_DeathMsg() { set_task(0.1,"check_alive", 0) }
public check_alive() { if(fnGetAliveCt() == 1) { for( new i = 1; i <= g_Players; i++ ) { if (is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_CT) { extra_weapon_menu(i) client_print(0, print_center, "%s is the last survivor", i) } } } } fnGetAliveCt() { static iAlive, id iAlive = 0 for (id = 1; id <= g_Players; id++) { if (is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT) iAlive++ } return iAlive; }
public extra_weapon_menu(id) { new menu = menu_create( "\yChoose weapon:", "menu_handler" ) menu_additem(menu, "Scorpion MP5"); menu_additem(menu, "Golden AK"); menu_additem(menu, "M249"); menu_setprop( menu, MPROP_EXIT, MEXIT_ALL ); menu_display(id, menu, 0 ); }
public menu_handler(id, menu, item) { switch( item ) { case 0: { give_item(id, "weapon_mp5navy") g_HasMp5[id] = true return PLUGIN_HANDLED } case 1: { give_item(id, "weapon_ak47") g_HasAk[id] = true return PLUGIN_HANDLED } case 2: { give_item(id, "weapon_m249") } } return PLUGIN_HANDLED }
There you go, I want that the last alive CT to get a extra weapon menu to choose, and i was trying to fix the models first and then make it work for last ct only, now, does not work, if you could also help me with this would be wonderful, thanks +karma
__________________
a simple act of caring creates an endless ripple.
Last edited by Nutu_; 03-23-2020 at 16:20.
|
|