i think players aren't blind and they can see they got hp running away.
////////////////////////////////////////// WCS - Warcraft:Source //// ---------------------------------- //// by kRypT0n!Te //// http://wc3source.de //// ---------------------------------- //// Content of this subscript //// - all ultimates //////////////////////////////////////////// commands:// wcs_mole_activate <userid>// wcs_regeneration <userid> <amount> <time> <maxHP> <maxHeal> <radius>// wcs_warden <userid> <duration> <damage> <radius> <target team> <team target name> <x> <y> <z> <round>//////////////////////////////////////////// You can define here new ultimates, then use the command// es_xdoblock wcs/WCSultimates/wcs_YOURSCRIPT// to execute wcs_YOURSCRIPT block.//block load{ es_xexists ex command wcs_mole_activate if (server_var(ex) = 0) then es_xregcmd wcs_mole_activate wcs/WCSultimates/wcs_mole_activate "A player becomes a mole" es_xexists ex command wcs_regeneration if (server_var(ex) = 0) then es_xregcmd wcs_regeneration wcs/WCSultimates/wcs_regeneration "wcs_regeneration <userid> <amount> <time> <maxHP> <maxHeal> <radius> - Regenerate player for the current round" es_xexists ex command wcs_warden if (server_var(ex) = 0) then es_xregcmd wcs_warden wcs/WCSultimates/wcs_warden "Warden, deals damage on nearby enemies" es_xexists wcs_exists command wcs_dalias es es_xif (server_var(wcs_exists) = 0) then es_xregcmd wcs_dalias wcs/WCSultimates/wcs_dalias "Executes alias with delay without loosing data" es_xset wcs_maxhp 0 es_xset wcs_maxheal 0 // new event es_xloadevents declare addons/eventscripts/wcs/WCSultimates/es_WCSultimates.res}// >>>>>>>>>>>>>>>>> SPECIAL ULTIMATE SKILL CODE >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>block wcs_ulti_teleport{wcs_debuglog wcs_ulti_teleport start // alot of calculations....does anyone know what I'm doing here ? es_xset wcs_ok 1 es est_GetViewCoord server_var(wcs_userid) wcs_x1 wcs_y1 wcs_z1 es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_userid) //es_mathparse wcs_x "abs ( wcs_x1 - wcs_x2 )" //es_mathparse wcs_y "abs ( wcs_y1 - wcs_y2 )" //es_mathparse wcs_z "abs ( wcs_z1 - wcs_z2 )" es_xcopy wcs_x wcs_x1 es_xcopy wcs_y wcs_y1 es_xcopy wcs_z wcs_z1 es_math wcs_x - server_var(wcs_x2) es_math wcs_y - server_var(wcs_y2) es_math wcs_z - server_var(wcs_z2) if (server_var(wcs_x) < 0) then es_xmath wcs_x * -1 if (server_var(wcs_y) < 0) then es_xmath wcs_y * -1 if (server_var(wcs_z) < 0) then es_xmath wcs_z * -1 ifx parse("(wcs_range < wcs_x) or (wcs_range < wcs_y) or (wcs_range < wcs_z)") do { es_xset wcs_ok 0 } // invisible while teleporting! (thx Lupus) es_keygetvalue wcs_tmp WCSuserdata server_var(wcs_userid) invisp if (server_var(wcs_tmp) != 0) do { es_xmath wcs_tmp float es_xmath wcs_tmp - 100 es_xmath wcs_tmp * -2.55; es est_rounddecimal wcs_tmp server_var(wcs_tmp) 0; es est_setplayercolor server_var(wcs_userid) 255 255 255 0 1 es_delayed 1 est_setplayercolor server_var(wcs_userid) 255 255 255 server_var(wcs_tmp) 1 } ifx true(wcs_ok) do { ifx false(wcs_noskywalking) do { es_exists ex command "ma_teleport" if (server_var(ex) = 1) then ma_teleport server_var(wcs_userid) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) if (server_var(ex) != 1) then est_Teleport server_var(wcs_userid) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) } if (server_var(wcs_noskywalking) = "1") then est_PushTo server_var(wcs_userid) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) "2" wcs_getlanguage "wcs_lng" "wcs_lng_teleported" es_tell server_var(wcs_userid) #multi server_var(wcs_lng) es est_Fade server_var(wcs_userid) 0 server_var(wcs_fadetimer) 1 0 0 0 250 } es_xelse do { // one or more vectors are too long to teleport .... damn math... if (server_var(wcs_range) < server_var(wcs_x)) do { if (server_var(wcs_x2) >= 0) do { if (server_var(wcs_x1) >= 0) do { if (server_var(wcs_x2) <= server_var(wcs_x1)) then es_xmath wcs_x2 + server_var(wcs_range) if (server_var(wcs_x2) > server_var(wcs_x1)) then es_xmath wcs_x2 - server_var(wcs_range) } es_xelse do { es_math wcs_x2 - server_var(wcs_range) } } es_xelse do { if (server_var(wcs_x1) < 0) do { if (server_var(wcs_x2) <= server_var(wcs_x1)) then es_xmath wcs_x2 + server_var(wcs_range) if (server_var(wcs_x2) > server_var(wcs_x1)) then es_xmath wcs_x2 - server_var(wcs_range) } es_xelse do { es_math wcs_x2 + server_var(wcs_range) } } es_xcopy wcs_x1 wcs_x2 } if (server_var(wcs_range) < server_var(wcs_y)) do { if (server_var(wcs_y2) >= 0) do { if (server_var(wcs_y1) >= 0) do { if (server_var(wcs_y2) <= server_var(wcs_y1)) then es_xmath wcs_y2 + server_var(wcs_range) if (server_var(wcs_y2) > server_var(wcs_y1)) then es_xmath wcs_y2 - server_var(wcs_range) } es_xelse do { es_math wcs_y2 - server_var(wcs_range) } } es_xelse do { if (server_var(wcs_y1) < 0) do { if (server_var(wcs_y2) <= server_var(wcs_y1)) then es_xmath wcs_y2 + server_var(wcs_range) if (server_var(wcs_y2) > server_var(wcs_y1)) then es_xmath wcs_y2 - server_var(wcs_range) } es_xelse do { es_math wcs_y2 + server_var(wcs_range) } } es_xcopy wcs_y1 wcs_y2 } if (server_var(wcs_range) < server_var(wcs_z)) do { if (server_var(wcs_z2) >= 0) do { if (server_var(wcs_z1) >= 0) do { if (server_var(wcs_z2) <= server_var(wcs_z1)) then es_xmath wcs_z2 + server_var(wcs_range) if (server_var(wcs_z2) > server_var(wcs_z1)) then es_xmath wcs_z2 - server_var(wcs_range) } es_xelse do { es_math wcs_z2 - server_var(wcs_range) } } es_xelse do { if (server_var(wcs_z1) < 0) do { if (server_var(wcs_z2) <= server_var(wcs_z1)) then es_xmath wcs_z2 + server_var(wcs_range) if (server_var(wcs_z2) > server_var(wcs_z1)) then es_xmath wcs_z2 - server_var(wcs_range) } es_xelse do { es_math wcs_z2 + server_var(wcs_range) } } es_xcopy wcs_z1 wcs_z2 } ifx false(wcs_noskywalking) do { es_exists ex command "ma_teleport" if (server_var(ex) = 1) then ma_teleport server_var(wcs_userid) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) if (server_var(ex) != 1) then est_Teleport server_var(wcs_userid) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) } if (server_var(wcs_noskywalking) = "1") then est_PushTo server_var(wcs_userid) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) "1" wcs_getlanguage "wcs_lng" "wcs_lng_toofaraway" es_tell server_var(wcs_userid) #multi server_var(wcs_lng) es est_Fade server_var(wcs_userid) 0 server_var(wcs_fadetimer) 0.2 0 0 0 220 }wcs_debuglog wcs_ulti_teleport end}block wcs_ulti_suicide{wcs_debuglog wcs_ulti_suicide start es_xset wcs_team_target 0 es_getplayerteam wcs_team server_var(wcs_userid) // check teams (T=2, CT=3) if (server_var(wcs_team) = 2) do { es_xset wcs_team_target 3 es_xset wcs_team_targetn "#c!d" } if (server_var(wcs_team) = 3) do { es_xset wcs_team_target 2 es_xset wcs_team_targetn "#t!d" } if (server_var(wcs_team_target) != "0") do { es_xset wcs_pcount 0 es_getlivingplayercount wcs_pcount server_var(wcs_team_target) if (server_var(wcs_pcount) > 0) do { alias wcs_run_ulti_suicide1 "es_xset wcs_immunity 0;es_keygetvalue wcs_immunity WCSuserdata server_var(wcs_targetid) ulti_immunity;if (server_var(wcs_immunity) = 0) then wcs_run_ulti_suicide2;if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng_ulti_immunity_a);if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_targetid) #multi server_var(wcs_lng_ulti_immunity_v)" alias wcs_run_ulti_suicide2 "es_xmath wcs_counter + 1;es wcs_explode server_var(wcs_userid) server_var(wcs_targetid) server_var(wcs_magnitude) server_var(wcs_radius)" es_xset wcs_counter 0 es est_Near wcs_targetid server_var(wcs_team_targetn) server_var(wcs_radius) server_var(wcs_userid) "es_exists ex userid server_var(wcs_targetid);if (server_var(ex) = 1) then wcs_run_ulti_suicide1" // no more needed //if (server_var(wcs_counter) > 0) then wcs_explode server_var(wcs_userid) server_var(wcs_userid) server_var(wcs_magnitude) server_var(wcs_radius) } }wcs_debuglog wcs_ulti_suicide end}block wcs_ulti_flash{wcs_debuglog wcs_ulti_flash start es_xset wcs_team_target 0 es_getplayerteam wcs_team server_var(wcs_userid) // check teams (T=2, CT=3) if (server_var(wcs_team) = 2) do { es_xset wcs_team_target 3 es_xset wcs_team_targetn "#c!d" } if (server_var(wcs_team) = 3) do { es_xset wcs_team_target 2 es_xset wcs_team_targetn "#t!d" } if (server_var(wcs_team_target) != "0") do { es_xset wcs_pcount 0 es_getlivingplayercount wcs_pcount server_var(wcs_team_target) if (server_var(wcs_pcount) > 0) do { alias wcs_run_ulti_flash1 "es_xset wcs_immunity 0;es_keygetvalue wcs_immunity WCSuserdata server_var(wcs_targetid) ulti_immunity;if (server_var(wcs_immunity) = 0) then wcs_run_ulti_flash2;if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng_ulti_immunity_a);if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_targetid) #multi server_var(wcs_lng_ulti_immunity_v)" alias wcs_run_ulti_flash2 "es_xmath wcs_counter + 1;es est_fade server_var(wcs_targetid) 0 1.5 0 255 255 255 255" es_xset wcs_counter 0 es est_Near wcs_targetid server_var(wcs_team_targetn) server_var(wcs_radius) server_var(wcs_userid) "es_exists ex userid server_var(wcs_targetid);if (server_var(ex) = 1) then wcs_run_ulti_flash1" } }wcs_debuglog wcs_ulti_flash end}block wcs_ulti_chain{wcs_debuglog wcs_ulti_chain start es_xset wcs_team_target 0 es_getplayerteam wcs_team server_var(wcs_userid) // check teams (T=2, CT=3) if (server_var(wcs_team) = 2) do { es_xset wcs_team_target 3 es_xset wcs_team_targetn "#c!d" } if (server_var(wcs_team) = 3) do { es_xset wcs_team_target 2 es_xset wcs_team_targetn "#t!d" } if (server_var(wcs_team_target) != "0") do { es_xset wcs_pcount 0 es_getlivingplayercount wcs_pcount server_var(wcs_team_target) if (server_var(wcs_pcount) > 0) do { es est_Fade server_var(wcs_userid) 0 2 1 240 240 240 100 es_xset wcs_wall "1" alias wcs_run_ulti_chain1 "es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_userid);es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_targetid);es_xmath wcs_z1 + 50;es_xmath wcs_z2 + 50;es est_getwallbetween wcs_wall server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2);if (server_var(wcs_wall) = 0) then wcs_run_ulti_chain2" alias wcs_run_ulti_chain2 "es_xset wcs_immunity 0;es_keygetvalue wcs_immunity WCSuserdata server_var(wcs_targetid) ulti_immunity;if (server_var(wcs_immunity) = 0) then wcs_run_ulti_chain3;if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng_ulti_immunity_a);if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_targetid) #multi server_var(wcs_lng_ulti_immunity_v)" alias wcs_run_ulti_chain3 "es_xmath wcs_counter + 1;if (server_var(wcs_graphicfx) = 1) then est_effect 3 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 10 10 200 255 255 255;es wcs_dealdamage server_var(wcs_userid) server_var(wcs_targetid) 32" es_xset wcs_counter 0 es est_Near wcs_targetid server_var(wcs_team_targetn) server_var(wcs_radius) server_var(wcs_userid) "es_exists ex userid server_var(wcs_targetid);if (server_var(ex) = 1) then es_xif (server_var(wcs_counter) < server_var(wcs_maxtargets)) then wcs_run_ulti_chain1" if (server_var(wcs_counter) > 0) do { wcs_getlanguage "wcs_lng" "wcs_lng_chainlightning" wcs_getlanguage "wcs_lng2" "wcs_lng_playersdamaged" esnq est_csay server_var(wcs_userid) server_var(wcs_lng) : server_var(wcs_counter) server_var(wcs_lng2) } es_xelse do { es_xset wcs_ultinotexec 1 } } es_xelse do { es_xset wcs_ultinotexec 1 } } wcs_getlanguage "wcs_lng" "wcs_lng_chainfailed" if (server_var(wcs_ultinotexec) = 1) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng)wcs_debuglog wcs_ulti_chain end}block wcs_ulti_roots{wcs_debuglog wcs_ulti_roots start es_xset wcs_team_target 0 es_getplayerteam wcs_team server_var(wcs_userid) // check teams (T=2, CT=3) if (server_var(wcs_team) = 2) do { es_xset wcs_team_target 3 es_xset wcs_team_targetn "#c!d" } if (server_var(wcs_team) = 3) do { es_xset wcs_team_target 2 es_xset wcs_team_targetn "#t!d" } if (server_var(wcs_team_target) != "0") do { es_xset wcs_pcount 0 es_getlivingplayercount wcs_pcount server_var(wcs_team_target) if (server_var(wcs_pcount) > 0) do { es est_Fade server_var(wcs_userid) 0 1 1 10 55 5 200 es_xset wcs_wall "1" alias wcs_run_ulti_roots1 "es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_userid);es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_targetid);es_xmath wcs_z1 + 50;es_xmath wcs_z2 + 50;es est_getwallbetween wcs_wall server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2);if (server_var(wcs_wall) = 0) then wcs_run_ulti_roots2" alias wcs_run_ulti_roots2 "es_xset wcs_immunity 0;es_keygetvalue wcs_immunity WCSuserdata server_var(wcs_targetid) ulti_immunity;if (server_var(wcs_immunity) = 0) then wcs_run_ulti_roots3;if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng_ulti_immunity_a);if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_targetid) #multi server_var(wcs_lng_ulti_immunity_v)" alias wcs_run_ulti_roots3 "es_xmath wcs_counter + 1;es est_Freeze server_var(wcs_targetid) 1;es_delayed server_var(wcs_freezetime) wcs_removefx freeze server_var(wcs_targetid);if (server_var(wcs_graphicfx) = 1) then est_effect 3 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 10 10 0 255 0 255" es_xset wcs_counter 0 es est_Near wcs_targetid server_var(wcs_team_targetn) server_var(wcs_radius) server_var(wcs_userid) "es_exists ex userid server_var(wcs_targetid);if (server_var(ex) = 1) then wcs_run_ulti_roots1" if (server_var(wcs_counter) > 0) do { wcs_getlanguage "wcs_lng" "wcs_lng_entangleroots" esnq est_csay server_var(wcs_userid) server_var(wcs_lng) : server_var(wcs_counter) } es_xelse do { es_xset wcs_ultinotexec 1 } } es_xelse do { es_xset wcs_ultinotexec 1 } } wcs_getlanguage "wcs_lng" "wcs_lng_entanglefailed" if (server_var(wcs_ultinotexec) = 1) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng)wcs_debuglog wcs_ulti_roots end}block wcs_regeneration{if (server_var(wcs_debug) = 1) then profile begin regeneration es_xgetargv wcs_uid 1 es_xgetargv wcs_amount 2 es_xgetargv wcs_time 3 es_xgetargv wcs_maxhp 4 es_xgetargv wcs_maxheal 5 es_xgetargv wcs_radius 6 es_exists ex key WCSuserdata server_var(wcs_uid) ifx parse("(ex == 1) and (wcs_time >= 1)") do { es_xset wcs_regenerate 0 es_keygetvalue wcs_regenerate WCSuserdata server_var(wcs_uid) regeneration es_keygetvalue wcs_round WCSuserdata server_var(wcs_uid) regen_round ifx parse("(wcs_regenerate == 1) and (wcs_roundcounter == wcs_round)") do { es_getplayerprop wcs_dead server_var(wcs_uid) "CCSPlayer.baseclass.pl.deadflag" ifx parse("((wcs_maxheal > 0) or (wcs_maxheal == -1)) and (wcs_dead == 0)") do { es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_uid) if (server_var(wcs_maxheal) != -1) then es_xif (server_var(wcs_maxheal) != 0) then es_xmath wcs_maxheal - 1 // check for team healing or single person ifx true(wcs_radius) do { es_getplayerteam wcs_team server_var(wcs_uid) // check teams (T=2, CT=3) if (server_var(wcs_team) = 2) then es_xset wcs_team "#t!d" if (server_var(wcs_team) = 3) then es_xset wcs_team "#c!d" es_xmath wcs_z1 + 50 wcs_getlanguage "wcs_lng" "wcs_lng_healed" alias wcs_run_heal "es est_sethealth server_var(wcs_targetid) server_var(wcs_health);es_tell server_var(wcs_targetid) #multi server_var(wcs_lng);es est_fade server_var(wcs_targetid) 0 0.4 0 0 200 25 50;es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_targetid);es_xmath wcs_z2 + 50;es est_effect 3 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 2 2 0 255 0 255" es est_Near wcs_targetid server_var(wcs_team) server_var(wcs_radius) server_var(wcs_uid) "es est_gethealth wcs_health server_var(wcs_targetid);es_math wcs_health + server_var(wcs_amount);if (server_var(wcs_maxhp) > 0) then es_xif (server_var(wcs_maxhp) >= server_var(wcs_health)) then wcs_run_heal;if (server_var(wcs_maxhp) = 0) then wcs_run_heal" es_delayed server_var(wcs_time) wcs_regeneration server_var(wcs_uid) server_var(wcs_amount) server_var(wcs_time) server_var(wcs_maxhp) server_var(wcs_maxheal) server_var(wcs_radius) } es_xelse do { es est_GetHealth wcs_health server_var(wcs_uid) es_math wcs_health + server_var(wcs_amount) if (server_var(wcs_maxhp) > 0) then es_xif (server_var(wcs_maxhp) >= server_var(wcs_health)) then est_SetHealth server_var(wcs_uid) server_var(wcs_health) if (server_var(wcs_maxhp) = 0) then est_SetHealth server_var(wcs_uid) server_var(wcs_health) es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_uid) es_xmath wcs_z2 + 200 es est_effect 3 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 2 2 0 255 0 255 wcs_getlanguage "wcs_lng" "wcs_lng_healed" es_tell server_var(wcs_uid) #multi server_var(wcs_lng) es_delayed server_var(wcs_time) wcs_regeneration server_var(wcs_uid) server_var(wcs_amount) server_var(wcs_time) server_var(wcs_maxhp) server_var(wcs_maxheal) "0" } } } es_xelse do { es_keysetvalue WCSuserdata server_var(wcs_uid) regen_round 0 } }if (server_var(wcs_debug) = 1) then profile end regeneration}block wcs_warden{wcs_debuglog wcs_warden start es_xset wcs_uid 0 es_xset wcs_duration 0 es_xset wcs_dmg 0 es_xset wcs_radius 0 es_xset wcs_team_target 0 es_xset wcs_wardenround 0 es_xgetargv wcs_uid 1 es_xgetargv wcs_duration 2 es_xgetargv wcs_dmg 3 es_xgetargv wcs_radius 4 es_xgetargv wcs_team_target 5 es_xgetargv wcs_team_targetn 6 es_xgetargv wcs_x1 7 es_xgetargv wcs_y1 8 es_xgetargv wcs_z1 9 es_xgetargv wcs_wardenround 10 es_exists ex userid server_var(wcs_uid) es_getlivingplayercount wcs_alive server_var(wcs_team_target) ifx parse("(wcs_alive >= 1) and (wcs_wardenround == wcs_wardencounter) and ex and (wcs_duration > 0) and (wcs_radius != 0) and (wcs_team_target != 0)") do { es wcs_debuglog warden deals damage round server_var(wcs_wardenround) duration server_var(wcs_duration) es_xset wcs_sward_invul 0 es_xset wcs_sward_resist 0 es est_Effect 10 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) 20 server_var(wcs_radius) 1 20 100 1 255 150 70 100 10 //es est_Near wcs_targetid server_var(wcs_team_targetn) server_var(wcs_radius) server_var(wcs_uid) "es wcs_dealdamage server_var(wcs_uid) server_var(wcs_targetid) server_var(wcs_dmg);es_tell server_var(wcs_targetid) #multi server_var(wcs_lng_wardenhit);es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_targetid);es est_effect 3 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 10 20 255 150 70 255" es_xset wcs_wall 1 wcs_getlanguage "wcs_lng" "wcs_lng_wardenhit" alias wcs_run_warden "es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_targetid);es est_getwallbetween wcs_wall server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2);es_keygetvalue wcs_sward_invul WCSuserdata server_var(wcs_targetid) swardinvul;es_keygetvalue wcs_sward_resist WCSuserdata server_var(wcs_targetid) swardresist;if (server_var(wcs_sward_invul) = 1) then shopalias_asw1_off;if (server_var(wcs_wall) = 0) then es_xif (server_var(wcs_sward_invul) = 0) then wcs_run_warden2" alias wcs_run_warden2 "es_xcopy wcs_damage wcs_dmg;if (server_var(wcs_sward_resist) != 0) then es_xmath wcs_damage / 2;es est_speed server_var(wcs_targetid) 0.7;if (server_var(wcs_speed) != 0) then es_xdelayed 2 wcs_removefx speed server_var(wcs_targetid);es wcs_dealdamage server_var(wcs_uid) server_var(wcs_targetid) server_var(wcs_damage);es_tell server_var(wcs_targetid) #multi server_var(wcs_lng);es est_effect 3 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 10 20 255 150 70 255" es nearcoord wcs_targetid server_var(wcs_team_targetn) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_radius) server_var(wcs_radius) server_var(wcs_radius) "es_getplayerprop wcs_dead server_var(wcs_targetid) CCSPlayer.baseclass.pl.deadflag;if (server_var(wcs_dead) = 0) then wcs_run_warden" es_xmath wcs_duration - 1 es_delayed 1 wcs_warden server_var(wcs_uid) server_var(wcs_duration) server_var(wcs_dmg) server_var(wcs_radius) server_var(wcs_team_target) server_var(wcs_team_targetn) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_wardenround) }wcs_debuglog wcs_warden end}block wcs_mole_activate{wcs_debuglog wcs_mole_activate start es_xset wcs_uid 0 es_xgetargv wcs_uid 1 es_exists ex userid server_var(wcs_uid) if (server_var(ex) = 1) do { es_xset wcs_team_target 0 es_getplayerteam wcs_team server_var(wcs_uid) // check teams (T=2, CT=3) if (server_var(wcs_team) = 2) do { es_xset wcs_team_target 3 es_xset wcs_team_targetn "#c!d" } if (server_var(wcs_team) = 3) do { es_xset wcs_team_target 2 es_xset wcs_team_targetn "#t!d" } if (server_var(wcs_team_target) != "0") do { es_xset wcs_pcount 0 es_getlivingplayercount wcs_pcount server_var(wcs_team_target) if (server_var(wcs_pcount) > 0) do { es_xset wcs_player 0 if(server_var(wcs_game) = server_var(wcs_game_css)) then es_xif (server_var(wcs_team) = 3) then est_SetModel server_var(wcs_uid) "player/t_phoenix" if(server_var(wcs_game) = server_var(wcs_game_css)) then es_xif (server_var(wcs_team) = 2) then est_SetModel server_var(wcs_uid) "player/ct_urban" if(server_var(wcs_game) = server_var(wcs_game_dods)) then es_xif (server_var(wcs_team) = 2) then est_SetModel server_var(wcs_uid) "player/german_assault" if(server_var(wcs_game) = server_var(wcs_game_dods)) then es_xif (server_var(wcs_team) = 3) then est_SetModel server_var(wcs_uid) "player/american_assault" es est_RandPlayer wcs_player server_var(wcs_team_targetn) es_exists ex userid server_var(wcs_player) if (server_var(ex) = 1) do { //es_getplayerlocation wcs_x wcs_y wcs_z server_var(wcs_player) //es_xmath wcs_x + 40 //es_xmath wcs_y + 40 // new pos if (server_var(wcs_team) = 2) do { if (server_var(wcs_location_c) != "0") do { es_token wcs_x server_var(wcs_location_c) 1 | es_token wcs_y server_var(wcs_location_c) 2 | es_token wcs_z server_var(wcs_location_c) 3 | } es_xelse do { es_getplayerlocation wcs_x wcs_y wcs_z server_var(wcs_player) } } if (server_var(wcs_team) = 3) do { if (server_var(wcs_location_t) != "0") do { es_token wcs_x server_var(wcs_location_t) 1 | es_token wcs_y server_var(wcs_location_t) 2 | es_token wcs_z server_var(wcs_location_t) 3 | } es_xelse do { es_getplayerlocation wcs_x wcs_y wcs_z server_var(wcs_player) } } // new, delayed teleport es_set wcs_tmp server_var(mp_freezetime) es_xmath wcs_tmp + 3 wcs_getlanguage "wcs_lng" "wcs_lng_moledelay" es_tell server_var(wcs_uid) #multi server_var(wcs_lng) es_delayed server_var(mp_freezetime) es_xtell server_var(wcs_uid) #multi server_var(wcs_lng) es_delayed server_var(wcs_tmp) est_Teleport server_var(wcs_uid) server_var(wcs_x) server_var(wcs_y) server_var(wcs_z) es_keysetvalue "WCSuserdata" server_var(wcs_uid) "ismole" "1" } wcs_getlanguage "wcs_lng" "wcs_lng_mole" es_delayed server_var(mp_freezetime) es_xtell server_var(wcs_uid) #multi server_var(wcs_lng) } es_xelse do { wcs_getlanguage "wcs_lng" "wcs_lng_molefailed" es_tell server_var(wcs_uid) #multi server_var(wcs_lng) } } es_xelse do { wcs_getlanguage "wcs_lng" "wcs_lng_molefailed" es_tell server_var(wcs_uid) #multi server_var(wcs_lng) } }wcs_debuglog wcs_mole_activate end}block wcs_ability_warden{ es_xset wcs_params 0 es_keygetvalue wcs_params WCSuserdata server_var(wcs_userid) "ability_parameter" if (server_var(wcs_params) != "0") do { es_getplayerteam wcs_team server_var(wcs_userid) // colored wards, thanks to Sol | Pikachu es_xset wcs_color "10 0 255 70" ifx parse("wcs_team == 2") do { es_xset wcs_team_target 3 es_xset wcs_team_targetn "#ct" es_xset wcs_color "255 0 10 150" } ifx parse("wcs_team == 3") do { es_xset wcs_team_target 2 es_xset wcs_team_targetn "#t" es_xset wcs_color "10 0 255 150" } es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_userid) es_xset wcs_duration 0 es_token wcs_duration server_var(wcs_params) 1 "_" ifx true(wcs_graphicfx) do { es_xcopy wcs_x2 wcs_x1 es_xcopy wcs_y2 wcs_y1 es_xcopy wcs_z2 wcs_z1 es_xmath wcs_z1 + 120 esnq est_Effect 11 #a 0 "sprites/purpleglow1.vmt" server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_duration) 2 50 esnq est_Effect 3 #a 0 "sprites/lgtning.vmt" server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) server_var(wcs_duration) 20 20 server_var(wcs_color) es_xmath wcs_z1 - 120 } es_token wcs_dmg server_var(wcs_params) 2 "_" es_token wcs_radius server_var(wcs_params) 3 "_" es wcs_warden server_var(wcs_userid) server_var(wcs_duration) server_var(wcs_dmg) server_var(wcs_radius) server_var(wcs_team_target) server_var(wcs_team_targetn) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_wardencounter) wcs_getlanguage "wcs_lng" "wcs_lng_wardencreated" es_tell server_var(wcs_userid) #multi server_var(wcs_lng) }}block wcs_dalias{if (server_var(wcs_debug) = "1") then echo wcs_dalias start es_xsetinfo wcs_tmp1 0 es_xsetinfo wcs_tmp2 0 es_xsetinfo wcs_tmp3 0 es_xsetinfo wcs_tmp4 0 es_xsetinfo wcs_tmp5 0 es_xsetinfo wcs_tmp6 0 es_xsetinfo wcs_tmp7 0 es_xsetinfo wcs_tmp8 0 es_xsetinfo wcs_tmp9 0 es_xsetinfo wcs_tmp10 0 es_xsetinfo wcs_tmp11 0 es_xsetinfo wcs_tmp12 0 es_xsetinfo wcs_tmp13 0 es_xsetinfo wcs_tmp14 0 es_xsetinfo wcs_tmp15 0 es_xgetargv wcs_tmp1 1 es_xgetargv wcs_tmp2 2 es_xgetargv wcs_tmp3 3 es_xgetargv wcs_tmp4 4 es_xgetargv wcs_tmp5 5 es_xgetargv wcs_tmp6 6 es_xgetargv wcs_tmp7 7 es_xgetargv wcs_tmp8 8 es_xgetargv wcs_tmp9 9 es_xgetargv wcs_tmp10 10 es_xgetargv wcs_tmp11 11 es_xgetargv wcs_tmp12 12 es_xgetargv wcs_tmp13 13 es_xgetargv wcs_tmp14 14 es_xgetargv wcs_tmp15 15es server_var(wcs_tmp1)if (server_var(wcs_debug) = "1") then echo wcs_dalias end}// <<<<<<<<<<<<<<<<< END ULTIMATE SKILL CODE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
you missed the part were you make wcs_dalias a cmdCode: [Select]////////////////////////////////////////// WCS - Warcraft:Source //// ---------------------------------- //// by kRypT0n!Te //// http://wc3source.de //// ---------------------------------- //// Content of this subscript //// - all ultimates //////////////////////////////////////////// commands:// wcs_mole_activate <userid>// wcs_regeneration <userid> <amount> <time> <maxHP> <maxHeal> <radius>// wcs_warden <userid> <duration> <damage> <radius> <target team> <team target name> <x> <y> <z> <round>//////////////////////////////////////////// You can define here new ultimates, then use the command// es_xdoblock wcs/WCSultimates/wcs_YOURSCRIPT// to execute wcs_YOURSCRIPT block.//block load{ es_xexists ex command wcs_mole_activate if (server_var(ex) = 0) then es_xregcmd wcs_mole_activate wcs/WCSultimates/wcs_mole_activate "A player becomes a mole" es_xexists ex command wcs_regeneration if (server_var(ex) = 0) then es_xregcmd wcs_regeneration wcs/WCSultimates/wcs_regeneration "wcs_regeneration <userid> <amount> <time> <maxHP> <maxHeal> <radius> - Regenerate player for the current round" es_xexists ex command wcs_warden if (server_var(ex) = 0) then es_xregcmd wcs_warden wcs/WCSultimates/wcs_warden "Warden, deals damage on nearby enemies" es_xexists wcs_exists command wcs_dalias es es_xif (server_var(wcs_exists) = 0) then es_xregcmd wcs_dalias wcs/WCSultimates/wcs_dalias "Executes alias with delay without loosing data" es_xset wcs_maxhp 0 es_xset wcs_maxheal 0 // new event es_xloadevents declare addons/eventscripts/wcs/WCSultimates/es_WCSultimates.res}// >>>>>>>>>>>>>>>>> SPECIAL ULTIMATE SKILL CODE >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>block wcs_ulti_teleport{wcs_debuglog wcs_ulti_teleport start // alot of calculations....does anyone know what I'm doing here ? es_xset wcs_ok 1 es est_GetViewCoord server_var(wcs_userid) wcs_x1 wcs_y1 wcs_z1 es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_userid) //es_mathparse wcs_x "abs ( wcs_x1 - wcs_x2 )" //es_mathparse wcs_y "abs ( wcs_y1 - wcs_y2 )" //es_mathparse wcs_z "abs ( wcs_z1 - wcs_z2 )" es_xcopy wcs_x wcs_x1 es_xcopy wcs_y wcs_y1 es_xcopy wcs_z wcs_z1 es_math wcs_x - server_var(wcs_x2) es_math wcs_y - server_var(wcs_y2) es_math wcs_z - server_var(wcs_z2) if (server_var(wcs_x) < 0) then es_xmath wcs_x * -1 if (server_var(wcs_y) < 0) then es_xmath wcs_y * -1 if (server_var(wcs_z) < 0) then es_xmath wcs_z * -1 ifx parse("(wcs_range < wcs_x) or (wcs_range < wcs_y) or (wcs_range < wcs_z)") do { es_xset wcs_ok 0 } // invisible while teleporting! (thx Lupus) es_keygetvalue wcs_tmp WCSuserdata server_var(wcs_userid) invisp if (server_var(wcs_tmp) != 0) do { es_xmath wcs_tmp float es_xmath wcs_tmp - 100 es_xmath wcs_tmp * -2.55; es est_rounddecimal wcs_tmp server_var(wcs_tmp) 0; es est_setplayercolor server_var(wcs_userid) 255 255 255 0 1 es_delayed 1 est_setplayercolor server_var(wcs_userid) 255 255 255 server_var(wcs_tmp) 1 } ifx true(wcs_ok) do { ifx false(wcs_noskywalking) do { es_exists ex command "ma_teleport" if (server_var(ex) = 1) then ma_teleport server_var(wcs_userid) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) if (server_var(ex) != 1) then est_Teleport server_var(wcs_userid) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) } if (server_var(wcs_noskywalking) = "1") then est_PushTo server_var(wcs_userid) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) "2" wcs_getlanguage "wcs_lng" "wcs_lng_teleported" es_tell server_var(wcs_userid) #multi server_var(wcs_lng) es est_Fade server_var(wcs_userid) 0 server_var(wcs_fadetimer) 1 0 0 0 250 } es_xelse do { // one or more vectors are too long to teleport .... damn math... if (server_var(wcs_range) < server_var(wcs_x)) do { if (server_var(wcs_x2) >= 0) do { if (server_var(wcs_x1) >= 0) do { if (server_var(wcs_x2) <= server_var(wcs_x1)) then es_xmath wcs_x2 + server_var(wcs_range) if (server_var(wcs_x2) > server_var(wcs_x1)) then es_xmath wcs_x2 - server_var(wcs_range) } es_xelse do { es_math wcs_x2 - server_var(wcs_range) } } es_xelse do { if (server_var(wcs_x1) < 0) do { if (server_var(wcs_x2) <= server_var(wcs_x1)) then es_xmath wcs_x2 + server_var(wcs_range) if (server_var(wcs_x2) > server_var(wcs_x1)) then es_xmath wcs_x2 - server_var(wcs_range) } es_xelse do { es_math wcs_x2 + server_var(wcs_range) } } es_xcopy wcs_x1 wcs_x2 } if (server_var(wcs_range) < server_var(wcs_y)) do { if (server_var(wcs_y2) >= 0) do { if (server_var(wcs_y1) >= 0) do { if (server_var(wcs_y2) <= server_var(wcs_y1)) then es_xmath wcs_y2 + server_var(wcs_range) if (server_var(wcs_y2) > server_var(wcs_y1)) then es_xmath wcs_y2 - server_var(wcs_range) } es_xelse do { es_math wcs_y2 - server_var(wcs_range) } } es_xelse do { if (server_var(wcs_y1) < 0) do { if (server_var(wcs_y2) <= server_var(wcs_y1)) then es_xmath wcs_y2 + server_var(wcs_range) if (server_var(wcs_y2) > server_var(wcs_y1)) then es_xmath wcs_y2 - server_var(wcs_range) } es_xelse do { es_math wcs_y2 + server_var(wcs_range) } } es_xcopy wcs_y1 wcs_y2 } if (server_var(wcs_range) < server_var(wcs_z)) do { if (server_var(wcs_z2) >= 0) do { if (server_var(wcs_z1) >= 0) do { if (server_var(wcs_z2) <= server_var(wcs_z1)) then es_xmath wcs_z2 + server_var(wcs_range) if (server_var(wcs_z2) > server_var(wcs_z1)) then es_xmath wcs_z2 - server_var(wcs_range) } es_xelse do { es_math wcs_z2 - server_var(wcs_range) } } es_xelse do { if (server_var(wcs_z1) < 0) do { if (server_var(wcs_z2) <= server_var(wcs_z1)) then es_xmath wcs_z2 + server_var(wcs_range) if (server_var(wcs_z2) > server_var(wcs_z1)) then es_xmath wcs_z2 - server_var(wcs_range) } es_xelse do { es_math wcs_z2 + server_var(wcs_range) } } es_xcopy wcs_z1 wcs_z2 } ifx false(wcs_noskywalking) do { es_exists ex command "ma_teleport" if (server_var(ex) = 1) then ma_teleport server_var(wcs_userid) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) if (server_var(ex) != 1) then est_Teleport server_var(wcs_userid) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) } if (server_var(wcs_noskywalking) = "1") then est_PushTo server_var(wcs_userid) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) "1" wcs_getlanguage "wcs_lng" "wcs_lng_toofaraway" es_tell server_var(wcs_userid) #multi server_var(wcs_lng) es est_Fade server_var(wcs_userid) 0 server_var(wcs_fadetimer) 0.2 0 0 0 220 }wcs_debuglog wcs_ulti_teleport end}block wcs_ulti_suicide{wcs_debuglog wcs_ulti_suicide start es_xset wcs_team_target 0 es_getplayerteam wcs_team server_var(wcs_userid) // check teams (T=2, CT=3) if (server_var(wcs_team) = 2) do { es_xset wcs_team_target 3 es_xset wcs_team_targetn "#c!d" } if (server_var(wcs_team) = 3) do { es_xset wcs_team_target 2 es_xset wcs_team_targetn "#t!d" } if (server_var(wcs_team_target) != "0") do { es_xset wcs_pcount 0 es_getlivingplayercount wcs_pcount server_var(wcs_team_target) if (server_var(wcs_pcount) > 0) do { alias wcs_run_ulti_suicide1 "es_xset wcs_immunity 0;es_keygetvalue wcs_immunity WCSuserdata server_var(wcs_targetid) ulti_immunity;if (server_var(wcs_immunity) = 0) then wcs_run_ulti_suicide2;if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng_ulti_immunity_a);if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_targetid) #multi server_var(wcs_lng_ulti_immunity_v)" alias wcs_run_ulti_suicide2 "es_xmath wcs_counter + 1;es wcs_explode server_var(wcs_userid) server_var(wcs_targetid) server_var(wcs_magnitude) server_var(wcs_radius)" es_xset wcs_counter 0 es est_Near wcs_targetid server_var(wcs_team_targetn) server_var(wcs_radius) server_var(wcs_userid) "es_exists ex userid server_var(wcs_targetid);if (server_var(ex) = 1) then wcs_run_ulti_suicide1" // no more needed //if (server_var(wcs_counter) > 0) then wcs_explode server_var(wcs_userid) server_var(wcs_userid) server_var(wcs_magnitude) server_var(wcs_radius) } }wcs_debuglog wcs_ulti_suicide end}block wcs_ulti_flash{wcs_debuglog wcs_ulti_flash start es_xset wcs_team_target 0 es_getplayerteam wcs_team server_var(wcs_userid) // check teams (T=2, CT=3) if (server_var(wcs_team) = 2) do { es_xset wcs_team_target 3 es_xset wcs_team_targetn "#c!d" } if (server_var(wcs_team) = 3) do { es_xset wcs_team_target 2 es_xset wcs_team_targetn "#t!d" } if (server_var(wcs_team_target) != "0") do { es_xset wcs_pcount 0 es_getlivingplayercount wcs_pcount server_var(wcs_team_target) if (server_var(wcs_pcount) > 0) do { alias wcs_run_ulti_flash1 "es_xset wcs_immunity 0;es_keygetvalue wcs_immunity WCSuserdata server_var(wcs_targetid) ulti_immunity;if (server_var(wcs_immunity) = 0) then wcs_run_ulti_flash2;if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng_ulti_immunity_a);if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_targetid) #multi server_var(wcs_lng_ulti_immunity_v)" alias wcs_run_ulti_flash2 "es_xmath wcs_counter + 1;es est_fade server_var(wcs_targetid) 0 1.5 0 255 255 255 255" es_xset wcs_counter 0 es est_Near wcs_targetid server_var(wcs_team_targetn) server_var(wcs_radius) server_var(wcs_userid) "es_exists ex userid server_var(wcs_targetid);if (server_var(ex) = 1) then wcs_run_ulti_flash1" } }wcs_debuglog wcs_ulti_flash end}block wcs_ulti_chain{wcs_debuglog wcs_ulti_chain start es_xset wcs_team_target 0 es_getplayerteam wcs_team server_var(wcs_userid) // check teams (T=2, CT=3) if (server_var(wcs_team) = 2) do { es_xset wcs_team_target 3 es_xset wcs_team_targetn "#c!d" } if (server_var(wcs_team) = 3) do { es_xset wcs_team_target 2 es_xset wcs_team_targetn "#t!d" } if (server_var(wcs_team_target) != "0") do { es_xset wcs_pcount 0 es_getlivingplayercount wcs_pcount server_var(wcs_team_target) if (server_var(wcs_pcount) > 0) do { es est_Fade server_var(wcs_userid) 0 2 1 240 240 240 100 es_xset wcs_wall "1" alias wcs_run_ulti_chain1 "es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_userid);es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_targetid);es_xmath wcs_z1 + 50;es_xmath wcs_z2 + 50;es est_getwallbetween wcs_wall server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2);if (server_var(wcs_wall) = 0) then wcs_run_ulti_chain2" alias wcs_run_ulti_chain2 "es_xset wcs_immunity 0;es_keygetvalue wcs_immunity WCSuserdata server_var(wcs_targetid) ulti_immunity;if (server_var(wcs_immunity) = 0) then wcs_run_ulti_chain3;if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng_ulti_immunity_a);if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_targetid) #multi server_var(wcs_lng_ulti_immunity_v)" alias wcs_run_ulti_chain3 "es_xmath wcs_counter + 1;if (server_var(wcs_graphicfx) = 1) then est_effect 3 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 10 10 200 255 255 255;es wcs_dealdamage server_var(wcs_userid) server_var(wcs_targetid) 32" es_xset wcs_counter 0 es est_Near wcs_targetid server_var(wcs_team_targetn) server_var(wcs_radius) server_var(wcs_userid) "es_exists ex userid server_var(wcs_targetid);if (server_var(ex) = 1) then es_xif (server_var(wcs_counter) < server_var(wcs_maxtargets)) then wcs_run_ulti_chain1" if (server_var(wcs_counter) > 0) do { wcs_getlanguage "wcs_lng" "wcs_lng_chainlightning" wcs_getlanguage "wcs_lng2" "wcs_lng_playersdamaged" esnq est_csay server_var(wcs_userid) server_var(wcs_lng) : server_var(wcs_counter) server_var(wcs_lng2) } es_xelse do { es_xset wcs_ultinotexec 1 } } es_xelse do { es_xset wcs_ultinotexec 1 } } wcs_getlanguage "wcs_lng" "wcs_lng_chainfailed" if (server_var(wcs_ultinotexec) = 1) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng)wcs_debuglog wcs_ulti_chain end}block wcs_ulti_roots{wcs_debuglog wcs_ulti_roots start es_xset wcs_team_target 0 es_getplayerteam wcs_team server_var(wcs_userid) // check teams (T=2, CT=3) if (server_var(wcs_team) = 2) do { es_xset wcs_team_target 3 es_xset wcs_team_targetn "#c!d" } if (server_var(wcs_team) = 3) do { es_xset wcs_team_target 2 es_xset wcs_team_targetn "#t!d" } if (server_var(wcs_team_target) != "0") do { es_xset wcs_pcount 0 es_getlivingplayercount wcs_pcount server_var(wcs_team_target) if (server_var(wcs_pcount) > 0) do { es est_Fade server_var(wcs_userid) 0 1 1 10 55 5 200 es_xset wcs_wall "1" alias wcs_run_ulti_roots1 "es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_userid);es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_targetid);es_xmath wcs_z1 + 50;es_xmath wcs_z2 + 50;es est_getwallbetween wcs_wall server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2);if (server_var(wcs_wall) = 0) then wcs_run_ulti_roots2" alias wcs_run_ulti_roots2 "es_xset wcs_immunity 0;es_keygetvalue wcs_immunity WCSuserdata server_var(wcs_targetid) ulti_immunity;if (server_var(wcs_immunity) = 0) then wcs_run_ulti_roots3;if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng_ulti_immunity_a);if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_targetid) #multi server_var(wcs_lng_ulti_immunity_v)" alias wcs_run_ulti_roots3 "es_xmath wcs_counter + 1;es est_Freeze server_var(wcs_targetid) 1;es_delayed server_var(wcs_freezetime) wcs_removefx freeze server_var(wcs_targetid);if (server_var(wcs_graphicfx) = 1) then est_effect 3 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 10 10 0 255 0 255" es_xset wcs_counter 0 es est_Near wcs_targetid server_var(wcs_team_targetn) server_var(wcs_radius) server_var(wcs_userid) "es_exists ex userid server_var(wcs_targetid);if (server_var(ex) = 1) then wcs_run_ulti_roots1" if (server_var(wcs_counter) > 0) do { wcs_getlanguage "wcs_lng" "wcs_lng_entangleroots" esnq est_csay server_var(wcs_userid) server_var(wcs_lng) : server_var(wcs_counter) } es_xelse do { es_xset wcs_ultinotexec 1 } } es_xelse do { es_xset wcs_ultinotexec 1 } } wcs_getlanguage "wcs_lng" "wcs_lng_entanglefailed" if (server_var(wcs_ultinotexec) = 1) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng)wcs_debuglog wcs_ulti_roots end}block wcs_regeneration{if (server_var(wcs_debug) = 1) then profile begin regeneration es_xgetargv wcs_uid 1 es_xgetargv wcs_amount 2 es_xgetargv wcs_time 3 es_xgetargv wcs_maxhp 4 es_xgetargv wcs_maxheal 5 es_xgetargv wcs_radius 6 es_exists ex key WCSuserdata server_var(wcs_uid) ifx parse("(ex == 1) and (wcs_time >= 1)") do { es_xset wcs_regenerate 0 es_keygetvalue wcs_regenerate WCSuserdata server_var(wcs_uid) regeneration es_keygetvalue wcs_round WCSuserdata server_var(wcs_uid) regen_round ifx parse("(wcs_regenerate == 1) and (wcs_roundcounter == wcs_round)") do { es_getplayerprop wcs_dead server_var(wcs_uid) "CCSPlayer.baseclass.pl.deadflag" ifx parse("((wcs_maxheal > 0) or (wcs_maxheal == -1)) and (wcs_dead == 0)") do { es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_uid) if (server_var(wcs_maxheal) != -1) then es_xif (server_var(wcs_maxheal) != 0) then es_xmath wcs_maxheal - 1 // check for team healing or single person ifx true(wcs_radius) do { es_getplayerteam wcs_team server_var(wcs_uid) // check teams (T=2, CT=3) if (server_var(wcs_team) = 2) then es_xset wcs_team "#t!d" if (server_var(wcs_team) = 3) then es_xset wcs_team "#c!d" es_xmath wcs_z1 + 50 wcs_getlanguage "wcs_lng" "wcs_lng_healed" alias wcs_run_heal "es est_sethealth server_var(wcs_targetid) server_var(wcs_health);es_tell server_var(wcs_targetid) #multi server_var(wcs_lng);es est_fade server_var(wcs_targetid) 0 0.4 0 0 200 25 50;es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_targetid);es_xmath wcs_z2 + 50;es est_effect 3 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 2 2 0 255 0 255" es est_Near wcs_targetid server_var(wcs_team) server_var(wcs_radius) server_var(wcs_uid) "es est_gethealth wcs_health server_var(wcs_targetid);es_math wcs_health + server_var(wcs_amount);if (server_var(wcs_maxhp) > 0) then es_xif (server_var(wcs_maxhp) >= server_var(wcs_health)) then wcs_run_heal;if (server_var(wcs_maxhp) = 0) then wcs_run_heal" es_delayed server_var(wcs_time) wcs_regeneration server_var(wcs_uid) server_var(wcs_amount) server_var(wcs_time) server_var(wcs_maxhp) server_var(wcs_maxheal) server_var(wcs_radius) } es_xelse do { es est_GetHealth wcs_health server_var(wcs_uid) es_math wcs_health + server_var(wcs_amount) if (server_var(wcs_maxhp) > 0) then es_xif (server_var(wcs_maxhp) >= server_var(wcs_health)) then est_SetHealth server_var(wcs_uid) server_var(wcs_health) if (server_var(wcs_maxhp) = 0) then est_SetHealth server_var(wcs_uid) server_var(wcs_health) es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_uid) es_xmath wcs_z2 + 200 es est_effect 3 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 2 2 0 255 0 255 wcs_getlanguage "wcs_lng" "wcs_lng_healed" es_tell server_var(wcs_uid) #multi server_var(wcs_lng) es_delayed server_var(wcs_time) wcs_regeneration server_var(wcs_uid) server_var(wcs_amount) server_var(wcs_time) server_var(wcs_maxhp) server_var(wcs_maxheal) "0" } } } es_xelse do { es_keysetvalue WCSuserdata server_var(wcs_uid) regen_round 0 } }if (server_var(wcs_debug) = 1) then profile end regeneration}block wcs_warden{wcs_debuglog wcs_warden start es_xset wcs_uid 0 es_xset wcs_duration 0 es_xset wcs_dmg 0 es_xset wcs_radius 0 es_xset wcs_team_target 0 es_xset wcs_wardenround 0 es_xgetargv wcs_uid 1 es_xgetargv wcs_duration 2 es_xgetargv wcs_dmg 3 es_xgetargv wcs_radius 4 es_xgetargv wcs_team_target 5 es_xgetargv wcs_team_targetn 6 es_xgetargv wcs_x1 7 es_xgetargv wcs_y1 8 es_xgetargv wcs_z1 9 es_xgetargv wcs_wardenround 10 es_exists ex userid server_var(wcs_uid) es_getlivingplayercount wcs_alive server_var(wcs_team_target) ifx parse("(wcs_alive >= 1) and (wcs_wardenround == wcs_wardencounter) and ex and (wcs_duration > 0) and (wcs_radius != 0) and (wcs_team_target != 0)") do { es wcs_debuglog warden deals damage round server_var(wcs_wardenround) duration server_var(wcs_duration) es_xset wcs_sward_invul 0 es_xset wcs_sward_resist 0 es est_Effect 10 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) 20 server_var(wcs_radius) 1 20 100 1 255 150 70 100 10 //es est_Near wcs_targetid server_var(wcs_team_targetn) server_var(wcs_radius) server_var(wcs_uid) "es wcs_dealdamage server_var(wcs_uid) server_var(wcs_targetid) server_var(wcs_dmg);es_tell server_var(wcs_targetid) #multi server_var(wcs_lng_wardenhit);es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_targetid);es est_effect 3 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 10 20 255 150 70 255" es_xset wcs_wall 1 wcs_getlanguage "wcs_lng" "wcs_lng_wardenhit" alias wcs_run_warden "es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_targetid);es est_getwallbetween wcs_wall server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2);es_keygetvalue wcs_sward_invul WCSuserdata server_var(wcs_targetid) swardinvul;es_keygetvalue wcs_sward_resist WCSuserdata server_var(wcs_targetid) swardresist;if (server_var(wcs_sward_invul) = 1) then shopalias_asw1_off;if (server_var(wcs_wall) = 0) then es_xif (server_var(wcs_sward_invul) = 0) then wcs_run_warden2" alias wcs_run_warden2 "es_xcopy wcs_damage wcs_dmg;if (server_var(wcs_sward_resist) != 0) then es_xmath wcs_damage / 2;es est_speed server_var(wcs_targetid) 0.7;if (server_var(wcs_speed) != 0) then es_xdelayed 2 wcs_removefx speed server_var(wcs_targetid);es wcs_dealdamage server_var(wcs_uid) server_var(wcs_targetid) server_var(wcs_damage);es_tell server_var(wcs_targetid) #multi server_var(wcs_lng);es est_effect 3 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 10 20 255 150 70 255" es nearcoord wcs_targetid server_var(wcs_team_targetn) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_radius) server_var(wcs_radius) server_var(wcs_radius) "es_getplayerprop wcs_dead server_var(wcs_targetid) CCSPlayer.baseclass.pl.deadflag;if (server_var(wcs_dead) = 0) then wcs_run_warden" es_xmath wcs_duration - 1 es_delayed 1 wcs_warden server_var(wcs_uid) server_var(wcs_duration) server_var(wcs_dmg) server_var(wcs_radius) server_var(wcs_team_target) server_var(wcs_team_targetn) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_wardenround) }wcs_debuglog wcs_warden end}block wcs_mole_activate{wcs_debuglog wcs_mole_activate start es_xset wcs_uid 0 es_xgetargv wcs_uid 1 es_exists ex userid server_var(wcs_uid) if (server_var(ex) = 1) do { es_xset wcs_team_target 0 es_getplayerteam wcs_team server_var(wcs_uid) // check teams (T=2, CT=3) if (server_var(wcs_team) = 2) do { es_xset wcs_team_target 3 es_xset wcs_team_targetn "#c!d" } if (server_var(wcs_team) = 3) do { es_xset wcs_team_target 2 es_xset wcs_team_targetn "#t!d" } if (server_var(wcs_team_target) != "0") do { es_xset wcs_pcount 0 es_getlivingplayercount wcs_pcount server_var(wcs_team_target) if (server_var(wcs_pcount) > 0) do { es_xset wcs_player 0 if(server_var(wcs_game) = server_var(wcs_game_css)) then es_xif (server_var(wcs_team) = 3) then est_SetModel server_var(wcs_uid) "player/t_phoenix" if(server_var(wcs_game) = server_var(wcs_game_css)) then es_xif (server_var(wcs_team) = 2) then est_SetModel server_var(wcs_uid) "player/ct_urban" if(server_var(wcs_game) = server_var(wcs_game_dods)) then es_xif (server_var(wcs_team) = 2) then est_SetModel server_var(wcs_uid) "player/german_assault" if(server_var(wcs_game) = server_var(wcs_game_dods)) then es_xif (server_var(wcs_team) = 3) then est_SetModel server_var(wcs_uid) "player/american_assault" es est_RandPlayer wcs_player server_var(wcs_team_targetn) es_exists ex userid server_var(wcs_player) if (server_var(ex) = 1) do { //es_getplayerlocation wcs_x wcs_y wcs_z server_var(wcs_player) //es_xmath wcs_x + 40 //es_xmath wcs_y + 40 // new pos if (server_var(wcs_team) = 2) do { if (server_var(wcs_location_c) != "0") do { es_token wcs_x server_var(wcs_location_c) 1 | es_token wcs_y server_var(wcs_location_c) 2 | es_token wcs_z server_var(wcs_location_c) 3 | } es_xelse do { es_getplayerlocation wcs_x wcs_y wcs_z server_var(wcs_player) } } if (server_var(wcs_team) = 3) do { if (server_var(wcs_location_t) != "0") do { es_token wcs_x server_var(wcs_location_t) 1 | es_token wcs_y server_var(wcs_location_t) 2 | es_token wcs_z server_var(wcs_location_t) 3 | } es_xelse do { es_getplayerlocation wcs_x wcs_y wcs_z server_var(wcs_player) } } // new, delayed teleport es_set wcs_tmp server_var(mp_freezetime) es_xmath wcs_tmp + 3 wcs_getlanguage "wcs_lng" "wcs_lng_moledelay" es_tell server_var(wcs_uid) #multi server_var(wcs_lng) es_delayed server_var(mp_freezetime) es_xtell server_var(wcs_uid) #multi server_var(wcs_lng) es_delayed server_var(wcs_tmp) est_Teleport server_var(wcs_uid) server_var(wcs_x) server_var(wcs_y) server_var(wcs_z) es_keysetvalue "WCSuserdata" server_var(wcs_uid) "ismole" "1" } wcs_getlanguage "wcs_lng" "wcs_lng_mole" es_delayed server_var(mp_freezetime) es_xtell server_var(wcs_uid) #multi server_var(wcs_lng) } es_xelse do { wcs_getlanguage "wcs_lng" "wcs_lng_molefailed" es_tell server_var(wcs_uid) #multi server_var(wcs_lng) } } es_xelse do { wcs_getlanguage "wcs_lng" "wcs_lng_molefailed" es_tell server_var(wcs_uid) #multi server_var(wcs_lng) } }wcs_debuglog wcs_mole_activate end}block wcs_ability_warden{ es_xset wcs_params 0 es_keygetvalue wcs_params WCSuserdata server_var(wcs_userid) "ability_parameter" if (server_var(wcs_params) != "0") do { es_getplayerteam wcs_team server_var(wcs_userid) // colored wards, thanks to Sol | Pikachu es_xset wcs_color "10 0 255 70" ifx parse("wcs_team == 2") do { es_xset wcs_team_target 3 es_xset wcs_team_targetn "#ct" es_xset wcs_color "255 0 10 150" } ifx parse("wcs_team == 3") do { es_xset wcs_team_target 2 es_xset wcs_team_targetn "#t" es_xset wcs_color "10 0 255 150" } es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_userid) es_xset wcs_duration 0 es_token wcs_duration server_var(wcs_params) 1 "_" ifx true(wcs_graphicfx) do { es_xcopy wcs_x2 wcs_x1 es_xcopy wcs_y2 wcs_y1 es_xcopy wcs_z2 wcs_z1 es_xmath wcs_z1 + 120 esnq est_Effect 11 #a 0 "sprites/purpleglow1.vmt" server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_duration) 2 50 esnq est_Effect 3 #a 0 "sprites/lgtning.vmt" server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) server_var(wcs_duration) 20 20 server_var(wcs_color) es_xmath wcs_z1 - 120 } es_token wcs_dmg server_var(wcs_params) 2 "_" es_token wcs_radius server_var(wcs_params) 3 "_" es wcs_warden server_var(wcs_userid) server_var(wcs_duration) server_var(wcs_dmg) server_var(wcs_radius) server_var(wcs_team_target) server_var(wcs_team_targetn) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_wardencounter) wcs_getlanguage "wcs_lng" "wcs_lng_wardencreated" es_tell server_var(wcs_userid) #multi server_var(wcs_lng) }}block wcs_dalias{if (server_var(wcs_debug) = "1") then echo wcs_dalias start es_xsetinfo wcs_tmp1 0 es_xsetinfo wcs_tmp2 0 es_xsetinfo wcs_tmp3 0 es_xsetinfo wcs_tmp4 0 es_xsetinfo wcs_tmp5 0 es_xsetinfo wcs_tmp6 0 es_xsetinfo wcs_tmp7 0 es_xsetinfo wcs_tmp8 0 es_xsetinfo wcs_tmp9 0 es_xsetinfo wcs_tmp10 0 es_xsetinfo wcs_tmp11 0 es_xsetinfo wcs_tmp12 0 es_xsetinfo wcs_tmp13 0 es_xsetinfo wcs_tmp14 0 es_xsetinfo wcs_tmp15 0 es_xgetargv wcs_tmp1 1 es_xgetargv wcs_tmp2 2 es_xgetargv wcs_tmp3 3 es_xgetargv wcs_tmp4 4 es_xgetargv wcs_tmp5 5 es_xgetargv wcs_tmp6 6 es_xgetargv wcs_tmp7 7 es_xgetargv wcs_tmp8 8 es_xgetargv wcs_tmp9 9 es_xgetargv wcs_tmp10 10 es_xgetargv wcs_tmp11 11 es_xgetargv wcs_tmp12 12 es_xgetargv wcs_tmp13 13 es_xgetargv wcs_tmp14 14 es_xgetargv wcs_tmp15 15es server_var(wcs_tmp1)if (server_var(wcs_debug) = "1") then echo wcs_dalias end}// <<<<<<<<<<<<<<<<< END ULTIMATE SKILL CODE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<this should work
Quote from: WCA | Maxxi [NL] on March 12, 2009, 11:10:52 AMyou missed the part were you make wcs_dalias a cmdCode: [Select]////////////////////////////////////////// WCS - Warcraft:Source //// ---------------------------------- //// by kRypT0n!Te //// http://wc3source.de //// ---------------------------------- //// Content of this subscript //// - all ultimates //////////////////////////////////////////// commands:// wcs_mole_activate <userid>// wcs_regeneration <userid> <amount> <time> <maxHP> <maxHeal> <radius>// wcs_warden <userid> <duration> <damage> <radius> <target team> <team target name> <x> <y> <z> <round>//////////////////////////////////////////// You can define here new ultimates, then use the command// es_xdoblock wcs/WCSultimates/wcs_YOURSCRIPT// to execute wcs_YOURSCRIPT block.//block load{ es_xexists ex command wcs_mole_activate if (server_var(ex) = 0) then es_xregcmd wcs_mole_activate wcs/WCSultimates/wcs_mole_activate "A player becomes a mole" es_xexists ex command wcs_regeneration if (server_var(ex) = 0) then es_xregcmd wcs_regeneration wcs/WCSultimates/wcs_regeneration "wcs_regeneration <userid> <amount> <time> <maxHP> <maxHeal> <radius> - Regenerate player for the current round" es_xexists ex command wcs_warden if (server_var(ex) = 0) then es_xregcmd wcs_warden wcs/WCSultimates/wcs_warden "Warden, deals damage on nearby enemies" es_xexists wcs_exists command wcs_dalias es es_xif (server_var(wcs_exists) = 0) then es_xregcmd wcs_dalias wcs/WCSultimates/wcs_dalias "Executes alias with delay without loosing data" es_xset wcs_maxhp 0 es_xset wcs_maxheal 0 // new event es_xloadevents declare addons/eventscripts/wcs/WCSultimates/es_WCSultimates.res}// >>>>>>>>>>>>>>>>> SPECIAL ULTIMATE SKILL CODE >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>block wcs_ulti_teleport{wcs_debuglog wcs_ulti_teleport start // alot of calculations....does anyone know what I'm doing here ? es_xset wcs_ok 1 es est_GetViewCoord server_var(wcs_userid) wcs_x1 wcs_y1 wcs_z1 es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_userid) //es_mathparse wcs_x "abs ( wcs_x1 - wcs_x2 )" //es_mathparse wcs_y "abs ( wcs_y1 - wcs_y2 )" //es_mathparse wcs_z "abs ( wcs_z1 - wcs_z2 )" es_xcopy wcs_x wcs_x1 es_xcopy wcs_y wcs_y1 es_xcopy wcs_z wcs_z1 es_math wcs_x - server_var(wcs_x2) es_math wcs_y - server_var(wcs_y2) es_math wcs_z - server_var(wcs_z2) if (server_var(wcs_x) < 0) then es_xmath wcs_x * -1 if (server_var(wcs_y) < 0) then es_xmath wcs_y * -1 if (server_var(wcs_z) < 0) then es_xmath wcs_z * -1 ifx parse("(wcs_range < wcs_x) or (wcs_range < wcs_y) or (wcs_range < wcs_z)") do { es_xset wcs_ok 0 } // invisible while teleporting! (thx Lupus) es_keygetvalue wcs_tmp WCSuserdata server_var(wcs_userid) invisp if (server_var(wcs_tmp) != 0) do { es_xmath wcs_tmp float es_xmath wcs_tmp - 100 es_xmath wcs_tmp * -2.55; es est_rounddecimal wcs_tmp server_var(wcs_tmp) 0; es est_setplayercolor server_var(wcs_userid) 255 255 255 0 1 es_delayed 1 est_setplayercolor server_var(wcs_userid) 255 255 255 server_var(wcs_tmp) 1 } ifx true(wcs_ok) do { ifx false(wcs_noskywalking) do { es_exists ex command "ma_teleport" if (server_var(ex) = 1) then ma_teleport server_var(wcs_userid) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) if (server_var(ex) != 1) then est_Teleport server_var(wcs_userid) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) } if (server_var(wcs_noskywalking) = "1") then est_PushTo server_var(wcs_userid) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) "2" wcs_getlanguage "wcs_lng" "wcs_lng_teleported" es_tell server_var(wcs_userid) #multi server_var(wcs_lng) es est_Fade server_var(wcs_userid) 0 server_var(wcs_fadetimer) 1 0 0 0 250 } es_xelse do { // one or more vectors are too long to teleport .... damn math... if (server_var(wcs_range) < server_var(wcs_x)) do { if (server_var(wcs_x2) >= 0) do { if (server_var(wcs_x1) >= 0) do { if (server_var(wcs_x2) <= server_var(wcs_x1)) then es_xmath wcs_x2 + server_var(wcs_range) if (server_var(wcs_x2) > server_var(wcs_x1)) then es_xmath wcs_x2 - server_var(wcs_range) } es_xelse do { es_math wcs_x2 - server_var(wcs_range) } } es_xelse do { if (server_var(wcs_x1) < 0) do { if (server_var(wcs_x2) <= server_var(wcs_x1)) then es_xmath wcs_x2 + server_var(wcs_range) if (server_var(wcs_x2) > server_var(wcs_x1)) then es_xmath wcs_x2 - server_var(wcs_range) } es_xelse do { es_math wcs_x2 + server_var(wcs_range) } } es_xcopy wcs_x1 wcs_x2 } if (server_var(wcs_range) < server_var(wcs_y)) do { if (server_var(wcs_y2) >= 0) do { if (server_var(wcs_y1) >= 0) do { if (server_var(wcs_y2) <= server_var(wcs_y1)) then es_xmath wcs_y2 + server_var(wcs_range) if (server_var(wcs_y2) > server_var(wcs_y1)) then es_xmath wcs_y2 - server_var(wcs_range) } es_xelse do { es_math wcs_y2 - server_var(wcs_range) } } es_xelse do { if (server_var(wcs_y1) < 0) do { if (server_var(wcs_y2) <= server_var(wcs_y1)) then es_xmath wcs_y2 + server_var(wcs_range) if (server_var(wcs_y2) > server_var(wcs_y1)) then es_xmath wcs_y2 - server_var(wcs_range) } es_xelse do { es_math wcs_y2 + server_var(wcs_range) } } es_xcopy wcs_y1 wcs_y2 } if (server_var(wcs_range) < server_var(wcs_z)) do { if (server_var(wcs_z2) >= 0) do { if (server_var(wcs_z1) >= 0) do { if (server_var(wcs_z2) <= server_var(wcs_z1)) then es_xmath wcs_z2 + server_var(wcs_range) if (server_var(wcs_z2) > server_var(wcs_z1)) then es_xmath wcs_z2 - server_var(wcs_range) } es_xelse do { es_math wcs_z2 - server_var(wcs_range) } } es_xelse do { if (server_var(wcs_z1) < 0) do { if (server_var(wcs_z2) <= server_var(wcs_z1)) then es_xmath wcs_z2 + server_var(wcs_range) if (server_var(wcs_z2) > server_var(wcs_z1)) then es_xmath wcs_z2 - server_var(wcs_range) } es_xelse do { es_math wcs_z2 + server_var(wcs_range) } } es_xcopy wcs_z1 wcs_z2 } ifx false(wcs_noskywalking) do { es_exists ex command "ma_teleport" if (server_var(ex) = 1) then ma_teleport server_var(wcs_userid) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) if (server_var(ex) != 1) then est_Teleport server_var(wcs_userid) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) } if (server_var(wcs_noskywalking) = "1") then est_PushTo server_var(wcs_userid) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) "1" wcs_getlanguage "wcs_lng" "wcs_lng_toofaraway" es_tell server_var(wcs_userid) #multi server_var(wcs_lng) es est_Fade server_var(wcs_userid) 0 server_var(wcs_fadetimer) 0.2 0 0 0 220 }wcs_debuglog wcs_ulti_teleport end}block wcs_ulti_suicide{wcs_debuglog wcs_ulti_suicide start es_xset wcs_team_target 0 es_getplayerteam wcs_team server_var(wcs_userid) // check teams (T=2, CT=3) if (server_var(wcs_team) = 2) do { es_xset wcs_team_target 3 es_xset wcs_team_targetn "#c!d" } if (server_var(wcs_team) = 3) do { es_xset wcs_team_target 2 es_xset wcs_team_targetn "#t!d" } if (server_var(wcs_team_target) != "0") do { es_xset wcs_pcount 0 es_getlivingplayercount wcs_pcount server_var(wcs_team_target) if (server_var(wcs_pcount) > 0) do { alias wcs_run_ulti_suicide1 "es_xset wcs_immunity 0;es_keygetvalue wcs_immunity WCSuserdata server_var(wcs_targetid) ulti_immunity;if (server_var(wcs_immunity) = 0) then wcs_run_ulti_suicide2;if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng_ulti_immunity_a);if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_targetid) #multi server_var(wcs_lng_ulti_immunity_v)" alias wcs_run_ulti_suicide2 "es_xmath wcs_counter + 1;es wcs_explode server_var(wcs_userid) server_var(wcs_targetid) server_var(wcs_magnitude) server_var(wcs_radius)" es_xset wcs_counter 0 es est_Near wcs_targetid server_var(wcs_team_targetn) server_var(wcs_radius) server_var(wcs_userid) "es_exists ex userid server_var(wcs_targetid);if (server_var(ex) = 1) then wcs_run_ulti_suicide1" // no more needed //if (server_var(wcs_counter) > 0) then wcs_explode server_var(wcs_userid) server_var(wcs_userid) server_var(wcs_magnitude) server_var(wcs_radius) } }wcs_debuglog wcs_ulti_suicide end}block wcs_ulti_flash{wcs_debuglog wcs_ulti_flash start es_xset wcs_team_target 0 es_getplayerteam wcs_team server_var(wcs_userid) // check teams (T=2, CT=3) if (server_var(wcs_team) = 2) do { es_xset wcs_team_target 3 es_xset wcs_team_targetn "#c!d" } if (server_var(wcs_team) = 3) do { es_xset wcs_team_target 2 es_xset wcs_team_targetn "#t!d" } if (server_var(wcs_team_target) != "0") do { es_xset wcs_pcount 0 es_getlivingplayercount wcs_pcount server_var(wcs_team_target) if (server_var(wcs_pcount) > 0) do { alias wcs_run_ulti_flash1 "es_xset wcs_immunity 0;es_keygetvalue wcs_immunity WCSuserdata server_var(wcs_targetid) ulti_immunity;if (server_var(wcs_immunity) = 0) then wcs_run_ulti_flash2;if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng_ulti_immunity_a);if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_targetid) #multi server_var(wcs_lng_ulti_immunity_v)" alias wcs_run_ulti_flash2 "es_xmath wcs_counter + 1;es est_fade server_var(wcs_targetid) 0 1.5 0 255 255 255 255" es_xset wcs_counter 0 es est_Near wcs_targetid server_var(wcs_team_targetn) server_var(wcs_radius) server_var(wcs_userid) "es_exists ex userid server_var(wcs_targetid);if (server_var(ex) = 1) then wcs_run_ulti_flash1" } }wcs_debuglog wcs_ulti_flash end}block wcs_ulti_chain{wcs_debuglog wcs_ulti_chain start es_xset wcs_team_target 0 es_getplayerteam wcs_team server_var(wcs_userid) // check teams (T=2, CT=3) if (server_var(wcs_team) = 2) do { es_xset wcs_team_target 3 es_xset wcs_team_targetn "#c!d" } if (server_var(wcs_team) = 3) do { es_xset wcs_team_target 2 es_xset wcs_team_targetn "#t!d" } if (server_var(wcs_team_target) != "0") do { es_xset wcs_pcount 0 es_getlivingplayercount wcs_pcount server_var(wcs_team_target) if (server_var(wcs_pcount) > 0) do { es est_Fade server_var(wcs_userid) 0 2 1 240 240 240 100 es_xset wcs_wall "1" alias wcs_run_ulti_chain1 "es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_userid);es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_targetid);es_xmath wcs_z1 + 50;es_xmath wcs_z2 + 50;es est_getwallbetween wcs_wall server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2);if (server_var(wcs_wall) = 0) then wcs_run_ulti_chain2" alias wcs_run_ulti_chain2 "es_xset wcs_immunity 0;es_keygetvalue wcs_immunity WCSuserdata server_var(wcs_targetid) ulti_immunity;if (server_var(wcs_immunity) = 0) then wcs_run_ulti_chain3;if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng_ulti_immunity_a);if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_targetid) #multi server_var(wcs_lng_ulti_immunity_v)" alias wcs_run_ulti_chain3 "es_xmath wcs_counter + 1;if (server_var(wcs_graphicfx) = 1) then est_effect 3 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 10 10 200 255 255 255;es wcs_dealdamage server_var(wcs_userid) server_var(wcs_targetid) 32" es_xset wcs_counter 0 es est_Near wcs_targetid server_var(wcs_team_targetn) server_var(wcs_radius) server_var(wcs_userid) "es_exists ex userid server_var(wcs_targetid);if (server_var(ex) = 1) then es_xif (server_var(wcs_counter) < server_var(wcs_maxtargets)) then wcs_run_ulti_chain1" if (server_var(wcs_counter) > 0) do { wcs_getlanguage "wcs_lng" "wcs_lng_chainlightning" wcs_getlanguage "wcs_lng2" "wcs_lng_playersdamaged" esnq est_csay server_var(wcs_userid) server_var(wcs_lng) : server_var(wcs_counter) server_var(wcs_lng2) } es_xelse do { es_xset wcs_ultinotexec 1 } } es_xelse do { es_xset wcs_ultinotexec 1 } } wcs_getlanguage "wcs_lng" "wcs_lng_chainfailed" if (server_var(wcs_ultinotexec) = 1) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng)wcs_debuglog wcs_ulti_chain end}block wcs_ulti_roots{wcs_debuglog wcs_ulti_roots start es_xset wcs_team_target 0 es_getplayerteam wcs_team server_var(wcs_userid) // check teams (T=2, CT=3) if (server_var(wcs_team) = 2) do { es_xset wcs_team_target 3 es_xset wcs_team_targetn "#c!d" } if (server_var(wcs_team) = 3) do { es_xset wcs_team_target 2 es_xset wcs_team_targetn "#t!d" } if (server_var(wcs_team_target) != "0") do { es_xset wcs_pcount 0 es_getlivingplayercount wcs_pcount server_var(wcs_team_target) if (server_var(wcs_pcount) > 0) do { es est_Fade server_var(wcs_userid) 0 1 1 10 55 5 200 es_xset wcs_wall "1" alias wcs_run_ulti_roots1 "es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_userid);es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_targetid);es_xmath wcs_z1 + 50;es_xmath wcs_z2 + 50;es est_getwallbetween wcs_wall server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2);if (server_var(wcs_wall) = 0) then wcs_run_ulti_roots2" alias wcs_run_ulti_roots2 "es_xset wcs_immunity 0;es_keygetvalue wcs_immunity WCSuserdata server_var(wcs_targetid) ulti_immunity;if (server_var(wcs_immunity) = 0) then wcs_run_ulti_roots3;if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng_ulti_immunity_a);if (server_var(wcs_immunity) != 0) then es_xtell server_var(wcs_targetid) #multi server_var(wcs_lng_ulti_immunity_v)" alias wcs_run_ulti_roots3 "es_xmath wcs_counter + 1;es est_Freeze server_var(wcs_targetid) 1;es_delayed server_var(wcs_freezetime) wcs_removefx freeze server_var(wcs_targetid);if (server_var(wcs_graphicfx) = 1) then est_effect 3 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 10 10 0 255 0 255" es_xset wcs_counter 0 es est_Near wcs_targetid server_var(wcs_team_targetn) server_var(wcs_radius) server_var(wcs_userid) "es_exists ex userid server_var(wcs_targetid);if (server_var(ex) = 1) then wcs_run_ulti_roots1" if (server_var(wcs_counter) > 0) do { wcs_getlanguage "wcs_lng" "wcs_lng_entangleroots" esnq est_csay server_var(wcs_userid) server_var(wcs_lng) : server_var(wcs_counter) } es_xelse do { es_xset wcs_ultinotexec 1 } } es_xelse do { es_xset wcs_ultinotexec 1 } } wcs_getlanguage "wcs_lng" "wcs_lng_entanglefailed" if (server_var(wcs_ultinotexec) = 1) then es_xtell server_var(wcs_userid) #multi server_var(wcs_lng)wcs_debuglog wcs_ulti_roots end}block wcs_regeneration{if (server_var(wcs_debug) = 1) then profile begin regeneration es_xgetargv wcs_uid 1 es_xgetargv wcs_amount 2 es_xgetargv wcs_time 3 es_xgetargv wcs_maxhp 4 es_xgetargv wcs_maxheal 5 es_xgetargv wcs_radius 6 es_exists ex key WCSuserdata server_var(wcs_uid) ifx parse("(ex == 1) and (wcs_time >= 1)") do { es_xset wcs_regenerate 0 es_keygetvalue wcs_regenerate WCSuserdata server_var(wcs_uid) regeneration es_keygetvalue wcs_round WCSuserdata server_var(wcs_uid) regen_round ifx parse("(wcs_regenerate == 1) and (wcs_roundcounter == wcs_round)") do { es_getplayerprop wcs_dead server_var(wcs_uid) "CCSPlayer.baseclass.pl.deadflag" ifx parse("((wcs_maxheal > 0) or (wcs_maxheal == -1)) and (wcs_dead == 0)") do { es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_uid) if (server_var(wcs_maxheal) != -1) then es_xif (server_var(wcs_maxheal) != 0) then es_xmath wcs_maxheal - 1 // check for team healing or single person ifx true(wcs_radius) do { es_getplayerteam wcs_team server_var(wcs_uid) // check teams (T=2, CT=3) if (server_var(wcs_team) = 2) then es_xset wcs_team "#t!d" if (server_var(wcs_team) = 3) then es_xset wcs_team "#c!d" es_xmath wcs_z1 + 50 wcs_getlanguage "wcs_lng" "wcs_lng_healed" alias wcs_run_heal "es est_sethealth server_var(wcs_targetid) server_var(wcs_health);es_tell server_var(wcs_targetid) #multi server_var(wcs_lng);es est_fade server_var(wcs_targetid) 0 0.4 0 0 200 25 50;es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_targetid);es_xmath wcs_z2 + 50;es est_effect 3 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 2 2 0 255 0 255" es est_Near wcs_targetid server_var(wcs_team) server_var(wcs_radius) server_var(wcs_uid) "es est_gethealth wcs_health server_var(wcs_targetid);es_math wcs_health + server_var(wcs_amount);if (server_var(wcs_maxhp) > 0) then es_xif (server_var(wcs_maxhp) >= server_var(wcs_health)) then wcs_run_heal;if (server_var(wcs_maxhp) = 0) then wcs_run_heal" es_delayed server_var(wcs_time) wcs_regeneration server_var(wcs_uid) server_var(wcs_amount) server_var(wcs_time) server_var(wcs_maxhp) server_var(wcs_maxheal) server_var(wcs_radius) } es_xelse do { es est_GetHealth wcs_health server_var(wcs_uid) es_math wcs_health + server_var(wcs_amount) if (server_var(wcs_maxhp) > 0) then es_xif (server_var(wcs_maxhp) >= server_var(wcs_health)) then est_SetHealth server_var(wcs_uid) server_var(wcs_health) if (server_var(wcs_maxhp) = 0) then est_SetHealth server_var(wcs_uid) server_var(wcs_health) es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_uid) es_xmath wcs_z2 + 200 es est_effect 3 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 2 2 0 255 0 255 wcs_getlanguage "wcs_lng" "wcs_lng_healed" es_tell server_var(wcs_uid) #multi server_var(wcs_lng) es_delayed server_var(wcs_time) wcs_regeneration server_var(wcs_uid) server_var(wcs_amount) server_var(wcs_time) server_var(wcs_maxhp) server_var(wcs_maxheal) "0" } } } es_xelse do { es_keysetvalue WCSuserdata server_var(wcs_uid) regen_round 0 } }if (server_var(wcs_debug) = 1) then profile end regeneration}block wcs_warden{wcs_debuglog wcs_warden start es_xset wcs_uid 0 es_xset wcs_duration 0 es_xset wcs_dmg 0 es_xset wcs_radius 0 es_xset wcs_team_target 0 es_xset wcs_wardenround 0 es_xgetargv wcs_uid 1 es_xgetargv wcs_duration 2 es_xgetargv wcs_dmg 3 es_xgetargv wcs_radius 4 es_xgetargv wcs_team_target 5 es_xgetargv wcs_team_targetn 6 es_xgetargv wcs_x1 7 es_xgetargv wcs_y1 8 es_xgetargv wcs_z1 9 es_xgetargv wcs_wardenround 10 es_exists ex userid server_var(wcs_uid) es_getlivingplayercount wcs_alive server_var(wcs_team_target) ifx parse("(wcs_alive >= 1) and (wcs_wardenround == wcs_wardencounter) and ex and (wcs_duration > 0) and (wcs_radius != 0) and (wcs_team_target != 0)") do { es wcs_debuglog warden deals damage round server_var(wcs_wardenround) duration server_var(wcs_duration) es_xset wcs_sward_invul 0 es_xset wcs_sward_resist 0 es est_Effect 10 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) 20 server_var(wcs_radius) 1 20 100 1 255 150 70 100 10 //es est_Near wcs_targetid server_var(wcs_team_targetn) server_var(wcs_radius) server_var(wcs_uid) "es wcs_dealdamage server_var(wcs_uid) server_var(wcs_targetid) server_var(wcs_dmg);es_tell server_var(wcs_targetid) #multi server_var(wcs_lng_wardenhit);es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_targetid);es est_effect 3 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 10 20 255 150 70 255" es_xset wcs_wall 1 wcs_getlanguage "wcs_lng" "wcs_lng_wardenhit" alias wcs_run_warden "es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 server_var(wcs_targetid);es est_getwallbetween wcs_wall server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2);es_keygetvalue wcs_sward_invul WCSuserdata server_var(wcs_targetid) swardinvul;es_keygetvalue wcs_sward_resist WCSuserdata server_var(wcs_targetid) swardresist;if (server_var(wcs_sward_invul) = 1) then shopalias_asw1_off;if (server_var(wcs_wall) = 0) then es_xif (server_var(wcs_sward_invul) = 0) then wcs_run_warden2" alias wcs_run_warden2 "es_xcopy wcs_damage wcs_dmg;if (server_var(wcs_sward_resist) != 0) then es_xmath wcs_damage / 2;es est_speed server_var(wcs_targetid) 0.7;if (server_var(wcs_speed) != 0) then es_xdelayed 2 wcs_removefx speed server_var(wcs_targetid);es wcs_dealdamage server_var(wcs_uid) server_var(wcs_targetid) server_var(wcs_damage);es_tell server_var(wcs_targetid) #multi server_var(wcs_lng);es est_effect 3 #a 0 sprites/lgtning.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 1 10 20 255 150 70 255" es nearcoord wcs_targetid server_var(wcs_team_targetn) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_radius) server_var(wcs_radius) server_var(wcs_radius) "es_getplayerprop wcs_dead server_var(wcs_targetid) CCSPlayer.baseclass.pl.deadflag;if (server_var(wcs_dead) = 0) then wcs_run_warden" es_xmath wcs_duration - 1 es_delayed 1 wcs_warden server_var(wcs_uid) server_var(wcs_duration) server_var(wcs_dmg) server_var(wcs_radius) server_var(wcs_team_target) server_var(wcs_team_targetn) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_wardenround) }wcs_debuglog wcs_warden end}block wcs_mole_activate{wcs_debuglog wcs_mole_activate start es_xset wcs_uid 0 es_xgetargv wcs_uid 1 es_exists ex userid server_var(wcs_uid) if (server_var(ex) = 1) do { es_xset wcs_team_target 0 es_getplayerteam wcs_team server_var(wcs_uid) // check teams (T=2, CT=3) if (server_var(wcs_team) = 2) do { es_xset wcs_team_target 3 es_xset wcs_team_targetn "#c!d" } if (server_var(wcs_team) = 3) do { es_xset wcs_team_target 2 es_xset wcs_team_targetn "#t!d" } if (server_var(wcs_team_target) != "0") do { es_xset wcs_pcount 0 es_getlivingplayercount wcs_pcount server_var(wcs_team_target) if (server_var(wcs_pcount) > 0) do { es_xset wcs_player 0 if(server_var(wcs_game) = server_var(wcs_game_css)) then es_xif (server_var(wcs_team) = 3) then est_SetModel server_var(wcs_uid) "player/t_phoenix" if(server_var(wcs_game) = server_var(wcs_game_css)) then es_xif (server_var(wcs_team) = 2) then est_SetModel server_var(wcs_uid) "player/ct_urban" if(server_var(wcs_game) = server_var(wcs_game_dods)) then es_xif (server_var(wcs_team) = 2) then est_SetModel server_var(wcs_uid) "player/german_assault" if(server_var(wcs_game) = server_var(wcs_game_dods)) then es_xif (server_var(wcs_team) = 3) then est_SetModel server_var(wcs_uid) "player/american_assault" es est_RandPlayer wcs_player server_var(wcs_team_targetn) es_exists ex userid server_var(wcs_player) if (server_var(ex) = 1) do { //es_getplayerlocation wcs_x wcs_y wcs_z server_var(wcs_player) //es_xmath wcs_x + 40 //es_xmath wcs_y + 40 // new pos if (server_var(wcs_team) = 2) do { if (server_var(wcs_location_c) != "0") do { es_token wcs_x server_var(wcs_location_c) 1 | es_token wcs_y server_var(wcs_location_c) 2 | es_token wcs_z server_var(wcs_location_c) 3 | } es_xelse do { es_getplayerlocation wcs_x wcs_y wcs_z server_var(wcs_player) } } if (server_var(wcs_team) = 3) do { if (server_var(wcs_location_t) != "0") do { es_token wcs_x server_var(wcs_location_t) 1 | es_token wcs_y server_var(wcs_location_t) 2 | es_token wcs_z server_var(wcs_location_t) 3 | } es_xelse do { es_getplayerlocation wcs_x wcs_y wcs_z server_var(wcs_player) } } // new, delayed teleport es_set wcs_tmp server_var(mp_freezetime) es_xmath wcs_tmp + 3 wcs_getlanguage "wcs_lng" "wcs_lng_moledelay" es_tell server_var(wcs_uid) #multi server_var(wcs_lng) es_delayed server_var(mp_freezetime) es_xtell server_var(wcs_uid) #multi server_var(wcs_lng) es_delayed server_var(wcs_tmp) est_Teleport server_var(wcs_uid) server_var(wcs_x) server_var(wcs_y) server_var(wcs_z) es_keysetvalue "WCSuserdata" server_var(wcs_uid) "ismole" "1" } wcs_getlanguage "wcs_lng" "wcs_lng_mole" es_delayed server_var(mp_freezetime) es_xtell server_var(wcs_uid) #multi server_var(wcs_lng) } es_xelse do { wcs_getlanguage "wcs_lng" "wcs_lng_molefailed" es_tell server_var(wcs_uid) #multi server_var(wcs_lng) } } es_xelse do { wcs_getlanguage "wcs_lng" "wcs_lng_molefailed" es_tell server_var(wcs_uid) #multi server_var(wcs_lng) } }wcs_debuglog wcs_mole_activate end}block wcs_ability_warden{ es_xset wcs_params 0 es_keygetvalue wcs_params WCSuserdata server_var(wcs_userid) "ability_parameter" if (server_var(wcs_params) != "0") do { es_getplayerteam wcs_team server_var(wcs_userid) // colored wards, thanks to Sol | Pikachu es_xset wcs_color "10 0 255 70" ifx parse("wcs_team == 2") do { es_xset wcs_team_target 3 es_xset wcs_team_targetn "#ct" es_xset wcs_color "255 0 10 150" } ifx parse("wcs_team == 3") do { es_xset wcs_team_target 2 es_xset wcs_team_targetn "#t" es_xset wcs_color "10 0 255 150" } es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_userid) es_xset wcs_duration 0 es_token wcs_duration server_var(wcs_params) 1 "_" ifx true(wcs_graphicfx) do { es_xcopy wcs_x2 wcs_x1 es_xcopy wcs_y2 wcs_y1 es_xcopy wcs_z2 wcs_z1 es_xmath wcs_z1 + 120 esnq est_Effect 11 #a 0 "sprites/purpleglow1.vmt" server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_duration) 2 50 esnq est_Effect 3 #a 0 "sprites/lgtning.vmt" server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) server_var(wcs_duration) 20 20 server_var(wcs_color) es_xmath wcs_z1 - 120 } es_token wcs_dmg server_var(wcs_params) 2 "_" es_token wcs_radius server_var(wcs_params) 3 "_" es wcs_warden server_var(wcs_userid) server_var(wcs_duration) server_var(wcs_dmg) server_var(wcs_radius) server_var(wcs_team_target) server_var(wcs_team_targetn) server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) server_var(wcs_wardencounter) wcs_getlanguage "wcs_lng" "wcs_lng_wardencreated" es_tell server_var(wcs_userid) #multi server_var(wcs_lng) }}block wcs_dalias{if (server_var(wcs_debug) = "1") then echo wcs_dalias start es_xsetinfo wcs_tmp1 0 es_xsetinfo wcs_tmp2 0 es_xsetinfo wcs_tmp3 0 es_xsetinfo wcs_tmp4 0 es_xsetinfo wcs_tmp5 0 es_xsetinfo wcs_tmp6 0 es_xsetinfo wcs_tmp7 0 es_xsetinfo wcs_tmp8 0 es_xsetinfo wcs_tmp9 0 es_xsetinfo wcs_tmp10 0 es_xsetinfo wcs_tmp11 0 es_xsetinfo wcs_tmp12 0 es_xsetinfo wcs_tmp13 0 es_xsetinfo wcs_tmp14 0 es_xsetinfo wcs_tmp15 0 es_xgetargv wcs_tmp1 1 es_xgetargv wcs_tmp2 2 es_xgetargv wcs_tmp3 3 es_xgetargv wcs_tmp4 4 es_xgetargv wcs_tmp5 5 es_xgetargv wcs_tmp6 6 es_xgetargv wcs_tmp7 7 es_xgetargv wcs_tmp8 8 es_xgetargv wcs_tmp9 9 es_xgetargv wcs_tmp10 10 es_xgetargv wcs_tmp11 11 es_xgetargv wcs_tmp12 12 es_xgetargv wcs_tmp13 13 es_xgetargv wcs_tmp14 14 es_xgetargv wcs_tmp15 15es server_var(wcs_tmp1)if (server_var(wcs_debug) = "1") then echo wcs_dalias end}// <<<<<<<<<<<<<<<<< END ULTIMATE SKILL CODE <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<this should workLine 152-153: es_xexists wcs_exists command wcs_dalias es es_xif (server_var(wcs_exists) = 0) then es_xregcmd wcs_dalias wcs/WCSultimates/wcs_dalias "Executes alias with delay without loosing data".....
He? wcs_dalias? It's already included in necrolyte.txt
"42" { "name" "Necrolyte" "author" "H&S Project" "shortdescription" "0" "required_level" "550" "maximum_level" "0" "allow_only" "0" "teamlimit" "0" "preloadcmd" "0" "player_spawn_cmd" "0" "round_start_cmd" "0" "round_end_cmd" "0" "numberofskills" "4" "numberoflevels" "5" "skillnames" "Reaper's Scythe|Shadow Lightning|Aura|Sonic Wave" "skilldescr" "Deals extra damage based on enemy's lost hp|Cast shadow lightning to \ndamage and stun enemy, 5-17%.|Shadow Aura damages nearby enemies for 2-6 hp.|Creates a gigantic wave of sound which \ndeals heavy damage to all units in a line, \nHigher level - higher distance." "skillcfg" "player_attacker|player_attacker|player_spawn|player_ultimate" "skill1_setting" "es_xset wcs_bonus 3|es_xset wcs_bonus 4|es_xset wcs_bonus 5|es_xset wcs_bonus 6|es_xset wcs_bonus 7" "racealias_1p1" "es wcs_dealdamage event_var(attacker) event_var(userid) server_var(wcs_hpvictim);es es_xtell event_var(attacker) #multi #Lightgreen : Your Reaper's Scythe #Green increased damage by #Lightgreen server_var(wcs_hpvictim) !!" "skill1_cmd" "es_xset wcs_hpvictim 0;es est_gethealth wcs_hpvictim event_var(userid);es_math wcs_hpvictim float;es es_xmath wcs_bonus float;es es_xmath wcs_hpvictim - 100;es es_xmath wcs_hpvictim * -1;es es_xmath wcs_hpvictim / 35;es es_xmath wcs_hpvictim * server_var(wcs_bonus);es est_rounddecimal wcs_hpvictim server_var(wcs_hpvictim) 0;if (server_var(wcs_hpvictim) > 0) then racealias_1p1" "skill1_sfx" "es es_xgetplayerlocation wcs_x1 wcs_y1 wcs_z1 event_var(attacker);es es_xgetplayerlocation wcs_x2 wcs_y2 wcs_z2 event_var(userid);es_xmath wcs_z1 + 40;es_xmath wcs_z2 + 40;es est_Effect 2 #a 0 sprites/bluelight1.vmt event_var(userid) event_var(attacker) 3 1 2 0 0 64 255" "skill2_setting" "es_xset wcs_chance 5|es_xset wcs_chance 8|es_xset wcs_chance 11|es_xset wcs_chance 14|es_xset wcs_chance 17" "racealias_1p2" "racealias_1p21;es es_xsetplayerprop event_var(userid) CBasePlayer.m_fFlags 32.0;es es_xdelayed 0.45 wcs_removefx freeze event_var(userid);es wcs_dealdamage event_var(attacker) event_var(userid) 15;es_tell event_var(userid) #green You was hit by event_var(es_attackername) with Shadow Lightning for extra 15 damage and stun.;es_tell event_var(attacker) #green You hit event_var(es_username) with Shadow Lightning for extra 15 damage and stun." "racealias_1p21" "es es_xgetplayerlocation wcs_x2 wcs_y2 wcs_z2 event_var(userid);es_setinfo wcs_z1 server_var(wcs_z2);es_xmath wcs_z1 + 1620;es_xmath wcs_z2 + 20;es est_Effect 3 #a 0 sprites/lgtning_noz.vmt server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z1) server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 0.7 28 18 51 0 102 255;es_xmath wcs_z2 - 20;es est_effect 10 #a 0 effects/ar2_altfire1.vmt server_var(wcs_x2) server_var(wcs_y2) server_var(wcs_z2) 100 300 0.5 90 20 0 15 0 255 255 20" "skill2_cmd" "if (server_var(wcs_dice) <= server_var(wcs_chance)) then es_xif (event_var(es_userdead) = 0) then racealias_1p2" "skill2_sfx" "0" "skill3_setting" "es_xset wcs_tmp4 2;es_xset wcs_tmp3 300|es_xset wcs_tmp4 3;es_xset wcs_tmp3 340|es_xset wcs_tmp4 4;;es_xset wcs_tmp3 380|es_xset wcs_tmp4 5;es_xset wcs_tmp3 410|es_xset wcs_tmp4 6;es_xset wcs_tmp3 435" "racealias_1p32" "es_getplayerprop wcs_dead server_var(wcs_tmp2) CCSPlayer.baseclass.pl.deadflag;if (server_var(wcs_dead) = 0) then racealias_1p33" "racealias_1p33" "es_getplayerteam wcs_team server_var(wcs_tmp2);if (server_var(wcs_team) = 2) then es_xset wcs_team #c!d;if (server_var(wcs_team) = 3) then es_xset wcs_team #t!d;es est_Near wcs_targetid server_var(wcs_team) server_var(wcs_tmp3) server_var(wcs_tmp2) racealias_1p34;racealias_1p31" "racealias_1p34" "es_playsound server_var(wcs_targetid) npc/combine_gunship/ping_search.wav 0.6;es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_targetid);es_xmath wcs_z1 + 50;es est_effect 11 #a 0 effects/ar2_altfire1.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) 0.7 0.5 255;es est_effect 11 #a 0 sprites/physring1.vmt server_var(wcs_x1) server_var(wcs_y1) server_var(wcs_z1) 0.7 0.8 255;es_getplayername wcs_name server_var(wcs_targetid);es_getplayername wcs_name2 server_var(wcs_tmp2);es wcs_dealdamage server_var(wcs_tmp2) server_var(wcs_targetid) server_var(wcs_tmp4);es_tell server_var(wcs_tmp2) Your Aura damaged server_var(wcs_name) for server_var(wcs_tmp4);es_tell server_var(wcs_targetid) Aura from server_var(wcs_name2) damaged you for server_var(wcs_tmp4), run away if you don't want get aura damage." "racealias_1p31" "es_keygetvalue wcs_round WCSuserdata server_var(wcs_tmp2) aura_round;if (server_var(wcs_roundcounter) = server_var(wcs_round)) then es_xdelayed 1.7 wcs_dalias racealias_1p32 server_var(wcs_tmp2) server_var(wcs_tmp3) server_var(wcs_tmp4)" "skill3_cmd" "es_xset wcs_name2 0;es_xset wcs_round 0;es_keysetvalue WCSUserdata event_var(userid) aura_round server_var(wcs_roundcounter);es_setinfo wcs_tmp2 event_var(userid);racealias_1p31" "skill3_sfx" "0" // wcs_max - maximum distance ((variable + 1) * 250), wcs_tmp11 - damage dealth with 1 wave (person will get often 1-2 hits, don't set too high) "skill4_setting" "es_xset wcs_max 4;es_xset wcs_tmp11 14|es_xset wcs_max 5;es_xset wcs_tmp11 14|es_xset wcs_max 6;es_xset wcs_tmp11 14|es_xset wcs_max 7;es_xset wcs_tmp11 14|es_xset wcs_max 8;es_xset wcs_tmp11 14" "racealias_1p41" "es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 server_var(wcs_userid);es est_getviewcoord server_var(wcs_userid) wcs_x2 wcs_y2 wcs_z2;es_math wcs_x2 - server_var(wcs_x1);es_math wcs_y2 - server_var(wcs_y1);es_math wcs_z2 - server_var(wcs_z1);es_math wcs_x2 * server_var(wcs_x2);es_math wcs_y2 * server_var(wcs_y2);es_math wcs_z2 * server_var(wcs_z2);es_setinfo wcs_distance server_var(wcs_x2);es_math wcs_distance + server_var(wcs_y2);es_math wcs_distance + server_var(wcs_z2);es_xmath wcs_distance root 2;es_xmath wcs_distance / 250;es est_rounddecimal wcs_distance server_var(wcs_distance) 0;racealias_1p42" "racealias_1p42" "es est_getviewcoord server_var(wcs_userid) wcs_x2 wcs_y2 wcs_z2;es_math wcs_x2 - server_var(wcs_x1);es_math wcs_y2 - server_var(wcs_y1);es_math wcs_z2 - server_var(wcs_z1);es_math wcs_x2 / server_var(wcs_distance);es_math wcs_y2 / server_Var(wcs_distance);es_math wcs_z2 / server_var(wcs_distance);es_xset wcs_tmp1 racealias_1p44;es_setinfo wcs_tmp2 server_var(wcs_userid);es_setinfo wcs_tmp3 server_var(wcs_x1);es_setinfo wcs_tmp4 server_var(wcs_y1);es_setinfo wcs_tmp5 server_var(wcs_z1);es_setinfo wcs_tmp6 server_var(wcs_x2);es_setinfo wcs_tmp7 server_var(wcs_y2);es_setinfo wcs_tmp8 server_var(wcs_z2);if (server_var(wcs_distance) > server_var(wcs_max)) then es_xset wcs_distance server_var(wcs_max);es_xmath wcs_distance + 1;es_setinfo wcs_tmp9 server_var(wcs_distance);racealias_1p43" "racealias_1p43" "es wcs_dalias racealias_1p44 server_var(wcs_tmp2) server_var(wcs_tmp3) server_var(wcs_tmp4) server_var(wcs_tmp5) server_var(wcs_tmp6) server_var(wcs_tmp7) server_var(wcs_tmp8) server_var(wcs_tmp9) server_var(wcs_tmp10) server_var(wcs_tmp11)" "racealias_1p44" "if (server_var(wcs_tmp9) > 0) then racealias_1p45" "racealias_1p45" "es_math wcs_tmp3 + server_var(wcs_tmp6);es_math wcs_tmp4 + server_var(wcs_tmp7);es_math wcs_tmp5 + server_var(wcs_tmp8);es est_effect 10 #a 0 sprites/lgtning_noz.vmt server_var(wcs_tmp3) server_var(wcs_tmp4) server_var(wcs_tmp5) 40 300 2 800 300 0 20 15 164 255 100;es nearcoord wcs_targetid server_var(wcs_tmp10) server_var(wcs_tmp3) server_var(wcs_tmp4) server_var(wcs_tmp5) 300 300 300 racealias_1p46;es_xmath wcs_tmp9 - 1;es_delayed 0.4 wcs_dalias racealias_1p44 server_var(wcs_tmp2) server_var(wcs_tmp3) server_var(wcs_tmp4) server_var(wcs_tmp5) server_var(wcs_tmp6) server_var(wcs_tmp7) server_var(wcs_tmp8) server_var(wcs_tmp9) server_var(wcs_tmp10) server_var(wcs_tmp11)" "racealias_1p46" "es_getplayerprop wcs_dead server_var(wcs_targetid) CCSPlayer.baseclass.pl.deadflag;if (server_var(wcs_dead) = 0) then racealias_1p47" "racealias_1p47" "es wcs_dealdamage server_var(wcs_tmp2) server_var(wcs_targetid) server_var(wcs_tmp11);es_xset wcs_nameattacker 0;es_xset wcs_nametarget 0;es est_getname wcs_nameattacker server_var(wcs_tmp2);es est_getname wcs_nametarget server_var(wcs_targetid);es_tell server_var(wcs_targetid) #Green You are hit by server_var(wcs_nameattacker) with Sonic Wave Ultimate;es_tell server_var(wcs_tmp2) #Green You hit server_var(wcs_nametarget) with Sonic Wave Ultimate" "skill4_cmd" "es_xset wcs_tmp10 0;es_getplayerteam wcs_tmp10 server_var(wcs_userid);if (server_var(wcs_tmp10) = 2) then es_xset wcs_tmp10 #ct;if (server_var(wcs_tmp10) = 3) then es_xset wcs_tmp10 #t;racealias_1p41" "skill4_sfx" "0" "ultimate_cooldown" "28" }
es_xexists wcs_exists command wcs_dalias if (server_var(wcs_exists) = 0) then es_xregcmd wcs_dalias wcs/WCSultimates/wcs_dalias "Executes alias with delay without loosing data"
block wcs_dalias{if (server_var(wcs_debug) = "1") then echo wcs_dalias start es_xset wcs_tmp1 0 es_xset wcs_tmp2 0 es_xset wcs_tmp3 0 es_xset wcs_tmp4 0 es_xset wcs_tmp5 0 es_xset wcs_tmp6 0 es_xset wcs_tmp7 0 es_xset wcs_tmp8 0 es_xset wcs_tmp9 0 es_xset wcs_tmp10 0 es_xset wcs_tmp11 0 es_xset wcs_tmp12 0 es_xset wcs_tmp13 0 es_xset wcs_tmp14 0 es_xset wcs_tmp15 0 es_xgetargv wcs_tmp1 1 es_xgetargv wcs_tmp2 2 es_xgetargv wcs_tmp3 3 es_xgetargv wcs_tmp4 4 es_xgetargv wcs_tmp5 5 es_xgetargv wcs_tmp6 6 es_xgetargv wcs_tmp7 7 es_xgetargv wcs_tmp8 8 es_xgetargv wcs_tmp9 9 es_xgetargv wcs_tmp10 10 es_xgetargv wcs_tmp11 11 es_xgetargv wcs_tmp12 12 es_xgetargv wcs_tmp13 13 es_xgetargv wcs_tmp14 14 es_xgetargv wcs_tmp15 15es server_var(wcs_tmp1)if (server_var(wcs_debug) = "1") then echo wcs_dalias end}