[b]MOAR CANDY[/b]
Join Date: Aug 2009
Location: Denmark
|
11-28-2012
, 15:00
Re: Player model!
|
#2
|
The setting of the model is correctly done, however, it is actually never used. When a player picks the hero, it doesn't set the model, if a player spawns and have the hero it doesn't use the morph code either. I added the missing parts so it should be working now.
PHP Code:
// GREEN ARROW! - Exploding Arrows (bullets from scout)
/* CVARS - copy and paste to shconfig.cfg
// Green Arrow noob_level 10 noob_arrows 10 noob_getscout 0
*/
#include <amxmod> #include <Vexd_Utilities> #include <superheromod>
// VARIABLES new gHeroName[]="Green Arrow" new gHasnoobPower[SH_MAXSLOTS+1] new gHasnoobSelected[SH_MAXSLOTS+1] new gPlayerLevels[SH_MAXSLOTS+1] new bool:gmorphed[SH_MAXSLOTS+1] new noobs[SH_MAXSLOTS+1] // Test new gLastWeapon[SH_MAXSLOTS+1] new gLastClipCount[SH_MAXSLOTS+1] // Sprites new laser,laser_impact,blast_shroom
//---------------------------------------------------------------------------------------------- public plugin_init() { // Plugin Info register_plugin("SUPERHERO Noob","1.2","DON'T STOP ME") // DO NOT EDIT THIS FILE TO CHANGE CVARS, USE THE SHCONFIG.CFG register_cvar("noob_level","10") register_cvar("noob_arrows", "10") register_cvar("noob_getdeagle", "1") register_cvar("noob_maxlevel", "7") // FIRE THE EVENT TO CREATE THIS SUPERHERO! shCreateHero(gHeroName, "Green Arrows", "You get some Explosive Arrows for your deagle!", false, "noob_level" ) // REGISTER EVENTS THIS HERO WILL RESPOND TO! (AND SERVER COMMANDS) // INIT register_srvcmd("noob_init", "noob_init") shRegHeroInit(gHeroName, "noob_init") // NEW ROUND register_event("ResetHUD","newRound","b") // DEATH register_event("DeathMsg", "noob_death", "a") // LEVELS register_srvcmd("noob_levels", "noob_levels") shRegLevels(gHeroName,"noob_levels") // GREEN ARROW DAMAGE register_event("Damage", "noob_damage", "b", "2!0") // ARROW FIRED register_event("CurWeapon","noob_fire", "be", "1=1", "3>0") register_event("CurWeapon","weaponChange","be","1=1") } //---------------------------------------------------------------------------------------------- public noob_init() { // First Argument is an id new temp[128] read_argv(1,temp,5) new id = str_to_num(temp) // 2nd Argument is 0 or 1 depending on whether the id has noob read_argv(2,temp,5) new hasPowers = str_to_num(temp) gHasnoobPower[id]=(hasPowers!=0) gHasnoobSelected[id] = gHasnoobPower[id] if ( !is_user_alive(id) ) return switchmodel(id) noob_unmorph(id) if ( gHasnoobPower[id] ) { noobs[id] = get_cvar_num("noob_arrows") if ( is_user_alive(id) ) { noob_morph(id) } if ( get_cvar_num("noob_getdeagle") == 1 ) shGiveWeapon(id,"weapon_deagle") } } //---------------------------------------------------------------------------------------------- public plugin_precache() { laser = precache_model("sprites/laserbeam.spr") laser_impact = precache_model("sprites/zerogxplode.spr") blast_shroom = precache_model("sprites/mushroom.spr") precache_model("models/shmod/Noob_v.mdl") precache_model("models/shmod/Noob_p.mdl") precache_model("models/player/Noob/Noob.mdl") } //---------------------------------------------------------------------------------------------- public sh_client_spawn(id) { if ( sh_is_active() && is_user_alive(id) && gHasnoobPower[id] ) { noob_morph(id) } }
public noob_morph(id) { if ( gmorphed[id] || !is_user_alive(id) ) return #if defined AMXX_VERSION cs_set_user_model(id, "Noob") #else CS_SetModel(id, "Noob") #endif // Message set_hudmessage(50, 205, 50, -1.0, 0.40, 2, 0.02, 4.0, 0.01, 0.1, 7) show_hudmessage(id, "Noob - Prepared for war!") gmorphed[id] = true } //---------------------------------------------------------------------------------------------- public noob_unmorph(id) { if ( gmorphed[id] ) { // Message set_hudmessage(50, 205, 50, -1.0, 0.40, 2, 0.02, 4.0, 0.01, 0.1, 7) show_hudmessage(id, "Noob - You're in suit now...") #if defined AMXX_VERSION cs_reset_user_model(id) #else CS_ClearModel(id) #endif gmorphed[id] = false } } //---------------------------------------------------------------------------------------------- public newRound(id) { noob_checklevel(id) if ( gHasnoobPower[id] ) { noobs[id] = get_cvar_num("noob_arrows") gLastWeapon[id] = -1 // I think the change Weapon automatically gets called on spawn death too... if ( get_cvar_num("noob_getdeagle") == 1 ) shGiveWeapon(id,"weapon_deagle") } } //---------------------------------------------------------------------------------------------- public noob_death() { new id = read_data(2) noob_unmorph(id) //Check is this player can use the hero noob_checklevel(id) } //---------------------------------------------------------------------------------------------- public noob_damage(id) { new damage = read_data(2) new weapon, bodypart, attacker = get_user_attacker(id,weapon,bodypart) if ( attacker < 0 || attacker > SH_MAXSLOTS ) return PLUGIN_CONTINUE if ( gHasnoobPower[attacker] && weapon == CSW_DEAGLE && noobs[attacker] >= 0 && is_user_alive(id) ) { new health = get_user_health(id) // damage is less than 10% if ( ( (1.0 * damage) / (1.0 * (health + damage) ) ) < 0.01 ) return PLUGIN_CONTINUE new origin[3] get_user_origin(id, origin) // player fades.. set_user_rendering(id, kRenderFxFadeSlow, 255, 255, 255, kRenderTransColor, 4); // beeeg explody! message_begin(MSG_ALL, SVC_TEMPENTITY) write_byte(3) // TE_EXPLOSION write_coord(origin[0]) write_coord(origin[1]) write_coord(origin[2]-22) write_short(blast_shroom) // mushroom cloud write_byte(40) // scale in 0.1's write_byte(12) // frame rate write_byte(12) // TE_EXPLFLAG_NOPARTICLES & TE_EXPLFLAG_NOSOUND message_end() // do turn down that awful racket..to be replaced by a blood spurt! message_begin(MSG_ALL, SVC_TEMPENTITY) write_byte(10) // TE_LAVASPLASH write_coord(origin[0]) write_coord(origin[1]) write_coord(origin[2]-26) message_end() // kill victim user_kill(id, 1) message_begin( MSG_ALL, get_user_msgid("DeathMsg"),{0,0,0},0 ) write_byte(attacker) write_byte(id) write_byte(0) write_string("deagle") message_end() //Save Hummiliation new namea[24],namev[24],authida[20],authidv[20],teama[8],teamv[8] //Info On Attacker get_user_name(attacker,namea,23) get_user_team(attacker,teama,7) get_user_authid(attacker,authida,19) //Info On Victim get_user_name(id,namev,23) get_user_team(id,teamv,7) get_user_authid(id,authidv,19) //Log This Kill log_message("^"%s<%d><%s><%s>^" killed ^"%s<%d><%s><%s>^" with ^"Noob^"", namea,get_user_userid(attacker),authida,teama,namev,get_user_userid(id),authidv,teamv) // team check! new attacker_team[2], victim_team[2] get_user_team(attacker, attacker_team, 1) get_user_team(id, victim_team, 1) // for some reason this doesn't update in the hud until the next round.. whatever. if (!equali(attacker_team, victim_team)) { // diff. team; $attacker gets credited for the kill and $250 and XP. // $id gets their suicidal -1 frag back. set_user_frags(attacker, get_user_frags(attacker)+1) #if defined AMXX_VERSION cs_set_user_money(attacker, cs_get_user_money(attacker)+150) #else set_user_money(attacker, get_user_money(attacker)+150) #endif shAddXP(attacker, id, 1.0) } else { // same team; $attacker loses a frag and $500 and XP. set_user_frags(attacker, get_user_frags(attacker)-1) #if defined AMXX_VERSION cs_set_user_money(attacker, cs_get_user_money(attacker)-500, 0) #else set_user_money(attacker, get_user_money(attacker)-500, 0) #endif shAddXP(attacker, id, -1.0) } } return PLUGIN_CONTINUE } //----------------------------------------------------------------------------------------------, public noob_fire(id) { if ( !gHasnoobPower[id] ) return PLUGIN_CONTINUE new weap = read_data(2) // id of the weapon new ammo = read_data(3) // ammo left in clip if ( weap == CSW_DEAGLE && is_user_alive(id) ) { if (gLastWeapon[id] == 0) gLastWeapon[id] = weap if ( gLastClipCount[id] > ammo && gLastWeapon[id] == weap && noobs[id] > 0 ) { new vec1[3], vec2[3] get_user_origin(id, vec1, 1) // origin; where you are get_user_origin(id, vec2, 4) // termina; where your bullet goes // tracer beam message_begin(MSG_PAS, SVC_TEMPENTITY, vec1) write_byte(0) // TE_BEAMPOINTS 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(laser) // laserbeam sprite write_byte(0) // starting frame write_byte(10) // frame rate write_byte(2) // life in 0.1s write_byte(4) // line width in 0.1u write_byte(1) // noise in 0.1u write_byte(0) // red write_byte(153) // green write_byte(0) // blue write_byte(80) // brightness write_byte(100) // scroll speed message_end() // bullet impact explosion message_begin(MSG_PAS, SVC_TEMPENTITY, vec2) write_byte(3) // TE_EXPLOSION write_coord(vec2[0]) // end point of beam write_coord(vec2[1]) write_coord(vec2[2]) write_short(laser_impact) // blast sprite write_byte(10) // scale in 0.1u write_byte(30) // frame rate write_byte(8) // TE_EXPLFLAG_NOPARTICLES message_end() // ..unless i'm mistaken, noparticles helps avoid a crash noobs[id]-- new message[128] format(message, 127, "Mai ai %d arrow(s) ramase",noobs[id]) set_hudmessage(255,0,0,-1.0,0.3,0,0.25,1.0,0.0,0.0,4) show_hudmessage(id, message) if ( noobs[id] == 0 ) noobs[id] = -1 } gLastClipCount[id] = ammo gLastWeapon[id] = weap } return PLUGIN_CONTINUE } //---------------------------------------------------------------------------------------------- public switchmodel(id) { if ( !is_user_alive(id) || !gHasnoobPower[id] ) return new clip, ammo, wpnid = get_user_weapon(id, clip, ammo) if (wpnid == CSW_DEAGLE) { // Weapon Model change for 3rd person view - vittu Entvars_Set_String(id, EV_SZ_viewmodel, "models/shmod/Noob_v.mdl") // Weapon Model change for 3rd person view - vittu Entvars_Set_String(id, EV_SZ_weaponmodel, "models/shmod/Noob_p.mdl") } } //---------------------------------------------------------------------------------------------- public weaponChange(id) { if ( !gHasnoobPower[id] || !shModActive() ) return new wpnid = read_data(2) new clip = read_data(3) if ( wpnid == CSW_DEAGLE ) switchmodel(id) switchmodel(id) // Never Run Out of Ammo! if ( clip == 0 ) { shReloadAmmo(id) } } //---------------------------------------------------------------------------------------------- public noob_levels() { new id[5] new lev[5] read_argv(1,id,4) read_argv(2,lev,4) gPlayerLevels[str_to_num(id)] = str_to_num(lev) noob_checklevel(str_to_num(id)) } //---------------------------------------------------------------------------------------------- public noob_checklevel(id) { new noob_maxlvl = get_cvar_num("noob_maxlevel") if (gHasnoobSelected[id] && gPlayerLevels[id] > noob_maxlvl) { client_print(id,print_chat, "[SH](%s) Trebuie sa fii de level %d sau mai mic ca sa folosesti acest erou",gHeroName,noob_maxlvl) gHasnoobPower[id] = false client_cmd(id,"say drop %s",gHeroName) } } //---------------------------------------------------------------------------------------------- public client_connect(id) { gmorphed[id] = false } //----------------------------------------------------------------------------------------------
__________________
No idea what to write here...
|
|