//TESH.scrollpos=0
//TESH.alwaysfold=0
function HeroRanks takes nothing returns nothing
local player p = Player(0)
local unit u = GetLastCreatedUnit()
local integer lvl = GetUnitAbilityLevel(u, 'A00N')
call SetPlayerName( p, rank_title[lvl] + GetPlayerName(p))
set Player_Name[GetPlayerId(p)] = GetPlayerName(p)
call DisplayTextToPlayer(GetLocalPlayer(), 0, 0, "Welcome " + ranks[lvl])
set p = null
set u = null
endfunction
Name | Type | is_array | initial_value |
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_RankInt_Actions takes nothing returns nothing
globals
real array Experience
string array ranks
string array rank_title
integer array xp
real XP_gained
string array PlayerName
string array Player_Name
integer CurrentRow
endglobals
set XP_gained = 1.00
//The rank names are set here change names only
set ranks[1] = "Private"
set ranks[2] = "Private First Class"
set ranks[3] = "Specialist"
set ranks[4] = "Corporal"
set ranks[5] = "Sergeant"
set ranks[6] = "Staff Sergeant"
set ranks[7] = "Sergeant First Class"
set ranks[8] = "Master Sergeant"
set ranks[9] = "First Sergeant"
set ranks[10] = "Sergeant Major"
set ranks[11] = "Command Sergeant Major"
set ranks[12] = "Sergeant Major of the Army"
set ranks[13] = "Second Lieutenant"
set ranks[14] = "First Lieutenant"
set ranks[15] = "Captain"
set ranks[16] = "Major"
set ranks[17] = "Lieutenant Colonel"
set ranks[18] = "Colonel"
set ranks[19] = "Brigadier General"
set ranks[20] = "Major General"
set ranks[21] = "Lieutenant General"
set ranks[22] = "General"
set ranks[23] = "General of the Army"
//here is where the title of your rank is set
set rank_title[1] = "PVT-"
set rank_title[2] = "PFC-"
set rank_title[3] = "SPC-"
set rank_title[4] = "CPL-"
set rank_title[5] = "SGT-"
set rank_title[6] = "SSG-"
set rank_title[7] = "SFC-"
set rank_title[8] = "MSG-"
set rank_title[9] = "1SG-"
set rank_title[10] = "SGM-"
set rank_title[11] = "CSM-"
set rank_title[12] = "SMA-"
set rank_title[13] = "2LT-"
set rank_title[14] = "1LT"
set rank_title[15] = "CPT-"
set rank_title[16] = "MAJ-"
set rank_title[17] = "LTC-"
set rank_title[18] = "COL-"
set rank_title[19] = "BG-"
set rank_title[20] = "MG-"
set rank_title[21] = "LTG-"
set rank_title[22] = "GEN-"
set rank_title[23] = "GA-"
//this is where you set how much experience is needed for each rank
set xp[1] = 0
set xp[2] = 20
set xp[3] = 40
set xp[4] = 60
set xp[5] = 80
set xp[6] = 100
set xp[7] = 120
set xp[8] = 140
set xp[9] = 160
set xp[10] = 180
set xp[11] = 200
set xp[12] = 220
set xp[13] = 240
set xp[14] = 260
set xp[15] = 280
set xp[16] = 300
set xp[17] = 320
set xp[18] = 340
set xp[19] = 360
set xp[20] = 380
set xp[21] = 400
set xp[22] = 450
set xp[23] = 500
call DestroyTrigger( gg_trg_RankInt)
endfunction
//===========================================================================
function InitTrig_RankInt takes nothing returns nothing
set gg_trg_RankInt = CreateTrigger( )
call TriggerAddAction( gg_trg_RankInt, function Trig_RankInt_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
constant function rankspell_id takes nothing returns integer
return 'A00N'
endfunction
function gain_xp takes nothing returns nothing
local player p = GetOwningPlayer(GetKillingUnit())
local unit u = GetKillingUnit()
local integer lvl = GetUnitAbilityLevel(u, rankspell_id())
local integer id = GetPlayerId(p)
call SetPlayerName( p, rank_title[lvl] + PlayerName[id])
set Player_Name[id] = GetPlayerName(p)
call DisplayTimedTextToPlayer(p, 0, 0, 20.00, "You have been Promoted to " + ranks[lvl])
set p = null
set u = null
endfunction
function get_xp takes nothing returns nothing
local player p = GetOwningPlayer(GetKillingUnit())
local integer level = GetUnitLevel(GetDyingUnit())
local real gained
local texttag text
set gained = XP_gained * I2R(level)
set Experience[GetPlayerId(p)] = Experience[GetPlayerId(p)] + gained
if GetLocalPlayer() == p then
set text = CreateTextTagUnitBJ( "+" + R2S(gained), GetKillingUnit(), 0, 10, 0, 0, 100, 0 )
call SetTextTagVisibility(text, true)
call SetTextTagVelocityBJ( text, 90.00, 90 )
call SetTextTagPermanent(text, false)
call SetTextTagFadepoint( text, 1 )
call SetTextTagLifespan(text, 1.5)
endif
set p = null
endfunction
function Trig_exp_gain_Actions takes nothing returns nothing
local player p = GetOwningPlayer(GetKillingUnit())
local unit u = GetKillingUnit()
local integer i = 2
call get_xp()
call TriggerExecute(gg_trg_Update1)
loop
exitwhen i > 23
if Experience[GetPlayerId(p)] == xp[i] then
call SetUnitAbilityLevel(u, rankspell_id(), i)
call gain_xp()
call TriggerExecute(gg_trg_Update1)
endif
set i = i + 1
endloop
set p = null
set u = null
endfunction
//===========================================================================
function InitTrig_exp_gain takes nothing returns nothing
set gg_trg_exp_gain = CreateTrigger( )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_exp_gain, Player(11), EVENT_PLAYER_UNIT_DEATH )
call TriggerAddAction( gg_trg_exp_gain, function Trig_exp_gain_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
constant function rankspellid takes nothing returns integer
return 'A00N'
endfunction
function gain_kill takes nothing returns nothing
local player p = GetOwningPlayer(GetKillingUnit())
local unit u = GetKillingUnit()
local integer lvl = GetUnitAbilityLevel(u, rankspellid())
local integer id = GetPlayerId(p)
call SetPlayerName( p, rank_title[lvl] + PlayerName[id])
set Player_Name[id] = GetPlayerName(p)
call DisplayTimedTextToPlayer(p, 0, 0, 20.00, "You have been Promoted to " + ranks[lvl])
set p = null
set u = null
endfunction
function get_kill takes nothing returns nothing
local player p = GetOwningPlayer(GetKillingUnit())
local real gained
set gained = 1
set Experience[GetPlayerId(p)] = Experience[GetPlayerId(p)] + gained
set p = null
endfunction
function Trig_kills_gain_Actions takes nothing returns nothing
local player p = GetOwningPlayer(GetKillingUnit())
local unit u = GetKillingUnit()
local integer i = 2
call get_kill()
call TriggerExecute(gg_trg_Update1)
loop
exitwhen i > 23
if Experience[GetPlayerId(p)] == xp[i] then
call SetUnitAbilityLevel(u, rankspellid(), i)
call gain_kill()
call TriggerExecute(gg_trg_Update1)
endif
set i = i + 1
endloop
set p = null
set u = null
endfunction
//===========================================================================
function InitTrig_kills_gain takes nothing returns nothing
set gg_trg_kills_gain = CreateTrigger( )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_kills_gain, Player(11), EVENT_PLAYER_UNIT_DEATH )
call TriggerAddAction( gg_trg_kills_gain, function Trig_kills_gain_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Untitled_Trigger_002_Actions takes nothing returns nothing
set PlayerName[0] = GetPlayerName(Player(0))
call FogEnableOff( )
call FogMaskEnableOff( )
endfunction
//===========================================================================
function InitTrig_Untitled_Trigger_002 takes nothing returns nothing
set gg_trg_Untitled_Trigger_002 = CreateTrigger( )
call TriggerAddAction( gg_trg_Untitled_Trigger_002, function Trig_Untitled_Trigger_002_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Update1_Actions takes nothing returns nothing
local integer i = 0
set CurrentRow = 2
loop
exitwhen i > 2
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 1, CurrentRow, Player_Name[i] )
call MultiboardSetItemValueBJ( GetLastCreatedMultiboard(), 2, CurrentRow, I2S(R2I(Experience[i])) )
set CurrentRow = ( CurrentRow + 1 )
set i = i + 1
endloop
endfunction
//===========================================================================
function InitTrig_Update1 takes nothing returns nothing
set gg_trg_Update1 = CreateTrigger( )
call DisableTrigger( gg_trg_Update1 )
call TriggerAddAction( gg_trg_Update1, function Trig_Update1_Actions )
endfunction