Furien30_level_sisms.amxx licentiat? [rezolvat]
Discutii despre tot ce nu se incadreaza in celelalte categorii (dar legat de Counter-Strike !)
Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com
-
- Membru, skill 0
- Posts: 50
- Joined: 23 Dec 2013, 22:31
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Has thanked: 18 times
- Contact:
Salut, ma puteti ajuta si pe mine sa fac rost de pluginul furien30_level_sistems.amxx licentiat, deoarce al menu nu este licentiat si imi pica server din cauza lui . Sunt dispus sa platesc pentru cei care ma ajuta.
- Te-am_prins
- Membru, skill +3
- Posts: 1227
- Joined: 25 Jan 2014, 16:32
- Detinator Steam: Da
- Detinator server CS: 89.40.233.130
- SteamID: Fix pe asta il stiu
- Reputatie: Fost moderator
Membru Club eXtreamCS (7 luni)
1 avertisment scos (-2 luni club)
-1 warn (anti-tepari shop) - Location: Bucuresti
- Has thanked: 34 times
- Been thanked: 90 times
- Contact:
-
- Membru, skill 0
- Posts: 50
- Joined: 23 Dec 2013, 22:31
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Has thanked: 18 times
- Contact:
- Doctor whO? <3
- Membru, skill +3
- Posts: 1197
- Joined: 21 Jun 2013, 12:40
- Detinator Steam: Da
- CS Status: Citesc forumul eXtreamCS.com...!
- Reputatie: Fost Membru Club eXtreamCS (doua luni)
- Has thanked: 111 times
- Been thanked: 76 times
- Contact:
- | Afiseaza codul
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <engine> #include <fakemeta> #include <fakemeta_util> #include <fun> #include <hamsandwich> // VIP #define VIP_LEVEL ADMIN_LEVEL_H #define VIP_XP_MULTIPLIER 2.0 // Objective Modifiers #define DEFUSING_BOMB 20.0 // XP awarded when the user starts to defuse the bomb #define DEFUSED_BOMB 40.0 // XP awarded when the user defuses the bomb #define PLANTING_BOMB 20.0 // XP awarded when the user starts planting the bomb #define PLANT_BOMB 40.0 // XP awarded when the user plants the bomb #define BOMB_PICKUP 20.0 // XP awarded when the user picks up the bomb #define TOUCH_HOSTAGE 20.0 // XP awarded when the user touches a hostage #define RESCUE_HOSTAGE 40.0 // XP awarded when the user rescues the hostage #define KILL_HOSTAGE 20.0 // XP lost when killing a hostage #define SPAWN_VIP 20.0 // XP awarded for spawning as the VIP #define ESCAPE_VIP 40.0 // XP awarded for escaping as the VIP // Kill modifiers #define KILL 35.0 // XP awarded for getting a headshot #define KILL_HEADSHOT 20.0 // XP awarded for getting a headshot #define KILL_HOSTAGE_SAVER 20.0 // XP awarded for killing the hostage saver #define KILL_DEFUSER 20.0 // XP awarded for killing the defuser #define KILL_PLANTER 20.0 // XP awarded for killing the planter #define KILL_BOMB_CARRIER 20.0 // XP awarded for killing the bomb carrier #define KILL_VIP 40.0 // XP awarded for killing the VIP #define WIN_ROUND 40.0 // XP awarded for winning the round enum { PLR_BOMB_DEFUSER = 1, PLR_BOMB_PLANTER, PLR_HOSTAGE_RESCUER, PLR_VIP, PLR_BOMB_CARRIER, }; forward bomb_planting(planter); forward bomb_planted(planter); forward bomb_defusing(defuser); forward bomb_defused(defuser); new bool:HasBegunPlantingOrDefusing[33], PlayerRole[33]; //------| Ultimates |------// #define ULT_SUICIDE #define ULT_BLINK #define ULT_CHAINLIGHTNING #define ULT_ENTANGLE #define ULT_IMMOLATE #define ULT_BIGBADVOODOO #define ULT_VENGEANCE #define ULT_LOCUSTSWARM //------| Furien Powers |------// #define POWER_UNHOLYAURA #define POWER_LEVITATION #define POWER_VAMPIRICAURA #define POWER_EVASION #define POWER_TRUESHOT #define POWER_PHOENIX #define POWER_BANISH #define POWER_UNSTABLECONCOCTION //------| Anti Furien Powers |------// #define POWER_DEVOTIONAURA #define POWER_BASH #define POWER_CRITICALSTRIKE #define POWER_CRITICALGRENADE #define POWER_SIPHONMANA #define POWER_HEALINGWAVE #define POWER_SHADOWSTRIKE #define POWER_ORB new MAX_LEVEL #define EXPERIENCE_LEVEL 200 #define DESIGN1_STYLE "<meta charset=UTF-8><style>body{background:#112233;font-family:Arial}th{background:#558866;color:#FFF;padding:10px 2px;text-align:left}td{padding:4px 3px}table{background:#EEEECC;font-size:12px;font-family:Arial}h2,h3{color:#FFF;font-family:Verdana}#c{background:#E2E2BC}img{height:10px;background:#09F;margin:0 3px}#r{height:10px;background:#B6423C}#clr{background:none;color:#FFF;font-size:20px}</style>" #define DESIGN2_STYLE "<meta charset=UTF-8><style>body{font-family:Arial}th{background:#575757;color:#FFF;padding:5px;border-bottom:2px #BCE27F solid;text-align:left}td{padding:3px;border-bottom:1px #E7F0D0 solid}table{color:#3C9B4A;background:#FFF;font-size:12px}h2,h3{color:#333;font-family:Verdana}#c{background:#F0F7E2}img{height:10px;background:#62B054;margin:0 3px}#r{height:10px;background:#717171}#clr{background:none;color:#575757;font-size:20px}</style>" #define DESIGN3_STYLE "<meta charset=UTF-8><style>body{background:#E6E6E6;font-family:Verdana}th{background:#F5F5F5;color:#A70000;padding:6px;text-align:left}td{padding:2px 6px}table{color:#333;background:#E6E6E6;font-size:10px;font-family:Georgia;border:2px solid #D9D9D9}h2,h3{color:#333;}#c{background:#FFF}img{height:10px;background:#14CC00;margin:0 3px}#r{height:10px;background:#CC8A00}#clr{background:none;color:#A70000;font-size:20px;border:0}</style>" #define DESIGN4_STYLE "<meta charset=UTF-8><style>body{background:#E8EEF7;margin:2px;font-family:Tahoma}th{color:#0000CC;padding:3px}tr{text-align:left;background:#E8EEF7}td{padding:3px}table{background:#CCC;font-size:11px}h2,h3{font-family:Verdana}img{height:10px;background:#09F;margin:0 3px}#r{height:10px;background:#B6423C}#clr{background:none;color:#000;font-size:20px}</style>" #define DESIGN5_STYLE "<meta charset=UTF-8><style>body{background:#555;font-family:Arial}th{border-left:1px solid #ADADAD;border-top:1px solid #ADADAD}table{background:#3C3C3C;font-size:11px;color:#FFF;border-right:1px solid #ADADAD;border-bottom:1px solid #ADADAD;padding:3px}h2,h3{color:#FFF}#c{background:#FF9B00;color:#000}img{height:10px;background:#00E930;margin:0 3px}#r{height:10px;background:#B6423C}#clr{background:none;color:#FFF;font-size:20px;border:0}</style>" #define DESIGN6_STYLE "<meta charset=UTF-8><style>body{background:#FFF;font-family:Tahoma}th{background:#303B4A;color:#FFF}table{padding:6px 2px;background:#EFF1F3;font-size:12px;color:#222;border:1px solid #CCC}h2,h3{color:#222}#c{background:#E9EBEE}img{height:7px;background:#F8931F;margin:0 3px}#r{height:7px;background:#D2232A}#clr{background:none;color:#303B4A;font-size:20px;border:0}</style>" #define DESIGN7_STYLE "<meta charset=UTF-8><style>body{background:#FFF;font-family:Verdana}th{background:#2E2E2E;color:#FFF;text-align:left}table{padding:6px 2px;background:#FFF;font-size:11px;color:#333;border:1px solid #CCC}h2,h3{color:#333}#c{background:#F0F0F0}img{height:7px;background:#444;margin:0 3px}#r{height:7px;background:#999}#clr{background:none;color:#2E2E2E;font-size:20px;border:0}</style>" #define DESIGN8_STYLE "<meta charset=UTF-8><style>body{background:#242424;margin:20px;font-family:Tahoma}th{background:#2F3034;color:#BDB670;text-align:left} table{padding:4px;background:#4A4945;font-size:10px;color:#FFF}h2,h3{color:#D2D1CF}#c{background:#3B3C37}img{height:12px;background:#99CC00;margin:0 3px}#r{height:12px;background:#999900}#clr{background:none;color:#FFF;font-size:20px}</style>" #define DESIGN9_STYLE "<meta charset=UTF-8><style>body{background:#FFF;font-family:Tahoma}th{background:#056B9E;color:#FFF;padding:3px;text-align:left;border-top:4px solid #3986AC}td{padding:2px 6px}table{color:#006699;background:#FFF;font-size:12px;border:2px solid #006699}h2,h3{color:#F69F1C;}#c{background:#EFEFEF}img{height:5px;background:#1578D3;margin:0 3px}#r{height:5px;background:#F49F1E}#clr{background:none;color:#056B9E;font-size:20px;border:0}</style>" #define DESIGN10_STYLE "<meta charset=UTF-8><style>body{background:#4C5844;font-family:Tahoma}th{background:#1E1E1E;color:#C0C0C0;padding:2px;text-align:left;}td{padding:2px 10px}table{color:#AAC0AA;background:#424242;font-size:13px}h2,h3{color:#C2C2C2;font-family:Tahoma}#c{background:#323232}img{height:3px;background:#B4DA45;margin:0 3px}#r{height:3px;background:#6F9FC8}#clr{background:none;color:#FFF;font-size:20px}</style>" #define DESIGN11_STYLE "<meta charset=UTF-8><style>body{background:#F2F2F2;font-family:Arial}th{background:#175D8B;color:#FFF;padding:7px;text-align:left}td{padding:3px;border-bottom:1px #BFBDBD solid}table{color:#153B7C;background:#F4F4F4;font-size:11px;border:1px solid #BFBDBD}h2,h3{color:#153B7C}#c{background:#ECECEC}img{height:8px;background:#54D143;margin:0 3px}#r{height:8px;background:#C80B0F}#clr{background:none;color:#175D8B;font-size:20px;border:0}</style>" #define DESIGN12_STYLE "<meta charset=UTF-8><style>body{background:#283136;font-family:Arial}th{background:#323B40;color:#6ED5FF;padding:10px 2px;text-align:left}td{padding:4px 3px;border-bottom:1px solid #DCDCDC}table{background:#EDF1F2;font-size:10px;border:2px solid #505A62}h2,h3{color:#FFF}img{height:10px;background:#A7CC00;margin:0 3px}#r{height:10px;background:#CC3D00}#clr{background:none;color:#6ED5FF;font-size:20px;border:0}</style>" #define DESIGN13_STYLE "<meta charset=UTF-8><style>body{background:#220000;font-family:Tahoma}th{background:#3E0909;color:#FFF;padding:5px 2px;text-align:left;border-bottom:1px solid #DEDEDE}td{padding:2px 2px;}table{background:#FFF;font-size:11px;border:1px solid #791616}h2,h3{color:#FFF}#c{background:#F4F4F4;color:#7B0000}img{height:7px;background:#a00000;margin:0 3px}#r{height:7px;background:#181818}#clr{background:none;color:#CFCFCF;font-size:20px;border:0}</style>" #define DEFAULT_STYLE "<meta charset=UTF-8><style>body{background:#000}tr{text-align:left}table{font-size:13px;color:#FFB000;padding:2px}h2,h3{color:#FFF;font-family:Verdana}img{height:5px;background:#0000FF;margin:0 3px}#r{height:5px;background:#FF0000}</style>" new Menu, PlayerLevel[33], PlayerExperience[33], PlayerCredits[33], Credits[33]; new ExperienceFile[128]; new cvar_motd_style; new GlowLevel[33][4] #define MAX_HEALTH 250 #define TASK_GLOW 416 #define MAXGLOW 150 //------| Ultimates |------// #define SOUND_ERROR "furien30_levelssistem/error.wav" #define SOUND_ULTIMATEREADY "furien30_levelssistem/resurrecttarget.wav" #define SOUND_SEARCHING "turret/tu_ping.wav" #define TASK_DELAY 2131241 #define TASK_SEARCHING 1738 new PlayerUltimate[33], NextUltimate[33], UltimateGlobalDelay = 0, UltimateDelay[33], UltimateIsUsed[33], Ultimate_Is_Searching[33], EndRound new cvar_ultimate_countdown, cvar_ultimate_countdown_start; //------| Suicide Bomb |------// #if defined ULT_SUICIDE new ULTIMATE_SUICIDE[][] = { "Suicide Bomber", "1", "dmg_rad" }; new SPR_SUICIDE_EXPLODE, SPR_SUICIDE_SMOKE, SPR_SUICIDE_BLAST #define EXPLOSION_MAX_DAMAGE 200.0 #define EXPLOSION_KNOCKBACK 5.0 #define EXPLOSION_BLAST_RADIUS 250.0 #define TASK_EXPLOSION 160 #define TASK_BEAMCYLINDER 192 #define SOUND_SUICIDE "ambience/particle_suck1.wav" new SuicideBombArmed[33], BloodSpray, BloodDrop #endif //------| Blink |------// #if defined ULT_BLINK new ULTIMATE_BLINK[][] = { "Blink", "2", "item_longjump" }; new SPR_TELEPORT, SPR_TELEPORT_GIB #define BLINK_COUNTDOWN 2.0 #define SOUND_BLINK "weapons/flashbang-1.wav" new const Float:Size[][3] = { {0.0, 0.0, 1.0}, {0.0, 0.0, -1.0}, {0.0, 1.0, 0.0}, {0.0, -1.0, 0.0}, {1.0, 0.0, 0.0}, {-1.0, 0.0, 0.0}, {-1.0, 1.0, 1.0}, {1.0, 1.0, 1.0}, {1.0, -1.0, 1.0}, {1.0, 1.0, -1.0}, {-1.0, -1.0, 1.0}, {1.0, -1.0, -1.0}, {-1.0, 1.0, -1.0}, {-1.0, -1.0, -1.0}, {0.0, 0.0, 2.0}, {0.0, 0.0, -2.0}, {0.0, 2.0, 0.0}, {0.0, -2.0, 0.0}, {2.0, 0.0, 0.0}, {-2.0, 0.0, 0.0}, {-2.0, 2.0, 2.0}, {2.0, 2.0, 2.0}, {2.0, -2.0, 2.0}, {2.0, 2.0, -2.0}, {-2.0, -2.0, 2.0}, {2.0, -2.0, -2.0}, {-2.0, 2.0, -2.0}, {-2.0, -2.0, -2.0}, {0.0, 0.0, 3.0}, {0.0, 0.0, -3.0}, {0.0, 3.0, 0.0}, {0.0, -3.0, 0.0}, {3.0, 0.0, 0.0}, {-3.0, 0.0, 0.0}, {-3.0, 3.0, 3.0}, {3.0, 3.0, 3.0}, {3.0, -3.0, 3.0}, {3.0, 3.0, -3.0}, {-3.0, -3.0, 3.0}, {3.0, -3.0, -3.0}, {-3.0, 3.0, -3.0}, {-3.0, -3.0, -3.0}, {0.0, 0.0, 4.0}, {0.0, 0.0, -4.0}, {0.0, 4.0, 0.0}, {0.0, -4.0, 0.0}, {4.0, 0.0, 0.0}, {-4.0, 0.0, 0.0}, {-4.0, 4.0, 4.0}, {4.0, 4.0, 4.0}, {4.0, -4.0, 4.0}, {4.0, 4.0, -4.0}, {-4.0, -4.0, 4.0}, {4.0, -4.0, -4.0}, {-4.0, 4.0, -4.0}, {-4.0, -4.0, -4.0}, {0.0, 0.0, 5.0}, {0.0, 0.0, -5.0}, {0.0, 5.0, 0.0}, {0.0, -5.0, 0.0}, {5.0, 0.0, 0.0}, {-5.0, 0.0, 0.0}, {-5.0, 5.0, 5.0}, {5.0, 5.0, 5.0}, {5.0, -5.0, 5.0}, {5.0, 5.0, -5.0}, {-5.0, -5.0, 5.0}, {5.0, -5.0, -5.0}, {-5.0, 5.0, -5.0}, {-5.0, -5.0, -5.0} } #endif //------| Chain Lightning |------// #if defined ULT_CHAINLIGHTNING new ULTIMATE_CHAINLIGHTNING[][] = { "Chain Lightning", "3", "dmg_shock" }; new SPR_LIGHTNING #define CHAINLIGHTNING_DAMAGE 100 #define CHAINLIGHTNING_LINEWIDTH 60 #define LIGHTNING_RANGE 500 #define TASK_LIGHTNING 960 #define TASK_LIGHTNINGNEXT 1024 #define SOUND_LIGHTNING "furien30_levelssistem/lightningbolt.wav" new LightningHit[33] #endif //------| Entangle |------// #if defined ULT_ENTANGLE new ULTIMATE_ENTANGLE[][] = { "Entangling Roots", "4", "item_healthkit" }; new SPR_TRAIL, SPR_BEAM #define ENTANGLE_TIME 10.0 #define TASK_RESETSPEED 512 #define TASK_ENTANGLEWAIT 928 #define SOUND_ENTANGLING "furien30_levelssistem/entanglingrootstarget1.wav" new IsStunned[33], Float:LastSpeed[33]; #endif //------| Immolate |------// #if defined ULT_IMMOLATE new ULTIMATE_IMMOLATE[][] = { "Immolate", "5", "dmg_heat" }; new SPR_IMMOLATE, SPR_BURNING, SPR_FIRE #define IMMOLATE_DAMAGE 65 #define IMMOLATE_DOT_DAMAGE 5 #define IMMOLATE_DOT 6 #define TASK_BURNING 1684 #define SOUND_IMMOLATE "furien30_levelssistem/ImmolationDecay1.wav" #define SOUND_IMMOLATE_BURNING "ambience/flameburst1.wav" #endif //------| Big Bad Voodoo |------// #if defined ULT_BIGBADVOODOO new ULTIMATE_BIGBADVOODOO[][] = { "Big Bad Voodoo", "6", "suit_full" }; #define BIGBADVOODOO_DURATION 2 #define TASK_RESETGOD 608 #define SOUND_VOODOO "furien30_levelssistem/divineshield.wav" #endif //------| Vengeance |------// #if defined ULT_VENGEANCE new ULTIMATE_VENGEANCE[][] = { "Vengeance", "7", "cross" }; #define VENGEANCE_HEALTH 75 #define TOTAL_SPAWNS 64 #define SPAWN_DELAY 0.2 #define TASK_RESETSPAWNS 3001 #define TASK_SPAWN 32 #define TASK_SPAWNPLAYER 1056 #define TASK_GIVEITEMS 1088 #define TASK_SPAWNREMOVEGOD 128 #define SOUND_VENGEANCE "furien30_levelssistem/MiniSpiritPissed1.wav" new SpawnReserved[TOTAL_SPAWNS], SpawnEnt[2][32], SpawnInc = 0 #endif //------| Locust Swarm |------// #if defined ULT_LOCUSTSWARM new ULTIMATE_LOCUSTSWARM[][] = { "Locust Swarm", "8", "dmg_gas" }; new SPR_SNOW #define LOCUSTSWARM_DMG_MIN 50 #define LOCUSTSWARM_DMG_MAX 75 #define TASK_FUNNELS 1354 #define SOUND_LOCUSTSWARM "furien30_levelssistem/locustswarmloop.wav" #endif //------| Powers |------// #define SKILL_MAX_LEVEL 3 #define DMG_HEGRENADE (1<<24) #define HITGROUP_GENERIC 0 // none #define HITGROUP_HEAD 1 // 1 << 1 = 2 #define HITGROUP_CHEST 2 // 1 << 2 = 4 #define HITGROUP_STOMACH 3 // 8 #define HITGROUP_LEFTARM 4 // 16 #define HITGROUP_RIGHTARM 5 // 32 #define HITGROUP_LEFTLEG 6 // 64 #define HITGROUP_RIGHTLEG 7 // 128 //------| Furien Powers |------// //------| Unholy Aura |------// #if defined POWER_UNHOLYAURA new SKILL_UNHOLYAURA[][] = { "Unholy Aura", "1" }; new Float:Unholy[SKILL_MAX_LEVEL] = {630.0,660.0,700.0} new UnholyAura_Level[33] new UnholyAuraFile[128]; #endif //------| Levitation |------// #if defined POWER_LEVITATION new SKILL_LEVITATION[][] = { "Levitation", "4" }; new Float:Levitation[SKILL_MAX_LEVEL] = {0.450,0.425,0.400} new Levitation_Level[33] new LevitationFile[128]; #endif //------| Vampiric Aura |------// #if defined POWER_VAMPIRICAURA new SKILL_VAMPIRICAURA[][] = { "Vampiric Aura", "8" }; new const Float:Vampiric[SKILL_MAX_LEVEL] = {0.1,0.2,0.3} new VampiricAura_Level[33] new VampiricAuraFile[128]; #endif //------| Evasion |------// #if defined POWER_EVASION new SKILL_EVASION[][] = { "Evasion", "12" }; new const Float:Evasion[SKILL_MAX_LEVEL] = {0.1,0.2,0.3} new Evasion_Level[33] new EvasionFile[128]; #endif //------| Banish |------// #if defined POWER_BANISH new SKILL_BANISH[][] = { "Banish", "16" }; new const Float:Banish[SKILL_MAX_LEVEL] = {0.1,0.2,0.3} #define BANISH_DAMAGE 1 #define BANISH_HOLDTIME 0.7 #define TASK_BANISH 96 #define TASK_BANISHRETURN 345 #define SOUND_BANISH "furien30_levelssistem/banishcaster.wav" new Banish_Level[33], bool:PlayerBanished[33], SPR_BANISH; new BanishFile[128]; #endif //------| True Shot |------// #if defined POWER_TRUESHOT new SKILL_TRUESHOT[][] = { "True Shot", "20" }; new const Float:TrueShot[SKILL_MAX_LEVEL] = {0.1,0.2,0.3} new TrueShot_Level[33] new TrueShotFile[128]; #endif //------| Phoenix |------// #if defined POWER_PHOENIX new SKILL_PHOENIX[][] = { "Phoenix", "24" }; new const Float:Phoenix[SKILL_MAX_LEVEL] = {0.1,0.2,0.3} new Phoenix_Level[33], bool:IsPhoenix[33] new PhoenixFile[128]; #endif //------| Unstable Concoction |------// #if defined POWER_UNSTABLECONCOCTION new PASS_UNSTABLECONCOCTION[] = "Unstable Concoction" new const Float:Concoction = 0.015 new SPR_SHOCKWAVE #define CONCOCTION_DAMAGE 15 #define CONCOCTION_RADIUS 300 #define SOUND_CONCOCTION_CAST "furien30_levelssistem/PossessionMissileLaunch1.wav" #define SOUND_CONCOCTION_HIT "furien30_levelssistem/PossessionMissileHit1.wav" #endif //------| Anti Furien Powers |------// #if defined POWER_DEVOTIONAURA new SKILL_DEVOTIONAURA[][] = { "Devotion Aura", "1" }; new const Devotion = 30 new DevotionAura_Level[33] new DevotionAuraFile[128]; #endif //------| Critical Strike |------// #if defined POWER_CRITICALSTRIKE new SKILL_CRITICALSTRIKE[][] = { "Critical Strike", "4" }; new const Float:Critical[SKILL_MAX_LEVEL] = {0.2,0.4,0.6} #define CRITICAL_STRIKE_CHANCE 0.15 new CriticalStrike_Level[33] new CriticalStrikeFile[128]; #endif //------| Critical Grenade |------// #if defined POWER_CRITICALGRENADE new SKILL_CRITICALGRENADE[][] = { "Critical Grenade", "8" }; new const Float:Grenade[SKILL_MAX_LEVEL] = {1.3,1.6,2.0} new CriticalGrenade_Level[33] new CriticalGrenadeFile[128]; #endif //------| Bash |------// #if defined POWER_BASH new SKILL_BASH[][] = { "Bash", "12" }; new const Float:Bash[SKILL_MAX_LEVEL] = {0.1,0.2,0.3} #define BASH_GLOW_INTENSITY 20 #define BASH_HOLD_TIME 0.7 #define TASK_RESETBASH 512 new Bash_Level[33], Bash_Stunned[33], Float:Bash_LastSpeed[33] new BashFile[128]; #endif //------| Healing Wave |------// #if defined POWER_HEALINGWAVE new SKILL_HEALINGWAVE[][] = { "Healing Wave", "16" }; new const Float:Heal[SKILL_MAX_LEVEL] = {3.0,2.0,1.0} #define HEALING_WAVE_RANGE 750 #define TASK_WAVE 352 new HealingWave_Level[33] new HealingWaveFile[128]; #endif //------| Shadow Strike |------// #if defined POWER_SHADOWSTRIKE new SKILL_SHADOWSTRIKE[][] = { "Shadow Strike", "20" }; new const Float:Shadow[SKILL_MAX_LEVEL] = {0.1,0.2,0.3} #define SHADOWSTRIKE_DAMAGE 10 #define SOUND_SHADOWSTRIKE "furien30_levelssistem/shadowstrikebirth.wav" new ShadowStrike_Level[33], SPR_SHADOWSTRIKE new ShadowStrikeFile[128]; #endif //------| Siphon Mana |------// #if defined POWER_SIPHONMANA new SKILL_SIPHONMANA[][] = { "Siphon Mana", "24" }; new const Float:Mana[SKILL_MAX_LEVEL] = {0.02,0.04,0.06} new SiphonMana_Level[33] new SiphonManaFile[128]; #endif //------| Orb of Annihilation |------// #if defined POWER_ORB new PASS_ORB[] = "Orb of Annihilation" new const Float:Orb = 0.015 new SPR_WAVE #define ORB_DAMAGE 20 #define SOUND_ANNIHILATION "furien30_levelssistem/PurgeTarget1.wav" #endif static const ServerLicensedIp[ ] = "86.124.128.54"; public plugin_init() { register_plugin("Furien Levels Sistem", "3.0", "Aragon*") new ServerIp[20]; get_user_ip(0, ServerIp, charsmax(ServerIp), 1); if(equal(ServerIp, ServerLicensedIp)) plugin_init2() else pause( "ade" ); } public plugin_init2() { register_clcmd("ultimate", "CMD_Ultimate"); register_clcmd("resetskills", "CMD_ResetSkills"); register_clcmd("say /resetskills", "CMD_ResetSkills"); register_clcmd("say_team /resetskills", "CMD_ResetSkills"); register_clcmd("powers", "PowersMenu"); register_clcmd("say /powers", "PowersMenu"); register_clcmd("say_team /powers", "PowersMenu"); register_clcmd("playersinfo", "PlayersInfo"); register_clcmd("say /playersinfo", "PlayersInfo"); register_clcmd("say playersinfo", "PlayersInfo"); register_clcmd("say_team /playersinfo", "PlayersInfo"); register_clcmd("say_team playersinfo", "PlayersInfo"); register_concmd("amx_give_xp", "GiveExperience", ADMIN_CVAR, "Name/@All -> Amount"); register_concmd("amx_reset_xp", "ResetExperience", ADMIN_CVAR, "Name/@All -> Amount"); register_logevent("LOGEVENT_RoundStart", 2, "1=Round_Start"); register_logevent("LOGEVENT_RoundEnd", 2, "1=Round_End"); register_logevent("LOGEVENT_PlayerAction", 3, "1=triggered"); register_event("SendAudio","EVENT_FurienWin","a","2=%!MRAD_terwin"); register_event("SendAudio","EVENT_AntiFurienWin","a","2=%!MRAD_ctwin"); register_event("HLTV", "EVENT_NewRound", "a", "1=0", "2=0") register_event("DeathMsg", "EVENT_Death", "a"); register_forward(FM_ClientUserInfoChanged, "FWD_ChangeName"); register_forward(FM_TraceLine , "FWD_TraceLine" ); register_forward(FM_PlayerPreThink, "FWD_PlayerPreThink"); RegisterHam(Ham_Spawn, "player", "HAM_Spawn_Post", 1); RegisterHam(Ham_TakeDamage, "player", "HAM_TakeDamage"); cvar_motd_style = register_cvar("furien30_playersinfo_motdstyle", "10"); cvar_ultimate_countdown = register_cvar("furien30_ultimate_delay", "25"); //| Ultimate CountDown |// cvar_ultimate_countdown_start = register_cvar("furien30_ultimate_delay_startround", "10"); //| Ultimate CountDown Start |// #if defined ULT_VENGEANCE copy(SpawnEnt[0], 31, "info_player_start"); copy(SpawnEnt[1], 31, "info_player_deathmatch"); #endif new DataDir[64] get_datadir(DataDir, 63) format(ExperienceFile, 127, "%s/Experience.dat", DataDir) #if defined POWER_UNHOLYAURA format(UnholyAuraFile, 127, "%s/UnholyAura.dat", DataDir) #endif #if defined POWER_LEVITATION format(LevitationFile, 127, "%s/Levitation.dat", DataDir) #endif #if defined POWER_VAMPIRICAURA format(VampiricAuraFile, 127, "%s/VampiricAura.dat", DataDir) #endif #if defined POWER_EVASION format(EvasionFile, 127, "%s/Evasion.dat", DataDir) #endif #if defined POWER_BANISH format(BanishFile, 127, "%s/Banish.dat", DataDir) #endif #if defined POWER_PHOENIX format(PhoenixFile, 127, "%s/Phoenix.dat", DataDir) #endif #if defined POWER_TRUESHOT format(TrueShotFile, 127, "%s/TrueShot.dat", DataDir) #endif #if defined POWER_DEVOTIONAURA format(DevotionAuraFile, 127, "%s/DevotionAura.dat", DataDir) #endif #if defined POWER_CRITICALSTRIKE format(CriticalStrikeFile, 127, "%s/CriticalStrike.dat", DataDir) #endif #if defined POWER_CRITICALGRENADE format(CriticalGrenadeFile, 127, "%s/CriticalGrenade.dat", DataDir) #endif #if defined POWER_BASH format(BashFile, 127, "%s/Bash.dat", DataDir) #endif #if defined POWER_HEALINGWAVE format(HealingWaveFile, 127, "%s/HealingWave.dat", DataDir) #endif #if defined POWER_SHADOWSTRIKE format(ShadowStrikeFile, 127, "%s/ShadowStrike.dat", DataDir) #endif #if defined POWER_SIPHONMANA format(SiphonManaFile, 127, "%s/SiphonMana.dat", DataDir) #endif new Power #if defined POWER_UNHOLYAURA Power++ #endif #if defined POWER_LEVITATION Power++ #endif #if defined POWER_VAMPIRICAURA Power++ #endif #if defined POWER_EVASION Power++ #endif #if defined POWER_BANISH Power++ #endif #if defined POWER_TRUESHOT Power++ #endif #if defined POWER_PHOENIX Power++ #endif #if defined POWER_DEVOTIONAURA Power++ #endif #if defined POWER_CRITICALSTRIKE Power++ #endif #if defined POWER_CRITICALGRENADE Power++ #endif #if defined POWER_BASH Power++ #endif #if defined POWER_HEALINGWAVE Power++ #endif #if defined POWER_SHADOWSTRIKE Power++ #endif #if defined POWER_SIPHONMANA Power++ #endif MAX_LEVEL = Power * SKILL_MAX_LEVEL set_task(320.0,"TASK_Messages", 0,_,_,"b"); } public plugin_precache() { precache_sound(SOUND_ERROR) precache_sound(SOUND_ULTIMATEREADY) precache_sound(SOUND_SEARCHING) #if defined ULT_SUICIDE BloodSpray = precache_model("sprites/bloodspray.spr"); BloodDrop = precache_model("sprites/blood.spr"); SPR_SUICIDE_EXPLODE = precache_model("sprites/zerogxplode.spr") SPR_SUICIDE_SMOKE = precache_model("sprites/steam1.spr") SPR_SUICIDE_BLAST = precache_model("sprites/shockwave.spr") precache_sound(SOUND_SUICIDE) #endif #if defined ULT_BLINK SPR_TELEPORT = precache_model("sprites/b-tele1.spr") SPR_TELEPORT_GIB = precache_model("sprites/blueflare2.spr") precache_sound(SOUND_BLINK) #endif #if defined ULT_CHAINLIGHTNING SPR_LIGHTNING = precache_model("sprites/lgtning.spr"); precache_sound(SOUND_LIGHTNING) #endif #if defined ULT_ENTANGLE SPR_TRAIL = precache_model("sprites/smoke.spr"); SPR_BEAM = precache_model("sprites/zbeam4.spr"); precache_sound(SOUND_ENTANGLING) #endif #if defined ULT_IMMOLATE SPR_IMMOLATE = precache_model("sprites/furien30_levelssistem/fireball.spr"); SPR_BURNING = precache_model("sprites/xfire.spr"); SPR_FIRE = precache_model("sprites/explode1.spr"); precache_sound(SOUND_IMMOLATE) precache_sound(SOUND_IMMOLATE_BURNING) #endif #if defined ULT_BIGBADVOODOO precache_sound(SOUND_VOODOO) #endif #if defined ULT_VENGEANCE precache_sound(SOUND_VENGEANCE) #endif #if defined ULT_LOCUSTSWARM SPR_SNOW = precache_model("sprites/snow.spr"); precache_sound(SOUND_LOCUSTSWARM); #endif #if defined POWER_BANISH precache_sound(SOUND_BANISH) SPR_BANISH = precache_model("sprites/nhth1.spr") #endif #if defined POWER_UNSTABLECONCOCTION precache_sound(SOUND_CONCOCTION_CAST) precache_sound(SOUND_CONCOCTION_HIT) SPR_SHOCKWAVE = precache_model("sprites/shockwave.spr") #endif #if defined POWER_SHADOWSTRIKE precache_sound(SOUND_SHADOWSTRIKE) SPR_SHADOWSTRIKE = precache_model("sprites/animglow01.spr"); #endif #if defined POWER_ORB SPR_WAVE = precache_model("sprites/gwave1.spr"); precache_sound(SOUND_ANNIHILATION) #endif } public plugin_natives() { register_native("set_user_xp", "set_user_xp", 1); register_native("set_user_ultimate", "set_user_ultimate", 1); register_native("get_user_xp", "get_user_xp", 1); register_native("get_user_next_level_xp", "get_user_next_level_xp", 1); register_native("get_user_level", "get_user_level", 1); register_native("get_max_level", "get_max_level", 1); register_native("get_user_ultimate", "get_user_ultimate", 1); register_native("get_user_ultimate_name", "get_user_ultimate_name", 1); } public set_user_xp(id, xp) { if(is_user_connected(id)) { PlayerExperience[id] = xp; SaveExperience(id); } } public set_user_ultimate(id, ultimate) { if(is_user_connected(id)) NextUltimate[id] = ultimate } public get_user_xp(id) { return is_user_connected(id) ? PlayerExperience[id] : 0 } public get_user_next_level_xp(id) { if(is_user_connected(id) && (PlayerLevel[id] + 1) <= MAX_LEVEL) return EXPERIENCE_LEVEL * (PlayerLevel[id] + 1); else return 0 return 0 } public get_user_level(id) { return is_user_connected(id) ? PlayerLevel[id] : 0 } public get_max_level() { return MAX_LEVEL } public get_user_ultimate(id) { return is_user_connected(id) ? PlayerUltimate[id] : 0 } public get_user_ultimate_name(id) { new None[256]; formatex(None,sizeof(None)-1,"None"); if(is_user_connected(id)) { #if defined ULT_SUICIDE if(get_user_ultimate(id) == str_to_num(ULTIMATE_SUICIDE[1])) { new Suicide[256]; formatex(Suicide,sizeof(Suicide)-1,"%s", ULTIMATE_SUICIDE[0]); return Suicide } #endif #if defined ULT_BLINK if(get_user_ultimate(id) == str_to_num(ULTIMATE_BLINK[1])) { new Blink[256]; formatex(Blink,sizeof(Blink)-1,"%s", ULTIMATE_BLINK[0]); return Blink } #endif #if defined ULT_CHAINLIGHTNING if(get_user_ultimate(id) == str_to_num(ULTIMATE_CHAINLIGHTNING[1])) { new ChainLighthing[256]; formatex(ChainLighthing,sizeof(ChainLighthing)-1,"%s", ULTIMATE_CHAINLIGHTNING[0]); return ChainLighthing } #endif #if defined ULT_ENTANGLE if(get_user_ultimate(id) == str_to_num(ULTIMATE_ENTANGLE[1])) { new Entangle[256]; formatex(Entangle,sizeof(Entangle)-1,"%s", ULTIMATE_ENTANGLE[0]); return Entangle } #endif #if defined ULT_IMMOLATE if(get_user_ultimate(id) == str_to_num(ULTIMATE_IMMOLATE[1])) { new Immolate[256]; formatex(Immolate,sizeof(Immolate)-1,"%s", ULTIMATE_IMMOLATE[0]); return Immolate } #endif #if defined ULT_BIGBADVOODOO if(get_user_ultimate(id) == str_to_num(ULTIMATE_BIGBADVOODOO[1])) { new BigBadVoodoo[256]; formatex(BigBadVoodoo,sizeof(BigBadVoodoo)-1,"%s", ULTIMATE_BIGBADVOODOO[0]); return BigBadVoodoo } #endif #if defined ULT_VENGEANCE if(get_user_ultimate(id) == str_to_num(ULTIMATE_VENGEANCE[1])) { new Vengeance[256]; formatex(Vengeance,sizeof(Vengeance)-1,"%s", ULTIMATE_VENGEANCE[0]); return Vengeance } #endif #if defined ULT_LOCUSTSWARM if(get_user_ultimate(id) == str_to_num(ULTIMATE_LOCUSTSWARM[1])) { new LocustWarm[256]; formatex(LocustWarm,sizeof(LocustWarm)-1,"%s", ULTIMATE_LOCUSTSWARM[0]); return LocustWarm } #endif return None } return None } public TASK_Messages(id) { ColorChat(id, "!t[Furien]!g Scrie!t /powers!g in chat pentru a accesa puterile."); ColorChat(id, "!t[Furien]!g Scrie!t /playersinfo!g in chat pentru a vedea ce Level au ceilalti jucatori."); } public client_putinserver(id) { client_cmd(id, "bind j powers"); NextUltimate[id] = false; LoadExperience(id); #if defined POWER_UNHOLYAURA LoadUnholyAura(id) #endif #if defined POWER_LEVITATION LoadLevitation(id) #endif #if defined POWER_VAMPIRICAURA LoadVampiricAura(id) #endif #if defined POWER_EVASION LoadEvasion(id) #endif #if defined POWER_BANISH LoadBanish(id) #endif #if defined POWER_TRUESHOT LoadTrueShot(id) #endif #if defined POWER_PHOENIX LoadPhoenix(id) #endif #if defined POWER_DEVOTIONAURA LoadDevotionAura(id) #endif #if defined POWER_CRITICALSTRIKE LoadCriticalStrike(id) #endif #if defined POWER_CRITICALGRENADE LoadCriticalGrenade(id) #endif #if defined POWER_BASH LoadBash(id) #endif #if defined POWER_HEALINGWAVE LoadHealingWave(id) #endif #if defined POWER_SHADOWSTRIKE LoadShadowStrike(id) #endif #if defined POWER_SIPHONMANA LoadSiphonMana(id) #endif } public LOGEVENT_RoundStart() { EndRound = false } public LOGEVENT_RoundEnd() { EndRound = true } public LOGEVENT_PlayerAction() { new Arg[64], Action[64], Name[64]; new UserId, id; read_logargv(0, Arg, 64); read_logargv(2, Action, 64); parse_loguser(Arg, Name, 64, UserId); id = find_player("k", UserId); if(is_user_connected(id) && !EndRound) { if(equal(Action,"Dropped_The_Bomb")) { PlayerRole[id] = 0; new Float:BonusXP (get_user_flags(id) & VIP_LEVEL) ? (BonusXP = (BOMB_PICKUP * VIP_XP_MULTIPLIER)) : (BonusXP = BOMB_PICKUP) if(BonusXP) { new XP = floatround(BonusXP) set_user_xp(id, get_user_xp(id) - XP) ColorChat(id, "!gYou have lost!t %d XP!g for dropping the bomb", -1 * BonusXP); } } else if(equal(Action,"Got_The_Bomb")) { PlayerRole[id] = PLR_BOMB_CARRIER; new Float:BonusXP (get_user_flags(id) & VIP_LEVEL) ? (BonusXP = (BOMB_PICKUP * VIP_XP_MULTIPLIER)) : (BonusXP = BOMB_PICKUP) if(BonusXP) { new XP = floatround(BonusXP) set_user_xp(id, get_user_xp(id) + XP) ColorChat(id, "!gYou have been awarded!t %d XP for picking up the bomb", XP); } } else if(equal(Action,"Touched_A_Hostage")) { PlayerRole[id] = PLR_HOSTAGE_RESCUER; new Float:BonusXP (get_user_flags(id) & VIP_LEVEL) ? (BonusXP = (TOUCH_HOSTAGE * VIP_XP_MULTIPLIER)) : (BonusXP = TOUCH_HOSTAGE) if(BonusXP) { new XP = floatround(BonusXP) set_user_xp(id, get_user_xp(id) + XP) ColorChat(id, "!gYou have been awarded!t %d XP!g for starting to rescue a hostage", XP); } } else if(equal(Action,"Rescued_A_Hostage")) { new Float:BonusXP (get_user_flags(id) & VIP_LEVEL) ? (BonusXP = (RESCUE_HOSTAGE * VIP_XP_MULTIPLIER)) : (BonusXP = RESCUE_HOSTAGE) if(BonusXP) { new XP = floatround(BonusXP) set_user_xp(id, get_user_xp(id) + XP) ColorChat(id, "!gYou have been awarded!t %d XP!g for rescuing a hostage", XP); } } else if(equal(Action,"Killed_A_Hostage")) { new Float:BonusXP (get_user_flags(id) & VIP_LEVEL) ? (BonusXP = (KILL_HOSTAGE * VIP_XP_MULTIPLIER)) : (BonusXP = KILL_HOSTAGE) if(BonusXP) { new XP = floatround(BonusXP) set_user_xp(id, get_user_xp(id) - XP) ColorChat(id, "!gYou have lost!t %d XP!g for killing a hostage", -1 * BonusXP); } } else if(equal(Action,"Became_VIP")) { PlayerRole[id] = PLR_VIP; new Float:BonusXP (get_user_flags(id) & VIP_LEVEL) ? (BonusXP = (SPAWN_VIP * VIP_XP_MULTIPLIER)) : (BonusXP = SPAWN_VIP) if(BonusXP) { new XP = floatround(BonusXP) set_user_xp(id, get_user_xp(id) + XP) ColorChat(id, "!gYou have gained!t %d XP!g for spawning as the VIP", XP); } } else if(equal(Action,"Escaped_As_VIP")) { new Float:BonusXP (get_user_flags(id) & VIP_LEVEL) ? (BonusXP = (ESCAPE_VIP * VIP_XP_MULTIPLIER)) : (BonusXP = ESCAPE_VIP) if(BonusXP) { new XP = floatround(BonusXP) set_user_xp(id, get_user_xp(id) + XP) ColorChat(id, "!gYou have gained!t %d XP!g for escaping as the VIP", XP); } } } } public EVENT_Death() { new Attacker = read_data(1) new Victim = read_data(2) new Headshot= read_data(4) Ultimate_Reset(Victim); if(is_user_connected(Victim)) { #if defined ULT_SUICIDE if(get_user_ultimate(Victim) == str_to_num(ULTIMATE_SUICIDE[1])) { if(!UltimateGlobalDelay && !UltimateDelay[Victim]) Ultimate_SuicideExplode(Victim) } #endif #if defined ULT_VENGEANCE if(get_user_ultimate(Victim) == str_to_num(ULTIMATE_VENGEANCE[1])) { if(!UltimateGlobalDelay && !UltimateDelay[Victim] && !EndRound) Ultimate_Vengeance(Victim); } #endif #if defined POWER_BASH Bash_Stunned[Victim] = false #endif #if defined POWER_PHOENIX if(get_user_team(Victim) == 1) PhoenixSpawn(Victim) #endif #if defined POWER_BANISH PlayerBanished[Victim] = false; task_exists(TASK_BANISH + Victim) ? remove_task(TASK_BANISH + Victim) : 0 task_exists(TASK_BANISHRETURN + Victim) ? remove_task(TASK_BANISHRETURN + Victim) : 0 #endif } if(is_user_connected(Attacker) && Attacker != Victim) { new Float:BonusXP (get_user_flags(Attacker) & VIP_LEVEL) ? (BonusXP = (KILL * VIP_XP_MULTIPLIER)) : (BonusXP = KILL) if(BonusXP) { new XP = floatround(BonusXP) set_user_xp(Attacker, get_user_xp(Attacker) + XP) ColorChat(Attacker, "!gYou have been awarded!t %d XP!g for killing the enemy", XP); } if(Headshot) { (get_user_flags(Attacker) & VIP_LEVEL) ? (BonusXP = (KILL_HEADSHOT * VIP_XP_MULTIPLIER)) : (BonusXP = KILL_HEADSHOT) if(BonusXP) { new XP = floatround(BonusXP) set_user_xp(Attacker, get_user_xp(Attacker) + XP) ColorChat(Attacker, "!gYou have been awarded!t %d XP!g for getting a headshot", XP); } } if(PlayerRole[Victim] == PLR_HOSTAGE_RESCUER) { (get_user_flags(Attacker) & VIP_LEVEL) ? (BonusXP = (KILL_HOSTAGE_SAVER * VIP_XP_MULTIPLIER)) : (BonusXP = KILL_HOSTAGE_SAVER) if(BonusXP) { new XP = floatround(BonusXP) set_user_xp(Attacker, get_user_xp(Attacker) + XP) ColorChat(Attacker, "!gYou have been awarded!t %d XP!g for killing the hostage rescuer", XP); } } else if(PlayerRole[Victim] == PLR_BOMB_DEFUSER) { (get_user_flags(Attacker) & VIP_LEVEL) ? (BonusXP = (KILL_DEFUSER * VIP_XP_MULTIPLIER)) : (BonusXP = KILL_DEFUSER) if(BonusXP) { new XP = floatround(BonusXP) set_user_xp(Attacker, get_user_xp(Attacker) + XP) ColorChat(Attacker, "!gYou have been awarded!t %d XP!g for killing the bomb defuser", XP); } } else if(PlayerRole[Victim] == PLR_BOMB_PLANTER) { (get_user_flags(Attacker) & VIP_LEVEL) ? (BonusXP = (KILL_PLANTER * VIP_XP_MULTIPLIER)) : (BonusXP = KILL_PLANTER) if(BonusXP) { new XP = floatround(BonusXP) set_user_xp(Attacker, get_user_xp(Attacker) + XP) ColorChat(Attacker, "!gYou have been awarded!t %d XP!g for killing the bomb planter", XP); } } else if(PlayerRole[Victim] == PLR_BOMB_CARRIER) { (get_user_flags(Attacker) & VIP_LEVEL) ? (BonusXP = (KILL_BOMB_CARRIER * VIP_XP_MULTIPLIER)) : (BonusXP = KILL_BOMB_CARRIER) if(BonusXP) { new XP = floatround(BonusXP) set_user_xp(Attacker, get_user_xp(Attacker) + XP) ColorChat(Attacker, "!gYou have been awarded!t %d XP!g for killing the bomb carrier", XP); } } else if(PlayerRole[Victim] == PLR_VIP) { (get_user_flags(Attacker) & VIP_LEVEL) ? (BonusXP = (KILL_VIP * VIP_XP_MULTIPLIER)) : (BonusXP = KILL_VIP) if(BonusXP) { new XP = floatround(BonusXP) set_user_xp(Attacker, get_user_xp(Attacker) + XP) ColorChat(Attacker, "!gYou have been awarded!t %d XP!g for killing the VIP", XP); } } } PlayerRole[Victim] = 0; } public EVENT_FurienWin() { XP_WinRound(1) EndRound = true } public EVENT_AntiFurienWin() { XP_WinRound(2) EndRound = true } public EVENT_NewRound() { UltimateGlobalDelay = get_pcvar_num(cvar_ultimate_countdown_start) Ultimate_GlobalDelay(); } public FWD_ChangeName(id, buffer) { if(is_user_connected(id)) { static Name[32], Val[32]; get_user_name(id, Name, sizeof Name - 1); engfunc(EngFunc_InfoKeyValue, buffer, "name", Val, sizeof Val - 1); if(equal(Val, Name)) return FMRES_IGNORED; set_task(0.2, "client_putinserver", id); } return FMRES_SUPERCEDE; } public FWD_TraceLine(Float:v1[3], Float:v2[3], noMonsters, pentToSkip) { new Attacker = pentToSkip; new Victim = get_tr(TR_pHit); new HitZone = (1 << get_tr(TR_iHitgroup)); if(is_user_connected(Victim) && is_user_alive(Victim) && is_user_connected(Attacker) && is_user_alive(Attacker)) { if(Ultimate_Is_Searching[Attacker]) { if(get_user_team(Attacker) != get_user_team(Victim)) { #if defined ULT_CHAINLIGHTNING if(get_user_ultimate(Attacker) == str_to_num(ULTIMATE_CHAINLIGHTNING[1])) Ultimate_ChainLightning(Attacker, Victim, HitZone); #endif #if defined ULT_ENTANGLE if(get_user_ultimate(Attacker) == str_to_num(ULTIMATE_ENTANGLE[1])) Ultimate_Entangle(Attacker, Victim); #endif #if defined ULT_IMMOLATE if(get_user_ultimate(Attacker) == str_to_num(ULTIMATE_IMMOLATE[1])) Ultimate_Immolate(Attacker, Victim); #endif Ultimate_Is_Searching[Attacker] = false; UltimateDelay[Attacker] = get_pcvar_num(cvar_ultimate_countdown); Ultimate_Delay(Attacker) } } } } public FWD_PlayerPreThink(id) { if(is_user_connected(id)) { if(get_user_ultimate(id) && !(get_user_flags(id) & VIP_LEVEL)) { PlayerUltimate[id] = 0 NextUltimate[id] = 0 } if(get_user_xp(id) >= EXPERIENCE_LEVEL * (get_user_level(id) + 1)) { if((get_user_level(id) + 1) <= MAX_LEVEL) { PlayerLevel[id] += 1; } } else if(get_user_xp(id) < EXPERIENCE_LEVEL * (get_user_level(id))) PlayerLevel[id] -= 1; if(PlayerCredits[id] < PlayerLevel[id]) { Credits[id] = PlayerLevel[id] - PlayerCredits[id] } else if(PlayerCredits[id] > PlayerLevel[id]) { Credits[id] = PlayerLevel[id] - PlayerCredits[id] } #if defined ULT_ENTANGLE if(IsStunned[id]) set_user_maxspeed(id, 1.0); #endif #if defined POWER_UNHOLYAURA if(UnholyAura_Level[id] && get_user_team(id) == 1) { if(fm_get_user_maxspeed(id) < Unholy[UnholyAura_Level[id] - 1] && fm_get_user_maxspeed(id) > 1.0) fm_set_user_maxspeed(id, Unholy[UnholyAura_Level[id] - 1]); } #endif #if defined POWER_LEVITATION if(Levitation_Level[id] && get_user_team(id) == 1) { if(fm_get_user_gravity(id) > Levitation[Levitation_Level[id] - 1] && fm_get_user_gravity(id) > 0.1) fm_set_user_gravity(id, Levitation[Levitation_Level[id] - 1]); } #endif #if defined POWER_BASH if(Bash_Stunned[id] && get_user_team(id) == 1) { fm_set_user_maxspeed(id, 1.0); } #endif } } public HAM_Spawn_Post(id) { if(is_user_connected(id)) { PlayerRole[id] = 0; task_exists(TASK_SEARCHING + id) ? remove_task(TASK_SEARCHING + id) : 0; task_exists(TASK_DELAY + id) ? remove_task(TASK_DELAY + id) : 0; UltimateDelay[id] = 0; Ultimate_Is_Searching[id] = false; Ultimate_Icon(id, 0) if(NextUltimate[id] != get_user_ultimate(id)) { PlayerUltimate[id] = NextUltimate[id] } if(!UltimateGlobalDelay) { if(!UltimateDelay[id]) UltimateDelay[id] = get_pcvar_num(cvar_ultimate_countdown_start); if(UltimateDelay[id] && !task_exists(id+TASK_DELAY)) Ultimate_Delay(id) } #if defined POWER_BANISH PlayerBanished[id] = false; task_exists(TASK_BANISH + id) ? remove_task(TASK_BANISH + id) : 0 task_exists(TASK_BANISHRETURN + id) ? remove_task(TASK_BANISHRETURN + id) : 0 #endif #if defined POWER_PHOENIX if(get_user_team(id) == 1) PhoenixCheck(id) #endif #if defined POWER_DEVOTIONAURA if(DevotionAura_Level[id] && get_user_team(id) == 2) { fm_set_user_health(id, get_user_health(id) + DevotionAura_Level[id] * Devotion); } #endif #if defined POWER_BASH Bash_Stunned[id] = false #endif #if defined POWER_HEALINGWAVE if(HealingWave_Level[id] && get_user_team(id) == 2) { if(!task_exists(id + TASK_WAVE)) { HealingWave(id); } } #endif } } public HAM_TakeDamage(victim, inflictor, attacker, Float:damage, damagetype) { if(is_user_connected(attacker) && is_user_connected(victim) && get_user_team(attacker) != get_user_team(victim)) { #if defined POWER_VAMPIRICAURA if(VampiricAura_Level[attacker] && get_user_team(attacker) == 1) { new BonusHealth = floatround(damage * Vampiric[VampiricAura_Level[attacker] - 1]); if(get_user_health(attacker) + BonusHealth > MAX_HEALTH) fm_set_user_health(attacker, MAX_HEALTH) else fm_set_user_health(attacker, get_user_health(attacker) + BonusHealth); Glow(attacker, 0,(2 * BonusHealth), 0, 0); Create_ScreenFade(attacker,(1<<10),(1<<10),(1<<12), 0, 255, 0, BonusHealth); } #endif #if defined POWER_EVASION if(Evasion_Level[victim] && get_user_team(victim) == 1 && !(damagetype & DMG_HEGRENADE)) { if(random_float(0.0, 1.0) <= Evasion[Evasion_Level[victim] - 1]) { new GlowIntensity = random_num(20, 50); new Message[256]; formatex(Message,sizeof(Message)-1,"You have evaded a shot!"); HudMessage(victim, Message, 0, 0, 255, -1.0, 0.40) SetHamParamFloat(4, 0.0); Glow(victim, 0, 0, GlowIntensity, 0); Create_ScreenFade(victim,(1<<10),(1<<10),(1<<12), 0, 0, 255, GlowLevel[victim][1]); } } #endif #if defined POWER_BANISH if(Banish_Level[victim] && get_user_team(victim) == 1) { if(random_float(0.0, 1.0) <= Banish[Banish_Level[victim] - 1]) { if(!PlayerBanished[attacker] && !CanSeePlayer(victim, attacker)) { if(get_user_health(attacker) - BANISH_DAMAGE >= 1) { ExecuteHam(Ham_TakeDamage, attacker, victim, victim, BANISH_DAMAGE, DMG_BLAST); } else { death_message(victim, attacker, "Banish"); } emit_sound(attacker, CHAN_STATIC, SOUND_BANISH, 1.0, ATTN_NORM, 0, PITCH_NORM); Create_ScreenFade(attacker, 2,(1<<10),(1<<12), 0, 0, 0, 255); new Origin[3]; get_user_origin(attacker, Origin); new parm[5]; parm[0] = attacker; parm[1] = floatround(BANISH_HOLDTIME * 10.0); parm[2] = Origin[0]; parm[3] = Origin[1]; parm[4] = Origin[2]; message_begin(MSG_BROADCAST,SVC_TEMPENTITY) write_byte(TE_SPRITE) write_coord(Origin[0]) // position) write_coord(Origin[1]) write_coord(Origin[2]) write_short(SPR_BANISH) // sprite index write_byte(10) // scale in 0.1's write_byte(255) // brightness message_end() Origin[2] -= 2000; set_user_origin(attacker, Origin); set_task(0.1, "BanishReturn", TASK_BANISH + attacker, parm, 5); } } } #endif #if defined POWER_TRUESHOT if(TrueShot_Level[victim] && get_user_team(victim) == 1 && !fm_get_user_godmode(attacker)) { new Float:TempDamage = damage * TrueShot[TrueShot_Level[victim] - 1]; if(get_user_health(attacker) - TempDamage >= 1) { ExecuteHam(Ham_TakeDamage, attacker, victim, victim, TempDamage, DMG_BLAST); } else { death_message(victim, attacker, "True Shot"); } Glow(victim, 2 * floatround(TempDamage), 0, 0, 0); Create_ScreenFade(victim,(1<<10),(1<<10),(1<<12), 255, 0, 0, floatround(TempDamage)); } #endif #if defined POWER_UNSTABLECONCOCTION if(get_user_level(victim) && get_user_team(victim) == 1 && get_user_flags(victim) & VIP_LEVEL) { if(random_float(0.0, 1.0) <= Concoction * get_user_level(victim)){ new Origin[3], InitOrigin[3], AxisOrigin[3]; get_user_origin(victim, Origin); emit_sound(attacker, CHAN_STATIC, SOUND_CONCOCTION_CAST, 1.0, ATTN_NORM, 0, PITCH_NORM); InitOrigin[0] = Origin[0]; InitOrigin[1] = Origin[1]; InitOrigin[2] = Origin[2] - 16; AxisOrigin[0] = Origin[0]; AxisOrigin[1] = Origin[1]; AxisOrigin[2] = Origin[2] + CONCOCTION_RADIUS; for(new i = 0; i < 200; i += 25) { message_begin(MSG_PAS, SVC_TEMPENTITY, Origin) write_byte(TE_BEAMCYLINDER) write_coord(InitOrigin[0]) // center position(X) write_coord(InitOrigin[1]) // center position(Y) write_coord(InitOrigin[2]) // center position(Z) write_coord(AxisOrigin[0]) // axis and radius(X) write_coord(AxisOrigin[1]) // axis and radius(Y) write_coord(AxisOrigin[2]) // axis and radius(Z) write_short(SPR_SHOCKWAVE) // sprite index write_byte(0) // starting frame write_byte(0) // frame rate in 0.1's write_byte(9) // life in 0.1's write_byte(20) // line width in 0.1's write_byte(0) // noise amplitude in 0.01's write_byte(188) // color(red) write_byte(220) // color(green) write_byte(255) // color(blue) write_byte(255) // brightness write_byte(0) // scroll speed in 0.1's message_end() InitOrigin[2] += 25; } new Players[32], Num, TargetOrigin[3]; get_players(Players, Num, "a"); for(new i = 0; i < Num; i++) { if(get_user_team(Players) != get_user_team(victim)) { get_user_origin(Players, TargetOrigin); if(get_distance(Origin, TargetOrigin) <= CONCOCTION_RADIUS) { if(get_user_health(attacker) - CONCOCTION_DAMAGE >= 1) { ExecuteHam(Ham_TakeDamage, Players, victim, victim, CONCOCTION_DAMAGE, DMG_BLAST); } else { death_message(victim, Players, "Unstable Concoction"); } emit_sound(victim, CHAN_STATIC, SOUND_CONCOCTION_HIT, 1.0, ATTN_NORM, 0, PITCH_NORM); } } } } } #endif #if defined POWER_CRITICALSTRIKE if(CriticalStrike_Level[attacker] && get_user_team(attacker) == 2 && !(damagetype & DMG_HEGRENADE)) { if(random_float(0.0, 1.0) <= CRITICAL_STRIKE_CHANCE) { new Float:BonusDamage = damage * Critical[CriticalStrike_Level[attacker] - 1]; SetHamParamFloat(4, damage + BonusDamage); Glow(victim, floatround(BonusDamage), 0, 0, 0); Create_ScreenFade(victim,(1<<10),(1<<10),(1<<12), 255, 0, 0, GlowLevel[victim][0]); } } #endif #if defined POWER_CRITICALGRENADE if(CriticalGrenade_Level[attacker] && get_user_team(attacker) == 2 && damagetype & DMG_HEGRENADE) { new Float:BonusDamage = damage * Grenade[CriticalGrenade_Level[attacker] - 1]; SetHamParamFloat(4, damage + BonusDamage); Glow(victim, floatround(BonusDamage), 0, 0, 0); Create_ScreenFade(victim,(1<<10),(1<<10),(1<<12), 255, 0, 0, GlowLevel[victim][0]); } #endif #if defined POWER_BASH if(Bash_Level[attacker] && get_user_team(attacker) == 2) { if(random_float(0.0, 1.0) <= Bash[Bash_Level[attacker] - 1] && !Bash_Stunned[victim]) { Bash_Stunned[victim] = true pev(victim, pev_maxspeed, Bash_LastSpeed); set_task(BASH_HOLD_TIME, "Bash_Reset", TASK_RESETBASH + victim); Glow(victim, 0, 0, 0, BASH_GLOW_INTENSITY); Create_ScreenFade(victim,(1<<10),(1<<10),(1<<12), 255, 255, 255, GlowLevel[victim][3]) } } #endif #if defined POWER_SHADOWSTRIKE if(ShadowStrike_Level[attacker] && get_user_team(attacker) == 2) { if(random_float(0.0, 1.0) <= Shadow[ShadowStrike_Level[attacker] - 1]) { new VictimOrigin[3], AttackerOrigin[3] get_user_origin(victim, VictimOrigin); get_user_origin(attacker, AttackerOrigin); message_begin(MSG_BROADCAST,SVC_TEMPENTITY) write_byte(TE_SPRITETRAIL) write_coord(AttackerOrigin[0]) // start position(X) write_coord(AttackerOrigin[1]) // start position(Y) write_coord(AttackerOrigin[2]) // start position(Z) write_coord(VictimOrigin[0]) // end position(X) write_coord(VictimOrigin[1]) // end position(Y) write_coord(VictimOrigin[2]) // end position(Z) write_short(SPR_SHADOWSTRIKE) // sprite index write_byte(50) // count write_byte(15) // life in 0.1's write_byte(1) // scale in 0.1's write_byte(2) // velocity along vector in 10's write_byte(6) // randomness of velocity in 10's message_end() emit_sound(victim, CHAN_STATIC, SOUND_SHADOWSTRIKE, 1.0, ATTN_NORM, 0, PITCH_NORM); if(get_user_health(attacker) - SHADOWSTRIKE_DAMAGE >= 1) { ExecuteHam(Ham_TakeDamage, attacker, victim, victim, SHADOWSTRIKE_DAMAGE, DMG_BLAST); } else { death_message(attacker, victim, "Shadow Strike"); } } } #endif #if defined POWER_SIPHONMANA if(SiphonMana_Level[attacker] && get_user_team(attacker) == 2) { new Money = floatround(Mana[SiphonMana_Level[attacker] - 1] * cs_get_user_money(victim)); cs_set_user_money(victim, cs_get_user_money(victim) - Money); cs_set_user_money(attacker, cs_get_user_money(attacker) + Money); Glow(victim, 0, floatround(damage), 0, 0); Create_ScreenFade(attacker,(1<<10),(1<<10),(1<<12), 144, 58, 255, GlowLevel[attacker][1]); } #endif #if defined POWER_ORB if(get_user_level(attacker) && get_user_team(attacker) == 2 && get_user_flags(attacker) & VIP_LEVEL) { if(random_float(0.0, 1.0) <= Orb * get_user_level(attacker)) { new VictimOrigin[3]; get_user_origin(victim, VictimOrigin); VictimOrigin[2] -= 20; message_begin(MSG_BROADCAST,SVC_TEMPENTITY) write_byte(TE_SPRITE) write_coord(VictimOrigin[0]) // position) write_coord(VictimOrigin[1]) write_coord(VictimOrigin[2]) write_short(SPR_WAVE) // sprite index write_byte(10) // scale in 0.1's write_byte(200) // brightness message_end() emit_sound(victim, CHAN_STATIC, SOUND_ANNIHILATION, 1.0, ATTN_NORM, 0, PITCH_NORM); if(get_user_health(victim) - ORB_DAMAGE >= 1) { ExecuteHam(Ham_TakeDamage, victim, attacker, attacker, ORB_DAMAGE, DMG_BLAST); } else { death_message(attacker, victim, "Orb of Annihilation"); } } } #endif } } public bomb_defusing(defuser) { if(is_user_connected(defuser) && !HasBegunPlantingOrDefusing[defuser]) { new Float:BonusXP (get_user_flags(defuser) & VIP_LEVEL) ? (BonusXP = (DEFUSING_BOMB * VIP_XP_MULTIPLIER)) : (BonusXP = DEFUSING_BOMB) if(BonusXP) { new XP = floatround(BonusXP) set_user_xp(defuser, get_user_xp(defuser) + XP) ColorChat(defuser, "!gYou have been awarded!t %d XP!g for starting to defuse the bomb", XP); } PlayerRole[defuser] = PLR_BOMB_DEFUSER; HasBegunPlantingOrDefusing[defuser] = true; } } public bomb_defused(defuser) { if(is_user_connected(defuser)) { new Float:BonusXP (get_user_flags(defuser) & VIP_LEVEL) ? (BonusXP = (DEFUSED_BOMB * VIP_XP_MULTIPLIER)) : (BonusXP = DEFUSED_BOMB) if(BonusXP) { new XP = floatround(BonusXP) set_user_xp(defuser, get_user_xp(defuser) + XP) ColorChat(defuser, "!gYou have been awarded!t %d XP!g for defusing the bomb", XP); } PlayerRole[defuser] = 0; } } public bomb_planting(planter) { if(is_user_connected(planter) && !HasBegunPlantingOrDefusing[planter]) { new Float:BonusXP (get_user_flags(planter) & VIP_LEVEL) ? (BonusXP = (PLANTING_BOMB * VIP_XP_MULTIPLIER)) : (BonusXP = PLANTING_BOMB) if(BonusXP) { new XP = floatround(BonusXP) set_user_xp(planter, get_user_xp(planter) + XP) ColorChat(planter, "!gYou have been awarded!t %d XP!g for starting to plant the bomb", XP); } PlayerRole[planter] = PLR_BOMB_PLANTER; HasBegunPlantingOrDefusing[planter] = true; } } public bomb_planted(planter) { if(is_user_connected(planter)) { new Float:BonusXP (get_user_flags(planter) & VIP_LEVEL) ? (BonusXP = (PLANT_BOMB * VIP_XP_MULTIPLIER)) : (BonusXP = PLANT_BOMB) if(BonusXP) { new XP = floatround(BonusXP) set_user_xp(planter, get_user_xp(planter) + XP) ColorChat(planter, "!gYou have been awarded!t %d XP!g for planting the bomb", XP); } PlayerRole[planter] = 0; } } public PlayersInfo(id) { if(is_user_connected(id)) { new MotdMessage[2048]; new Pos = 0, Name[64], PlayersName[64]; get_user_name(id, Name, 63); switch(get_pcvar_num(cvar_motd_style)) { case 1: Pos = format(MotdMessage, 2047, DESIGN1_STYLE) case 2: Pos = format(MotdMessage, 2047, DESIGN2_STYLE) case 3: Pos = format(MotdMessage, 2047, DESIGN3_STYLE) case 4: Pos = format(MotdMessage, 2047, DESIGN4_STYLE) case 5: Pos = format(MotdMessage, 2047, DESIGN5_STYLE) case 6: Pos = format(MotdMessage, 2047, DESIGN6_STYLE) case 7: Pos = format(MotdMessage, 2047, DESIGN7_STYLE) case 8: Pos = format(MotdMessage, 2047, DESIGN8_STYLE) case 9: Pos = format(MotdMessage, 2047, DESIGN9_STYLE) case 10: Pos = format(MotdMessage, 2047, DESIGN10_STYLE) case 11: Pos = format(MotdMessage, 2047, DESIGN11_STYLE) case 12: Pos = format(MotdMessage, 2047, DESIGN12_STYLE) case 13: Pos = format(MotdMessage, 2047, DESIGN13_STYLE) default: Pos = format(MotdMessage, 2047, DEFAULT_STYLE) } Pos += format(MotdMessage[Pos], 2047 - Pos, "<body><center><table border=0 width=75%%><th>Nume<th>Level<th>Experience"); for(new i = 0; i < get_maxplayers(); i++) { if(is_user_connected(i)) { get_user_name(i, PlayersName, 63); if(equal(Name, PlayersName)) Pos += format(MotdMessage[Pos], 2047 - Pos, "<tr id=c><td>%s<td>%d<td>%d", PlayersName, get_user_level(i), get_user_xp(i)); else Pos += format(MotdMessage[Pos], 2047 - Pos, "<tr><td>%s<td>%d<td>%d", PlayersName, get_user_level(i), get_user_xp(i)) } } show_motd(id, MotdMessage, "Players Info"); } } public CMD_ResetSkills(id) { if(PlayerLevel[id]) { ColorChat(id, "!t[Furien]!g Ti-ai resetat!t Skill-urile!g, scrie!t /powers!g pentru a le seta."); Credits[id] = PlayerLevel[id] PlayerCredits[id] = 0 #if defined POWER_UNHOLYAURA UnholyAura_Level[id] = 0 #endif #if defined POWER_LEVITATION Levitation_Level[id] = 0 #endif #if defined POWER_VAMPIRICAURA VampiricAura_Level[id] = 0 #endif #if defined POWER_EVASION Evasion_Level[id] = 0 #endif #if defined POWER_BANISH Banish_Level[id] = 0 #endif #if defined POWER_TRUESHOT TrueShot_Level[id] = 0 #endif #if defined POWER_PHOENIX Phoenix_Level[id] = 0 #endif #if defined POWER_DEVOTIONAURA DevotionAura_Level[id] = 0 #endif #if defined POWER_CRITICALSTRIKE CriticalStrike_Level[id] = 0 #endif #if defined POWER_CRITICALGRENADE CriticalGrenade_Level[id] = 0 #endif #if defined POWER_BASH Bash_Level[id] = 0 #endif #if defined POWER_HEALINGWAVE HealingWave_Level[id] = 0 #endif #if defined POWER_SHADOWSTRIKE ShadowStrike_Level[id] = 0 #endif #if defined POWER_SIPHONMANA SiphonMana_Level[id] = 0 #endif PowersMenu(id) } } public PowersMenu(id) { if(is_user_connected(id)) { new Title[256]; formatex(Title,sizeof(Title)-1,"\rPowers Menu^n\rLevel:\y %i \rXP:\y %i\r",get_user_level(id), get_user_xp(id)); Menu = menu_create(Title, "PowersMenuCmd"); new FurienPowers[256]; formatex(FurienPowers,sizeof(FurienPowers)-1,"\yFurien Powers"); menu_additem(Menu, FurienPowers, "1", 0); new AntiFurienPowers[256]; formatex(AntiFurienPowers,sizeof(AntiFurienPowers)-1,"\yAnti Furien Powers^n"); menu_additem(Menu, AntiFurienPowers, "2", 0); new Ultimate[256]; formatex(Ultimate,sizeof(Ultimate)-1,"\rChose Ultimate"); menu_additem(Menu, Ultimate, "3", 0); menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, Menu, 0); } } public PowersMenuCmd(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } new Data[6], Name[64]; new Access, CallBack; menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack); new Key = str_to_num(Data); switch(Key) { case 1: FurienPowersMenu(id); case 2: AntiFurienPowersMenu(id); case 3: UltimateMenu(id); default: return PLUGIN_HANDLED; } menu_destroy(menu); return PLUGIN_HANDLED; } public UltimateMenu(id) { if(is_user_connected(id)) { new Title[256]; formatex(Title,sizeof(Title)-1,"\rUltimate Menu^n\rLevel:\y %i \rXP:\y %i\r",get_user_level(id), get_user_xp(id)); Menu = menu_create(Title, "UltimateMenuCmd"); #if defined ULT_SUICIDE new Suicide[256]; if(!(get_user_flags(id) & VIP_LEVEL)) formatex(Suicide,sizeof(Suicide)-1,"\d%s \w- \rLocked", ULTIMATE_SUICIDE[0]); else if(get_user_ultimate(id) == str_to_num(ULTIMATE_SUICIDE[1])) formatex(Suicide,sizeof(Suicide)-1,"\y%s", ULTIMATE_SUICIDE[0]); else if(NextUltimate[id] == str_to_num(ULTIMATE_SUICIDE[1])) formatex(Suicide,sizeof(Suicide)-1,"\r%s", ULTIMATE_SUICIDE[0]); else formatex(Suicide,sizeof(Suicide)-1,"\w%s", ULTIMATE_SUICIDE[0]); menu_additem(Menu, Suicide, "1", 0); #endif #if defined ULT_BLINK new Blink[256]; if(!(get_user_flags(id) & VIP_LEVEL)) formatex(Blink,sizeof(Blink)-1,"\d%s \w- \rLocked", ULTIMATE_BLINK[0]); else if(get_user_ultimate(id) == str_to_num(ULTIMATE_BLINK[1])) formatex(Blink,sizeof(Blink)-1,"\y%s", ULTIMATE_BLINK[0]); else if(NextUltimate[id] == str_to_num(ULTIMATE_BLINK[1])) formatex(Blink,sizeof(Blink)-1,"\r%s", ULTIMATE_BLINK[0]); else formatex(Blink,sizeof(Blink)-1,"\w%s", ULTIMATE_BLINK[0]); menu_additem(Menu, Blink, "2", 0); #endif #if defined ULT_CHAINLIGHTNING new ChainLighthing[256]; if(!(get_user_flags(id) & VIP_LEVEL)) formatex(ChainLighthing,sizeof(ChainLighthing)-1,"\d%s \w- \rLocked", ULTIMATE_CHAINLIGHTNING[0]); else if(get_user_ultimate(id) == str_to_num(ULTIMATE_CHAINLIGHTNING[1])) formatex(ChainLighthing,sizeof(ChainLighthing)-1,"\y%s", ULTIMATE_CHAINLIGHTNING[0]); else if(NextUltimate[id] == str_to_num(ULTIMATE_CHAINLIGHTNING[1])) formatex(ChainLighthing,sizeof(ChainLighthing)-1,"\r%s", ULTIMATE_CHAINLIGHTNING[0]); else formatex(ChainLighthing,sizeof(ChainLighthing)-1,"\w%s", ULTIMATE_CHAINLIGHTNING[0]); menu_additem(Menu, ChainLighthing, "3", 0); #endif #if defined ULT_ENTANGLE new Entangle[256]; if(!(get_user_flags(id) & VIP_LEVEL)) formatex(Entangle,sizeof(Entangle)-1,"\d%s \w- \rLocked", ULTIMATE_ENTANGLE[0]); else if(get_user_ultimate(id) == str_to_num(ULTIMATE_ENTANGLE[1])) formatex(Entangle,sizeof(Entangle)-1,"\y%s", ULTIMATE_ENTANGLE[0]); else if(NextUltimate[id] == str_to_num(ULTIMATE_ENTANGLE[1])) formatex(Entangle,sizeof(Entangle)-1,"\r%s", ULTIMATE_ENTANGLE[0]); else formatex(Entangle,sizeof(Entangle)-1,"\w%s", ULTIMATE_ENTANGLE[0]); menu_additem(Menu, Entangle, "4", 0); #endif #if defined ULT_IMMOLATE new Immolate[256]; if(!(get_user_flags(id) & VIP_LEVEL)) formatex(Immolate,sizeof(Immolate)-1,"\d%s \w- \rLocked", ULTIMATE_IMMOLATE[0]); else if(get_user_ultimate(id) == str_to_num(ULTIMATE_IMMOLATE[1])) formatex(Immolate,sizeof(Immolate)-1,"\y%s", ULTIMATE_IMMOLATE[0]); else if(NextUltimate[id] == str_to_num(ULTIMATE_IMMOLATE[1])) formatex(Immolate,sizeof(Immolate)-1,"\r%s", ULTIMATE_IMMOLATE[0]); else formatex(Immolate,sizeof(Immolate)-1,"\w%s", ULTIMATE_IMMOLATE[0]); menu_additem(Menu, Immolate, "5", 0); #endif #if defined ULT_BIGBADVOODOO new BigBadVoodoo[256]; if(!(get_user_flags(id) & VIP_LEVEL)) formatex(BigBadVoodoo,sizeof(BigBadVoodoo)-1,"\d%s \w- \rLocked", ULTIMATE_BIGBADVOODOO[0]); else if(get_user_ultimate(id) == str_to_num(ULTIMATE_BIGBADVOODOO[1])) formatex(BigBadVoodoo,sizeof(BigBadVoodoo)-1,"\y%s", ULTIMATE_BIGBADVOODOO[0]); else if(NextUltimate[id] == str_to_num(ULTIMATE_BIGBADVOODOO[1])) formatex(BigBadVoodoo,sizeof(BigBadVoodoo)-1,"\r%s", ULTIMATE_BIGBADVOODOO[0]); else formatex(BigBadVoodoo,sizeof(BigBadVoodoo)-1,"\w%s", ULTIMATE_BIGBADVOODOO[0]); menu_additem(Menu, BigBadVoodoo, "6", 0); #endif #if defined ULT_VENGEANCE new Vengeance[256]; if(!(get_user_flags(id) & VIP_LEVEL)) formatex(Vengeance,sizeof(Vengeance)-1,"\d%s \w- \rLocked", ULTIMATE_VENGEANCE[0]); else if(get_user_ultimate(id) == str_to_num(ULTIMATE_VENGEANCE[1])) formatex(Vengeance,sizeof(Vengeance)-1,"\y%s", ULTIMATE_VENGEANCE[0]); else if(NextUltimate[id] == str_to_num(ULTIMATE_VENGEANCE[1])) formatex(Vengeance,sizeof(Vengeance)-1,"\r%s", ULTIMATE_VENGEANCE[0]); else formatex(Vengeance,sizeof(Vengeance)-1,"\w%s", ULTIMATE_VENGEANCE[0]); menu_additem(Menu, Vengeance, "7", 0); #endif #if defined ULT_LOCUSTSWARM new LocustWarm[256]; if(!(get_user_flags(id) & VIP_LEVEL)) formatex(LocustWarm,sizeof(LocustWarm)-1,"\d%s \w- \rLocked", ULTIMATE_LOCUSTSWARM[0]); else if(get_user_ultimate(id) == str_to_num(ULTIMATE_LOCUSTSWARM[1])) formatex(LocustWarm,sizeof(LocustWarm)-1,"\y%s", ULTIMATE_LOCUSTSWARM[0]); else if(NextUltimate[id] == str_to_num(ULTIMATE_LOCUSTSWARM[1])) formatex(LocustWarm,sizeof(LocustWarm)-1,"\r%s", ULTIMATE_LOCUSTSWARM[0]); else formatex(LocustWarm,sizeof(LocustWarm)-1,"\w%s", ULTIMATE_LOCUSTSWARM[0]); menu_additem(Menu, LocustWarm, "8", 0); #endif menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, Menu, 0); } } public UltimateMenuCmd(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } if(!(get_user_flags(id) & VIP_LEVEL)) { ColorChat(id,"!t[Furien]!g Aceste puteri le pot folosi doar!t VIP's"); return PLUGIN_HANDLED; } new Data[6], Name[64]; new Access, CallBack; menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack); new Key = str_to_num(Data); switch(Key) { #if defined ULT_SUICIDE case 1: { if(get_user_ultimate(id) == str_to_num(ULTIMATE_SUICIDE[1])) ColorChat(id,"!t[Furien]!g Ai deja!t %s.", ULTIMATE_SUICIDE[0]); else { if(!PlayerUltimate[id]) { PlayerUltimate[id] = str_to_num(ULTIMATE_SUICIDE[1]) if(!UltimateGlobalDelay && !UltimateDelay[id]) Ultimate_Icon(id, 1) else if(UltimateGlobalDelay && UltimateDelay[id]) UltimateDelay[id] = 0; else if(!UltimateGlobalDelay && UltimateDelay[id]&& !task_exists(id+TASK_DELAY)) Ultimate_Delay(id) } else { ColorChat(id,"!t[Furien]!g Puterea ti se va activa la urmatorul spawn."); } NextUltimate[id] = str_to_num(ULTIMATE_SUICIDE[1]) } } #endif #if defined ULT_BLINK case 2: { if(get_user_ultimate(id) == str_to_num(ULTIMATE_BLINK[1])) ColorChat(id,"!t[Furien]!g Ai deja!t %s.", ULTIMATE_BLINK[0]); else { if(!PlayerUltimate[id]) { PlayerUltimate[id] = str_to_num(ULTIMATE_BLINK[1]) if(!UltimateGlobalDelay && !UltimateDelay[id]) Ultimate_Icon(id, 1) else if(UltimateGlobalDelay && UltimateDelay[id]) UltimateDelay[id] = 0; else if(!UltimateGlobalDelay && UltimateDelay[id]&& !task_exists(id+TASK_DELAY)) Ultimate_Delay(id) } else { ColorChat(id,"!t[Furien]!g Puterea ti se va activa la urmatorul spawn."); } NextUltimate[id] = str_to_num(ULTIMATE_BLINK[1]) } } #endif #if defined ULT_CHAINLIGHTNING case 3:{ if(get_user_ultimate(id) == str_to_num(ULTIMATE_CHAINLIGHTNING[1])) ColorChat(id,"!t[Furien]!g Ai deja!t %s.", ULTIMATE_CHAINLIGHTNING[0]); else { if(!PlayerUltimate[id]) { PlayerUltimate[id] = str_to_num(ULTIMATE_CHAINLIGHTNING[1]) if(!UltimateGlobalDelay && !UltimateDelay[id]) Ultimate_Icon(id, 1) else if(UltimateGlobalDelay && UltimateDelay[id]) UltimateDelay[id] = 0; else if(!UltimateGlobalDelay && UltimateDelay[id]&& !task_exists(id+TASK_DELAY)) Ultimate_Delay(id) } else { ColorChat(id,"!t[Furien]!g Puterea ti se va activa la urmatorul spawn."); } NextUltimate[id] = str_to_num(ULTIMATE_CHAINLIGHTNING[1]) } } #endif #if defined ULT_ENTANGLE case 4:{ if(get_user_ultimate(id) == str_to_num(ULTIMATE_ENTANGLE[1])) ColorChat(id,"!t[Furien]!g Ai deja!t %s.", ULTIMATE_ENTANGLE[0]); else { if(!PlayerUltimate[id]) { PlayerUltimate[id] = str_to_num(ULTIMATE_ENTANGLE[1]) if(!UltimateGlobalDelay && !UltimateDelay[id]) Ultimate_Icon(id, 1) else if(UltimateGlobalDelay && UltimateDelay[id]) UltimateDelay[id] = 0; else if(!UltimateGlobalDelay && UltimateDelay[id]&& !task_exists(id+TASK_DELAY)) Ultimate_Delay(id) } else { ColorChat(id,"!t[Furien]!g Puterea ti se va activa la urmatorul spawn."); } NextUltimate[id] = str_to_num(ULTIMATE_ENTANGLE[1]) } } #endif #if defined ULT_IMMOLATE case 5:{ if(get_user_ultimate(id) == str_to_num(ULTIMATE_IMMOLATE[1])) ColorChat(id,"!t[Furien]!g Ai deja!t %s.", ULTIMATE_IMMOLATE[0]); else { if(!PlayerUltimate[id]) { PlayerUltimate[id] = str_to_num(ULTIMATE_IMMOLATE[1]) if(!UltimateGlobalDelay && !UltimateDelay[id]) Ultimate_Icon(id, 1) else if(UltimateGlobalDelay && UltimateDelay[id]) UltimateDelay[id] = 0; else if(!UltimateGlobalDelay && UltimateDelay[id]&& !task_exists(id+TASK_DELAY)) Ultimate_Delay(id) } else { ColorChat(id,"!t[Furien]!g Puterea ti se va activa la urmatorul spawn."); } NextUltimate[id] = str_to_num(ULTIMATE_IMMOLATE[1]) } } #endif #if defined ULT_BIGBADVOODOO case 6:{ if(get_user_ultimate(id) == str_to_num(ULTIMATE_BIGBADVOODOO[1])) ColorChat(id,"!t[Furien]!g Ai deja!t %s.", ULTIMATE_BIGBADVOODOO[0]); else { if(!PlayerUltimate[id]) { PlayerUltimate[id] = str_to_num(ULTIMATE_BIGBADVOODOO[1]) if(!UltimateGlobalDelay && !UltimateDelay[id]) Ultimate_Icon(id, 1) else if(UltimateGlobalDelay && UltimateDelay[id]) UltimateDelay[id] = 0; else if(!UltimateGlobalDelay && UltimateDelay[id]&& !task_exists(id+TASK_DELAY)) Ultimate_Delay(id) } else { ColorChat(id,"!t[Furien]!g Puterea ti se va activa la urmatorul spawn."); } NextUltimate[id] = str_to_num(ULTIMATE_BIGBADVOODOO[1]) } } #endif #if defined ULT_VENGEANCE case 7:{ if(get_user_ultimate(id) == str_to_num(ULTIMATE_VENGEANCE[1])) ColorChat(id,"!t[Furien]!g Ai deja!t %s.", ULTIMATE_VENGEANCE[0]); else { if(!PlayerUltimate[id]) { PlayerUltimate[id] = str_to_num(ULTIMATE_VENGEANCE[1]) if(!UltimateGlobalDelay && !UltimateDelay[id]) Ultimate_Icon(id, 1) else if(UltimateGlobalDelay && UltimateDelay[id]) UltimateDelay[id] = 0; else if(!UltimateGlobalDelay && UltimateDelay[id]&& !task_exists(id+TASK_DELAY)) Ultimate_Delay(id) } else { ColorChat(id,"!t[Furien]!g Puterea ti se va activa la urmatorul spawn."); } NextUltimate[id] = str_to_num(ULTIMATE_VENGEANCE[1]) } } #endif #if defined ULT_LOCUSTSWARM case 8:{ if(get_user_ultimate(id) == str_to_num(ULTIMATE_LOCUSTSWARM[1])) ColorChat(id,"!t[Furien]!g Ai deja!t %s.", ULTIMATE_LOCUSTSWARM[0]); else { if(!PlayerUltimate[id]) { PlayerUltimate[id] = str_to_num(ULTIMATE_LOCUSTSWARM[1]) if(!UltimateGlobalDelay && !UltimateDelay[id]) Ultimate_Icon(id, 1) else if(UltimateGlobalDelay && UltimateDelay[id]) UltimateDelay[id] = 0; else if(!UltimateGlobalDelay && UltimateDelay[id]&& !task_exists(id+TASK_DELAY)) Ultimate_Delay(id) } else { ColorChat(id,"!t[Furien]!g Puterea ti se va activa la urmatorul spawn."); } NextUltimate[id] = str_to_num(ULTIMATE_LOCUSTSWARM[1]) } } #endif default: return PLUGIN_HANDLED; } menu_destroy(menu); return PLUGIN_HANDLED; } public FurienPowersMenu(id) { if(is_user_connected(id)) { new Title[256]; formatex(Title,sizeof(Title)-1,"\rFurien Powers Menu^n\rLevel:\y %i \rXP:\y %i\r",get_user_level(id), get_user_xp(id)); Menu = menu_create(Title, "FurienPowersMenuCmd"); #if defined POWER_UNHOLYAURA new _UnholyAura[256]; if(get_user_level(id) < str_to_num(SKILL_UNHOLYAURA[1])) formatex(_UnholyAura,sizeof(_UnholyAura)-1,"\d%s \w- \rLocked", SKILL_UNHOLYAURA[0]); else if(UnholyAura_Level[id] >= SKILL_MAX_LEVEL) formatex(_UnholyAura,sizeof(_UnholyAura)-1,"\d%s Level: %d \w- \rMax Level", SKILL_UNHOLYAURA[0], UnholyAura_Level[id]); else if(!Credits[id]) formatex(_UnholyAura,sizeof(_UnholyAura)-1,"\d%s Level: %d", SKILL_UNHOLYAURA[0], UnholyAura_Level[id]); else formatex(_UnholyAura,sizeof(_UnholyAura)-1,"\w%s \yLevel: %d", SKILL_UNHOLYAURA[0], UnholyAura_Level[id]); menu_additem(Menu, _UnholyAura, "1", 0); #endif #if defined POWER_LEVITATION new _Levitation[256]; if(get_user_level(id) < str_to_num(SKILL_LEVITATION[1])) formatex(_Levitation,sizeof(_Levitation)-1,"\d%s \w- \rLocked", SKILL_LEVITATION[0]); else if(Levitation_Level[id] >= SKILL_MAX_LEVEL) formatex(_Levitation,sizeof(_Levitation)-1,"\d%s Level: %d \w- \rMax Level", SKILL_LEVITATION[0], Levitation_Level[id]); else if(!Credits[id]) formatex(_Levitation,sizeof(_Levitation)-1,"\d%s Level: %d", SKILL_LEVITATION[0], Levitation_Level[id]); else formatex(_Levitation,sizeof(_Levitation)-1,"\w%s \yLevel: %d", SKILL_LEVITATION[0], Levitation_Level[id]); menu_additem(Menu, _Levitation, "2", 0); #endif #if defined POWER_VAMPIRICAURA new _VampiricAura[256]; if(get_user_level(id) < str_to_num(SKILL_VAMPIRICAURA[1])) formatex(_VampiricAura,sizeof(_VampiricAura)-1,"\d%s \w- \rLocked", SKILL_VAMPIRICAURA[0]); else if(VampiricAura_Level[id] >= SKILL_MAX_LEVEL) formatex(_VampiricAura,sizeof(_VampiricAura)-1,"\d%s Level: %d \w- \rMax Level", SKILL_VAMPIRICAURA[0], VampiricAura_Level[id]); else if(!Credits[id]) formatex(_VampiricAura,sizeof(_VampiricAura)-1,"\d%s Level: %d", SKILL_VAMPIRICAURA[0], VampiricAura_Level[id]); else formatex(_VampiricAura,sizeof(_VampiricAura)-1,"\w%s \yLevel: %d", SKILL_VAMPIRICAURA[0], VampiricAura_Level[id]); menu_additem(Menu, _VampiricAura, "3", 0); #endif #if defined POWER_EVASION new _Evasion[256]; if(get_user_level(id) < str_to_num(SKILL_EVASION[1])) formatex(_Evasion,sizeof(_Evasion)-1,"\d%s \w- \rLocked", SKILL_EVASION[0]); else if(Evasion_Level[id] >= SKILL_MAX_LEVEL) formatex(_Evasion,sizeof(_Evasion)-1,"\d%s Level: %d \w- \rMax Level", SKILL_EVASION[0], Evasion_Level[id]); else if(!Credits[id]) formatex(_Evasion,sizeof(_Evasion)-1,"\d%s Level: %d", SKILL_EVASION[0], Evasion_Level[id]); else formatex(_Evasion,sizeof(_Evasion)-1,"\w%s \yLevel: %d", SKILL_EVASION[0], Evasion_Level[id]); menu_additem(Menu, _Evasion, "4", 0); #endif #if defined POWER_BANISH new _Banish[256]; if(get_user_level(id) < str_to_num(SKILL_BANISH[1])) formatex(_Banish,sizeof(_Banish)-1,"\d%s \w- \rLocked", SKILL_BANISH[0]); else if(Banish_Level[id] >= SKILL_MAX_LEVEL) formatex(_Banish,sizeof(_Banish)-1,"\d%s Level: %d \w- \rMax Level", SKILL_BANISH[0], Banish_Level[id]); else if(!Credits[id]) formatex(_Banish,sizeof(_Banish)-1,"\d%s Level: %d", SKILL_BANISH[0], Banish_Level[id]); else formatex(_Banish,sizeof(_Banish)-1,"\w%s \yLevel: %d", SKILL_BANISH[0], Banish_Level[id]); menu_additem(Menu, _Banish, "5", 0); #endif #if defined POWER_TRUESHOT new _TrueShot[256]; if(get_user_level(id) < str_to_num(SKILL_TRUESHOT[1])) formatex(_TrueShot,sizeof(_TrueShot)-1,"\d%s \w- \rLocked", SKILL_TRUESHOT[0]); else if(TrueShot_Level[id] >= SKILL_MAX_LEVEL) formatex(_TrueShot,sizeof(_TrueShot)-1,"\d%s Level: %d \w- \rMax Level", SKILL_TRUESHOT[0], TrueShot_Level[id]); else if(!Credits[id]) formatex(_TrueShot,sizeof(_TrueShot)-1,"\d%s Level: %d", SKILL_TRUESHOT[0], TrueShot_Level[id]); else formatex(_TrueShot,sizeof(_TrueShot)-1,"\w%s \yLevel: %d", SKILL_TRUESHOT[0], TrueShot_Level[id]); menu_additem(Menu, _TrueShot, "6", 0); #endif #if defined POWER_PHOENIX new _Phoenix[256]; if(get_user_level(id) < str_to_num(SKILL_PHOENIX[1])) formatex(_Phoenix,sizeof(_Phoenix)-1,"\d%s \w- \rLocked", SKILL_PHOENIX[0]); else if(Phoenix_Level[id] >= SKILL_MAX_LEVEL) formatex(_Phoenix,sizeof(_Phoenix)-1,"\d%s Level: %d \w- \rMax Level", SKILL_PHOENIX[0], Phoenix_Level[id]); else if(!Credits[id]) formatex(_Phoenix,sizeof(_Phoenix)-1,"\d%s Level: %d", SKILL_PHOENIX[0], Phoenix_Level[id]); else formatex(_Phoenix,sizeof(_Phoenix)-1,"\w%s \yLevel: %d", SKILL_PHOENIX[0], Phoenix_Level[id]); menu_additem(Menu, _Phoenix, "7", 0); #endif menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, Menu, 0); } } public FurienPowersMenuCmd(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } if(!Credits[id]) { FurienPowersMenu(id) return PLUGIN_HANDLED; } new Data[6], Name[64]; new Access, CallBack; menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack); new Key = str_to_num(Data); switch(Key) { #if defined POWER_UNHOLYAURA case 1: { if(get_user_level(id) < str_to_num(SKILL_UNHOLYAURA[1])) { ColorChat(id,"!t[Furien]!g Trebuie sa ai!t Level %d!g pentru a debloca!t %s", str_to_num(SKILL_UNHOLYAURA[1]) , SKILL_UNHOLYAURA[0]); FurienPowersMenu(id) } else if(UnholyAura_Level[id] >= SKILL_MAX_LEVEL) FurienPowersMenu(id) else { UnholyAura_Level[id] += 1 Credits[id] -- PlayerCredits[id] ++ SaveUnholyAura(id) ColorChat(id,"!t[Furien]!g %s:!t Level %d", SKILL_UNHOLYAURA[0], UnholyAura_Level[id]); } } #endif #if defined POWER_LEVITATION case 2: { if(get_user_level(id) < str_to_num(SKILL_LEVITATION[1])) { ColorChat(id,"!t[Furien]!g Trebuie sa ai!t Level %d!g pentru a debloca!t %s", str_to_num(SKILL_LEVITATION[1]), SKILL_LEVITATION[0]); FurienPowersMenu(id) } else if(Levitation_Level[id] >= SKILL_MAX_LEVEL) FurienPowersMenu(id) else { Levitation_Level[id] += 1 Credits[id] -- PlayerCredits[id] ++ SaveLevitation(id) ColorChat(id,"!t[Furien]!g %s:!t Level %d", SKILL_LEVITATION[0], Levitation_Level[id]); } } #endif #if defined POWER_VAMPIRICAURA case 3: { if(get_user_level(id) < str_to_num(SKILL_VAMPIRICAURA[1])) { ColorChat(id,"!t[Furien]!g Trebuie sa ai!t Level %d!g pentru a debloca!t %s", str_to_num(SKILL_VAMPIRICAURA[1]), SKILL_VAMPIRICAURA[0]); FurienPowersMenu(id) } else if(VampiricAura_Level[id] >= SKILL_MAX_LEVEL) FurienPowersMenu(id) else { VampiricAura_Level[id] += 1 Credits[id] -- PlayerCredits[id] ++ SaveVampiricAura(id) ColorChat(id,"!t[Furien]!g %s:!t Level %d", SKILL_VAMPIRICAURA[0], VampiricAura_Level[id]); } } #endif #if defined POWER_EVASION case 4: { if(get_user_level(id) < str_to_num(SKILL_EVASION[1])) { ColorChat(id,"!t[Furien]!g Trebuie sa ai!t Level %d!g pentru a debloca!t %s", str_to_num(SKILL_EVASION[1]), SKILL_EVASION[0]); FurienPowersMenu(id) } else if(Evasion_Level[id] >= SKILL_MAX_LEVEL) FurienPowersMenu(id) else { Evasion_Level[id] += 1 Credits[id] -- PlayerCredits[id] ++ SaveEvasion(id) ColorChat(id,"!t[Furien]!g %s:!t Level %d", SKILL_EVASION[0], Evasion_Level[id]); } } #endif #if defined POWER_BANISH case 5: { if(get_user_level(id) < str_to_num(SKILL_BANISH[1])) { ColorChat(id,"!t[Furien]!g Trebuie sa ai!t Level %d!g pentru a debloca!t %s", str_to_num(SKILL_BANISH[1]), SKILL_BANISH[0]); FurienPowersMenu(id) } else if(Banish_Level[id] >= SKILL_MAX_LEVEL) FurienPowersMenu(id) else { Banish_Level[id] += 1 Credits[id] -- PlayerCredits[id] ++ SaveBanish(id) ColorChat(id,"!t[Furien]!g %s:!t Level %d", SKILL_BANISH[0], Banish_Level[id]); } } #endif #if defined POWER_TRUESHOT case 6: { if(get_user_level(id) < str_to_num(SKILL_TRUESHOT[1])) { ColorChat(id,"!t[Furien]!g Trebuie sa ai!t Level %d!g pentru a debloca!t %s", str_to_num(SKILL_TRUESHOT[1]), SKILL_TRUESHOT[0]); FurienPowersMenu(id) } else if(TrueShot_Level[id] >= SKILL_MAX_LEVEL) FurienPowersMenu(id) else { TrueShot_Level[id] += 1 Credits[id] -- PlayerCredits[id] ++ SaveTrueShot(id) ColorChat(id,"!t[Furien]!g %s:!t Level %d", SKILL_TRUESHOT[0], TrueShot_Level[id]); } } #endif #if defined POWER_PHOENIX case 7: { if(get_user_level(id) < str_to_num(SKILL_PHOENIX[1])) { ColorChat(id,"!t[Furien]!g Trebuie sa ai!t Level %d!g pentru a debloca!t %s", str_to_num(SKILL_PHOENIX[1]), SKILL_PHOENIX[0]); FurienPowersMenu(id) } else if(Phoenix_Level[id] >= SKILL_MAX_LEVEL) FurienPowersMenu(id) else { Phoenix_Level[id] += 1 Credits[id] -- PlayerCredits[id] ++ SavePhoenix(id) ColorChat(id,"!t[Furien]!g %s:!t Level %d", SKILL_PHOENIX[0], Phoenix_Level[id]); } } #endif default: return PLUGIN_HANDLED; } menu_destroy(menu); return PLUGIN_HANDLED; } public AntiFurienPowersMenu(id) { if(is_user_connected(id)) { new Title[256]; formatex(Title,sizeof(Title)-1,"\rAnti Furien Powers Menu^n\rLevel:\y %i \rXP:\y %i\r",get_user_level(id), get_user_xp(id)); Menu = menu_create(Title, "AntiFurienPowersMenuCmd"); #if defined POWER_DEVOTIONAURA new _DevotionAura[256]; if(get_user_level(id) < str_to_num(SKILL_DEVOTIONAURA[1])) formatex(_DevotionAura,sizeof(_DevotionAura)-1,"\d%s \w- \rLocked", SKILL_DEVOTIONAURA[0]); else if(DevotionAura_Level[id] >= SKILL_MAX_LEVEL) formatex(_DevotionAura,sizeof(_DevotionAura)-1,"\d%s Level: %d \w- \rMax Level", SKILL_DEVOTIONAURA[0], DevotionAura_Level[id]); else if(!Credits[id]) formatex(_DevotionAura,sizeof(_DevotionAura)-1,"\d%s Level: %d", SKILL_DEVOTIONAURA[0], DevotionAura_Level[id]); else formatex(_DevotionAura,sizeof(_DevotionAura)-1,"\w%s \yLevel: %d", SKILL_DEVOTIONAURA[0], DevotionAura_Level[id]); menu_additem(Menu, _DevotionAura, "1", 0); #endif #if defined POWER_CRITICALSTRIKE new _CriticalStrike[256]; if(get_user_level(id) < str_to_num(SKILL_CRITICALSTRIKE[1])) formatex(_CriticalStrike,sizeof(_CriticalStrike)-1,"\d%s \w- \rLocked", SKILL_CRITICALSTRIKE[0]); else if(CriticalStrike_Level[id] >= SKILL_MAX_LEVEL) formatex(_CriticalStrike,sizeof(_CriticalStrike)-1,"\d%s Level: %d \w- \rMax Level", SKILL_CRITICALSTRIKE[0], CriticalStrike_Level[id]); else if(!Credits[id]) formatex(_CriticalStrike,sizeof(_CriticalStrike)-1,"\d%s Level: %d", SKILL_CRITICALSTRIKE[0], CriticalStrike_Level[id]); else formatex(_CriticalStrike,sizeof(_CriticalStrike)-1,"\w%s \yLevel: %d", SKILL_CRITICALSTRIKE[0], CriticalStrike_Level[id]); menu_additem(Menu, _CriticalStrike, "2", 0); #endif #if defined POWER_CRITICALGRENADE new _CriticalGrenade[256]; if(get_user_level(id) < str_to_num(SKILL_CRITICALGRENADE[1])) formatex(_CriticalGrenade,sizeof(_CriticalGrenade)-1,"\d%s \w- \rLocked", SKILL_CRITICALGRENADE[0]); else if(CriticalGrenade_Level[id] >= SKILL_MAX_LEVEL) formatex(_CriticalGrenade,sizeof(_CriticalGrenade)-1,"\d%s Level: %d \w- \rMax Level", SKILL_CRITICALGRENADE[0], CriticalGrenade_Level[id]); else if(!Credits[id]) formatex(_CriticalGrenade,sizeof(_CriticalGrenade)-1,"\d%s Level: %d", SKILL_CRITICALGRENADE[0], CriticalGrenade_Level[id]); else formatex(_CriticalGrenade,sizeof(_CriticalGrenade)-1,"\w%s \yLevel: %d", SKILL_CRITICALGRENADE[0], CriticalGrenade_Level[id]); menu_additem(Menu, _CriticalGrenade, "3", 0); #endif #if defined POWER_BASH new _Bash[256]; if(get_user_level(id) < str_to_num(SKILL_BASH[1])) formatex(_Bash,sizeof(_Bash)-1,"\d%s \w- \rLocked", SKILL_BASH[0]); else if(Bash_Level[id] >= SKILL_MAX_LEVEL) formatex(_Bash,sizeof(_Bash)-1,"\d%s Level: %d \w- \rMax Level", SKILL_BASH[0], Bash_Level[id]); else if(!Credits[id]) formatex(_Bash,sizeof(_Bash)-1,"\d%s Level: %d", SKILL_BASH[0], Bash_Level[id]); else formatex(_Bash,sizeof(_Bash)-1,"\w%s \yLevel: %d", SKILL_BASH[0], Bash_Level[id]); menu_additem(Menu, _Bash, "4", 0); #endif #if defined POWER_HEALINGWAVE new _HealingWave[256]; if(get_user_level(id) < str_to_num(SKILL_HEALINGWAVE[1])) formatex(_HealingWave,sizeof(_HealingWave)-1,"\d%s \w- \rLocked", SKILL_HEALINGWAVE[0]); else if(HealingWave_Level[id] >= SKILL_MAX_LEVEL) formatex(_HealingWave,sizeof(_HealingWave)-1,"\d%s Level: %d \w- \rMax Level", SKILL_HEALINGWAVE[0], HealingWave_Level[id]); else if(!Credits[id]) formatex(_HealingWave,sizeof(_HealingWave)-1,"\d%s Level: %d", SKILL_HEALINGWAVE[0], HealingWave_Level[id]); else formatex(_HealingWave,sizeof(_HealingWave)-1,"\w%s \yLevel: %d", SKILL_HEALINGWAVE[0], HealingWave_Level[id]); menu_additem(Menu, _HealingWave, "5", 0); #endif #if defined POWER_SHADOWSTRIKE new _ShadowStrike[256]; if(get_user_level(id) < str_to_num(SKILL_SHADOWSTRIKE[1])) formatex(_ShadowStrike,sizeof(_ShadowStrike)-1,"\d%s \w- \rLocked", SKILL_SHADOWSTRIKE[0]); else if(ShadowStrike_Level[id] >= SKILL_MAX_LEVEL) formatex(_ShadowStrike,sizeof(_ShadowStrike)-1,"\d%s Level: %d \w- \rMax Level", SKILL_SHADOWSTRIKE[0], ShadowStrike_Level[id]); else if(!Credits[id]) formatex(_ShadowStrike,sizeof(_ShadowStrike)-1,"\d%s Level: %d", SKILL_SHADOWSTRIKE[0], ShadowStrike_Level[id]); else formatex(_ShadowStrike,sizeof(_ShadowStrike)-1,"\w%s \yLevel: %d", SKILL_SHADOWSTRIKE[0], ShadowStrike_Level[id]); menu_additem(Menu, _ShadowStrike, "6", 0); #endif #if defined POWER_SIPHONMANA new _SiphonMana[256]; if(get_user_level(id) < str_to_num(SKILL_SIPHONMANA[1])) formatex(_SiphonMana,sizeof(_SiphonMana)-1,"\d%s \w- \rLocked", SKILL_SIPHONMANA[0]); else if(SiphonMana_Level[id] >= SKILL_MAX_LEVEL) formatex(_SiphonMana,sizeof(_SiphonMana)-1,"\d%s Level: %d \w- \rMax Level", SKILL_SIPHONMANA[0], SiphonMana_Level[id]); else if(!Credits[id]) formatex(_SiphonMana,sizeof(_SiphonMana)-1,"\d%s Level: %d", SKILL_SIPHONMANA[0], SiphonMana_Level[id]); else formatex(_SiphonMana,sizeof(_SiphonMana)-1,"\w%s \yLevel: %d", SKILL_SIPHONMANA[0], SiphonMana_Level[id]); menu_additem(Menu, _SiphonMana, "7", 0); #endif menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, Menu, 0); } } public AntiFurienPowersMenuCmd(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } if(!Credits[id]) { AntiFurienPowersMenu(id) return PLUGIN_HANDLED; } new Data[6], Name[64]; new Access, CallBack; menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack); new Key = str_to_num(Data); switch(Key) { #if defined POWER_DEVOTIONAURA case 1: { if(get_user_level(id) < str_to_num(SKILL_DEVOTIONAURA[1])) { ColorChat(id,"!t[Furien]!g Trebuie sa ai!t Level %d!g pentru a debloca!t %s", str_to_num(SKILL_DEVOTIONAURA[1]), SKILL_DEVOTIONAURA[0]); AntiFurienPowersMenu(id) } else if(DevotionAura_Level[id] >= SKILL_MAX_LEVEL) AntiFurienPowersMenu(id) else { DevotionAura_Level[id] += 1 Credits[id] -- PlayerCredits[id] ++ SaveDevotionAura(id) ColorChat(id,"!t[Furien]!g %s:!t Level %d", SKILL_DEVOTIONAURA[0], DevotionAura_Level[id]); if(is_user_alive(id) && get_user_team(id) == 2) fm_set_user_health(id, get_user_health(id) + Devotion); } } #endif #if defined POWER_CRITICALSTRIKE case 2: { if(get_user_level(id) < str_to_num(SKILL_CRITICALSTRIKE[1])) { ColorChat(id,"!t[Furien]!g Trebuie sa ai!t Level %d!g pentru a debloca!t %s", str_to_num(SKILL_CRITICALSTRIKE[1]), SKILL_CRITICALSTRIKE[0]); AntiFurienPowersMenu(id) } else if(CriticalStrike_Level[id] >= SKILL_MAX_LEVEL) AntiFurienPowersMenu(id) else { CriticalStrike_Level[id] += 1 Credits[id] -- PlayerCredits[id] ++ SaveCriticalStrike(id) ColorChat(id,"!t[Furien]!g %s:!t Level %d", SKILL_CRITICALSTRIKE[0], CriticalStrike_Level[id]); } } #endif #if defined POWER_CRITICALGRENADE case 3: { if(get_user_level(id) < str_to_num(SKILL_CRITICALGRENADE[1])) { ColorChat(id,"!t[Furien]!g Trebuie sa ai!t Level %d!g pentru a debloca!t %s", str_to_num(SKILL_CRITICALGRENADE[1]), SKILL_CRITICALGRENADE[0]); AntiFurienPowersMenu(id) } else if(CriticalGrenade_Level[id] >= SKILL_MAX_LEVEL) AntiFurienPowersMenu(id) else { CriticalGrenade_Level[id] += 1 Credits[id] -- PlayerCredits[id] ++ SaveCriticalGrenade(id) ColorChat(id,"!t[Furien]!g %s:!t Level %d", SKILL_CRITICALGRENADE[0], CriticalGrenade_Level[id]); } } #endif #if defined POWER_BASH case 4: { if(get_user_level(id) < str_to_num(SKILL_BASH[1])) { ColorChat(id,"!t[Furien]!g Trebuie sa ai!t Level %d!g pentru a debloca!t %s", str_to_num(SKILL_BASH[1]), SKILL_BASH[0]); AntiFurienPowersMenu(id) } else if(Bash_Level[id] >= SKILL_MAX_LEVEL) AntiFurienPowersMenu(id) else { Bash_Level[id] += 1 Credits[id] -- PlayerCredits[id] ++ SaveBash(id) ColorChat(id,"!t[Furien]!g %s:!t Level %d", SKILL_BASH[0], Bash_Level[id]); } } #endif #if defined POWER_HEALINGWAVE case 5: { if(get_user_level(id) < str_to_num(SKILL_HEALINGWAVE[1])) { ColorChat(id,"!t[Furien]!g Trebuie sa ai!t Level %d!g pentru a debloca!t %s", str_to_num(SKILL_HEALINGWAVE[1]), SKILL_HEALINGWAVE[0]); AntiFurienPowersMenu(id) } else if(HealingWave_Level[id] >= SKILL_MAX_LEVEL) AntiFurienPowersMenu(id) else { HealingWave_Level[id] += 1 Credits[id] -- PlayerCredits[id] ++ SaveHealingWave(id) ColorChat(id,"!t[Furien]!g %s:!t Level %d", SKILL_HEALINGWAVE[0], HealingWave_Level[id]); } if(is_user_alive(id) && get_user_team(id) == 2) { if(!task_exists(id + TASK_WAVE)) { HealingWave(id); } } } #endif #if defined POWER_SHADOWSTRIKE case 6: { if(get_user_level(id) < str_to_num(SKILL_SHADOWSTRIKE[1])) { ColorChat(id,"!t[Furien]!g Trebuie sa ai!t Level %d!g pentru a debloca!t %s", str_to_num(SKILL_SHADOWSTRIKE[1]), SKILL_SHADOWSTRIKE[0]); AntiFurienPowersMenu(id) } else if(ShadowStrike_Level[id] >= SKILL_MAX_LEVEL) AntiFurienPowersMenu(id) else { ShadowStrike_Level[id] += 1 Credits[id] -- PlayerCredits[id] ++ SaveShadowStrike(id) ColorChat(id,"!t[Furien]!g %s:!t Level %d", SKILL_SHADOWSTRIKE[0], ShadowStrike_Level[id]); } } #endif #if defined POWER_SIPHONMANA case 7: { if(get_user_level(id) < str_to_num(SKILL_SIPHONMANA[1])) { ColorChat(id,"!t[Furien]!g Trebuie sa ai!t Level %d!g pentru a debloca!t %s", str_to_num(SKILL_SIPHONMANA[1]), SKILL_SIPHONMANA[0]); AntiFurienPowersMenu(id) } else if(SiphonMana_Level[id] >= SKILL_MAX_LEVEL) AntiFurienPowersMenu(id) else { SiphonMana_Level[id] += 1 Credits[id] -- PlayerCredits[id] ++ SaveSiphonMana(id) ColorChat(id,"!t[Furien]!g %s:!t Level %d", SKILL_SIPHONMANA[0], SiphonMana_Level[id]); } } #endif default: return PLUGIN_HANDLED; } menu_destroy(menu); return PLUGIN_HANDLED; } public CMD_Ultimate(id) { if(is_user_connected(id) && is_user_alive(id)) { if(!get_user_ultimate(id)) { new Message[256]; formatex(Message,sizeof(Message)-1,"Ultimate not found."); HudMessage(id, Message, _, _, _, _, _, _, _, 1.0); client_cmd(id, "speak %s", SOUND_ERROR); } else if(UltimateGlobalDelay > 0) { new Message[256]; formatex(Message,sizeof(Message)-1,"Ultimate not ready.^n(%d seconds remaining).", UltimateGlobalDelay); HudMessage(id, Message, _, _, _, _, _, _, _, 1.0); client_cmd(id, "speak %s", SOUND_ERROR); } else if(UltimateDelay[id] > 0) { new Message[256]; formatex(Message,sizeof(Message)-1,"Ultimate not ready.^n(%d seconds remaining).", UltimateDelay[id]); HudMessage(id, Message, _, _, _, _, _, _, _, 1.0); client_cmd(id, "speak %s", SOUND_ERROR); } else if(UltimateIsUsed[id]) { new Message[256]; formatex(Message,sizeof(Message)-1,"Ultimate not ready.^n(%d seconds remaining).", UltimateDelay[id]); HudMessage(id, Message, _, _, _, _, _, _, _, 1.0); client_cmd(id, "speak %s", SOUND_ERROR); } else { #if defined ULT_SUICIDE if(get_user_ultimate(id) == str_to_num(ULTIMATE_SUICIDE[1])) { if(SuicideBombArmed[id]) { set_msg_block(get_user_msgid("DeathMsg"), BLOCK_ONCE); user_kill(id, 1); UltimateDelay[id] = get_pcvar_num(cvar_ultimate_countdown); Ultimate_Delay(id) Ultimate_SuicideExplode(id) SuicideBombArmed[id] = false } else { SuicideBombArmed[id] = true Ultimate_Icon(id, 2); new Message[256]; formatex(Message,sizeof(Message)-1,"Suicide Bomb Armed^nPress Again To Detonate"); HudMessage(id, Message, 178, 14, 41, _, _, _, _, 2.0); } } #endif #if defined ULT_BLINK if(get_user_ultimate(id) == str_to_num(ULTIMATE_BLINK[1])) { if(Ultimate_Blink(id)) { UltimateDelay[id] = get_pcvar_num(cvar_ultimate_countdown); Ultimate_Delay(id) } else { UltimateDelay[id] = 2; Ultimate_Delay(id) client_print(id, print_center,"Pozitia de teleportare este invalida.") } } #endif #if defined ULT_CHAINLIGHTNING if(get_user_ultimate(id) == str_to_num(ULTIMATE_CHAINLIGHTNING[1])) { if(!Ultimate_Is_Searching[id]) { Ultimate_Is_Searching[id] = true; if(!task_exists(TASK_SEARCHING + id)) { new Parm[2]; Parm[0] = id; Parm[1] = 5; Ultimate_Searching(Parm); } } } #endif #if defined ULT_ENTANGLE if(get_user_ultimate(id) == str_to_num(ULTIMATE_ENTANGLE[1])) { if(!Ultimate_Is_Searching[id]) { Ultimate_Is_Searching[id] = true; if(!task_exists(TASK_SEARCHING + id)) { new Parm[2]; Parm[0] = id; Parm[1] = 5; Ultimate_Searching(Parm); } } } #endif #if defined ULT_IMMOLATE if(get_user_ultimate(id) == str_to_num(ULTIMATE_IMMOLATE[1])) { if(!Ultimate_Is_Searching[id]) { Ultimate_Is_Searching[id] = true; if(!task_exists(TASK_SEARCHING + id)) { new Parm[2]; Parm[0] = id; Parm[1] = 5; Ultimate_Searching(Parm); } } } #endif #if defined ULT_BIGBADVOODOO if(get_user_ultimate(id) == str_to_num(ULTIMATE_BIGBADVOODOO[1])) Ultimate_BigBadVoodoo(id); #endif #if defined ULT_VENGEANCE if(get_user_ultimate(id) == str_to_num(ULTIMATE_VENGEANCE[1])) Ultimate_Vengeance(id); #endif #if defined ULT_LOCUSTSWARM if(get_user_ultimate(id) == str_to_num(ULTIMATE_LOCUSTSWARM[1])) Ultimate_LocustSwarm(id); #endif } } } public Ultimate_GlobalDelay() { if(UltimateGlobalDelay > 1) { UltimateGlobalDelay--; new Players[32], Num; get_players(Players, Num); for(new i = 0; i < Num; i++) { if(is_user_connected(Players)) Ultimate_Icon(Players, 0); } set_task(1.0, "Ultimate_GlobalDelay") } else if(UltimateGlobalDelay <= 1) { UltimateGlobalDelay = 0; new Players[32], Num; get_players(Players, Num); for(new i = 0; i < Num; i++) { if(is_user_connected(Players) && is_user_alive(Players) && get_user_ultimate(Players)) { client_cmd(Players, "speak %s", SOUND_ULTIMATEREADY) Ultimate_Icon(Players[i], 1); new Message[256]; formatex(Message,sizeof(Message)-1,"Ultimate is ready."); HudMessage(Players[i], Message, _, _, _, _, _, _, _, 1.0); } } } } public Ultimate_Delay(id) { if(id >= TASK_DELAY) { id -= TASK_DELAY; } if(is_user_connected(id) && is_user_alive(id) && get_user_ultimate(id)) { if(UltimateDelay[id] > 1) { UltimateDelay[id]--; Ultimate_Icon(id, 0); set_task(1.0, "Ultimate_Delay", id+TASK_DELAY); } else if(UltimateDelay[id] <= 1) { UltimateDelay[id] = 0; client_cmd(id, "speak %s", SOUND_ULTIMATEREADY) new Message[256]; formatex(Message,sizeof(Message)-1,"Ultimate is ready."); HudMessage(id, Message, _, _, _, _, _, _, _, 1.0); Ultimate_Icon(id, 1); } } } stock Ultimate_Icon(id, flag) { if(get_user_ultimate(id)) { new Red, Green, Blue; #if defined ULT_SUICIDE if(get_user_ultimate(id) == str_to_num(ULTIMATE_SUICIDE[1])) { Red=255, Green=0, Blue=0; if(flag == 2 && SuicideBombArmed[id]) Red=255, Green=255, Blue=255; Create_StatusIcon(id, flag, ULTIMATE_SUICIDE[2], Red, Green, Blue); } #endif #if defined ULT_BLINK if(get_user_ultimate(id) == str_to_num(ULTIMATE_BLINK[1])) { Red=0, Green=120, Blue=120; Create_StatusIcon(id, flag, ULTIMATE_BLINK[2], Red, Green, Blue); } #endif #if defined ULT_CHAINLIGHTNING if(get_user_ultimate(id) == str_to_num(ULTIMATE_CHAINLIGHTNING[1])) { Red=255, Green=255, Blue=255; Create_StatusIcon(id, flag, ULTIMATE_CHAINLIGHTNING[2], Red, Green, Blue); } #endif #if defined ULT_ENTANGLE if(get_user_ultimate(id) == str_to_num(ULTIMATE_ENTANGLE[1])) { Red=0, Green=0, Blue=255; Create_StatusIcon(id, flag, ULTIMATE_ENTANGLE[2], Red, Green, Blue); } #endif #if defined ULT_IMMOLATE if(get_user_ultimate(id) == str_to_num(ULTIMATE_IMMOLATE[1])) { Red=255, Green=0, Blue=0; if(flag == 2) Red=255, Green=255, Blue=255; Create_StatusIcon(id, flag, ULTIMATE_IMMOLATE[2], Red, Green, Blue); } #endif #if defined ULT_BIGBADVOODOO if(get_user_ultimate(id) == str_to_num(ULTIMATE_BIGBADVOODOO[1])) { Red=0, Green=200, Blue=200; Create_StatusIcon(id, flag, ULTIMATE_BIGBADVOODOO[2], Red, Green, Blue); } #endif #if defined ULT_VENGEANCE if(get_user_ultimate(id) == str_to_num(ULTIMATE_VENGEANCE[1])) { Red=255, Green=0, Blue=0; Create_StatusIcon(id, flag, ULTIMATE_VENGEANCE[2], Red, Green, Blue); } #endif #if defined ULT_LOCUSTSWARM if(get_user_ultimate(id) == str_to_num(ULTIMATE_LOCUSTSWARM[1])) { Red=0, Green=255, Blue=0; Create_StatusIcon(id, flag, ULTIMATE_LOCUSTSWARM[2], Red, Green, Blue); } #endif } } public Ultimate_Searching(parm[]) { new id = parm[0]; new TimeLeft = parm[1]; parm[1]--; if(!is_user_connected(id) || !is_user_alive(id)) { Ultimate_Is_Searching[id] = false; } if(TimeLeft == 0) { Ultimate_Is_Searching[id] = false; Ultimate_Icon(id, 1); } if(Ultimate_Is_Searching[id]) { Ultimate_Icon(id, 2); emit_sound(id, CHAN_STATIC, SOUND_SEARCHING, 1.0, ATTN_NORM, 0, PITCH_NORM); set_task(1.0, "Ultimate_Searching", TASK_SEARCHING + id, parm, 2); } } stock Ultimate_Reset(id) { #if defined ULT_SUICIDE task_exists(TASK_EXPLOSION + id) ? remove_task(TASK_EXPLOSION + id) : 0; task_exists(TASK_BEAMCYLINDER + id) ? remove_task(TASK_BEAMCYLINDER + id) : 0; SuicideBombArmed[id] = false; #endif #if defined ULT_CHAINLIGHTNING task_exists(TASK_LIGHTNINGNEXT + id) ? remove_task(TASK_LIGHTNINGNEXT + id) : 0; LightningHit[id] = false; #endif #if defined ULT_ENTANGLE task_exists(TASK_ENTANGLEWAIT + id) ? remove_task(TASK_ENTANGLEWAIT + id) : 0; IsStunned[id] = false; #endif #if defined ULT_IMMOLATE task_exists(TASK_BURNING + id) ? remove_task(TASK_BURNING + id) : 0; #endif #if defined ULT_VENGEANCE task_exists(TASK_SPAWN + id) ? remove_task(TASK_SPAWN + id) : 0; task_exists(TASK_SPAWNPLAYER + id) ? remove_task(TASK_SPAWNPLAYER + id) : 0; #endif #if defined ULT_LOCUSTSWARM task_exists(TASK_FUNNELS + id) ? remove_task(TASK_FUNNELS + id) : 0; #endif task_exists(TASK_SEARCHING + id) ? remove_task(TASK_SEARCHING + id) : 0; task_exists(TASK_DELAY + id) ? remove_task(TASK_DELAY + id) : 0; UltimateDelay[id] = 0; Ultimate_Is_Searching[id] = false; Ultimate_Icon(id, 0) } stock Create_StatusIcon(id, status, sprite[], red, green, blue){ message_begin(MSG_ONE, get_user_msgid("StatusIcon"), {0,0,0}, id) write_byte(status) // status write_string(sprite) // sprite name write_byte(red) // red write_byte(green) // green write_byte(blue) // blue message_end() } #if defined ULT_SUICIDE // Suicide Explosion public Ultimate_SuicideExplode(id) { emit_sound(id, CHAN_STATIC, SOUND_SUICIDE, 1.0, ATTN_NORM, 0, PITCH_NORM); new parm[5], Origin[3]; get_user_origin(id, Origin); parm[0] = id; parm[1] = 6; parm[2] = Origin[0]; parm[3] = Origin[1]; parm[4] = Origin[2]; set_task(0.50, "SuicideExplode", TASK_EXPLOSION + id, parm, 5); set_task(0.50, "SuicideBlastCircles", TASK_BEAMCYLINDER + id, parm, 5); message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_IMPLOSION) write_coord(Origin[0]) // position(X) write_coord(Origin[1]) // position(Y) write_coord(Origin[2]) // position(Z) write_byte(100) // radius write_byte(20) // count write_byte(5) // life in 0.1's message_end() } public SuicideExplode(parm[5]) { new id = parm[0]; new Origin[3]; Origin[0] = parm[2]; Origin[1] = parm[3]; Origin[2] = parm[4]; new Float:Origin2[3]; IVecFVec(Origin, Origin2); message_begin(MSG_PVS, SVC_TEMPENTITY, Origin) write_byte(TE_EXPLOSION) write_coord(Origin[0]) // position(X) write_coord(Origin[1]) // position(Y) write_coord(Origin[2]) // position(Z) write_short(SPR_SUICIDE_EXPLODE) // sprite index write_byte((random_num(0,20) + 20)) // scale in 0.1's write_byte(12) // framerate write_byte(TE_EXPLFLAG_NONE) // flags message_end() message_begin(MSG_PVS, SVC_TEMPENTITY, Origin) write_byte(TE_SMOKE) write_coord(Origin[0]) // position(X) write_coord(Origin[1]) // position(Y) write_coord(Origin[2]) // position(Z) write_short(SPR_SUICIDE_SMOKE) // Sprite index write_byte(60) // scale * 10 write_byte(10) // framerate message_end() for(new Victim = 1; Victim < get_maxplayers(); Victim++) { if(is_user_connected(Victim) && is_user_alive(Victim) && !fm_get_user_godmode(Victim) && get_user_team(Victim) != get_user_team(id) && Victim != id) { new Float:VictimOrigin[3], Float:Distance_F, Distance; pev(Victim, pev_origin, VictimOrigin); Distance_F = get_distance_f(Origin2, VictimOrigin); Distance = floatround(Distance_F); if(Distance <= EXPLOSION_BLAST_RADIUS) { new Float:DistanceRatio, Float:Damage; DistanceRatio = floatdiv(float(Distance), EXPLOSION_BLAST_RADIUS); Damage = EXPLOSION_MAX_DAMAGE - floatround(floatmul(EXPLOSION_MAX_DAMAGE, DistanceRatio)); new BloodColor = ExecuteHam(Ham_BloodColor, Victim); if(BloodColor != -1) { new Amount = floatround(Damage); Amount *= 2; //according to HLSDK message_begin(MSG_BROADCAST, SVC_TEMPENTITY); write_byte(TE_BLOODSPRITE); write_coord(floatround(VictimOrigin[0])); write_coord(floatround(VictimOrigin[1])); write_coord(floatround(VictimOrigin[2])); write_short(BloodSpray); write_short(BloodDrop); write_byte(BloodColor); write_byte(min(max(3, Amount/10), 16)); message_end(); } if(parm[1] == 6) make_knockback(Victim, Origin2, EXPLOSION_KNOCKBACK*Damage); if(get_user_health(Victim) - Damage >= 1) { ExecuteHam(Ham_TakeDamage, Victim, id, id, Damage, DMG_BLAST); Create_ScreenFade(id,(1<<13),(1<<14), 0x0000, 255, 255, 255, 100); Create_ScreenShake(Victim,(1<<14),(1<<13),(1<<14)); } else { death_message(id, Victim, "Suicide Explode"); } } } } --parm[1]; if(parm[1] > 0) { set_task(0.1, "SuicideExplode", TASK_EXPLOSION + id, parm, 5); } } public SuicideBlastCircles(parm[5]) { new Origin[3]; Origin[0] = parm[2]; Origin[1] = parm[3]; Origin[2] = parm[4]-16; new Float:Origin2[3]; IVecFVec(Origin, Origin2); engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, Origin2, 0) write_byte(TE_BEAMCYLINDER) // TE id engfunc(EngFunc_WriteCoord, Origin2[0]) // x engfunc(EngFunc_WriteCoord, Origin2[1]) // y engfunc(EngFunc_WriteCoord, Origin2[2]) // z engfunc(EngFunc_WriteCoord, Origin2[0]) // x axis engfunc(EngFunc_WriteCoord, Origin2[1]) // y axis engfunc(EngFunc_WriteCoord, Origin2[2]+385.0) // z axis write_short(SPR_SUICIDE_BLAST) // sprite write_byte(0) // startframe write_byte(0) // framerate write_byte(4) // life write_byte(60) // width write_byte(0) // noise write_byte(255) // red write_byte(255) // green write_byte(255) // blue write_byte(200) // brightness write_byte(0) // speed message_end() engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, Origin2, 0) write_byte(TE_BEAMCYLINDER) // TE id engfunc(EngFunc_WriteCoord, Origin2[0]) // x engfunc(EngFunc_WriteCoord, Origin2[1]) // y engfunc(EngFunc_WriteCoord, Origin2[2]) // z engfunc(EngFunc_WriteCoord, Origin2[0]) // x axis engfunc(EngFunc_WriteCoord, Origin2[1]) // y axis engfunc(EngFunc_WriteCoord, Origin2[2]+470.0) // z axis write_short(SPR_SUICIDE_BLAST) // sprite write_byte(0) // startframe write_byte(0) // framerate write_byte(4) // life write_byte(60) // width write_byte(0) // noise write_byte(255) // red write_byte(255) // green write_byte(255) // blue write_byte(200) // brightness write_byte(0) // speed message_end() engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, Origin2, 0) write_byte(TE_BEAMCYLINDER) // TE id engfunc(EngFunc_WriteCoord, Origin2[0]) // x engfunc(EngFunc_WriteCoord, Origin2[1]) // y engfunc(EngFunc_WriteCoord, Origin2[2]) // z engfunc(EngFunc_WriteCoord, Origin2[0]) // x axis engfunc(EngFunc_WriteCoord, Origin2[1]) // y axis engfunc(EngFunc_WriteCoord, Origin2[2]+555.0) // z axis write_short(SPR_SUICIDE_BLAST) // sprite write_byte(0) // startframe write_byte(0) // framerate write_byte(4) // life write_byte(60) // width write_byte(0) // noise write_byte(255) // red write_byte(255) // green write_byte(255) // blue write_byte(200) // brightness write_byte(0) // speed message_end() message_begin(MSG_BROADCAST,SVC_TEMPENTITY); write_byte(TE_DLIGHT); write_coord(Origin[0]); // x write_coord(Origin[1]); // y write_coord(Origin[2]); // z write_byte(floatround(EXPLOSION_BLAST_RADIUS/10.0)); // radius write_byte(255) // red write_byte(255) // green write_byte(255) // blue write_byte(8); // life write_byte(60); // decay rate message_end(); } #endif #if defined ULT_BLINK //Blink bool:Ultimate_Blink(id) { new Origin[3], NewOrigin[3]; get_user_origin(id, NewOrigin, 3); get_user_origin(id, Origin); Origin[2] += 15; NewOrigin[2] += 15; if(PlayerBanished[id] || IsStunned[id]) { new Message[256]; formatex(Message,sizeof(Message)-1,"You can't blink when you're stunned!"); HudMessage(id, Message, 255, 208, 0, -1.0, 0.85, _, _, 1.0); return false } if(is_restricted_area(id, NewOrigin)) { ColorChat(id, "!t[Teleport]!g Pozitia de teleportare este invalida.") return false } new Float:SpriteOrigin[3] pev(id, pev_origin, SpriteOrigin) set_user_origin(id, NewOrigin); new Float:SpriteOrigin2[3] pev(id, pev_origin, SpriteOrigin2) if(is_player_stuck(id)) { if(is_user_connected(id)) { static Float:origin[3] static Float:mins[3], hull static Float:vec[3] static o pev(id, pev_origin, origin) hull = pev(id, pev_flags) & FL_DUCKING ? HULL_HEAD : HULL_HUMAN if(!is_hull_vacant(origin, hull, id) && !(pev(id, pev_solid) & SOLID_NOT)) { pev(id, pev_mins, mins) vec[2] = origin[2] for(o=0; o < sizeof Size; ++o) { vec[0] = origin[0] - mins[0] * Size[o][0] vec[1] = origin[1] - mins[1] * Size[o][1] vec[2] = origin[2] - mins[2] * Size[o][2] if(is_hull_vacant(vec, hull, id)) { engfunc(EngFunc_SetOrigin, id, vec) set_pev(id, pev_velocity,{0.0,0.0,0.0}) o = sizeof Size } } } } } emit_sound(id, CHAN_STATIC, SOUND_BLINK, 1.0, ATTN_NORM, 0, PITCH_NORM); engfunc(EngFunc_MessageBegin, MSG_BROADCAST,SVC_TEMPENTITY, SpriteOrigin, 0) write_byte(TE_EXPLOSION) engfunc(EngFunc_WriteCoord, SpriteOrigin[0]) // x axis engfunc(EngFunc_WriteCoord, SpriteOrigin[1]) // y axis engfunc(EngFunc_WriteCoord, SpriteOrigin[2]) // z axis write_short(SPR_TELEPORT) write_byte(22) write_byte(35) write_byte(TE_EXPLFLAG_NOSOUND) message_end() engfunc(EngFunc_MessageBegin, MSG_BROADCAST,SVC_TEMPENTITY, SpriteOrigin2, 0) write_byte(TE_EXPLOSION) engfunc(EngFunc_WriteCoord, SpriteOrigin2[0]) // x axis engfunc(EngFunc_WriteCoord, SpriteOrigin2[1]) // y axis engfunc(EngFunc_WriteCoord, SpriteOrigin2[2]) // z axis write_short(SPR_TELEPORT) write_byte(22) write_byte(35) write_byte(TE_EXPLFLAG_NOSOUND) message_end() message_begin(MSG_BROADCAST, SVC_TEMPENTITY); write_byte(TE_SPRITETRAIL); write_coord(floatround(SpriteOrigin2[0])); write_coord(floatround(SpriteOrigin2[1])); write_coord(floatround(SpriteOrigin2[2])+40); write_coord(floatround(SpriteOrigin2[0])); write_coord(floatround(SpriteOrigin2[1])); write_coord(floatround(SpriteOrigin2[2])); write_short(SPR_TELEPORT_GIB); write_byte(30); write_byte(10); write_byte(1); write_byte(50); write_byte(10); message_end(); Create_ScreenFade(id,(1<<15),(1<<10),(1<<12), 0, 0, 255, 180); Create_ScreenShake(id,(1<<14),(1<<13),(1<<14)); return true; } is_player_stuck(id) { static Float:originF[3] pev(id, pev_origin, originF) engfunc(EngFunc_TraceHull, originF, originF, 0,(pev(id, pev_flags) & FL_DUCKING) ? HULL_HEAD : HULL_HUMAN, id, 0) if(get_tr2(0, TR_StartSolid) || get_tr2(0, TR_AllSolid) || !get_tr2(0, TR_InOpen)) return true return false } public is_restricted_area(id, Origin[3]) { new MapName[32]; get_mapname(MapName, 32); new x = Origin[0]; new y = Origin[1]; new z = Origin[2]; if(equali(MapName, "de_dust")) { if(z > 220) { return true; } } else if(equali(MapName, "awp_assault")) { if(z > 520 && y > 2400 && y < 2600) { return true; } } else if(equali(MapName, "de_dust_cz")) { if(z > 220) { return true; } } else if(equali(MapName, "de_aztec_cz")) { if(z > 300) { return true; } } else if(equali(MapName, "cs_assault_upc")) { if(z > 650) { return true; } } else if(equali(MapName, "de_aztec")) { if(z > 300) { return true; } } else if(equali(MapName, "de_cbble") || equali(MapName, "de_cbble_cz")) { if(z > 315) { if(!((x > -1320 && x < -1150) &&(y > 2600 && y < 2900))) { return true; } } } else if(equali(MapName, "cs_assault")) { if(z > 700) { return true; } } else if(equali(MapName, "cs_militia") || equali(MapName, "cs_militia_cz")) { if(z > 500) { return true; } } else if(equali(MapName, "cs_italy")) { if(z > -220 && y < -2128) { return true; } else if(z > 250) { if((x < -1000 && x > -1648) &&(y > 1900 && y < 2050)) { return true; } else if((x < -1552 && x > -1648) &&(y > 1520 && y < 2050)) { return true; } } } else if(equali(MapName, "cs_italy_cz")) { if(y > 2608) { return true; } } else if(equali(MapName, "de_dust2")) { if(z > 270) { return true; } } else if(equali(MapName, "de_dust2_cz")) { if(z > 270) { return true; } } else if(equali(MapName, "fy_dustworld")) { if(z > 82) { return true; } } else if(equali(MapName, "fy_pool_day")) { if(z > 190) { return true; } } else if(equali(MapName, "as_oilrig")) { if(x > 1700) { return true; } } return false; } stock bool:is_hull_vacant(const Float:origin[3], hull,id) { static tr engfunc(EngFunc_TraceHull, origin, origin, 0, hull, id, tr) if(!get_tr2(tr, TR_StartSolid) || !get_tr2(tr, TR_AllSolid)) //get_tr2(tr, TR_InOpen)) return true return false } #endif #if defined ULT_CHAINLIGHTNING //Chain Lightning public Ultimate_ChainLightning(Caster, Target, BodyPart) { ChainEffect(Caster, Target, CHAINLIGHTNING_LINEWIDTH, CHAINLIGHTNING_DAMAGE, BodyPart); new parm[5]; parm[0] = Target; parm[1] = CHAINLIGHTNING_DAMAGE; parm[2] = CHAINLIGHTNING_LINEWIDTH; parm[3] = Caster; parm[4] = BodyPart; set_task(0.2, "ChainLightning", TASK_LIGHTNING + Target, parm, 5); } public ChainLightning(parm[5]) { new Enemy = parm[0]; if(is_user_connected(Enemy)) { new Caster = parm[3]; new BodyPart = parm[4]; new CasterTeam = get_user_team(Caster) new Origin[3]; get_user_origin(Enemy, Origin); new Players[32], Num; get_players(Players, Num, "a"); new i, Target = 0; new ClosestTarget = 0, ClosestDistance = 0; new DistanceBetween = 0; new TargetOrigin[3] for(i = 0; i < Num; i++) { Target = Players[i]; if(get_user_team(Target) != CasterTeam) { get_user_origin(Target, TargetOrigin) DistanceBetween = get_distance(Origin, TargetOrigin); if(DistanceBetween < LIGHTNING_RANGE && !LightningHit[Target]) { if(DistanceBetween < ClosestDistance || ClosestTarget == 0) { ClosestDistance = DistanceBetween; ClosestTarget = Target; } } } } if(ClosestTarget) { parm[1] = floatround(float(parm[2])*2/3); parm[2] = floatround(float(parm[2])*2/3); ChainEffect(Caster, ClosestTarget, parm[2], parm[1], BodyPart); parm[0] = ClosestTarget; set_task(0.2, "ChainLightning", TASK_LIGHTNINGNEXT + Caster, parm, 5); } else { for(i = 0; i < Num; i++) { LightningHit[Players[i]] = false; } } } } public ChainEffect(Caster, Target, LineWidth, Damage, BodyPart) { LightningHit[Target] = true; if(get_user_health(Target) - Damage >= 1) { ExecuteHam(Ham_TakeDamage, Target, Caster, Caster, float(Damage), DMG_BLAST); Create_ScreenFade(Target,(1<<13),(1<<14), 0x0000, 255, 255, 255, 100); Create_ScreenShake(Target,(1<<14),(1<<13),(1<<14)); } else { death_message(Caster, Target, "Chain Lightning"); } message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BEAMENTS) write_short(Caster) // start entity write_short(Target) // end entity write_short(SPR_LIGHTNING) // model write_byte(0) // starting frame write_byte(15) // frame rate write_byte(10) // life write_byte(LineWidth) // line width write_byte(10) // noise amplitude write_byte(255) // red write_byte(255) // green write_byte(255) // blue write_byte(255) // brightness write_byte(0) // scroll speed message_end() new Origin[3] get_user_origin(Target, Origin); message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_ELIGHT) write_short(Target) // entity write_coord(Origin[0]) // initial position write_coord(Origin[1]) // initial position write_coord(Origin[2]) // initial position write_coord(100) // radius write_byte(255) // red write_byte(255) // green write_byte(255) // blue write_byte(10) // life write_coord(0) // decay rate message_end() emit_sound(Caster, CHAN_STATIC, SOUND_LIGHTNING, 1.0, ATTN_NORM, 0, PITCH_NORM); } #endif #if defined ULT_ENTANGLE public Ultimate_Entangle(Caster, Enemy) { message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BEAMFOLLOW) write_short(Enemy) // entity write_short(SPR_TRAIL) // model write_byte(10) // life write_byte(5) // width write_byte(10) // red write_byte(108) // green write_byte(23) // blue write_byte(255) // brightness message_end() LastSpeed[Enemy] = get_user_maxspeed(Enemy); set_user_maxspeed(Enemy, 1.0); new parm[4]; parm[0] = Enemy; parm[1] = 0; parm[2] = 0; parm[3] = 0; EntangleWait(parm); } public EntangleWait(parm[4]) { new id = parm[0]; if(id >= TASK_ENTANGLEWAIT) { id -= TASK_ENTANGLEWAIT; } if(is_user_connected(id)) { new Origin[3]; get_user_origin(id, Origin); if(Origin[0] == parm[1] && Origin[1] == parm[2] && Origin[2] == parm[3]) { set_user_maxspeed(id, 1.0); IsStunned[id] = true; set_task(ENTANGLE_TIME, "Entangle_ResetMaxSpeed", TASK_RESETSPEED + id); EntangleEffect(id) } else { parm[1] = Origin[0]; parm[2] = Origin[1]; parm[3] = Origin[2]; set_task(0.001, "EntangleWait", TASK_ENTANGLEWAIT + id, parm, 4); } } } public EntangleEffect(id) { new Origin[3]; get_user_origin(id, Origin); emit_sound(id, CHAN_STATIC, SOUND_ENTANGLING, 1.0, ATTN_NORM, 0, PITCH_NORM); new Start[3], End[3], Height; new Radius = 20, Counter = 0; new x1, y1, x2, y2; while(Counter <= 7) { if(Counter == 0 || Counter == 8) x1 = -Radius; else if(Counter == 1 || Counter == 7) x1 = -Radius * 100/141; else if(Counter == 2 || Counter == 6) x1 = 0; else if(Counter == 3 || Counter == 5) x1 = Radius*100/141 else if(Counter == 4) x1 = Radius if(Counter <= 4) y1 = sqroot(Radius*Radius-x1*x1); else y1 = -sqroot(Radius*Radius-x1*x1); ++Counter; if(Counter == 0 || Counter == 8) x2 = -Radius; else if(Counter == 1 || Counter==7) x2 = -Radius*100/141; else if(Counter == 2 || Counter==6) x2 = 0; else if(Counter == 3 || Counter==5) x2 = Radius*100/141; else if(Counter == 4) x2 = Radius; if(Counter <= 4) y2 = sqroot(Radius*Radius-x2*x2); else y2 = -sqroot(Radius*Radius-x2*x2); Height = 16 + 2 * Counter; while(Height > -40) { Start[0] = Origin[0] + x1; Start[1] = Origin[1] + y1; Start[2] = Origin[2] + Height; End[0] = Origin[0] + x2; End[1] = Origin[1] + y2; End[2] = Origin[2] + Height + 2; message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BEAMPOINTS) write_coord(Start[0]) write_coord(Start[1]) write_coord(Start[2]) write_coord(End[0]) write_coord(End[1]) write_coord(End[2]) write_short(SPR_BEAM) // model write_byte(0) // start frame write_byte(0) // framerate write_byte((floatround(ENTANGLE_TIME) * 10)); // life write_byte(10) // width write_byte(5) // noise write_byte(10) // red write_byte(108) // green write_byte(23) // blue write_byte(255) // brightness write_byte(0) // speed message_end() Height -= 16; } } } public Entangle_ResetMaxSpeed(id) { if(id >= TASK_RESETSPEED) { id -= TASK_RESETSPEED; } IsStunned[id] = false; set_user_maxspeed(id, LastSpeed[id]); task_exists(TASK_ENTANGLEWAIT + id) ? remove_task(TASK_ENTANGLEWAIT + id) : 0; } #endif #if defined ULT_IMMOLATE //Immolate public Ultimate_Immolate(Caster, Target) { emit_sound(Caster, CHAN_STATIC, SOUND_IMMOLATE, 0.5, ATTN_NORM, 0, PITCH_NORM); new TargetOrigin[3]; get_user_origin(Target, TargetOrigin); message_begin(MSG_PVS, SVC_TEMPENTITY, TargetOrigin) write_byte(TE_EXPLOSION) write_coord(TargetOrigin[0]) // position(X) write_coord(TargetOrigin[1]) // position(Y) write_coord(TargetOrigin[2]) // position(Z) write_short(SPR_IMMOLATE) // sprite index write_byte(20) // scale in 0.1's write_byte(24) // framerate write_byte(4) // flags message_end() message_begin(MSG_PVS, SVC_TEMPENTITY, TargetOrigin) write_byte(TE_EXPLOSION) write_coord(TargetOrigin[0]) // position(X) write_coord(TargetOrigin[1]) // position(Y) write_coord(TargetOrigin[2]) // position(Z) write_short(SPR_BURNING) // sprite index write_byte(30) // scale in 0.1's write_byte(24) // framerate write_byte(4) // flags message_end() if(get_user_health(Target) - float(IMMOLATE_DAMAGE) >= 1) { ExecuteHam(Ham_TakeDamage, Target, Caster, Caster, float(IMMOLATE_DAMAGE), DMG_BURN); Create_ScreenFade(Target,(1<<13),(1<<14), 0x0000, 255, 108, 0, 160); Create_ScreenShake(Target, 0xFFFF,(1<<13), 0xFFFF); } else { death_message(Caster, Target, "Immolate"); } new parm[3]; parm[0] = Caster; parm[1] = Target; parm[2] = 1; set_task(1.0, "Immolate_DoT", TASK_BURNING + Target, parm, 3); } public Immolate_DoT(parm[3]) { new Caster = parm[0]; new Target = parm[1]; new Counter = parm[2]; if(Counter > IMMOLATE_DOT || !is_user_alive(Target) || !is_user_connected(Target)) { Immolate_Remove(Target); return } new TargetOrigin[3]; get_user_origin(Target, TargetOrigin); emit_sound(Target, CHAN_STATIC, SOUND_IMMOLATE_BURNING, 0.5, ATTN_NORM, 0, PITCH_NORM); message_begin(MSG_BROADCAST,SVC_TEMPENTITY) write_byte(TE_SPRITE) write_coord(TargetOrigin[0]) // position write_coord(TargetOrigin[1]) write_coord(TargetOrigin[2]) write_short(SPR_FIRE) // sprite index write_byte(3) // scale in 0.1's write_byte(200) // brightness message_end() if(get_user_health(Target) - float(IMMOLATE_DOT_DAMAGE) >= 1) { ExecuteHam(Ham_TakeDamage, Target, Caster, Caster, float(IMMOLATE_DOT_DAMAGE), DMG_BURN); Create_ScreenFade(Target,(1<<13),(1<<14), 0x0000, 255, 108, 0, 160); Create_ScreenShake(Target, 0xFFFF,(1<<13), 0xFFFF); } else { death_message(Caster, Target, "Immolate Burn"); } parm[2]++; set_task(1.0, "Immolate_DoT", TASK_BURNING + Target, parm, 3); return } public Immolate_Remove(Target) { remove_task(TASK_BURNING + Target); return PLUGIN_HANDLED; } #endif #if defined ULT_BIGBADVOODOO //Chain Big Bad Voodoo public Ultimate_BigBadVoodoo(id) { if(is_user_connected(id)) { set_user_godmode(id, true) UltimateDelay[id] = get_pcvar_num(cvar_ultimate_countdown) + BIGBADVOODOO_DURATION; Ultimate_Delay(id) Ultimate_Icon(id, 2); message_begin(MSG_ONE, get_user_msgid("BarTime"), {0,0,0}, id) write_byte(BIGBADVOODOO_DURATION) // duration write_byte(0) message_end() emit_sound(id, CHAN_STATIC, SOUND_VOODOO, 1.0, ATTN_NORM, 0, PITCH_NORM); set_user_rendering(id, kRenderFxGlowShell, 255, 245, 50, kRenderNormal, 16); new Origin[3]; get_user_origin(id, Origin); Origin[2] += 75; message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_ELIGHT) write_short(id) // entity write_coord(Origin[0]) // initial position write_coord(Origin[1]) // initial position write_coord(Origin[2]) // initial position write_coord(100) // radius write_byte(255) // red write_byte(245) // green write_byte(200) // blue write_byte(BIGBADVOODOO_DURATION) // life write_coord(0) // decay rate message_end() set_task(float(BIGBADVOODOO_DURATION), "BigBadVoodoo_Remove", TASK_RESETGOD + id); } } public BigBadVoodoo_Remove(id) { if(id >= TASK_RESETGOD) { id -= TASK_RESETGOD; } set_user_rendering(id); set_user_godmode(id, false) } #endif #if defined ULT_VENGEANCE Ultimate_Vengeance(id) { if(!is_user_alive(id)) { if(task_exists(TASK_DELAY + id)) remove_task(TASK_DELAY + id); UltimateDelay[id] = get_pcvar_num(cvar_ultimate_countdown); Ultimate_Delay(id) set_task(SPAWN_DELAY, "Spawn", TASK_SPAWN + id); } else { new ent = FindFreeSpawn(id); if(ent) { new Origin[3], NewOrigin[3], Float:SpawnOrigin[3]; get_user_origin(id, Origin); entity_get_vector(ent, EV_VEC_origin, SpawnOrigin); FVecIVec(SpawnOrigin, NewOrigin); set_user_origin(id, NewOrigin); message_begin(MSG_BROADCAST,SVC_TEMPENTITY) write_byte(TE_TELEPORT) write_coord(Origin[0]) write_coord(Origin[1]) write_coord(Origin[2]) message_end() fm_set_user_health(id, VENGEANCE_HEALTH); emit_sound(id, CHAN_STATIC, SOUND_VENGEANCE, 1.0, ATTN_NORM, 0, PITCH_NORM); UltimateDelay[id] = get_pcvar_num(cvar_ultimate_countdown); Ultimate_Delay(id) } } } FindFreeSpawn(id) { new PlayersInVicinity, SpawnID, EntList[1], Origin[3]; new ent = -1; new Float:SpawnOrigin[3]; new Float:Vicinity = 96.0; new bool:Found = false; new Team = get_user_team(id); SpawnID = ((Team == 2) ? 0 : 1); do { ent = find_ent_by_class(ent, SpawnEnt[SpawnID]); if(ent) { entity_get_vector(ent, EV_VEC_origin, SpawnOrigin); FVecIVec(SpawnOrigin, Origin); PlayersInVicinity = find_sphere_class(0, "player", Vicinity, EntList, 1, SpawnOrigin); if(PlayersInVicinity == 0) { SpawnReserved[SpawnInc++] = ent; Found = true; } } } while(ent && !Found) if(!task_exists(TASK_RESETSPAWNS)) set_task(0.3, "SpawnReset", TASK_RESETSPAWNS); if(!Found) { return -1; } return ent; } public SpawnReset() { new i; SpawnInc = 0; for(i = 0; i < TOTAL_SPAWNS; i++) { SpawnReserved[i] = 0; } } public Spawn(id) { if(id >= TASK_SPAWN) { id -= TASK_SPAWN; } if(!is_user_alive(id)) { set_user_godmode(id, 1); ExecuteHamB(Ham_CS_RoundRespawn,id); set_task(0.2, "Spawn_Final", TASK_SPAWNPLAYER + id); set_task(1.0, "SpawnRemoveGod", TASK_SPAWNREMOVEGOD + id); } } public Spawn_Final(id) { if(id >= TASK_SPAWNPLAYER) { id -= TASK_SPAWNPLAYER; } give_item(id, "item_suit"); fm_set_user_health(id, VENGEANCE_HEALTH); } public SpawnRemoveGod(id) { if(id >= TASK_SPAWNREMOVEGOD) { id -= TASK_SPAWNREMOVEGOD; } set_user_godmode(id, 0); } #endif #if defined ULT_LOCUSTSWARM Ultimate_LocustSwarm(id) { new Victim = LocustGetTarget(id); if(Victim == -1) { new Message[256]; formatex(Message,sizeof(Message)-1, "No valid targets found"); HudMessage(id, Message, _, _, _, _, _, _, _, 2.0); } else { new CasterOrigin[3]; get_user_origin(id, CasterOrigin); Ultimate_Icon(id, 2); UltimateDelay[id] = get_pcvar_num(cvar_ultimate_countdown); new parm[10]; parm[0] = id; // caster parm[1] = Victim; // victim parm[2] = CasterOrigin[0]; parm[3] = CasterOrigin[1]; parm[4] = CasterOrigin[2]; LocustEffect(parm); } } LocustGetTarget(id) { new Team = get_user_team(id); new Players[32], Num, TargetID; new Targets[33], TotalTargets = 0; get_players(Players, Num, "a"); for(new i = 0; i < Num; i++) { TargetID = Players[i]; if(get_user_team(TargetID) != Team) { Targets[TotalTargets++] = TargetID; } } if(TotalTargets == 0) { return -1; } new Victim = 0, RandomSpot; while(Victim == 0) { RandomSpot = random_num(0, TotalTargets); Victim = Targets[RandomSpot]; } return Victim; } public LocustEffect(parm[]) { new Attacker = parm[0]; new Victim = parm[1]; if(Attacker >= TASK_FUNNELS) { Attacker -= TASK_FUNNELS; } if(!is_user_alive(Victim) || !is_user_connected(Victim)) { ColorChat(Attacker, "!tVictim is no longer targetable for Locust Swarm, finding new target!"); new Victim = LocustGetTarget(Attacker); if(Victim == -1) { new Message[256]; formatex(Message,sizeof(Message)-1, "No valid targets found"); HudMessage(Attacker, Message, _, _, _, _, _, _, _, 2.0); UltimateDelay[Attacker] = 2; Ultimate_Delay(Attacker) } else { new CasterOrigin[3]; get_user_origin(Attacker, CasterOrigin); parm[1] = Victim; // victim parm[2] = CasterOrigin[0]; parm[3] = CasterOrigin[1]; parm[4] = CasterOrigin[2]; ColorChat(Attacker, "!tVictim is no longer targetable, try casting again!"); UltimateDelay[Attacker] = 2; Ultimate_Delay(Attacker) } } new MULTIPLIER = 150 new VictimOrigin[3], Funnel[3]; get_user_origin(Victim, VictimOrigin); Funnel[0] = parm[2]; Funnel[1] = parm[3]; Funnel[2] = parm[4]; message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_LARGEFUNNEL) write_coord(Funnel[0]) // origin, x write_coord(Funnel[1]) // origin, y write_coord(Funnel[2]) // origin, z write_short(SPR_SNOW) // sprite(0 for none) write_short(0) // 0 for collapsing, 1 for sending outward message_end() new Dist[3]; Dist[0] = HLP_Diff(VictimOrigin[0], Funnel[0]); Dist[1] = HLP_Diff(VictimOrigin[1], Funnel[1]); Dist[2] = HLP_Diff(VictimOrigin[2], Funnel[2]); for(new i = 0; i < 3; i++) { if(HLP_Diff(VictimOrigin[i], Funnel[i] - MULTIPLIER) < Dist[i]) { Funnel[i] -= MULTIPLIER; } else if(HLP_Diff(VictimOrigin[i], Funnel[0] + MULTIPLIER) < Dist[i]) { Funnel[i] += MULTIPLIER; } else { Funnel[i] = VictimOrigin[i]; } } parm[2] = Funnel[0]; parm[3] = Funnel[1]; parm[4] = Funnel[2]; if(!(Dist[0] < 50 && Dist[1] < 50 && Dist[2] < 50)) { new Float:Time = 0.2; set_task(Time, "LocustEffect", Attacker + TASK_FUNNELS, parm, 5); } else { new Damage = random_num(LOCUSTSWARM_DMG_MIN, LOCUSTSWARM_DMG_MAX); new Float:FDamage = float(Damage); if(get_user_health(Victim) - Damage >= 1) { ExecuteHam(Ham_TakeDamage, Victim, Attacker, Attacker, FDamage, DMG_BLAST); Create_ScreenFade(Victim,(1<<13),(1<<14), 0x0000, 0, 200, 0, 100); Create_ScreenShake(Victim, 0xFFFF,(1<<13), 0xFFFF); } else { death_message(Attacker, Victim, "Locust Swarm"); } Ultimate_Icon(Attacker, 0); Ultimate_Delay(Attacker) emit_sound(Victim, CHAN_STATIC, SOUND_LOCUSTSWARM, 1.0, ATTN_NORM, 0, PITCH_NORM); new Name[32]; get_user_name(Victim, Name, 31); ColorChat(Attacker, "!t[Furien]!g Locust Swarm hit!t %s!g for!t %d!g damage!", Name, Damage); } } HLP_Diff(iNum, iNum2) { if(iNum > iNum2) { return(iNum-iNum2); } else { return(iNum2-iNum); } return 0; } #endif #if defined POWER_BASH public Bash_Reset(id) { if(id >= TASK_RESETBASH) { id -= TASK_RESETBASH; } Bash_Stunned[id] = false set_pev(id, pev_maxspeed, Bash_LastSpeed); set_user_rendering(id); } #endif #if defined POWER_HEALINGWAVE public HealingWave(id) { if(id >= TASK_WAVE) { id -= TASK_WAVE; } if(HealingWave_Level[id] && is_user_connected(id) && is_user_alive(id) && get_user_team(id) == 2) { set_task(Heal[HealingWave_Level[id] - 1], "HealingWave", TASK_WAVE + id); new Players[32], Num, Targetid, TargetOrigin[3], Origin[3]; new Team = get_user_team(id); get_user_origin(id, Origin); get_players(Players, Num, "a"); for(new i = 0; i < Num; i++) { Targetid = Players[i]; if(is_user_connected(Targetid) && get_user_team(Targetid) == Team) { get_user_origin(Targetid, TargetOrigin); if(get_distance(Origin, TargetOrigin) < HEALING_WAVE_RANGE) { get_user_origin(Targetid, Origin) if(get_user_health(Targetid) + 1 <= MAX_HEALTH) { fm_set_user_health(Targetid, get_user_health(Targetid) + 1); message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte (TE_IMPLOSION) write_coord(Origin[0]) // position (X) write_coord(Origin[1]) // position (Y) write_coord(Origin[2]) // position (Z) write_byte (100) // radius write_byte (8) // count write_byte (1) // life in 0.1's message_end() } } } } } } #endif #if defined POWER_BANISH public BanishReturn(parm[]) { new id = parm[0]; if(is_user_connected(id)) { if(parm[1] > 0 && !EndRound) { parm[1]--; Create_ScreenFade(id, 2,(1<<10),(1<<12), 0, 0, 0, 255); set_task(0.1, "BanishReturn", TASK_BANISH + id, parm, 5); } else { new Origin[3]; Origin[0] = parm[2]; Origin[1] = parm[3]; Origin[2] = parm[4]; Origin[2] += 15; set_user_origin(id, Origin); new Parm[4]; Parm[0] = Origin[0]; Parm[1] = Origin[1]; Parm[2] = Origin[2]; Parm[3] = id; set_task(0.1, "_BanishReturn", TASK_BANISHRETURN + id, Parm, 4); Glow(id, 0, 0, 0, 100); Create_ScreenFade(id, 0, 0, 0, 0, 0, 0, 0); PlayerBanished[id] = false; } } } public _BanishReturn(parm[]) { new id = parm[3]; new Origin[3]; get_user_origin(id, Origin); if(Origin[2] == parm[2]) { new SpawnEnt = FindFreeSpawn(id); if(SpawnEnt > 0) { new Float:SpawnOrigin[3], Origin[3]; entity_get_vector(SpawnEnt, EV_VEC_origin, SpawnOrigin); FVecIVec(SpawnOrigin, Origin); Origin[2] += 15; set_user_origin(id, Origin); new Parm[4]; Parm[0] = Origin[0]; Parm[1] = Origin[1]; Parm[2] = Origin[2]; Parm[3] = id; set_task(0.1, "_BanishReturn", TASK_BANISHRETURN + id, Parm, 4); ColorChat(id, "You are stuck! Ahhh! Moving you back to your spawn!"); } else { ColorChat(id, "Sorry, I know you're stuck, but I can't move you right now :/"); } } } stock CanSeePlayer(id, TargetID) { new Float:Origin[3]; entity_get_vector( TargetID, EV_VEC_origin, Origin ); return is_in_viewcone( id, Origin ); } #endif #if defined POWER_PHOENIX PhoenixCheck(id) { if(Phoenix_Level[id]) { if(random_float(0.0, 1.0) <= Phoenix[Phoenix_Level[id] - 1]) { IsPhoenix[id] = true; } } else { IsPhoenix[id] = false; } } PhoenixSpawn(id) { if(!EndRound) { new Team = get_user_team(id); new PhoenixID = PhoenixExists(Team); if(PhoenixID != -1) { if(PhoenixID != id) { IsPhoenix[PhoenixID] = false; set_task(SPAWN_DELAY, "Spawn", TASK_SPAWN + id); new Castername[32], SpawnerName[32]; get_user_name(PhoenixID, Castername,31) get_user_name(id, SpawnerName, 31) ColorChat(id, "!t%s!g has revived you", Castername); ColorChat(PhoenixID, "!gYou have revived!t %s!g, way to go !", SpawnerName); } } } } PhoenixExists(Team) { new Players[32], Num, id; get_players(Players, Num, "a"); for(new i = 0; i < Num; i++) { id = Players[i]; if(get_user_team(id) == Team) { if(IsPhoenix[id]) { return id; } } } return -1; } #endif Glow(id, Red, Green, Blue, All) { if(!task_exists(TASK_GLOW + id)) { if(All) { GlowLevel[id][0] = 0; GlowLevel[id][1] = 0; GlowLevel[id][2] = 0; GlowLevel[id][3] += All; } else if(Red) { GlowLevel[id][0] += Red; GlowLevel[id][1] = 0; GlowLevel[id][2] = 0; GlowLevel[id][3] = 0; } else if(Green) { GlowLevel[id][0] = 0; GlowLevel[id][1] += Green; GlowLevel[id][2] = 0; GlowLevel[id][3] = 0; } else if(Blue) { GlowLevel[id][0] = 0; GlowLevel[id][1] = 0; GlowLevel[id][2] += Blue; GlowLevel[id][3] = 0; } GlowLevel[id][0] = ((GlowLevel[id][0] > MAXGLOW) ? MAXGLOW : GlowLevel[id][0]); GlowLevel[id][1] = ((GlowLevel[id][1] > MAXGLOW) ? MAXGLOW : GlowLevel[id][1]); GlowLevel[id][2] = ((GlowLevel[id][2] > MAXGLOW) ? MAXGLOW : GlowLevel[id][2]); GlowLevel[id][3] = ((GlowLevel[id][3] > MAXGLOW) ? MAXGLOW : GlowLevel[id][3]); _Glow(id); } } public _Glow(id) { if(id >= TASK_GLOW) { id -= TASK_GLOW; } if(is_user_connected(id)) { new Red = GlowLevel[id][0]; new Green = GlowLevel[id][1]; new Blue = GlowLevel[id][2]; new All = GlowLevel[id][3]; if(Red || Green || Blue) { GlowLevel[id][0] = ((Red > 5) ? Red - 5 : 0); GlowLevel[id][1] = ((Green > 5) ? Green - 5 : 0); GlowLevel[id][2] = ((Blue > 5) ? Blue - 5 : 0); set_user_rendering(id, kRenderFxGlowShell, Red, Green, Blue, kRenderNormal, 16); set_task(0.2, "_Glow", TASK_GLOW + id); } else if(All) { GlowLevel[id][3] = ((All > 5) ? All - 5 : 0); set_user_rendering(id, kRenderFxGlowShell, All, All, All, kRenderNormal, 16); set_task(0.2, "_Glow", TASK_GLOW + id); } else { set_user_rendering(id); } } } stock Create_ScreenFade(id, duration, holdtime, fadetype, red, green, blue, alpha){ if(is_user_connected(id)) { message_begin(MSG_ONE,get_user_msgid("ScreenFade"),{0,0,0},id) write_short(duration) // fade lasts this long duration write_short(holdtime) // fade lasts this long hold time write_short(fadetype) // fade type(in / out) write_byte(red) // fade red write_byte(green) // fade green write_byte(blue) // fade blue write_byte(alpha) // fade alpha message_end() } } stock Create_ScreenShake(id, amount, duration, frequency){ if(is_user_connected(id)) { message_begin(MSG_ONE,get_user_msgid("ScreenShake"),{0,0,0},id) write_short(amount) // ammount write_short(duration) // lasts this long write_short(frequency) // frequency message_end() } } stock death_message(Killer, Victim, const Weapon[]) { if(is_user_connected(Killer) && is_user_connected(Victim)) { set_msg_block(get_user_msgid("DeathMsg"), BLOCK_SET); ExecuteHamB(Ham_Killed, Victim, Killer, 2); set_msg_block(get_user_msgid("DeathMsg"), BLOCK_NOT); make_deathmsg(Killer, Victim, 0, Weapon); cs_set_user_money(Killer, cs_get_user_money(Killer) + 300); message_begin(MSG_BROADCAST, get_user_msgid("ScoreInfo")); write_byte(Killer); // id write_short(pev(Killer, pev_frags)); // frags write_short(cs_get_user_deaths(Killer)); // deaths write_short(0); // class? write_short(get_user_team(Killer)); // team message_end(); message_begin(MSG_BROADCAST, get_user_msgid("ScoreInfo")); write_byte(Victim); // id write_short(pev(Victim, pev_frags)); // frags write_short(cs_get_user_deaths(Victim)); // deaths write_short(0); // class? write_short(get_user_team(Victim)); // team message_end(); } } public make_knockback(Victim, Float:origin[3], Float:maxspeed) { new Float:fVelocity[3]; kickback(Victim, origin, maxspeed, fVelocity); entity_set_vector(Victim, EV_VEC_velocity, fVelocity); return(1); } stock kickback(ent, Float:fOrigin[3], Float:fSpeed, Float:fVelocity[3]) { new Float:fEntOrigin[3]; entity_get_vector(ent, EV_VEC_origin, fEntOrigin); new Float:fDistance[3]; fDistance[0] = fEntOrigin[0] - fOrigin[0]; fDistance[1] = fEntOrigin[1] - fOrigin[1]; fDistance[2] = fEntOrigin[2] - fOrigin[2]; new Float:fTime = (vector_distance(fEntOrigin,fOrigin) / fSpeed); fVelocity[0] = fDistance[0] / fTime; fVelocity[1] = fDistance[1] / fTime; fVelocity[2] = fDistance[2] / fTime; return(fVelocity[0] && fVelocity[1] && fVelocity[2]); } XP_WinRound(Winner) { new Players[32], Num, i, id; get_players(Players, Num); for(i = 0; i < Num; i++) { id = Players[i]; if(get_user_team(id) == Winner) { new Float:BonusXP (get_user_flags(id) & VIP_LEVEL) ? (BonusXP = (WIN_ROUND * VIP_XP_MULTIPLIER)) : (BonusXP = WIN_ROUND) if(BonusXP) { new XP = floatround(BonusXP) set_user_xp(id, get_user_xp(id) + XP) ColorChat(id, "!gYou recieved!t %d XP!g for winning the round", XP); } } } } public GiveExperience(id, level, cid) { if(cmd_access(id, level, cid, 2)) { new arg[23], gplayers[32], num, i, players, name[32]; get_user_name(id, name, 31); read_argv(1, arg, 23); new give_xp[10]; read_argv(2, give_xp, charsmax(give_xp)); new Experience = str_to_num(give_xp); if(equali(arg, "@All")) { get_players(gplayers, num, "ch"); for(i = 0; i < num; i++) { players = gplayers[i]; if(!is_user_connected(players)) continue; set_user_xp(players, get_user_xp(players) + Experience); } switch(get_cvar_num("amx_show_activity")) { case 1: ColorChat(0, "!tADMIN!g give!t %i XP!g to all!t Players.", Experience); case 2: ColorChat(0, "!t%s!g give!t %i XP!g to all!t Players.", name, Experience); } } new player = cmd_target(id, arg, 11); if(!player) { console_print(id, "Juctorul cu acel nume nu exista."); } else { set_user_xp(player, get_user_xp(player) + Experience); switch(get_cvar_num("amx_show_activity")) { case 1: ColorChat(player, "!tADMIN!g give you!t %i XP.", Experience); case 2: ColorChat(player, "!t%s!g give you!t %i XP.", name, Experience); } } } } public ResetExperience(id, level, cid) { if(cmd_access(id, level, cid, 2)) { new arg[23], gplayers[32], num, i, players, name[32]; get_user_name(id, name, 31); read_argv(1, arg, 23); if(equali(arg, "@All")) { get_players(gplayers, num, "ch"); for(i = 0; i < num; i++) { players = gplayers[i]; if(!is_user_connected(players)) continue; set_user_xp(players, 0); } switch(get_cvar_num("amx_show_activity")) { case 1: ColorChat(0, "!tADMIN!g reset!t XP!g to all!t Players."); case 2: ColorChat(0, "!t%s!g reset!t XP!g to all!t Players.", name); } } new player = cmd_target(id, arg, 11); if(!player) { console_print(id, "Juctorul cu acel nume nu exista."); } else { set_user_xp(player, 0); switch(get_cvar_num("amx_show_activity")) { case 1: ColorChat(player, "!tADMIN!g reset your!t Experience."); case 2: ColorChat(player, "!t%s!g reset your!t Experience.", name); } } } } // Save Experience public SaveExperience(id) { new Name[32]; get_user_name(id, Name, 31); static Data[1024] formatex(Data, sizeof(Data) - 1, "^"%i^"", PlayerExperience[id]) new Save[512] format(Save, 511, "^"%s^" %s", Name, Data) new Line[128], Linie, IsPlayer = false, Arg1[32] new FileOpen = fopen(ExperienceFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31) if (equali(Arg1, Name)) { write_file(ExperienceFile, Save, Linie) IsPlayer = true break } Linie++ } fclose(FileOpen) if (!IsPlayer) { write_file(ExperienceFile, Save, -1) } } // Load Experience public LoadExperience(id) { new Name[32]; get_user_name(id, Name, 31); new Line[128], IsPlayer = false, Arg1[32], Arg2[32]; new FileOpen = fopen(ExperienceFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31, Arg2, 31) if (equali(Arg1, Name)) { PlayerExperience[id] = str_to_num(Arg2) IsPlayer = true break } } fclose(FileOpen) if (!IsPlayer) { PlayerExperience[id] = EXPERIENCE_LEVEL * 2 } } #if defined POWER_UNHOLYAURA // Save Unhloy Aura public SaveUnholyAura(id) { new Name[32]; get_user_name(id, Name, 31); static Data[1024] formatex(Data, sizeof(Data) - 1, "^"%i^"", UnholyAura_Level[id]) new Save[512] format(Save, 511, "^"%s^" %s", Name, Data) new Line[128], Linie, IsPlayer = false, Arg1[32] new FileOpen = fopen(UnholyAuraFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31) if (equali(Arg1, Name)) { write_file(UnholyAuraFile, Save, Linie) IsPlayer = true break } Linie++ } fclose(FileOpen) if (!IsPlayer) { write_file(UnholyAuraFile, Save, -1) } } // Load Unhloy Aura public LoadUnholyAura(id) { new Name[32]; get_user_name(id, Name, 31); new Line[128], IsPlayer = false, Arg1[32], Arg2[32]; new FileOpen = fopen(UnholyAuraFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31, Arg2, 31) if (equali(Arg1, Name)) { UnholyAura_Level[id] = str_to_num(Arg2) PlayerCredits[id] += str_to_num(Arg2) IsPlayer = true break } } fclose(FileOpen) if (!IsPlayer) { UnholyAura_Level[id] = 1 } } #endif #if defined POWER_LEVITATION // Save Levitation public SaveLevitation(id) { new Name[32]; get_user_name(id, Name, 31); static Data[1024] formatex(Data, sizeof(Data) - 1, "^"%i^"", Levitation_Level[id]) new Save[512] format(Save, 511, "^"%s^" %s", Name, Data) new Line[128], Linie, IsPlayer = false, Arg1[32] new FileOpen = fopen(LevitationFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31) if (equali(Arg1, Name)) { write_file(LevitationFile, Save, Linie) IsPlayer = true break } Linie++ } fclose(FileOpen) if (!IsPlayer) { write_file(LevitationFile, Save, -1) } } // Load Levitation public LoadLevitation(id) { new Name[32]; get_user_name(id, Name, 31); new Line[128], IsPlayer = false, Arg1[32], Arg2[32]; new FileOpen = fopen(LevitationFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31, Arg2, 31) if (equali(Arg1, Name)) { Levitation_Level[id] = str_to_num(Arg2) PlayerCredits[id] += str_to_num(Arg2) IsPlayer = true break } } fclose(FileOpen) if (!IsPlayer) { Levitation_Level[id] = 0 } } #endif #if defined POWER_VAMPIRICAURA // Save Vampiric Aura public SaveVampiricAura(id) { new Name[32]; get_user_name(id, Name, 31); static Data[1024] formatex(Data, sizeof(Data) - 1, "^"%i^"", VampiricAura_Level[id]) new Save[512] format(Save, 511, "^"%s^" %s", Name, Data) new Line[128], Linie, IsPlayer = false, Arg1[32] new FileOpen = fopen(VampiricAuraFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31) if (equali(Arg1, Name)) { write_file(VampiricAuraFile, Save, Linie) IsPlayer = true break } Linie++ } fclose(FileOpen) if (!IsPlayer) { write_file(VampiricAuraFile, Save, -1) } } // Load Vampiric Aura public LoadVampiricAura(id) { new Name[32]; get_user_name(id, Name, 31); new Line[128], IsPlayer = false, Arg1[32], Arg2[32]; new FileOpen = fopen(VampiricAuraFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31, Arg2, 31) if (equali(Arg1, Name)) { VampiricAura_Level[id] = str_to_num(Arg2) PlayerCredits[id] += str_to_num(Arg2) IsPlayer = true break } } fclose(FileOpen) if (!IsPlayer) { VampiricAura_Level[id] = 0 } } #endif #if defined POWER_EVASION // Save Evasion public SaveEvasion(id) { new Name[32]; get_user_name(id, Name, 31); static Data[1024] formatex(Data, sizeof(Data) - 1, "^"%i^"", Evasion_Level[id]) new Save[512] format(Save, 511, "^"%s^" %s", Name, Data) new Line[128], Linie, IsPlayer = false, Arg1[32] new FileOpen = fopen(EvasionFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31) if (equali(Arg1, Name)) { write_file(EvasionFile, Save, Linie) IsPlayer = true break } Linie++ } fclose(FileOpen) if (!IsPlayer) { write_file(EvasionFile, Save, -1) } } // Load Evasion public LoadEvasion(id) { new Name[32]; get_user_name(id, Name, 31); new Line[128], IsPlayer = false, Arg1[32], Arg2[32]; new FileOpen = fopen(EvasionFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31, Arg2, 31) if (equali(Arg1, Name)) { Evasion_Level[id] = str_to_num(Arg2) PlayerCredits[id] += str_to_num(Arg2) IsPlayer = true break } } fclose(FileOpen) if (!IsPlayer) { Evasion_Level[id] = 0 } } #endif #if defined POWER_TRUESHOT // Save True Shot public SaveTrueShot(id) { new Name[32]; get_user_name(id, Name, 31); static Data[1024] formatex(Data, sizeof(Data) - 1, "^"%i^"", TrueShot_Level[id]) new Save[512] format(Save, 511, "^"%s^" %s", Name, Data) new Line[128], Linie, IsPlayer = false, Arg1[32] new FileOpen = fopen(TrueShotFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31) if (equali(Arg1, Name)) { write_file(TrueShotFile, Save, Linie) IsPlayer = true break } Linie++ } fclose(FileOpen) if (!IsPlayer) { write_file(TrueShotFile, Save, -1) } } // Load True Shot public LoadTrueShot(id) { new Name[32]; get_user_name(id, Name, 31); new Line[128], IsPlayer = false, Arg1[32], Arg2[32]; new FileOpen = fopen(TrueShotFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31, Arg2, 31) if (equali(Arg1, Name)) { TrueShot_Level[id] = str_to_num(Arg2) PlayerCredits[id] += str_to_num(Arg2) IsPlayer = true break } } fclose(FileOpen) if (!IsPlayer) { TrueShot_Level[id] = 0 } } #endif #if defined POWER_PHOENIX // Save Phoenix public SavePhoenix(id) { new Name[32]; get_user_name(id, Name, 31); static Data[1024] formatex(Data, sizeof(Data) - 1, "^"%i^"", Phoenix_Level[id]) new Save[512] format(Save, 511, "^"%s^" %s", Name, Data) new Line[128], Linie, IsPlayer = false, Arg1[32] new FileOpen = fopen(PhoenixFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31) if (equali(Arg1, Name)) { write_file(PhoenixFile, Save, Linie) IsPlayer = true break } Linie++ } fclose(FileOpen) if (!IsPlayer) { write_file(PhoenixFile, Save, -1) } } // Load Phoenix public LoadPhoenix(id) { new Name[32]; get_user_name(id, Name, 31); new Line[128], IsPlayer = false, Arg1[32], Arg2[32]; new FileOpen = fopen(PhoenixFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31, Arg2, 31) if (equali(Arg1, Name)) { Phoenix_Level[id] = str_to_num(Arg2) PlayerCredits[id] += str_to_num(Arg2) IsPlayer = true break } } fclose(FileOpen) if (!IsPlayer) { Phoenix_Level[id] = 0 } } #endif #if defined POWER_BANISH // Save Banish public SaveBanish(id) { new Name[32]; get_user_name(id, Name, 31); static Data[1024] formatex(Data, sizeof(Data) - 1, "^"%i^"", Banish_Level[id]) new Save[512] format(Save, 511, "^"%s^" %s", Name, Data) new Line[128], Linie, IsPlayer = false, Arg1[32] new FileOpen = fopen(BanishFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31) if (equali(Arg1, Name)) { write_file(BanishFile, Save, Linie) IsPlayer = true break } Linie++ } fclose(FileOpen) if (!IsPlayer) { write_file(BanishFile, Save, -1) } } // Load Banish public LoadBanish(id) { new Name[32]; get_user_name(id, Name, 31); new Line[128], IsPlayer = false, Arg1[32], Arg2[32]; new FileOpen = fopen(BanishFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31, Arg2, 31) if (equali(Arg1, Name)) { Banish_Level[id] = str_to_num(Arg2) PlayerCredits[id] += str_to_num(Arg2) IsPlayer = true break } } fclose(FileOpen) if (!IsPlayer) { Banish_Level[id] = 0 } } #endif #if defined POWER_DEVOTIONAURA // Save Devotion Aura public SaveDevotionAura(id) { new Name[32]; get_user_name(id, Name, 31); static Data[1024] formatex(Data, sizeof(Data) - 1, "^"%i^"", DevotionAura_Level[id]) new Save[512] format(Save, 511, "^"%s^" %s", Name, Data) new Line[128], Linie, IsPlayer = false, Arg1[32] new FileOpen = fopen(DevotionAuraFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31) if (equali(Arg1, Name)) { write_file(DevotionAuraFile, Save, Linie) IsPlayer = true break } Linie++ } fclose(FileOpen) if (!IsPlayer) { write_file(DevotionAuraFile, Save, -1) } } // Load Devotion Aura public LoadDevotionAura(id) { new Name[32]; get_user_name(id, Name, 31); new Line[128], IsPlayer = false, Arg1[32], Arg2[32]; new FileOpen = fopen(DevotionAuraFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31, Arg2, 31) if (equali(Arg1, Name)) { DevotionAura_Level[id] = str_to_num(Arg2) PlayerCredits[id] += str_to_num(Arg2) IsPlayer = true break } } fclose(FileOpen) if (!IsPlayer) { DevotionAura_Level[id] = 1 } } #endif #if defined POWER_BASH // Save Bash public SaveBash(id) { new Name[32]; get_user_name(id, Name, 31); static Data[1024] formatex(Data, sizeof(Data) - 1, "^"%i^"", Bash_Level[id]) new Save[512] format(Save, 511, "^"%s^" %s", Name, Data) new Line[128], Linie, IsPlayer = false, Arg1[32] new FileOpen = fopen(BashFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31) if (equali(Arg1, Name)) { write_file(BashFile, Save, Linie) IsPlayer = true break } Linie++ } fclose(FileOpen) if (!IsPlayer) { write_file(BashFile, Save, -1) } } // Load Bash public LoadBash(id) { new Name[32]; get_user_name(id, Name, 31); new Line[128], IsPlayer = false, Arg1[32], Arg2[32]; new FileOpen = fopen(BashFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31, Arg2, 31) if (equali(Arg1, Name)) { Bash_Level[id] = str_to_num(Arg2) PlayerCredits[id] += str_to_num(Arg2) IsPlayer = true break } } fclose(FileOpen) if (!IsPlayer) { Bash_Level[id] = 0 } } #endif #if defined POWER_CRITICALSTRIKE // Save Critical Strike public SaveCriticalStrike(id) { new Name[32]; get_user_name(id, Name, 31); static Data[1024] formatex(Data, sizeof(Data) - 1, "^"%i^"", CriticalStrike_Level[id]) new Save[512] format(Save, 511, "^"%s^" %s", Name, Data) new Line[128], Linie, IsPlayer = false, Arg1[32] new FileOpen = fopen(CriticalStrikeFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31) if (equali(Arg1, Name)) { write_file(CriticalStrikeFile, Save, Linie) IsPlayer = true break } Linie++ } fclose(FileOpen) if (!IsPlayer) { write_file(CriticalStrikeFile, Save, -1) } } // Load Critical Strike public LoadCriticalStrike(id) { new Name[32]; get_user_name(id, Name, 31); new Line[128], IsPlayer = false, Arg1[32], Arg2[32]; new FileOpen = fopen(CriticalStrikeFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31, Arg2, 31) if (equali(Arg1, Name)) { CriticalStrike_Level[id] = str_to_num(Arg2) PlayerCredits[id] += str_to_num(Arg2) IsPlayer = true break } } fclose(FileOpen) if (!IsPlayer) { CriticalStrike_Level[id] = 0 } } #endif #if defined POWER_CRITICALGRENADE // Save Critical Grenade public SaveCriticalGrenade(id) { new Name[32]; get_user_name(id, Name, 31); static Data[1024] formatex(Data, sizeof(Data) - 1, "^"%i^"", CriticalGrenade_Level[id]) new Save[512] format(Save, 511, "^"%s^" %s", Name, Data) new Line[128], Linie, IsPlayer = false, Arg1[32] new FileOpen = fopen(CriticalGrenadeFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31) if (equali(Arg1, Name)) { write_file(CriticalGrenadeFile, Save, Linie) IsPlayer = true break } Linie++ } fclose(FileOpen) if (!IsPlayer) { write_file(CriticalGrenadeFile, Save, -1) } } // Load Critical Grenade public LoadCriticalGrenade(id) { new Name[32]; get_user_name(id, Name, 31); new Line[128], IsPlayer = false, Arg1[32], Arg2[32]; new FileOpen = fopen(CriticalGrenadeFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31, Arg2, 31) if (equali(Arg1, Name)) { CriticalGrenade_Level[id] = str_to_num(Arg2) PlayerCredits[id] += str_to_num(Arg2) IsPlayer = true break } } fclose(FileOpen) if (!IsPlayer) { CriticalGrenade_Level[id] = 0 } } #endif #if defined POWER_SIPHONMANA // Save Siphon Mana public SaveSiphonMana(id) { new Name[32]; get_user_name(id, Name, 31); static Data[1024] formatex(Data, sizeof(Data) - 1, "^"%i^"", SiphonMana_Level[id]) new Save[512] format(Save, 511, "^"%s^" %s", Name, Data) new Line[128], Linie, IsPlayer = false, Arg1[32] new FileOpen = fopen(SiphonManaFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31) if (equali(Arg1, Name)) { write_file(SiphonManaFile, Save, Linie) IsPlayer = true break } Linie++ } fclose(FileOpen) if (!IsPlayer) { write_file(SiphonManaFile, Save, -1) } } // Load Siphon Mana public LoadSiphonMana(id) { new Name[32]; get_user_name(id, Name, 31); new Line[128], IsPlayer = false, Arg1[32], Arg2[32]; new FileOpen = fopen(SiphonManaFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31, Arg2, 31) if (equali(Arg1, Name)) { SiphonMana_Level[id] = str_to_num(Arg2) PlayerCredits[id] += str_to_num(Arg2) IsPlayer = true break } } fclose(FileOpen) if (!IsPlayer) { SiphonMana_Level[id] = 0 } } #endif #if defined POWER_HEALINGWAVE // Save Healing Wave public SaveHealingWave(id) { new Name[32]; get_user_name(id, Name, 31); static Data[1024] formatex(Data, sizeof(Data) - 1, "^"%i^"", HealingWave_Level[id]) new Save[512] format(Save, 511, "^"%s^" %s", Name, Data) new Line[128], Linie, IsPlayer = false, Arg1[32] new FileOpen = fopen(HealingWaveFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31) if (equali(Arg1, Name)) { write_file(HealingWaveFile, Save, Linie) IsPlayer = true break } Linie++ } fclose(FileOpen) if (!IsPlayer) { write_file(HealingWaveFile, Save, -1) } } // Load Healing Wave public LoadHealingWave(id) { new Name[32]; get_user_name(id, Name, 31); new Line[128], IsPlayer = false, Arg1[32], Arg2[32]; new FileOpen = fopen(HealingWaveFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31, Arg2, 31) if (equali(Arg1, Name)) { HealingWave_Level[id] = str_to_num(Arg2) PlayerCredits[id] += str_to_num(Arg2) IsPlayer = true break } } fclose(FileOpen) if (!IsPlayer) { HealingWave_Level[id] = 0 } } #endif #if defined POWER_SHADOWSTRIKE // Save Shadow Strike public SaveShadowStrike(id) { new Name[32]; get_user_name(id, Name, 31); static Data[1024] formatex(Data, sizeof(Data) - 1, "^"%i^"", ShadowStrike_Level[id]) new Save[512] format(Save, 511, "^"%s^" %s", Name, Data) new Line[128], Linie, IsPlayer = false, Arg1[32] new FileOpen = fopen(ShadowStrikeFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31) if (equali(Arg1, Name)) { write_file(ShadowStrikeFile, Save, Linie) IsPlayer = true break } Linie++ } fclose(FileOpen) if (!IsPlayer) { write_file(ShadowStrikeFile, Save, -1) } } // Load Shadow Strike public LoadShadowStrike(id) { new Name[32]; get_user_name(id, Name, 31); new Line[128], IsPlayer = false, Arg1[32], Arg2[32]; new FileOpen = fopen(ShadowStrikeFile, "rt") while(!feof(FileOpen)) { fgets(FileOpen, Line, 127) trim(Line) parse(Line, Arg1, 31, Arg2, 31) if (equali(Arg1, Name)) { ShadowStrike_Level[id] = str_to_num(Arg2) PlayerCredits[id] += str_to_num(Arg2) IsPlayer = true break } } fclose(FileOpen) if (!IsPlayer) { ShadowStrike_Level[id] = 0 } } #endif #define clamp_byte(%1) ( clamp( %1, 0, 255 ) ) #define pack_color(%1,%2,%3) ( %3 + ( %2 << 8 ) + ( %1 << 16 ) ) stock HudMessage(const id, const message[], red = 0, green = 160, blue = 0, Float:x = -1.0, Float:y = 0.65, effects = 2, Float:fxtime = 0.01, Float:holdtime = 3.0, Float:fadeintime = 0.01, Float:fadeouttime = 0.01) { new count = 1, players[32]; if(id) players[0] = id; else get_players(players, count, "ch"); { for(new i = 0; i < count; i++) { if(is_user_connected(players[i])) { new color = pack_color(clamp_byte(red), clamp_byte(green), clamp_byte(blue)) message_begin(MSG_ONE_UNRELIABLE, SVC_DIRECTOR, _, players[i]); write_byte(strlen(message) + 31); write_byte(DRC_CMD_MESSAGE); write_byte(effects); write_long(color); write_long(_:x); write_long(_:y); write_long(_:fadeintime); write_long(_:fadeouttime); write_long(_:holdtime); write_long(_:fxtime); write_string(message); message_end(); } } } } stock ColorChat(const id, const input[], any:...) { new count = 1, players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!g", "^4"); replace_all(msg, 190, "!y", "^1"); replace_all(msg, 190, "!t", "^3"); if(id) players[0] = id; else get_players(players, count, "ch"); { for(new i = 0; i < count; i++) { if(is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]); write_byte(players[i]); write_string(msg); message_end(); } } } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par } */
-
- Membru, skill 0
- Posts: 50
- Joined: 23 Dec 2013, 22:31
- Detinator Steam: Nu
- CS Status: Citesc forumul eXtreamCS.com...!
- Has thanked: 18 times
- Contact:
Am bagat pluginul , tot imi zice ca nu este licentiat
Dupa ce mi se blocheaza imi arata acest lucru in consola http://imgur.com/X15xnX0
Dupa ce mi se blocheaza imi arata acest lucru in consola http://imgur.com/X15xnX0
- Doctor whO? <3
- Membru, skill +3
- Posts: 1197
- Joined: 21 Jun 2013, 12:40
- Detinator Steam: Da
- CS Status: Citesc forumul eXtreamCS.com...!
- Reputatie: Fost Membru Club eXtreamCS (doua luni)
- Has thanked: 111 times
- Been thanked: 76 times
- Contact:
- Emi eXtream
- Membru eXtream
- Posts: 2233
- Joined: 08 Feb 2012, 11:52
- Detinator Steam: Da
- CS Status: No status available.
- SteamID: Privat.
- Reputatie: Utilizator neserios(tepar)
Restrictie moderator
Fost moderator
Nume anterior: Synk12 - Location: Neverland
- Has thanked: 90 times
- Been thanked: 49 times
- Contact:
- SkillartzHD
- Membru, skill +3
- Posts: 1096
- Joined: 08 Feb 2013, 19:43
- Detinator Steam: Da
- CS Status: HLDS Vulnerability
- Detinator server CS: GoldSrc
- SteamID: SkillartzHD_hlds
- Reputatie: Fost Moderator ajutator
- Location: Bucuresti
- Has thanked: 14 times
- Been thanked: 28 times
- Contact:
Code: Select all
static const ServerLicensedIp[ ] = "86.124.128.54";
Project by HLDS-Project 2017
Static Emulator : Native | Random Emulator : SettiEmu/AVSMP1/AVSMP0/SteamEmu/oldRevEmu/RevEmu is done KickASS-HLDS v2 (hlds)
KickASS-HLDS v1 (fakedetector)
HL-ClientSteam exploit (pure hlds)
PLCore exploit (dproto&hlds)
FakeConnect 2.0(reunion&rehlds)
KickASS-HLDS v3 in amxx(hlds&rehlds)
...... time passes and evidence are many
Special thanks to Spanwer and Magister
Skype : spyware.spyware1
Steam : Click
SV_CheckForDuplicateNames V2 download
- Doctor whO? <3
- Membru, skill +3
- Posts: 1197
- Joined: 21 Jun 2013, 12:40
- Detinator Steam: Da
- CS Status: Citesc forumul eXtreamCS.com...!
- Reputatie: Fost Membru Club eXtreamCS (doua luni)
- Has thanked: 111 times
- Been thanked: 76 times
- Contact:
Jump to
- eXtream - Forum
- ↳ Steam
- ↳ Forum
- ↳ WebDesign
- ↳ Incepatori
- ↳ Cos de reciclare
- ↳ Discutii generale
- ↳ Anunturi
- ↳ Security zone
- ↳ Filme si seriale
- ↳ Reclamatii
- ↳ Entertainment
- ↳ Distractie
- ↳ Clubul eXtreamCS - Intra si tu ! [noi oportunitati]
- eXtream - Counter-Strike 2
- ↳ Counter-Strike 2
- eXtream - Counter-Strike 1.6
- ↳ Diverse
- ↳ Filme gaming
- ↳ Meciuri
- ↳ Tutoriale
- ↳ Tutoriale
- ↳ Cereri
- ↳ Discutii generale
- ↳ Probleme la servere dedicate de Counter-Strike
- ↳ Cereri admin / slot
- ↳ Probleme in jocul Counter-Strike
- ↳ Pluginuri
- ↳ Pluginuri eXtream
- ↳ Cereri
- ↳ AdminMod
- ↳ AmxModX
- ↳ Resurse
- ↳ Moduri
- ↳ Addon-uri
- ↳ Kit-uri
- ↳ Harti
- ↳ Diverse
- ↳ Cereri
- ↳ Servere
- ↳ Programarea CS-ului
- ↳ Scripting
- ↳ Modificari pluginuri
- ↳ CStrike
- ↳ Cereri
- eXtream - Echipa
- ↳ Productia eXtream
- ↳ Harti eXtream
- ↳ CS.eXtreamCS.com - Server oficial eXtreamCS
- ↳ Zona administrativă
- ↳ Cereri acces
- ↳ Cereri unban
- ↳ Reclamații
- ↳ Admin zone
- ↳ CS2.eXtreamCS.com - Server official eXtreamCS
- ↳ XMAS.eXtreamCS.com
- ↳ Cereri admin
- ↳ Cereri unban
- ↳ Reclamatii / Sugestii
- ↳ eXtreamCS #PubMasters
- eXtream - Counter Strike Global Offensive
- ↳ Diverse
- ↳ Meciuri
- ↳ Tutoriale
- ↳ Probleme la servere dedicate de Counter-Strike: Global Offensive
- ↳ Probleme in jocul Counter-Strike: Global Offensive
- ↳ Pluginuri
- ↳ Cereri
- ↳ Resurse
- ↳ Addons-uri
- ↳ Hărți
- ↳ Diverse
- ↳ Servere
- eXtream - Counter-Strike Source
- ↳ Tutoriale
- ↳ Pluginuri
- ↳ Servere
- ↳ Resurse
- ↳ Harti
- ↳ Moduri
- ↳ Diverse
- ↳ Classic » CS
- ↳ Anunțuri administrative
- ↳ Cereri admin/slot
- ↳ Cereri unban
- ↳ Reclamații
- ↳ Banlist
- ↳ Admins Only
- ↳ Discord