<?xml version="1.0" encoding="UTF-8"?>
<WorldTriggerList>
  <WorldTrigger name="_CL_PLAYER" script="// SCRIPT HEADER *****************************************************************&#13;&#10;// DESCRIPTION: Abstract class for local player&#13;&#10;// CALLED BY:   _SVR_PLAYER&#13;&#10;// PARAMS:      &#13;&#10;// TYPE:        Client-Side&#13;&#10;// ************************************************************* SCRIPT HEADER END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT INIT *******************************************************************&#13;&#10;@INIT&#13;&#10;    if [scr_debug == 1] goto DEBUG&#13;&#10;goto SCRIPT&#13;&#10;// *************************************************************** SCRIPT INIT END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT DEBUG ******************************************************************&#13;&#10;@DEBUG&#13;&#10;    Echo #scr_debug_prefix#&quot;Calling script _CL_PLAYER&quot;&#13;&#10;goto SCRIPT&#13;&#10;// ************************************************************** SCRIPT DEBUG END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT CODE *******************************************************************&#13;&#10;@SCRIPT&#13;&#10;    goto #GetScriptParam(::)#&#13;&#10;goto EOF&#13;&#10;&#13;&#10;// ***&#13;&#10;// * Registers local client vars when the player joins&#13;&#10;// ***&#13;&#10;@REGISTER&#13;&#10;    CreateVar int scr_is_admin 0&#13;&#10;goto EOF&#13;&#10;&#13;&#10;// ***&#13;&#10;// * Login a player as admin&#13;&#10;// * @param string   pass    the login password&#13;&#10;// * @param string   name    the server name&#13;&#10;// * @param string   num     the server slot count&#13;&#10;// ***&#13;&#10;@ADMIN_LOGIN&#13;&#10;    Set scr_is_admin 1&#13;&#10;    Set svr_remotePass #GetScriptParam(pass)#&#13;&#10;    Set svr_name #GetScriptParam(name)# &#13;&#10;    Set svr_maxClients #GetScriptParam(num)#&#13;&#10;    UIcall &quot;admin_login&quot; &quot;SetVisible(false);&quot;&#13;&#10;    Sleep 100&#13;&#10;    UIcall &quot;admin_login&quot; &quot;SetVisible(true);&quot;&#13;&#10;goto EOF&#13;&#10;&#13;&#10;// ***&#13;&#10;// * Shows a popup with a duel request&#13;&#10;// * @param string   h      the request heading&#13;&#10;// * @param string   c      the request content&#13;&#10;// * @param string   img    the portrait&#13;&#10;// ***&#13;&#10;@DUELPOP_REQUEST&#13;&#10;    Sleep 1000;&#13;&#10;    UIcall &quot;duelreq_popup&quot; &quot;SetVisible(false);&quot;&#13;&#10;    UIcall &quot;duelreq_h&quot; &quot;SetText('&quot;#GetScriptParam(h)#&quot;');&quot;&#13;&#10;    UIcall &quot;duelreq_c&quot; &quot;SetText('&quot;#GetScriptParam(c)#&quot;');&quot;&#13;&#10;    UIcall &quot;duelreq_img&quot; &quot;SetTexture('&quot;#GetScriptParam(img)#&quot;');&quot;&#13;&#10;    UIcall &quot;duelreq_popup&quot; &quot;SetVisible(true, 5000);&quot;&#13;&#10;goto EOF&#13;&#10;&#13;&#10;// ***&#13;&#10;// * Shows a popup with a duel info message&#13;&#10;// * @param string   h      the request heading&#13;&#10;// * @param string   c      the request content&#13;&#10;// * @param string   img    the portrait&#13;&#10;// ***&#13;&#10;@DUELPOP_INFO&#13;&#10;    Sleep 1000;&#13;&#10;    UIcall &quot;duelinfo_popup&quot; &quot;SetVisible(false);&quot;&#13;&#10;    UIcall &quot;duelinfo_h&quot; &quot;SetText('&quot;#GetScriptParam(h)#&quot;');&quot;&#13;&#10;    UIcall &quot;duelinfo_c&quot; &quot;SetText('&quot;#GetScriptParam(c)#&quot;');&quot;&#13;&#10;    UIcall &quot;duelinfo_img&quot; &quot;SetTexture('&quot;#GetScriptParam(img)#&quot;');&quot;&#13;&#10;    UIcall &quot;duelinfo_popup&quot; &quot;SetVisible(true, 5000);&quot;&#13;&#10;goto EOF&#13;&#10;&#13;&#10;// ***&#13;&#10;// * Shows a popup with the message of the day&#13;&#10;// * @param string   h      the request heading&#13;&#10;// * @param string   c      the request content&#13;&#10;// ***&#13;&#10;@MOTD_POPUP&#13;&#10;    UIcall &quot;motd_popup&quot; &quot;SetVisible(false);&quot;&#13;&#10;    UIcall &quot;motd_h&quot; &quot;SetText('&quot;#GetScriptParam(h)#&quot;');&quot;&#13;&#10;    UIcall &quot;motd_c&quot; &quot;SetText('&quot;#GetScriptParam(c)#&quot;');&quot;&#13;&#10;    UIcall &quot;motd_popup&quot; &quot;SetVisible(true, 10000);&quot;&#13;&#10;goto EOF&#13;&#10;// *************************************************************** SCRIPT CODE END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT EOF ********************************************************************&#13;&#10;@EOF&#13;&#10;// *****************************************************************SCRIPT EOF END"></WorldTrigger>
  <WorldTrigger name="_DUEL" script="// SCRIPT HEADER *****************************************************************&#13;&#10;// DESCRIPTION: Abstract class for handling duels&#13;&#10;// CALLED BY:   spellimpact&#13;&#10;// PARAMS:      t: target, i: origin&#13;&#10;// TYPE:        Server-Side&#13;&#10;// ************************************************************* SCRIPT HEADER END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT INIT *******************************************************************&#13;&#10;@INIT&#13;&#10;    if [scr_debug == 1] goto DEBUG&#13;&#10;goto SCRIPT&#13;&#10;// *************************************************************** SCRIPT INIT END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT DEBUG ******************************************************************&#13;&#10;@DEBUG&#13;&#10;    Echo #scr_debug_prefix#&quot;Calling script _DUEL&quot;&#13;&#10;goto SCRIPT&#13;&#10;// ************************************************************** SCRIPT DEBUG END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT CODE *******************************************************************&#13;&#10;@SCRIPT&#13;&#10;    if [scr_debug == 1] Echo #scr_debug_prefix#&quot;Calling method _DUEL::&quot;#GetScriptParam(::)#&#13;&#10;    goto #GetScriptParam(::)#&#13;&#10;goto EOF&#13;&#10;&#13;&#10;// ***&#13;&#10;// * Requests a duel with another player&#13;&#10;// * @param int t    target index&#13;&#10;// * @param int i    origin index&#13;&#10;// ***&#13;&#10;@REQUEST&#13;&#10;    Set scr_duelr_tid #GetClientNumFromIndex(|#GetScriptParam(t)|#)#&#13;&#10;    Set scr_duelr_iid #GetClientNumFromIndex(|#GetScriptParam(i)|#)#&#13;&#10;&#13;&#10;    Set scr_duelr_istat #scr_cl|#scr_duelr_iid|#_duel#&#13;&#10;    Set scr_duelr_tstat #scr_cl|#scr_duelr_istat|#_duel#&#13;&#10;    if [scr_duelr_tstat == scr_duelr_istat] &quot;if [scr_duelr_istat != -1] goto REQUEST_SELFINPROGRESS&quot;&#13;&#10;&#13;&#10;    Set scr_duelr_tstat #scr_cl|#scr_duelr_tid|#_duel#&#13;&#10;    Set scr_duelr_istat #scr_cl|#scr_duelr_tstat|#_duel#&#13;&#10;    if [scr_duelr_istat == scr_duelr_tid] &quot;if [scr_duelr_tstat != -1] goto REQUEST_INPROGRESS&quot;&#13;&#10;&#13;&#10;    Set scr_duelr_tstat #scr_cl|#scr_duelr_tid|#_duel#&#13;&#10;    Set scr_duelr_istat #scr_cl|#scr_duelr_iid|#_duel#&#13;&#10;    if [scr_duelr_istat == scr_duelr_tid] goto REQUEST_ALREADYSENT&#13;&#10;&#13;&#10;    Set scr_cl#scr_duelr_iid#_duel #scr_duelr_tid#&#13;&#10;    if [scr_duelr_tstat == scr_duelr_iid] goto REQUEST_ACCEPTED&#13;&#10;&#13;&#10;    // Send duel request&#13;&#10;    Set scr_duelr_type #GetType(|#GetScriptParam(i)|#)#&#13;&#10;    Set scr_duelr_img #|#scr_duelr_type|#_IconPath#&#13;&#10;    Set scr_duelr_h &quot;Incoming duel request&quot;&#13;&#10;    Set scr_duelr_c &quot;^y&quot;#GetClientNameFromClientNum(|#scr_duelr_iid|#)#&quot;^* is requesting a duel! Select your duel skill and use it on him to accept.&quot;&#13;&#10;&#13;&#10;    StartEffectOnObject #GetScriptParam(i)# #scr_duel_requestfx1#&#13;&#10;    StartEffectOnObject #GetScriptParam(t)# #scr_duel_requestfx2#&#13;&#10;&#13;&#10;    ClientExecScript #scr_duelr_tid# _CL_PLAYER :: DUELPOP_REQUEST h #scr_duelr_h# c #scr_duelr_c# img #scr_duelr_img# &#13;&#10;goto EOF&#13;&#10;@REQUEST_ACCEPTED&#13;&#10;    ExecScript _DUEL :: START t #GetScriptParam(t)# i #GetScriptParam(i)#&#13;&#10;goto EOF&#13;&#10;@REQUEST_SELFINPROGRESS&#13;&#10;    Set scr_duelr_img &quot;/npcs/chiprell/icon.tga&quot;&#13;&#10;    Set scr_duelr_h &quot;Why u doing this?&quot;&#13;&#10;    Set scr_duelr_c &quot;You are already in a duel.&quot;&#13;&#10;    ClientExecScript #scr_duelr_iid# _CL_PLAYER :: DUELPOP_INFO h #scr_duelr_h# c #scr_duelr_c# img #scr_duelr_img# &#13;&#10;goto EOF&#13;&#10;@REQUEST_INPROGRESS&#13;&#10;    Set scr_duelr_img &quot;/npcs/chiprell/icon.tga&quot;&#13;&#10;    Set scr_duelr_h &quot;Why u doing this?&quot;&#13;&#10;    Set scr_duelr_c &quot;^y&quot;#GetClientNameFromClientNum(|#scr_duelr_tid|#)#&quot;^* is already in a duel.&quot;&#13;&#10;    ClientExecScript #scr_duelr_iid# _CL_PLAYER :: DUELPOP_INFO h #scr_duelr_h# c #scr_duelr_c# img #scr_duelr_img# &#13;&#10;goto EOF&#13;&#10;@REQUEST_ALREADYSENT&#13;&#10;    Set scr_duelr_img &quot;/npcs/chiprell/icon.tga&quot;&#13;&#10;    Set scr_duelr_h &quot;Why u doing this?&quot;&#13;&#10;    Set scr_duelr_c &quot;You have already challenged ^y&quot;#GetClientNameFromClientNum(|#scr_duelr_tid|#)#&quot;^* to a duel.&quot;&#13;&#10;    ClientExecScript #scr_duelr_iid# _CL_PLAYER :: DUELPOP_INFO h #scr_duelr_h# c #scr_duelr_c# img #scr_duelr_img#&#13;&#10;goto EOF&#13;&#10;&#13;&#10;// ***&#13;&#10;// * Starts a duel between 2 players&#13;&#10;// * @param int t    target index&#13;&#10;// * @param int i    origin index&#13;&#10;// ***&#13;&#10;@START&#13;&#10;    Set scr_duels_tid #GetClientNumFromIndex(|#GetScriptParam(t)|#)#&#13;&#10;    Set scr_duels_iid #GetClientNumFromIndex(|#GetScriptParam(i)|#)#&#13;&#10;&#13;&#10;    // Send a confirmation message to both players&#13;&#10;    Set scr_duels_img &quot;/ui/commander/attack_down.tga&quot;&#13;&#10;    Set scr_duels_h &quot;Duel accepted&quot;&#13;&#10;    Set scr_duels_c &quot;^y&quot;#GetClientNameFromClientNum(|#scr_duels_iid|#)#&quot;^* has accepted your challenge!&quot;&#13;&#10;    ClientExecScript #scr_duels_tid# _CL_PLAYER :: DUELPOP_REQUEST h #scr_duels_h# c #scr_duels_c# img #scr_duels_img# &#13;&#10;    Set scr_duels_c &quot;You have accepted ^y&quot;#GetClientNameFromClientNum(|#scr_duels_tid|#)#&quot; challenge!&quot;&#13;&#10;    ClientExecScript #scr_duels_iid# _CL_PLAYER :: DUELPOP_REQUEST h #scr_duels_h# c #scr_duels_c# img #scr_duels_img#&#13;&#10;&#13;&#10;    // Renew players&#13;&#10;    ExecScript _SVR_PLAYER :: RENEW i #GetScriptParam(t)#&#13;&#10;    ExecScript _SVR_PLAYER :: RENEW i #GetScriptParam(i)#&#13;&#10;&#13;&#10;    // Start delay&#13;&#10;    if [scr_duel_usedelay == 1] Sleep #scr_duel_startdelay#&#13;&#10;&#13;&#10;    // Remove ally status&#13;&#10;    RemoveAlliedTeam #GetTeam(|#GetScriptParam(i)|#)# #GetTeam(|#GetScriptParam(t)|#)#&#13;&#10;    RemoveAlliedTeam #GetTeam(|#GetScriptParam(t)|#)# #GetTeam(|#GetScriptParam(i)|#)#&#13;&#10;&#13;&#10;    // Play duel effect&#13;&#10;    StartEffectOnObject #GetScriptParam(t)# #scr_duel_startfx#&#13;&#10;    StartEffectOnObject #GetScriptParam(i)# #scr_duel_startfx#&#13;&#10;goto EOF&#13;&#10;// *************************************************************** SCRIPT CODE END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT EOF ********************************************************************&#13;&#10;@EOF&#13;&#10;// *****************************************************************SCRIPT EOF END"></WorldTrigger>
  <WorldTrigger name="_SVR_PLAYER" script="// SCRIPT HEADER *****************************************************************&#13;&#10;// DESCRIPTION: Abstract class for player&#13;&#10;// CALLED BY:   playerjoin&#13;&#10;// PARAMS:      id: clientid, i: index&#13;&#10;// TYPE:        Server-Side&#13;&#10;// ************************************************************* SCRIPT HEADER END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT INIT *******************************************************************&#13;&#10;@INIT&#13;&#10;    if [scr_debug == 1] goto DEBUG&#13;&#10;goto SCRIPT&#13;&#10;// *************************************************************** SCRIPT INIT END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT DEBUG ******************************************************************&#13;&#10;@DEBUG&#13;&#10;    Echo #scr_debug_prefix#&quot;Calling script _SVR_PLAYER&quot;&#13;&#10;goto SCRIPT&#13;&#10;// ************************************************************** SCRIPT DEBUG END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT CODE *******************************************************************&#13;&#10;@SCRIPT&#13;&#10;    if [scr_debug == 1] Echo #scr_debug_prefix#&quot;Calling method _SVR_PLAYER::&quot;#GetScriptParam(::)# by xorc!&#13;&#10;    goto #GetScriptParam(::)#&#13;&#10;goto EOF&#13;&#10;&#13;&#10;// ***&#13;&#10;// * Registers a new player and updates important vars&#13;&#10;// * @param int   id    the player client id&#13;&#10;// * @param int   acc   the player account id&#13;&#10;// ***&#13;&#10;@REGISTER&#13;&#10;    CreateVar int scr_cl#GetScriptParam(id)#_duel -1&#13;&#10;    CreateVar int scr_cl#GetScriptParam(id)#_acc #GetScriptParam(acc)#&#13;&#10;&#13;&#10;    // Adjust current active clients count and max teams&#13;&#10;    Set scr_active_clients #GetNumClients()#&#13;&#10;    Set scr_max_teams #GetMaxTeams()#&#13;&#10;&#13;&#10;    if [scr_max_teams &lt;= scr_active_clients + 1] &quot;SetMaxTeams [scr_max_teams + 1]&quot;&#13;&#10;    Set scr_max_teams #GetMaxTeams()#&#13;&#10;&#13;&#10;    // Register client-side vars&#13;&#10;    ClientExecScript #GetScriptParam(id)# _CL_PLAYER :: REGISTER&#13;&#10;goto EOF&#13;&#10;&#13;&#10;// ***&#13;&#10;// * Unregisters player and updates important vars&#13;&#10;// * @param int   id    the player client id&#13;&#10;// ***&#13;&#10;@UNREGISTER&#13;&#10;    Set scr_svrp_id #GetScriptParam(id)#&#13;&#10;    Set scr_svrp_uistat #scr_cl|#GetScriptParam(id)|#_duel#&#13;&#10;    Set scr_svrp_utstat #scr_cl|#scr_svrp_uistat|#_duel#&#13;&#10;    if [scr_svrp_uistat == -1] goto EOF&#13;&#10;&#13;&#10;    Set scr_svrp_uridx #GetIndexFromClientNum(|#GetScriptParam(id)|#)#&#13;&#10;    Set scr_svrp_urtdx #GetIndexFromClientNum(|#scr_svrp_uistat|#)#&#13;&#10;    Set scr_svrp_urit #GetTeam(|#scr_svrp_uridx|#)#&#13;&#10;    Set scr_svrp_urtt #GetTeam(|#scr_svrp_urtdx|#)#&#13;&#10;&#13;&#10;    if [scr_svrp_utstat == scr_svrp_id] Set scr_cl#scr_svrp_uistat#_duel -1&#13;&#10;    if [scr_svrp_utstat == scr_svrp_id] &quot;AddAlliedTeam #scr_svrp_urit# #scr_svrp_urtt#&quot;&#13;&#10;    if [scr_svrp_utstat == scr_svrp_id] &quot;AddAlliedTeam #scr_svrp_urtt# #scr_svrp_urit#&quot;&#13;&#10;    Set scr_cl#GetScriptParam(id)#_duel -1&#13;&#10;goto EOF&#13;&#10;&#13;&#10;// ***&#13;&#10;// * Changes a player to a different unit&#13;&#10;// * @param int      id        the player client id&#13;&#10;// * @param int      oi        the old player index&#13;&#10;// * @param int      i         the new player index&#13;&#10;// * @param string   type      the new unit type&#13;&#10;// * @param string   otype     the old unit type&#13;&#10;// ***&#13;&#10;@CHANGEUNIT&#13;&#10;    // Unregister first&#13;&#10;    ExecScript _SVR_PLAYER :: UNREGISTER id #GetScriptParam(id)#&#13;&#10;&#13;&#10;    // Do not force respawn when changing to spec&#13;&#10;    if #StringEquals(|#GetScriptParam(type)|#,Player_Observer)# goto EOF&#13;&#10;&#13;&#10;    // Disable commander&#13;&#10;    if #StringEquals(|#GetScriptParam(type)|#,Player_Commander)# &quot;ChangeUnit #GetScriptParam(i)# Player_savage true false false false false false false; Set scr_svrp_cui #GetScriptParam(changedindex)#&quot;&#13;&#10;    else &quot;Set scr_svrp_cui #GetScriptParam(i)#&quot;&#13;&#10;&#13;&#10;    // Kill the old unit&#13;&#10;    ForceSpawn #scr_svrp_cui#&#13;&#10;    KillEntity #scr_svrp_cui#&#13;&#10;    &#13;&#10;    // Renew&#13;&#10;    ExecScript _SVR_PLAYER :: RENEW i #scr_svrp_cui#&#13;&#10;&#13;&#10;    if [scr_duel_enabled == 1] TakeItem #scr_svrp_cui# 10&#13;&#10;    if [scr_duel_enabled == 1] GiveItem #scr_svrp_cui# #scr_duel_slot# #scr_duel_ability#&#13;&#10;&#13;&#10;    if #EntityExists(|#GetScriptParam(oi)|#)# goto CHANGEUNIT_POSITION&#13;&#10;goto EOF&#13;&#10;@CHANGEUNIT_POSITION&#13;&#10;    Set scr_svrp_y #GetPosZ(|#GetScriptParam(oi)|#)#&#13;&#10;    Set scr_svrp_y [scr_svrp_y + 50]&#13;&#10;    SetPosition #scr_svrp_cui# #GetPosX(|#GetScriptParam(oi)|#)# #GetPosY(|#GetScriptParam(oi)|#)# #scr_svrp_y#&#13;&#10;goto EOF&#13;&#10;&#13;&#10;// ***&#13;&#10;// * Spawns a player for the first time and assigns him to a team&#13;&#10;// * @param int   i    the player index&#13;&#10;// * @param int   u    unit to spawn as&#13;&#10;// ***&#13;&#10;@SPAWN&#13;&#10;    Set scr_svrp_cteam 1&#13;&#10;    Set scr_svrp_lteam 1&#13;&#10;    Set scr_svrp_tnum 0&#13;&#10;@SPAWN_FINDTEAM&#13;&#10;    // Find an empty team&#13;&#10;    Set scr_svrp_tnum #GetNumClients(|#scr_svrp_cteam|#)#&#13;&#10;    if [scr_svrp_tnum == 0] goto SPAWN_SETTEAM&#13;&#10;    Set scr_svrp_cteam [scr_svrp_cteam + 1]&#13;&#10;    if [scr_svrp_cteam &gt;= scr_max_teams] goto SPAWN_DO&#13;&#10;goto SPAWN_FINDTEAM&#13;&#10;@SPAWN_SETTEAM&#13;&#10;   // Assign to team&#13;&#10;   SetTeam #GetScriptParam(i)# #scr_svrp_cteam#&#13;&#10;@SPAWN_SETALLY&#13;&#10;    // Ally with other teams&#13;&#10;    if [scr_svrp_lteam != scr_svrp_cteam] &quot;AddAlliedTeam #scr_svrp_cteam# #scr_svrp_lteam#&quot;&#13;&#10;    if [scr_svrp_lteam != scr_svrp_cteam] &quot;AddAlliedTeam #scr_svrp_lteam# #scr_svrp_cteam#&quot;&#13;&#10;    Set scr_svrp_lteam [scr_svrp_lteam + 1]&#13;&#10;    if [scr_svrp_lteam &lt; scr_max_teams] goto SPAWN_SETALLY&#13;&#10;@SPAWN_DO&#13;&#10;    // Spawn the player&#13;&#10;    ChangeUnit #GetScriptParam(i)# #GetScriptParam(u)# true false false false false false false&#13;&#10;    ForceSpawn #GetScriptParam(changedindex)#&#13;&#10;    // Move to a spawn location&#13;&#10;    Set scr_svrp_x #GetPosX(spawn|#scr_spawn_loc|#)#&#13;&#10;    Set scr_svrp_y #GetPosY(spawn|#scr_spawn_loc|#)#&#13;&#10;    SetPosition #GetScriptParam(changedindex)#  #scr_svrp_x# #scr_svrp_y# 0&#13;&#10;    SetToValidPosition #GetScriptParam(changedindex)#&#13;&#10;    // Rotate to next location&#13;&#10;    Set scr_spawn_loc [scr_spawn_loc + 1]&#13;&#10;    if [scr_spawn_loc &gt; scr_max_loc] Set scr_spawn_loc 1&#13;&#10;    // Give XP and reset stats&#13;&#10;    GiveExperience #GetScriptParam(changedindex)# #scr_player_joinxp#&#13;&#10;    ResetAttributes #GetScriptParam(changedindex)#&#13;&#10;    // Give duel ability&#13;&#10;    if [scr_duel_enabled == 1] TakeItem #GetScriptParam(changedindex)# 10&#13;&#10;    if [scr_duel_enabled == 1] GiveItem #GetScriptParam(changedindex)# #scr_duel_slot# #scr_duel_ability#&#13;&#10;    &#13;&#10;    // Register player death script&#13;&#10;    RegisterEntityScript #GetScriptParam(changedindex)# death &quot;ExecScript _SVR_PLAYER :: DEATH i \#GetScriptParam(index)\#&quot;&#13;&#10;goto EOF&#13;&#10;&#13;&#10;// ***&#13;&#10;// * Renews a player cd's, hp etc...&#13;&#10;// * @param int   i    the player index&#13;&#10;// ***&#13;&#10;@RENEW&#13;&#10;    RefreshCooldowns #GetScriptParam(i)#&#13;&#10;    RefillAmmo #GetScriptParam(i)#&#13;&#10;    ClearStates #GetScriptParam(i)#&#13;&#10;    RefillHealth #GetScriptParam(i)#&#13;&#10;    RefillMana #GetScriptParam(i)#&#13;&#10;    RefillStamina #GetScriptParam(i)#&#13;&#10;goto EOF&#13;&#10;&#13;&#10;// ***&#13;&#10;// * Activates all items and abilities of a player&#13;&#10;// * @param int   i    the player index&#13;&#10;// ***&#13;&#10;@ACTIVATE_ITEMS&#13;&#10;    // Activate abilities and items&#13;&#10;    Set scr_spawn_ai 1&#13;&#10;    Set scr_spawn_maxa #GetMaxItems()#&#13;&#10;@ACTIVATE_ITEMS_NEXT&#13;&#10;    EnableItem #GetScriptParam(i)# #scr_spawn_ai#&#13;&#10;    Set scr_spawn_ai [scr_spawn_ai + 1]&#13;&#10;    if [scr_spawn_ai &lt;= scr_spawn_maxa] goto ACTIVATE_ITEMS_NEXT&#13;&#10;goto EOF&#13;&#10;&#13;&#10;// ***&#13;&#10;// * Rez a dead player and resets duel vars&#13;&#10;// * @param int   i    the player index&#13;&#10;// ***&#13;&#10;@DEATH&#13;&#10;    Set scr_pdeath_team #GetTeam(|#GetScriptParam(i)|#)#&#13;&#10;&#13;&#10;    // Do not rez spectators!&#13;&#10;    if [scr_pdeath_team == 0] goto EOF&#13;&#10;&#13;&#10;    // Rez player&#13;&#10;    CastSpell #GetScriptParam(i)# &quot;Spell_Resurrect&quot;&#13;&#10;    // SetToValidPosition #GetScriptParam(i)#&#13;&#10;&#13;&#10;    Set scr_pdeath_id #GetClientNumFromIndex(|#GetScriptParam(i)|#)#&#13;&#10;    Set scr_pdeath_stat #scr_cl|#scr_pdeath_id|#_duel#&#13;&#10;    Set scr_pdeath_tstat #scr_cl|#scr_pdeath_stat|#_duel#&#13;&#10;&#13;&#10;    // Go to end if there was no duel&#13;&#10;    if [scr_pdeath_stat == -1] goto EOF&#13;&#10;    if [scr_pdeath_tstat != scr_pdeath_id] goto EOF&#13;&#10;&#13;&#10;    // Get target index&#13;&#10;    Set scr_pdeath_tidx #GetIndexFromClientNum(|#scr_pdeath_stat|#)#&#13;&#10;&#13;&#10;    // Get account ids&#13;&#10;    Set scr_pdeath_wacc #scr_cl|#scr_pdeath_stat|#_acc#&#13;&#10;    Set scr_pdeath_lacc #scr_cl|#scr_pdeath_id|#_acc#&#13;&#10;&#13;&#10;    // Get unit types&#13;&#10;    Set scr_pdeath_wtype #GetType(|#scr_pdeath_tidx|#)#&#13;&#10;    Set scr_pdeath_ltype #GetType(|#GetScriptParam(i)|#)#&#13;&#10;&#13;&#10;    // Skip ladder?&#13;&#10;    if [scr_ladder_enabled == 0] goto DEATH_SKIPLADDER&#13;&#10;    // Send stats&#13;&#10;    // LADDER Eldarax SEND %251700, Savage, 400, 390$87046, Hunter, 400%&#13;&#10;    // LADDER Eldarax SEND %&lt;w-acc&gt;,&lt;w-unit&gt;,&lt;w-maxhp&gt;,&lt;w-hp&gt;$&lt;l-acc&gt;,&lt;l-unit&gt;,&lt;l-hp&gt;%&#13;&#10;    echo &quot;LADDER Eldarax SEND %&quot;#scr_pdeath_wacc#&quot;,&quot;#scr_pdeath_wtype#&quot;,&quot;#GetMaxHealth(|#scr_pdeath_tidx|#)#&quot;,&quot;#GetHealth(|#scr_pdeath_tidx|#)#&quot;$&quot;#scr_pdeath_lacc#&quot;,&quot;#scr_pdeath_ltype#&quot;,&quot;#GetMaxHealth(|#GetScriptParam(i)|#)#&quot;%&quot;&#13;&#10;@DEATH_SKIPLADDER&#13;&#10;    Set scr_pdeath_tidx #GetIndexFromClientNum(|#scr_pdeath_stat|#)#&#13;&#10;    Set scr_pdeath_tteam #GetTeam(|#scr_pdeath_tidx|#)#&#13;&#10;&#13;&#10;    // Ally both players&#13;&#10;    AddAlliedTeam #scr_pdeath_team# #scr_pdeath_tteam#&#13;&#10;    AddAlliedTeam #scr_pdeath_tteam# #scr_pdeath_team#&#13;&#10;&#13;&#10;    Set scr_pdeath_fhp #GetHealth(|#scr_pdeath_tidx|#)#&#13;&#10;    Set scr_pdeath_ihp #Floor(|#scr_pdeath_fhp|#)#&#13;&#10;&#13;&#10;    // Reset duel vars&#13;&#10;    Set scr_cl#scr_pdeath_id#_duel -1&#13;&#10;    Set scr_cl#scr_pdeath_stat#_duel -1&#13;&#10;&#13;&#10;    // Renew both players&#13;&#10;    ExecScript _SVR_PLAYER :: RENEW #GetScriptParam(i)#&#13;&#10;    ExecScript _SVR_PLAYER :: RENEW #scr_pdeath_tidx#&#13;&#10;&#13;&#10;    // Send HP info to defeated player&#13;&#10;    Set scr_pdeath_img &quot;/ui/elements/stat_icons/total_deaths.tga&quot;&#13;&#10;    Set scr_pdeath_h &quot;You have been defeated!&quot;&#13;&#10;    Set scr_pdeath_c &quot;^y&quot;#GetClientNameFromClientNum(|#scr_pdeath_stat|#)#&quot;^* defeated you! He had ^g&quot;#scr_pdeath_ihp#&quot;^* health points remaining.&quot;&#13;&#10;    ClientExecScript #scr_pdeath_id# _CL_PLAYER :: DUELPOP_REQUEST h #scr_pdeath_h# c #scr_pdeath_c# img #scr_pdeath_img#&#13;&#10;&#13;&#10;    // Send victory info to winning player&#13;&#10;    Set scr_pdeath_img &quot;/ui/elements/stat_icons/player_damage.tga&quot;&#13;&#10;    Set scr_pdeath_h &quot;You have won the duel!&quot;&#13;&#10;    Set scr_pdeath_c &quot;You have defeated ^y&quot;#GetClientNameFromClientNum(|#scr_pdeath_id|#)#&quot;^*! You had ^g&quot;#scr_pdeath_ihp#&quot;^* health points remaining.&quot;&#13;&#10;    ClientExecScript #scr_pdeath_stat# _CL_PLAYER :: DUELPOP_REQUEST h #scr_pdeath_h# c #scr_pdeath_c# img #scr_pdeath_img#&#13;&#10;goto EOF&#13;&#10;&#13;&#10;// ***&#13;&#10;// * Login a player as admin&#13;&#10;// * @param string   pass    the login password&#13;&#10;// * @param int      id      the client id&#13;&#10;// ***&#13;&#10;@ADMIN_LOGIN&#13;&#10;    if #StringEquals(|#GetScriptParam(pass)|#,|#svr_remotePass|#)# Set VOID 1&#13;&#10;    else goto EOF&#13;&#10;&#13;&#10;    SendMessage -1 &quot;^y&quot;#GetClientNameFromClientNum(|#GetScriptParam(id)|#)#&quot;^g is now logged in as server admin!&quot;&#13;&#10;    ClientExecScript #GetScriptParam(id)# _CL_PLAYER :: ADMIN_LOGIN pass #GetScriptParam(pass)# num #svr_maxClients#  name #svr_name#&#13;&#10;goto EOF&#13;&#10;// *************************************************************** SCRIPT CODE END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT EOF ********************************************************************&#13;&#10;@EOF&#13;&#10;// *****************************************************************SCRIPT EOF END"></WorldTrigger>
  <WorldTrigger name="_TELEPORT" script="// SCRIPT HEADER *****************************************************************&#13;&#10;// DESCRIPTION: Abstract class for teleporter&#13;&#10;// CALLED BY:   Map trigger&#13;&#10;// PARAMS:      i: index&#13;&#10;// TYPE:        Server-Side, Client-Side&#13;&#10;// ************************************************************* SCRIPT HEADER END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT INIT *******************************************************************&#13;&#10;@INIT&#13;&#10;    if [scr_debug == 1] goto DEBUG&#13;&#10;goto SCRIPT&#13;&#10;// *************************************************************** SCRIPT INIT END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT DEBUG ******************************************************************&#13;&#10;@DEBUG&#13;&#10;    Echo #scr_debug_prefix#&quot;Calling script _TELEPORT&quot;&#13;&#10;goto SCRIPT&#13;&#10;// ************************************************************** SCRIPT DEBUG END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT CODE *******************************************************************&#13;&#10;@SCRIPT&#13;&#10;    if [scr_debug == 1] Echo #scr_debug_prefix#&quot;Calling method _TELEPORT::&quot;#GetScriptParam(::)#&#13;&#10;    goto #GetScriptParam(::)#&#13;&#10;goto EOF&#13;&#10;&#13;&#10;// ***&#13;&#10;// * Checks for a valid player entity and then returns to the previous method&#13;&#10;// * @param int   i   the player index&#13;&#10;// ***&#13;&#10;@CHECK_TYPE&#13;&#10;    Set hvl_csector_ptype #GetType(|#GetScriptParam(i)|#)#&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Pet_HumanWorker)# goto EOF&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Pet_BeastWorker)# goto EOF&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Pet_Imp)# goto EOF&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Pet_Bearloth)# goto EOF&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,NPC_Critter)# goto EOF&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Player_Engineer)# goto #GetScriptParam(::)#_CTPASSED&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Player_Marksman)# goto #GetScriptParam(::)#_CTPASSED&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Player_Savage)# goto #GetScriptParam(::)#_CTPASSED&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Player_Chaplain)# goto #GetScriptParam(::)#_CTPASSED&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Player_Legionnaire)# goto #GetScriptParam(::)#_CTPASSED&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Player_BatteringRam)# goto #GetScriptParam(::)#_CTPASSED&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Player_Steambuchet)# goto #GetScriptParam(::)#_CTPASSED&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Player_Conjurer)# goto #GetScriptParam(::)#_CTPASSED&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Player_Shapeshifter)# goto #GetScriptParam(::)#_CTPASSED&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Player_Hunter)# goto #GetScriptParam(::)#_CTPASSED&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Player_Shaman)# goto #GetScriptParam(::)#_CTPASSED&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Player_Predator)# goto #GetScriptParam(::)#_CTPASSED&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Player_Behemoth)# goto #GetScriptParam(::)#_CTPASSED&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Player_Tempest)# goto #GetScriptParam(::)#_CTPASSED&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Player_Malphas)# goto #GetScriptParam(::)#_CTPASSED&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Player_Devourer)# goto #GetScriptParam(::)#_CTPASSED&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Player_Maliken)# goto #GetScriptParam(::)#_CTPASSED&#13;&#10;    if #StringEquals(|#hvl_csector_ptype|#,Player_Revenant)# goto #GetScriptParam(::)#_CTPASSED&#13;&#10;goto EOF&#13;&#10;&#13;&#10;// ***&#13;&#10;// * Brings up a teleporter menu&#13;&#10;// * @param int   i   the player index&#13;&#10;// ***&#13;&#10;@ENTER&#13;&#10;    // Check for valid unit type&#13;&#10;    if #IsEntityActive(|#GetScriptParam(i)|#)# goto CHECK_TYPE&#13;&#10;goto EOF&#13;&#10;@ENTER_CTPASSED&#13;&#10;    Set scr_tp_clid #GetClientNumFromIndex(|#GetScriptParam(i)|#)#&#13;&#10;    Set scr_tp_uistat #scr_cl|#scr_tp_clid|#_duel#&#13;&#10;    Set scr_tp_utstat #scr_cl|#scr_tp_uistat|#_duel#&#13;&#10;&#13;&#10;    if [scr_tp_uistat &gt; -1] goto ENTER_CHECKDUEL&#13;&#10;    else goto ENTER_CHECKDUELPASSED&#13;&#10;goto EOF&#13;&#10;@ENTER_CHECKDUEL&#13;&#10;    // Do not enable tp during a duel&#13;&#10;    if [scr_tp_utstat == scr_tp_clid] goto ENTER_DUEL&#13;&#10;@ENTER_CHECKDUELPASSED&#13;&#10;    // Show tp destination screen&#13;&#10;    ClientExecScript #scr_tp_clid# _TELEPORT :: SELECT&#13;&#10;goto EOF&#13;&#10;@ENTER_DUEL&#13;&#10;    Set scr_tpe_img &quot;/npcs/chiprell/icon.tga&quot;&#13;&#10;    Set scr_tpe_h &quot;Why u doing this?&quot;&#13;&#10;    Set scr_tpe_c &quot;You cannot use the teleporter during a duel!&quot;&#13;&#10;    ClientExecScript #scr_tp_clid# _CL_PLAYER :: DUELPOP_INFO h #scr_tpe_h# c #scr_tpe_c# img #scr_tpe_img#&#13;&#10;goto EOF&#13;&#10;&#13;&#10;// ***&#13;&#10;// * Client-side destination menu&#13;&#10;// ***&#13;&#10;@SELECT&#13;&#10;    AllowMouseAim false&#13;&#10;    AllowMovement false&#13;&#10;    MouseHidden true false&#13;&#10;    MouseCentered true false&#13;&#10;    UIcall tp_menu &quot;SetVisible(true);&quot;&#13;&#10;goto EOF&#13;&#10;&#13;&#10;// ***&#13;&#10;// * Teleports a player&#13;&#10;// * @param int   i   the player index&#13;&#10;// * @param int   l   the teleporter id&#13;&#10;// ***&#13;&#10;@RELOCATE&#13;&#10;    Set scr_tp_exitname &quot;tp&quot;#GetScriptParam(l)#&quot;_exit&quot;&#13;&#10;    StartEffectOnObject #GetScriptParam(i)# #scr_tp_startfx#&#13;&#10;    Sleep 1000&#13;&#10;    SetPosition #GetScriptParam(i)# #GetPosX(|#scr_tp_exitname|#)# #GetPosY(|#scr_tp_exitname|#)# 0&#13;&#10;    SetToValidPosition #GetScriptParam(i)#&#13;&#10;    StartEffectOnObject #GetScriptParam(i)# #scr_tp_endfx#&#13;&#10;goto EOF&#13;&#10;// *************************************************************** SCRIPT CODE END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT EOF ********************************************************************&#13;&#10;@EOF&#13;&#10;// *****************************************************************SCRIPT EOF END"></WorldTrigger>
  <WorldTrigger name="__SCRIPTVARS" script="// SCRIPT HEADER *****************************************************************&#13;&#10;// DESCRIPTION: Initates the script vars and starts the game&#13;&#10;// CALLED BY:   maploaded&#13;&#10;// PARAMS:      none&#13;&#10;// TYPE:        Server-Side&#13;&#10;// ************************************************************* SCRIPT HEADER END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT INIT *******************************************************************&#13;&#10;@INIT&#13;&#10;    // Global vars&#13;&#10;    CreateVar int scr_active_clients 0&#13;&#10;    CreateVar int scr_max_teams 3&#13;&#10;    CreateVar int scr_max_loc 7&#13;&#10;    CreateVar int scr_max_tp 5&#13;&#10;    CreateVar int scr_max_invul 41&#13;&#10;    CreateVar int scr_spawn_loc 1&#13;&#10;    CreateVar int scr_tp_loc 1&#13;&#10;    CreateVar int scr_i 0&#13;&#10;    CreateVar int VOID 0&#13;&#10;    CreateVar string tmpstr1 &quot;&quot;&#13;&#10;    CreateVar string tmpstr2 &quot;&quot;&#13;&#10;&#13;&#10;    // Vars used in _TELEPORT&#13;&#10;    CreateVar int scr_tp_clid 0&#13;&#10;    CreateVar int scr_tp_uistat 0&#13;&#10;    CreateVar int scr_tp_utstat 0&#13;&#10;    CreateVar string scr_tpe_img &quot;&quot;&#13;&#10;    CreateVar string scr_tpe_h &quot;&quot;&#13;&#10;    CreateVar string scr_tpe_c &quot;&quot;&#13;&#10;    CreateVar string scr_tp_exitname &quot;&quot;&#13;&#10;    CreateVar float scr_tp_destz 0.0000&#13;&#10;&#13;&#10;    // Vars used in _SVR_PLAYER&#13;&#10;    CreateVar int scr_svrp_cteam 0&#13;&#10;    CreateVar int scr_svrp_lteam 0&#13;&#10;    CreateVar int scr_svrp_tnum 0&#13;&#10;    CreateVar int scr_svrp_x 0&#13;&#10;    CreateVar int scr_svrp_y 0&#13;&#10;    CreateVar int scr_pdeath_team 0&#13;&#10;    CreateVar int scr_pdeath_id 0&#13;&#10;    CreateVar int scr_pdeath_stat 0&#13;&#10;    CreateVar int scr_pdeath_tidx 0&#13;&#10;    CreateVar int scr_pdeath_tteam 0&#13;&#10;    CreateVar int scr_pdeath_ihp 0&#13;&#10;    CreateVar int scr_svrp_id 0&#13;&#10;    CreateVar int scr_svrp_uistat 0&#13;&#10;    CreateVar int scr_svrp_utstat 0&#13;&#10;    CreateVar int scr_spawn_ai 0&#13;&#10;    CreateVar int scr_spawn_maxa 0&#13;&#10;    CreateVar int scr_svrp_cui 0&#13;&#10;    CreateVar int scr_svrp_uridx 0&#13;&#10;    CreateVar int scr_svrp_urtdx 0&#13;&#10;    CreateVar int scr_svrp_urit 0&#13;&#10;    CreateVar int scr_svrp_urtt 0&#13;&#10;    CreateVar int scr_pdeath_tstat 0&#13;&#10;    CreateVar int scr_pdeath_wacc 0&#13;&#10;    CreateVar int scr_pdeath_lacc 0&#13;&#10;    CreateVar int scr_pdeath_tidx 0&#13;&#10;    CreateVar string scr_pdeath_wtype &quot;&quot;&#13;&#10;    CreateVar string scr_pdeath_ltype &quot;&quot;&#13;&#10;    CreateVar float scr_svrp_y 0.0000&#13;&#10;    CreateVar float scr_pdeath_fhp 0.0000&#13;&#10;&#13;&#10;    // Vars used in _DUEL&#13;&#10;    CreateVar int scr_duelr_tid 0&#13;&#10;    CreateVar int scr_duelr_iid 0&#13;&#10;    CreateVar int scr_duelr_tstat 0&#13;&#10;    CreateVar int scr_duelr_istat 0&#13;&#10;    CreateVar int scr_duels_tid 0&#13;&#10;    CreateVar int scr_duels_iid 0&#13;&#10;    CreateVar string scr_duelr_img &quot;&quot;&#13;&#10;    CreateVar string scr_duelr_type &quot;&quot;&#13;&#10;    CreateVar string scr_duelr_h &quot;&quot;&#13;&#10;    CreateVar string scr_duelr_c &quot;&quot;&#13;&#10;    CreateVar string scr_duels_img &quot;&quot;&#13;&#10;    CreateVar string scr_duels_h &quot;&quot;&#13;&#10;    CreateVar string scr_duels_c &quot;&quot;&#13;&#10;&#13;&#10;    // Vars used in scriptinput&#13;&#10;    CreateVar int scr_admin_login_len 0&#13;&#10;    CreateVar int scr_input_reseta 0&#13;&#10;    CreateVar int scr_input_tp 0&#13;&#10;    CreateVar string scr_admin_login &quot;&quot;&#13;&#10;    &#13;&#10;    if [scr_debug == 1] goto DEBUG&#13;&#10;goto SCRIPT&#13;&#10;// *************************************************************** SCRIPT INIT END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT DEBUG ******************************************************************&#13;&#10;@DEBUG&#13;&#10;    Echo #scr_debug_prefix#&quot;Calling script __SCRIPTVARS&quot;&#13;&#10;goto SCRIPT&#13;&#10;// ************************************************************** SCRIPT DEBUG END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT CODE *******************************************************************&#13;&#10;@SCRIPT&#13;&#10;    // Start the game&#13;&#10;    Set svr_sendStats false&#13;&#10;    startgame&#13;&#10;    Set svr_sendStats true&#13;&#10;&#13;&#10;    // Allow all abilities and spawns&#13;&#10;    Set sv_unith4x &quot;true&quot;&#13;&#10;    &#13;&#10;    // Allow team change&#13;&#10;    Set g_allowTeamChange &quot;true&quot;&#13;&#10; &#13;&#10;    // Check motd and set default if empty&#13;&#10;    Set tmpstr1 &quot;Welcome to the lobby server&quot;&#13;&#10;    Set tmpstr2 &quot;You can get started by spending your stat points in the character section of the TAB screen, and then challenge a player to a duel using your duel skill.&quot;&#13;&#10;    if #StringEquals(|#Building_Academy_Foundation|#,)# Set Building_Academy_Foundation #tmpstr1#&#13;&#10;    if #StringEquals(|#Building_Academy_GameTip|#,)# Set Building_Academy_GameTip #tmpstr2#&#13;&#10;    // Start effect on spawn locations&#13;&#10;    Set scr_i 0&#13;&#10;@LOC_EFFECT&#13;&#10;    Set scr_i [scr_i + 1]&#13;&#10;    if [scr_debug == 1] Echo #scr_debug_prefix#&quot;Adding effect to spawn&quot;#scr_i#&#13;&#10;    StartEffectOnObject spawn#scr_i# &quot;/human/props/spawnflag/effects/spawn_portal.effect&quot;&#13;&#10;    if [scr_i &lt; scr_max_loc] goto LOC_EFFECT&#13;&#10;&#13;&#10;    // Start effect on tps and register scripts&#13;&#10;    Set scr_i 0&#13;&#10;@TP_EFFECT&#13;&#10;    Set scr_i [scr_i + 1]&#13;&#10;    if [scr_debug == 1] Echo #scr_debug_prefix#&quot;Adding effect to tp&quot;#scr_i#&#13;&#10;    // Start effect&#13;&#10;    StartEffectOnObject tp#scr_i# &quot;/beast/props/spawnflag/effects/spawn_portal.effect&quot;&#13;&#10;    // Register script&#13;&#10;    RegisterEntityScript tp#scr_i#_trigger enter &quot;ExecScript _TELEPORT :: ENTER i \#GetScriptParam(index)\# id \#GetScriptParam(clientid)\#&quot;&#13;&#10;    if [scr_i &lt; scr_max_tp] goto TP_EFFECT&#13;&#10;&#13;&#10;    // Set npcs etc invulnerable&#13;&#10;    Set scr_i 0&#13;&#10;@SET_INVULNERABLE&#13;&#10;    Set scr_i [scr_i + 1]&#13;&#10;    SetInvulnerable invul#scr_i# 1&#13;&#10;    if [scr_i &lt; scr_max_invul] goto SET_INVULNERABLE&#13;&#10;goto EOF&#13;&#10;// *************************************************************** SCRIPT CODE END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT EOF ********************************************************************&#13;&#10;@EOF&#13;&#10;// *****************************************************************SCRIPT EOF END"></WorldTrigger>
  <WorldTrigger name="__SETTINGS" script="// SCRIPT HEADER *****************************************************************&#13;&#10;// DESCRIPTION: Contains the mod settings - Change at will&#13;&#10;// CALLED BY:   maploaded&#13;&#10;// PARAMS:      none&#13;&#10;// TYPE:        Server-Side&#13;&#10;// ************************************************************* SCRIPT HEADER END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT INIT *******************************************************************&#13;&#10;@INIT&#13;&#10;    // INFO&#13;&#10;    // Building_Academy_GameTip = Message of the day content&#13;&#10;    // Building_Academy_Foundation = Message of the day heading&#13;&#10;&#13;&#10;    // Debug settings&#13;&#10;    CreateVar int scr_debug &quot;0&quot;&#13;&#10;    CreateVar string scr_debug_prefix &quot;^c::SCRDEBUG:: ^y&quot;&#13;&#10;&#13;&#10;    // Network settings&#13;&#10;    Set svr_maxbps &quot;4000&quot;&#13;&#10;    Set net_maxBPS &quot;4000&quot;&#13;&#10;    Set net_maxPacketSize &quot;1300&quot;&#13;&#10;    Set net_FPS &quot;20&quot;&#13;&#10;&#13;&#10;    // Player settings&#13;&#10;    CreateVar int scr_player_joinxp &quot;6300&quot;&#13;&#10;    &#13;&#10;    // Duel settings&#13;&#10;    CreateVar int scr_duel_enabled &quot;1&quot;&#13;&#10;    CreateVar int scr_duel_slot &quot;9&quot;&#13;&#10;    CreateVar int scr_duel_usedelay &quot;0&quot;&#13;&#10;    CreateVar int scr_duel_startdelay &quot;1000&quot;&#13;&#10;    CreateVar string scr_duel_ability &quot;Spell_CommanderHeal&quot;&#13;&#10;    CreateVar string scr_duel_startfx &quot;/hellbourne/units/maliken/effects/cast_heal.effect&quot;&#13;&#10;    CreateVar string scr_duel_requestfx1 &quot;/shared/effects/electrocuted.effect&quot;&#13;&#10;    CreateVar string scr_duel_requestfx2 &quot;/shared/effects/electrocuted.effect&quot;&#13;&#10;&#13;&#10;    // Teleporter settings&#13;&#10;    CreateVar string scr_tp_startfx &quot;/shared/effects/tp_start.effect&quot;&#13;&#10;    CreateVar string scr_tp_endfx &quot;/shared/effects/tp_end.effect&quot;&#13;&#10;&#13;&#10;    // Ladder settings&#13;&#10;    CreateVar int scr_ladder_enabled &quot;1&quot;&#13;&#10;&#13;&#10;    if [scr_debug == 1] goto DEBUG&#13;&#10;goto SCRIPT&#13;&#10;// *************************************************************** SCRIPT INIT END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT DEBUG ******************************************************************&#13;&#10;@DEBUG&#13;&#10;    Echo #scr_debug_prefix#&quot;Calling script __SETTINGS&quot;&#13;&#10;goto SCRIPT&#13;&#10;// ************************************************************** SCRIPT DEBUG END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT CODE *******************************************************************&#13;&#10;@SCRIPT&#13;&#10;    &#13;&#10;goto EOF&#13;&#10;// *************************************************************** SCRIPT CODE END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT EOF ********************************************************************&#13;&#10;@EOF&#13;&#10;// *****************************************************************SCRIPT EOF END"></WorldTrigger>
  <WorldTrigger name="__TEMPLATE" script="// SCRIPT HEADER *****************************************************************&#13;&#10;// DESCRIPTION: &#13;&#10;// CALLED BY:   &#13;&#10;// PARAMS:      &#13;&#10;// TYPE:        &#13;&#10;// ************************************************************* SCRIPT HEADER END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT INIT *******************************************************************&#13;&#10;@INIT&#13;&#10;    if [scr_debug == 1] goto DEBUG&#13;&#10;goto SCRIPT&#13;&#10;// *************************************************************** SCRIPT INIT END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT DEBUG ******************************************************************&#13;&#10;@DEBUG&#13;&#10;    Echo #scr_debug_prefix#&quot;Calling script __TEMPLATE&quot;&#13;&#10;goto SCRIPT&#13;&#10;// ************************************************************** SCRIPT DEBUG END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT CODE *******************************************************************&#13;&#10;@SCRIPT&#13;&#10;    &#13;&#10;goto EOF&#13;&#10;// *************************************************************** SCRIPT CODE END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT EOF ********************************************************************&#13;&#10;@EOF&#13;&#10;// *****************************************************************SCRIPT EOF END"></WorldTrigger>
  <WorldTrigger name="activateprimary" script=""></WorldTrigger>
  <WorldTrigger name="activatesecondary" script=""></WorldTrigger>
  <WorldTrigger name="activatetertiary" script=""></WorldTrigger>
  <WorldTrigger name="activeframe" script=""></WorldTrigger>
  <WorldTrigger name="buildingplaced" script=""></WorldTrigger>
  <WorldTrigger name="buyitem" script=""></WorldTrigger>
  <WorldTrigger name="changeteam" script=""></WorldTrigger>
  <WorldTrigger name="changeunit" script="// SCRIPT HEADER *****************************************************************&#13;&#10;// DESCRIPTION: Called when a player changes his unit&#13;&#10;// CALLED BY:   Game&#13;&#10;// PARAMS:      clientid, oldindex, index, newunittype&#13;&#10;// TYPE:        Server-Side&#13;&#10;// ************************************************************* SCRIPT HEADER END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT INIT *******************************************************************&#13;&#10;@INIT&#13;&#10;    if [scr_debug == 1] goto DEBUG&#13;&#10;goto SCRIPT&#13;&#10;// *************************************************************** SCRIPT INIT END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT DEBUG ******************************************************************&#13;&#10;@DEBUG&#13;&#10;    Echo #scr_debug_prefix#&quot;Calling script playerleave&quot;&#13;&#10;goto SCRIPT&#13;&#10;// ************************************************************** SCRIPT DEBUG END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT CODE *******************************************************************&#13;&#10;@SCRIPT&#13;&#10;    ExecScript _SVR_PLAYER :: CHANGEUNIT id #GetScriptParam(clientid)# oi #GetScriptParam(oldindex)# i #GetScriptParam(index)# type #GetScriptParam(newunittype)# otype #GetScriptParam(oldunittype)#&#13;&#10;goto EOF&#13;&#10;// *************************************************************** SCRIPT CODE END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT EOF ********************************************************************&#13;&#10;@EOF&#13;&#10;// *****************************************************************SCRIPT EOF END"></WorldTrigger>
  <WorldTrigger name="endedframe" script=""></WorldTrigger>
  <WorldTrigger name="frame" script=""></WorldTrigger>
  <WorldTrigger name="gameend" script=""></WorldTrigger>
  <WorldTrigger name="gamestart" script=""></WorldTrigger>
  <WorldTrigger name="loadout" script=""></WorldTrigger>
  <WorldTrigger name="maploaded" script="// SCRIPT HEADER *****************************************************************&#13;&#10;// DESCRIPTION: Called by the game when the map has loaded&#13;&#10;// CALLED BY:   Game&#13;&#10;// PARAMS:      none&#13;&#10;// TYPE:        Server-side&#13;&#10;// ************************************************************* SCRIPT HEADER END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT INIT *******************************************************************&#13;&#10;@INIT&#13;&#10;    // Load settings&#13;&#10;    ExecScript __SETTINGS&#13;&#10;&#13;&#10;    // Load script vars&#13;&#10;    ExecScript __SCRIPTVARS&#13;&#10;&#13;&#10;    if [scr_debug == 1] goto DEBUG&#13;&#10;goto SCRIPT&#13;&#10;// *************************************************************** SCRIPT INIT END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT DEBUG ******************************************************************&#13;&#10;@DEBUG&#13;&#10;    Echo #scr_debug_prefix#&quot;Calling script maploaded&quot;&#13;&#10;goto SCRIPT&#13;&#10;// ************************************************************** SCRIPT DEBUG END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT CODE *******************************************************************&#13;&#10;@SCRIPT&#13;&#10;    &#13;&#10;goto EOF&#13;&#10;// *************************************************************** SCRIPT CODE END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT EOF ********************************************************************&#13;&#10;@EOF&#13;&#10;// *****************************************************************SCRIPT EOF END"></WorldTrigger>
  <WorldTrigger name="mapreset" script=""></WorldTrigger>
  <WorldTrigger name="mapunloaded" script=""></WorldTrigger>
  <WorldTrigger name="phasechange" script=""></WorldTrigger>
  <WorldTrigger name="placegadget" script=""></WorldTrigger>
  <WorldTrigger name="playerjoin" script="// SCRIPT HEADER *****************************************************************&#13;&#10;// DESCRIPTION: Called whenever a player joins the server&#13;&#10;// CALLED BY:   Game&#13;&#10;// PARAMS:      clientid, index&#13;&#10;// TYPE:        Server-Side&#13;&#10;// ************************************************************* SCRIPT HEADER END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT INIT *******************************************************************&#13;&#10;@INIT&#13;&#10;    &#13;&#10;    if [scr_debug == 1] goto DEBUG&#13;&#10;goto SCRIPT&#13;&#10;// *************************************************************** SCRIPT INIT END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT DEBUG ******************************************************************&#13;&#10;@DEBUG&#13;&#10;    Echo #scr_debug_prefix#&quot;Calling script playerjoin by xorc&quot;&#13;&#10;goto SCRIPT&#13;&#10;// ************************************************************** SCRIPT DEBUG END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT CODE *******************************************************************&#13;&#10;@SCRIPT&#13;&#10;    // Register the player&#13;&#10;    ExecScript _SVR_PLAYER :: REGISTER id #GetScriptParam(clientid)# acc #GetScriptParam(accountid)#&#13;&#10;    // Spawn the player&#13;&#10;    ExecScript _SVR_PLAYER :: SPAWN i #GetScriptParam(index)# u &quot;Player_Savage&quot;&#13;&#10;    // Show message of the day&#13;&#10;    Set scr_pjoin_len #StringLength(|#Building_Academy_GameTip|#)#&#13;&#10;    if [scr_pjoin_len &gt; 1] Sleep 5000&#13;&#10;    if [scr_pjoin_len &gt; 1] ClientExecScript #GetScriptParam(clientid)# _CL_PLAYER :: MOTD_POPUP h &quot;#Building_Academy_Foundation#&quot; c &quot;#Building_Academy_GameTip#&quot;&#13;&#10;goto EOF&#13;&#10;// *************************************************************** SCRIPT CODE END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT EOF ********************************************************************&#13;&#10;@EOF&#13;&#10;// *****************************************************************SCRIPT EOF END"></WorldTrigger>
  <WorldTrigger name="playerleave" script="// SCRIPT HEADER *****************************************************************&#13;&#10;// DESCRIPTION: Called when a player leaves the server&#13;&#10;// CALLED BY:   Game&#13;&#10;// PARAMS:      clientid&#13;&#10;// TYPE:        Server-Side&#13;&#10;// ************************************************************* SCRIPT HEADER END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT INIT *******************************************************************&#13;&#10;@INIT&#13;&#10;    if [scr_debug == 1] goto DEBUG&#13;&#10;goto SCRIPT&#13;&#10;// *************************************************************** SCRIPT INIT END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT DEBUG ******************************************************************&#13;&#10;@DEBUG&#13;&#10;    Echo #scr_debug_prefix#&quot;Calling script playerleave&quot;&#13;&#10;goto SCRIPT&#13;&#10;// ************************************************************** SCRIPT DEBUG END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT CODE *******************************************************************&#13;&#10;@SCRIPT&#13;&#10;    ExecScript _SVR_PLAYER :: UNREGISTER id #GetScriptParam(clientid)#&#13;&#10;goto EOF&#13;&#10;// *************************************************************** SCRIPT CODE END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT EOF ********************************************************************&#13;&#10;@EOF&#13;&#10;// *****************************************************************SCRIPT EOF END"></WorldTrigger>
  <WorldTrigger name="scriptinput" script="// SCRIPT HEADER *****************************************************************&#13;&#10;// DESCRIPTION: Called whenever a client sends &quot;scriptinput&quot; to the server&#13;&#10;// CALLED BY:   Game&#13;&#10;// PARAMS:      &#13;&#10;// TYPE:        Server-Side&#13;&#10;// ************************************************************* SCRIPT HEADER END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT INIT *******************************************************************&#13;&#10;@INIT&#13;&#10;    Set scr_admin_login #GetScriptParam(admin_login)#&#13;&#10;    Set scr_admin_login_len #StringLength(|#scr_admin_login|#)#&#13;&#10;    Set scr_input_reseta #GetScriptParam(reset_attributes)#&#13;&#10;    Set scr_input_tp #GetScriptParam(teleport)#&#13;&#10;    if [scr_debug == 1] goto DEBUG&#13;&#10;goto SCRIPT&#13;&#10;// *************************************************************** SCRIPT INIT END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT DEBUG ******************************************************************&#13;&#10;@DEBUG&#13;&#10;    Echo #scr_debug_prefix#&quot;Calling script scriptinput&quot;&#13;&#10;goto SCRIPT&#13;&#10;// ************************************************************** SCRIPT DEBUG END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT CODE *******************************************************************&#13;&#10;@SCRIPT&#13;&#10;    // Attempt admin login&#13;&#10;    if [scr_admin_login_len &gt;= 1] ExecScript _SVR_PLAYER :: ADMIN_LOGIN pass #scr_admin_login# id #GetScriptParam(clientid)#&#13;&#10;    // Reset attributes&#13;&#10;    if [scr_input_reseta == 1] ResetAttributes #GetScriptParam(index)#&#13;&#10;    // Teleport player&#13;&#10;    if [scr_input_tp &gt;= 1] ExecScript _TELEPORT :: RELOCATE i #GetScriptParam(index)# l #GetScriptParam(teleport)#&#13;&#10;goto EOF&#13;&#10;// *************************************************************** SCRIPT CODE END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT EOF ********************************************************************&#13;&#10;@EOF&#13;&#10;// *****************************************************************SCRIPT EOF END"></WorldTrigger>
  <WorldTrigger name="sellitem" script=""></WorldTrigger>
  <WorldTrigger name="setupframe" script=""></WorldTrigger>
  <WorldTrigger name="spawn" script="// SCRIPT HEADER *****************************************************************&#13;&#10;// DESCRIPTION: Called whenever a player spawns&#13;&#10;// CALLED BY:   &#13;&#10;// PARAMS:      &#13;&#10;// TYPE:        &#13;&#10;// ************************************************************* SCRIPT HEADER END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT INIT *******************************************************************&#13;&#10;@INIT&#13;&#10;    if [scr_debug == 1] goto DEBUG&#13;&#10;goto SCRIPT&#13;&#10;// *************************************************************** SCRIPT INIT END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT DEBUG ******************************************************************&#13;&#10;@DEBUG&#13;&#10;    Echo #scr_debug_prefix#&quot;Calling script spawn&quot;&#13;&#10;goto SCRIPT&#13;&#10;// ************************************************************** SCRIPT DEBUG END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT CODE *******************************************************************&#13;&#10;@SCRIPT&#13;&#10;    // Refill ammo&#13;&#10;    RefillAmmo #GetScriptParam(index)#&#13;&#10;    // Activate items and abilities&#13;&#10;    ExecScript _SVR_PLAYER :: ACTIVATE_ITEMS i #GetScriptParam(index)#&#13;&#10;goto EOF&#13;&#10;// *************************************************************** SCRIPT CODE END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT EOF ********************************************************************&#13;&#10;@EOF&#13;&#10;// *****************************************************************SCRIPT EOF END"></WorldTrigger>
  <WorldTrigger name="spellimpact" script="// SCRIPT HEADER *****************************************************************&#13;&#10;// DESCRIPTION: Called whenever a spell &quot;impacts&quot;&#13;&#10;// CALLED BY:   Game&#13;&#10;// PARAMS:      type, targetindex, index&#13;&#10;// TYPE:        Server-Side&#13;&#10;// ************************************************************* SCRIPT HEADER END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT INIT *******************************************************************&#13;&#10;@INIT&#13;&#10;    &#13;&#10;    if [scr_debug == 1] goto DEBUG&#13;&#10;goto SCRIPT&#13;&#10;// *************************************************************** SCRIPT INIT END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT DEBUG ******************************************************************&#13;&#10;@DEBUG&#13;&#10;    Echo #scr_debug_prefix#&quot;Calling script spellimpact&quot;&#13;&#10;goto SCRIPT&#13;&#10;// ************************************************************** SCRIPT DEBUG END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT CODE *******************************************************************&#13;&#10;@SCRIPT&#13;&#10;    if #StringEquals(|#GetScriptParam(type)|#,|#scr_duel_ability|#)# ExecScript _DUEL :: REQUEST t #GetScriptParam(targetindex)# i #GetScriptParam(index)#&#13;&#10;goto EOF&#13;&#10;// *************************************************************** SCRIPT CODE END&#13;&#10;// *&#13;&#10;// *&#13;&#10;// SCRIPT EOF ********************************************************************&#13;&#10;@EOF&#13;&#10;// *****************************************************************SCRIPT EOF END"></WorldTrigger>
  <WorldTrigger name="warmupframe" script=""></WorldTrigger>
  <WorldTrigger name="warmupstart" script=""></WorldTrigger>
</WorldTriggerList>
