Junior Member
|
12-06-2009
, 07:21
Re: Some help plz...
|
#8
|
a friend of mine send them to me... all I know is that he fund them on this homepage...
should I upload .sma for both of them or?
(I compile all heroes just to be sure they r updated... but here the original gave same failure)
btw, do u know what I should about fade ?
.sma for terrorist
PHP Code:
//Terrorist! /* CVARS - copy and paste to shconfig.cfg //terrorist terrorist_level 0 */ #include <amxmod> #include <Vexd_Utilities> #include <superheromod> #include <amxmisc> #include <engine> #include <fun> #include <cstrike> #include <csx> #include <fakemeta_util> // GLOBAL VARIABLES new gHeroName[]="Terrorist" new bool:gHasTerroristPower[SH_MAXSLOTS+1] new bool:can_plant new gCurrentWeapon[SH_MAXSLOTS+1] new planter new g_state new g_bombEnts[2] = {0,0} new maxplayers new bombs #define giveTotal 2 new weapArray[giveTotal][24] = { "weapon_c4", "weapon_ak47" } //---------------------------------------------------------------------------------------------- public plugin_init() { // Plugin Info register_plugin("SUPERHERO Terrorist","1.0","MEGA / Krot@l / Velocity36 / Kensai") register_plugin( "Custom Terrorist Win Sound/Message" , "1.0", "Amxx community" ); register_message( get_user_msgid( "SendAudio" ),"message_sendaudio" ); register_message( get_user_msgid( "TextMsg" ) ,"message_textmsg" ); // DO NOT EDIT THIS FILE TO CHANGE CVARS, USE THE SHCONFIG.CFG register_cvar("terrorist_level", "0") register_cvar("terrorist_c4plant", "60") register_cvar("terroritt_maxbombs", "100") // FIRE THE EVENT TO CREATE THIS SUPERHERO! shCreateHero(gHeroName, "Terrorist", "Plant AnyWhere You Want + Free AK", false, "terrorist_level" ) // REGISTER EVENTS THIS HERO WILL RESPOND TO! (AND SERVER COMMANDS) register_srvcmd("terrorist_init", "terrorist_init") shRegHeroInit(gHeroName, "terrorist_init") register_event("ResetHUD","newRound","b") register_event("CurWeapon","changeWeapon","be","1=1") register_event("TextMsg", "game_restart", "a", "1=4", "2&#Game_C", "2&#Game_w") register_event("SendAudio", "round_end", "a", "2=%!MRAD_terwin", "2=%!MRAD_ctwin", "2=%!MRAD_rounddraw") register_logevent("new_round", 2, "0=World triggered", "1=Round_Start") register_event("StatusIcon", "gotbomb", "be", "1=1", "1=2", "2=c4") } //---------------------------------------------------------------------------------------------- public terrorist_init() { // First Argument is an id new temp[6] read_argv(1,temp,5) new id = str_to_num(temp) // 2nd Argument is 0 or 1 depending on whether the id has terrorist read_argv(2,temp,5) new hasPowers = str_to_num(temp) if (!is_user_connected(id)) return //Reset thier shield restrict status //Shield restrict MUST be before weapons are given out shResetShield(id) if ( hasPowers ) { terrorist_giveweapons(id) create_bombtarget() } //This gets run if they had the power but don't anymore else if ( gHasTerroristPower[id] ) { terrorist_dropweapons(id) remove_bombtarget() } //Sets this variable to the current status gHasTerroristPower[id] = (hasPowers != 0) g_state = hasPowers } //---------------------------------------------------------------------------------------------- public newRound(id) { if ( gHasTerroristPower[id] && is_user_alive(id) && shModActive() ) { set_task(0.1, "terrorist_giveweapons",id) set_task(get_cvar_float("terrorist_c4plant"), "enable_planting", 97564673) { set_task(6.0, "bomb_carrier") } } } //---------------------------------------------------------------------------------------------- /*public cmdPlantAnywhere(id,level,cid) { new arg[32] read_argv(1,arg,31) new state = str_to_num(arg) ? 1 : 0 if(g_state == state) { console_print(id, "Terrorist is already %s", g_state ? "enabled" : "disabled") return PLUGIN_HANDLED } g_state = state if(g_state) create_bombtarget() else remove_bombtarget() console_print(id, "Terrorist has been %s", g_state ? "enabled" : "disabled") return PLUGIN_HANDLED }*/ //---------------------------------------------------------------------------------------------- public gotbomb(id) { planter = id return PLUGIN_CONTINUE } //---------------------------------------------------------------------------------------------- public round_end() { set_task(4.0, "disable_planting", 78645135) } //---------------------------------------------------------------------------------------------- public game_restart() { set_task(0.5, "disable_planting", 71586461) } //---------------------------------------------------------------------------------------------- public disable_planting() { if(task_exists(97564673)) remove_task(97564673) planter = 0 can_plant = false } //---------------------------------------------------------------------------------------------- public terrorist_giveweapons(id) { if ( !is_user_alive(id) ) return for (new x = 0; x < giveTotal; x++) { shGiveWeapon(id, weapArray[x]) } // Give CTs a Defuse Kit if ( get_user_team(id) == 2 ) shGiveWeapon(id,"item_thighpack") } //---------------------------------------------------------------------------------------------- public bomb_carrier(id) { new clip, ammo, wep = get_user_weapon(id, clip, ammo) for(new i=1; i<=maxplayers; i++) { if(is_user_connected(i) && wep == CSW_C4) { cs_set_user_plant(id, 0, 0) } } return 1 } //---------------------------------------------------------------------------------------------- public terrorist_dropweapons(id) { if ( !is_user_alive(id) ) return for (new x = 0; x < giveTotal; x++) { engclient_cmd(id,"drop", weapArray[x]) } new iCurrent = -1 new Float:weapvel[3] while ( (iCurrent = FindEntity(iCurrent, "weaponbox")) > 0 ) { //Skip anything not owned by this client if ( Entvars_Get_Edict(iCurrent, EV_ENT_owner) != id) continue //Get Weapon velocites Entvars_Get_Vector(iCurrent, EV_VEC_velocity, weapvel) //If Velocities are all Zero its on the ground already and should stay there if (weapvel[0] == 0.0 && weapvel[1] == 0.0 && weapvel[2] == 0.0) continue RemoveEntity(iCurrent) } } //---------------------------------------------------------------------------------------------- public changeWeapon(id) { if ( !shModActive() || !gHasTerroristPower[id] ) return new weaponid = read_data(2) if ( gCurrentWeapon[id] != weaponid ) { gCurrentWeapon[id] = weaponid } } //---------------------------------------------------------------------------------------------- public enable_planting() { can_plant = true } //---------------------------------------------------------------------------------------------- public create_bombtarget() { new old_bomtarget = find_ent_by_class(-1, "func_bomb_target") if(old_bomtarget > 0) { new Float:origin[3] entity_get_vector(old_bomtarget, EV_VEC_origin, origin) new bombtarget = create_entity("func_bomb_target") if(bombtarget > 0) { DispatchKeyValue(bombtarget, "classname", "func_bomb_target") DispatchSpawn(bombtarget) entity_set_size(bombtarget, Float:{-1000000.0,-1000000.0,-1000000.0}, Float:{1000000.0,1000000.0,1000000.0}) entity_set_string(bombtarget, EV_SZ_classname, "func_bomb_target") entity_set_origin(bombtarget, origin) g_bombEnts[0] = bombtarget } bombtarget = create_entity("info_bomb_target") if(bombtarget > 0) { DispatchKeyValue(bombtarget, "classname", "info_bomb_target") DispatchSpawn(bombtarget) entity_set_size(bombtarget, Float:{-1000000.0,-1000000.0,-1000000.0}, Float:{1000000.0,1000000.0,1000000.0}) entity_set_string(bombtarget, EV_SZ_classname, "info_bomb_target") entity_set_origin(bombtarget, origin) g_bombEnts[1] = bombtarget } } } //---------------------------------------------------------------------------------------------- public remove_bombtarget() { if(is_valid_ent(g_bombEnts[0])) remove_entity(g_bombEnts[0]) if(is_valid_ent(g_bombEnts[1])) remove_entity(g_bombEnts[1]) } //---------------------------------------------------------------------------------------------- public client_prethink(id) { if(g_state && id == planter && !can_plant) { new clip, ammo, weapon = get_user_weapon(id, clip, ammo) if(weapon == CSW_C4) { entity_set_int(id, EV_INT_button, entity_get_int(id, EV_INT_button) & ~IN_ATTACK) } } } //---------------------------------------------------------------------------------------------- public client_connect(id) { gHasTerroristPower[id] = false } //---------------------------------------------------------------------------------------------- public message_textmsg( msg_id, msg_dest, msg_entity ) { static message[3]; get_msg_arg_string( 2, message, sizeof message - 1 ); if( message[1] == 'T' ) // #Terrorists_Win message { client_print( msg_entity, print_center, "The Terrorist Succesfully Completed Operation" ); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } //--------------------------------------------------------------------------------------------- public message_sendaudio( msg_id, msg_dest, msg_entity ) { static message[10]; get_msg_arg_string( 2, message, sizeof message - 1 ); if( message[7] == 't' ) // -- %!MRAD_terwin { client_cmd( msg_entity, "spk your_new_sound" ); // or mp3 play return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } //------------------------------------------------------------------------------------------- public bomb_planted(id) { bombs += 1 if(bombs >= get_cvar_num("terrorist_maxbombs")) { new players[32], pnum get_players(players, pnum ,"ae", "TERRORIST") for(new i=0; i<pnum; i++) { if(user_has_weapon(players[i], CSW_C4)) fm_strip_user_gun(players[i], CSW_C4) client_print(players[i], print_chat, "*Max bombs reached!*") } } } //-------------------------------------------------------------------------------------------
.sma for supergirl
PHP Code:
// SUPERGIRL! - the DC comics hero. Yeah - well not all of her powers or it'd be unfair... /* CVARS - copy and paste to shconfig.cfg //Supergirl supergirl_level 0 supergirl_health 150 //Default Health 150 supergirl_armor 150 //Default Armor 150 supergirl_toggle 0 //(def 0=no, key must be held down to fly) (1=yes, toggle flying) supergirl_flybeforeftime 0 //Fly before freezetime is over, 0=no 1=yes (def=0) supergirl_flyspeed 300 //Velocity of flying (def=300) */ /* * v2.2 - vittu - 6/24/05 * - Changed name from Superman to Supergirl. * - Removed mode for default superman. * - Minor code clean up. * * v2.1 - vittu - 4/22/05 * - Temp fix because this can be coded more efficiently. * - Cleaned up and removed unused coding. * - Fixed fly before Freezetime to be more reliable and not break flying * ability when toggle was set to 1. * - Removed low gravity when using flying mode, as I believe it wasn't intended. * * Hero Orginally named Superman created by AssKicR */ #include <amxmod> #include <Vexd_Utilities> #include <superheromod> #if defined AMX98 #include <xtrafun> //Only for the constants, doesn't use any functions #endif // GLOBAL VARIBLES new gHeroName[]="Supergirl" new bool:gHasSupergirlPower[SH_MAXSLOTS+1] new bool:gIsFlying[SH_MAXSLOTS+1] new bool:roundfreeze new Float:gVelocity[SH_MAXSLOTS+1][3] //---------------------------------------------------------------------------------------------- public plugin_init() { // Plugin Info register_plugin("SUPERHERO Supergirl", "2.2", "AssKicR") // DO NOT EDIT THIS FILE TO CHANGE CVARS, USE THE SHCONFIG.CFG register_cvar("supergirl_level", "0") register_cvar("supergirl_health", "150") register_cvar("supergirl_armor", "150") register_cvar("supergirl_toggle", "0") register_cvar("supergirl_flybeforeftime", "0") //this cvar needs re-nameing register_cvar("supergirl_flyspeed", "300") // FIRE THE EVENT TO CREATE THIS SUPERHERO! shCreateHero(gHeroName, "Health/Armor/Flying", "More Health, Free Armor, and Flying on +power key", true, "supergirl_level") // REGISTER EVENTS THIS HERO WILL RESPOND TO! (AND SERVER COMMANDS) // INIT register_srvcmd("supergirl_init", "supergirl_init") shRegHeroInit(gHeroName, "supergirl_init") // EVENTS register_event("ResetHUD", "newSpawn", "b") // ROUND EVENTS register_logevent("round_start", 2, "1=Round_Start") register_logevent("round_end", 2, "1=Round_End") register_logevent("round_end", 2, "1&Restart_Round_") // KEY UP register_srvcmd("supergirl_ku", "supergirl_ku") shRegKeyUp(gHeroName, "supergirl_ku") // KEY DOWN register_srvcmd("supergirl_kd", "supergirl_kd") shRegKeyDown(gHeroName, "supergirl_kd") // Let Server know about Supergirl's Variables shSetMaxHealth(gHeroName, "supergirl_health") shSetMaxArmor(gHeroName, "supergirl_armor") } //---------------------------------------------------------------------------------------------- public supergirl_init() { // First Argument is an id new temp[6] read_argv(1,temp,5) new id = str_to_num(temp) // 2nd Argument is 0 or 1 depending on whether the id has the hero read_argv(2,temp,5) new hasPowers = str_to_num(temp) // This gets run if they had the power but don't anymore if ( !hasPowers && gHasSupergirlPower[id] && is_user_alive(id) ) { shRemHealthPower(id) shRemArmorPower(id) if ( gIsFlying[id] ) { stop_fly(id) } } // Sets this variable to the current status gHasSupergirlPower[id] = (hasPowers != 0) } //---------------------------------------------------------------------------------------------- public newSpawn(id) { if( gHasSupergirlPower[id] && gIsFlying[id] ) { stop_fly(id) } } //---------------------------------------------------------------------------------------------- // RESPOND TO KEYDOWN public supergirl_kd() { // First Argument is an id new temp[6] read_argv(1, temp, 5) new id = str_to_num(temp) if ( !is_user_alive(id) ) return // If in toggle mode change this to a keyup event if ( get_cvar_num("supergirl_toggle") && gIsFlying[id] ) { stop_fly(id) return } //could be done easier with just a !hasRoundStarted(), unless they want a removal of flight at round end //left it this way cause it was how the orginal was done cept it was on radio messages instead if ( roundfreeze && get_cvar_num("supergirl_flybeforeftime") == 0 ) { client_print(id, print_chat, "[SH](Supergirl) You must wait until the round has started to fly") playSoundDenySelect(id) return } make_fly(id) } //---------------------------------------------------------------------------------------------- // RESPOND TO KEYUP public supergirl_ku() { // toggle mode - keyup doesn't do anything! if ( get_cvar_num("supergirl_toggle") ) return // First Argument is an id new temp[6] read_argv(1,temp,5) new id = str_to_num(temp) if ( !gIsFlying[id] ) return stop_fly(id) } //---------------------------------------------------------------------------------------------- public round_end() { roundfreeze = true //Should flight be removed when round ends if fly during freeze time cvar is 0? } //---------------------------------------------------------------------------------------------- public round_start() { roundfreeze = false } //---------------------------------------------------------------------------------------------- public make_fly(id) { if( !is_user_alive(id) || gIsFlying[id] ) return client_print(id, print_center, "Up, Up and Away! - Flying Mode ON") set_user_gravity(id, 0.001) set_task(0.1, "user_fly", id, "", 0, "b") gIsFlying[id] = true } //---------------------------------------------------------------------------------------------- public stop_fly(id) { if ( !gIsFlying[id] ) return //Don't really need to tell users when they die if ( is_user_alive(id) ) client_print(id, print_center, "Flying Mode OFF") //resets users gravity after being set shSetGravityPower(id) gIsFlying[id] = false remove_task(id) } //---------------------------------------------------------------------------------------------- public user_fly(id) { new Float: xAngles[3] new Float: xOrigin[3] new xEnt //No Death Event needed it gets turned off here if ( !is_user_alive(id) ) { stop_fly(id) return PLUGIN_HANDLED } new butnprs = Entvars_Get_Int(id, EV_INT_button) if(butnprs&IN_FORWARD && butnprs&IN_MOVERIGHT && butnprs&IN_JUMP) // FORWARD + MOVERIGHT + JUMP { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = -45.0 xAngles[1] -= 45 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(id, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_FORWARD && butnprs&IN_MOVERIGHT && butnprs&IN_DUCK) // FORWARD + MOVERIGHT + DUCK { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = 45.0 xAngles[1] -= 45 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_FORWARD && butnprs&IN_MOVELEFT && butnprs&IN_JUMP) // FORWARD + MOVELEFT + JUMP { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = -45.0 xAngles[1] += 45 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_FORWARD && butnprs&IN_MOVELEFT && butnprs&IN_DUCK) // FORWARD + MOVELEFT + DUCK { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = 45.0 xAngles[1] += 45 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_JUMP && butnprs&IN_MOVERIGHT && butnprs&IN_BACK) // BACK + MOVERIGHT + JUMP { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = -45.0 xAngles[1] -= 135 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_BACK && butnprs&IN_MOVERIGHT && butnprs&IN_DUCK) // BACK + MOVERIGHT + DUCK { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = 45.0 xAngles[1] -= 135 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_JUMP && butnprs&IN_MOVELEFT && butnprs&IN_BACK) // BACK + MOVELEFT + JUMP { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = -45.0 xAngles[1] += 135 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_BACK && butnprs&IN_MOVELEFT && butnprs&IN_DUCK) // BACK + MOVELEFT + DUCK { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = 45.0 xAngles[1] += 135 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_MOVERIGHT && butnprs&IN_FORWARD) // MOVERIGHT + FORWARD { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = 0.0 xAngles[1] -= 45 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_MOVERIGHT && butnprs&IN_BACK) // MOVERIGHT + BACK { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = 0.0 xAngles[1] -= 135 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_MOVELEFT && butnprs&IN_FORWARD) // MOVELEFT + FORWARD { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = 0.0 xAngles[1] += 45 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_MOVELEFT && butnprs&IN_BACK) // MOVELEFT + BACK { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = 0.0 xAngles[1] += 135 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_FORWARD && butnprs&IN_JUMP) // FORWARD + JUMP { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = -45.0 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_FORWARD && butnprs&IN_DUCK) // FORWARD + DUCK { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = 45.0 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_BACK && butnprs&IN_JUMP) // BACK + JUMP { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = -45.0 xAngles[1] += 180 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_BACK && butnprs&IN_DUCK) // BACK + DUCK { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = 45.0 xAngles[1] += 180 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_MOVERIGHT && butnprs&IN_JUMP) // MOVERIGHT + JUMP { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = -45.0 xAngles[1] -= 90 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_MOVERIGHT && butnprs&IN_DUCK) // MOVERIGHT + DUCK { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = 45.0 xAngles[1] -= 90 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_MOVELEFT && butnprs&IN_JUMP) // MOVELEFT + JUMP { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = -45.0 xAngles[1] += 90 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_MOVELEFT && butnprs&IN_DUCK) // MOVELEFT + DUCK { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = 45.0 xAngles[1] += 90 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_FORWARD) // FORWARD { VelocityByAim(id, get_cvar_num("supergirl_flyspeed") , gVelocity[id]) } else if(butnprs&IN_BACK) // BACK { VelocityByAim(id, -get_cvar_num("supergirl_flyspeed") , gVelocity[id]) } else if(butnprs&IN_DUCK) // DUCK { gVelocity[id][0] = 0.0 gVelocity[id][1] = 0.0 gVelocity[id][2] = -get_cvar_num("supergirl_flyspeed") * 1.0 } else if(butnprs&IN_JUMP) // JUMP { gVelocity[id][0] = 0.0 gVelocity[id][1] = 0.0 gVelocity[id][2] = get_cvar_num("supergirl_flyspeed") * 1.0 } else if(butnprs&IN_MOVERIGHT) // MOVERIGHT { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = 0.0 xAngles[1] -= 90 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else if(butnprs&IN_MOVELEFT) // MOVELEFT { Entvars_Get_Vector(id, EV_VEC_v_angle, xAngles) Entvars_Get_Vector(id, EV_VEC_origin, xOrigin) xEnt = CreateEntity("info_target") if(xEnt == 0) { return PLUGIN_HANDLED_MAIN } xAngles[0] = 0.0 xAngles[1] += 90 ENT_SetOrigin(xEnt, xOrigin) Entvars_Set_Vector(xEnt, EV_VEC_v_angle, xAngles) VelocityByAim(xEnt, get_cvar_num("supergirl_flyspeed"), gVelocity[id]) RemoveEntity(xEnt) } else { gVelocity[id][0] = 0.0 gVelocity[id][1] = 0.0 gVelocity[id][2] = 0.0 } Entvars_Set_Vector(id, EV_VEC_velocity, gVelocity[id]) new Float: pOrigin[3] new Float: zOrigin[3] new Float: zResult[3] Entvars_Get_Vector(id, EV_VEC_origin, pOrigin) zOrigin[0] = pOrigin[0] zOrigin[1] = pOrigin[1] zOrigin[2] = pOrigin[2] - 1000 TraceLn(id,pOrigin, zOrigin, zResult) //Supposed to be used to check if you moved up to set you to look like your swiming //I think this could be done differently, like if he is flying and not on the ground //and moving then set the swim look, etc... if(Entvars_Get_Int(id, EV_INT_sequence) != 8 && (zResult[2] + 100) < pOrigin[2] && is_user_alive(id) && (gVelocity[id][0] > 0.0 && gVelocity[id][1] > 0.0 && gVelocity[id][2] > 0.0)) Entvars_Set_Int(id, EV_INT_sequence, 8) return PLUGIN_HANDLED } //----------------------------------------------------------------------------------------------
Last edited by jacker; 12-08-2009 at 01:48.
|
|