Code:
function Trig_GameMode_Shuffle_Conditions takes nothing returns boolean
if(udg_b_DTAX_select_game_mode_time_elapsed)then
return false
endif
return true
endfunction
function Trig_GameMode_Shuffle_Actions takes nothing returns nothing
local integer fFF=CountOfPlayersInForce(udg_f_DTAX_RedPlayers)
local integer fff=CountOfPlayersInForce(udg_f_DTAX_BluePlayers)
local integer j00=fFF+fff
local integer e88
local integer j11
local integer x
local integer y
local integer z
local player array j22
local player array j33
local integer w
local integer j44
local integer j55
local location jdd=GetRectCenter(gg_rct_SentinelHeroSpawn)
local location jDD=GetRectCenter(gg_rct_ScourgeHeroSpawn)
call DisableTrigger(gg_trg_GameMode_Shuffle)
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,20.,udg_sA_DTAX_player_textcolor_prefixes[GetPlayerId(udg_p_DTAX_GLOBAL_Server)]+GetPlayerName(udg_p_DTAX_GLOBAL_Server)+"|r"+" has chosen Shuffle Players mode. All the players will now be shuffled.")
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,20.," ")
set j44=GetPlayerState(udg_pA_DTAX_RedPlayers[1],PLAYER_STATE_RESOURCE_GOLD)+GetPlayerState(udg_pA_DTAX_RedPlayers[2],PLAYER_STATE_RESOURCE_GOLD)+GetPlayerState(udg_pA_DTAX_RedPlayers[3],PLAYER_STATE_RESOURCE_GOLD)+GetPlayerState(udg_pA_DTAX_RedPlayers[4],PLAYER_STATE_RESOURCE_GOLD)+GetPlayerState(udg_pA_DTAX_RedPlayers[5],PLAYER_STATE_RESOURCE_GOLD)
set j55=GetPlayerState(udg_pA_DTAX_BluePlayers[1],PLAYER_STATE_RESOURCE_GOLD)+GetPlayerState(udg_pA_DTAX_BluePlayers[2],PLAYER_STATE_RESOURCE_GOLD)+GetPlayerState(udg_pA_DTAX_BluePlayers[3],PLAYER_STATE_RESOURCE_GOLD)+GetPlayerState(udg_pA_DTAX_BluePlayers[4],PLAYER_STATE_RESOURCE_GOLD)+GetPlayerState(udg_pA_DTAX_BluePlayers[5],PLAYER_STATE_RESOURCE_GOLD)
set j22[1]=null
set j22[2]=null
set j22[3]=null
set j22[4]=null
set j22[5]=null
set j22[6]=null
set j22[7]=null
set j22[8]=null
set j22[9]=null
set j22[10]=null
set z=1
set w=1
set e88=1
loop
exitwhen e88>5
if(IsPlayerUser(udg_pA_DTAX_RedPlayers[e88]))then
set j22[w]=udg_pA_DTAX_RedPlayers[e88]
set w=w+1
else
set j33[z]=udg_pA_DTAX_RedPlayers[e88]
set z=z+1
endif
set e88=e88+1
endloop
set e88=1
loop
exitwhen e88>5
if(IsPlayerUser(udg_pA_DTAX_BluePlayers[e88]))then
set j22[w]=udg_pA_DTAX_BluePlayers[e88]
set w=w+1
else
set j33[z]=udg_pA_DTAX_BluePlayers[e88]
set z=z+1
endif
set e88=e88+1
endloop
set udg_pA_DTAX_RedPlayers[1]=null
set udg_pA_DTAX_RedPlayers[2]=null
set udg_pA_DTAX_RedPlayers[3]=null
set udg_pA_DTAX_RedPlayers[4]=null
set udg_pA_DTAX_RedPlayers[5]=null
set udg_pA_DTAX_BluePlayers[1]=null
set udg_pA_DTAX_BluePlayers[2]=null
set udg_pA_DTAX_BluePlayers[3]=null
set udg_pA_DTAX_BluePlayers[4]=null
set udg_pA_DTAX_BluePlayers[5]=null
set e88=1
loop
exitwhen e88>(j00/2)
set j11=GetRandomInt(1,j00)
if(j22[j11]!=null)then
set udg_pA_DTAX_RedPlayers[e88]=j22[j11]
set j22[j11]=null
set e88=e88+1
endif
endloop
set x=e88
set e88=1
loop
exitwhen e88>j00-x+1
set j11=GetRandomInt(1,j00)
if(j22[j11]!=null)then
set udg_pA_DTAX_BluePlayers[e88]=j22[j11]
set j22[j11]=null
set e88=e88+1
endif
endloop
set z=e88
set e88=x
set y=1
loop
exitwhen e88>5
set udg_pA_DTAX_RedPlayers[e88]=j33[y]
set y=y+1
set e88=e88+1
endloop
set e88=z
loop
exitwhen e88>5
set udg_pA_DTAX_BluePlayers[e88]=j33[y]
set y=y+1
set e88=e88+1
endloop
set e88=0
loop
exitwhen e88>5
set e88=e88+1
endloop
call SetPlayerTeam(udg_pA_DTAX_RedPlayers[0],0)
call SetPlayerTeam(udg_pA_DTAX_RedPlayers[1],0)
call SetPlayerTeam(udg_pA_DTAX_RedPlayers[2],0)
call SetPlayerTeam(udg_pA_DTAX_RedPlayers[3],0)
call SetPlayerTeam(udg_pA_DTAX_RedPlayers[4],0)
call SetPlayerTeam(udg_pA_DTAX_RedPlayers[5],0)
call SetPlayerTeam(udg_pA_DTAX_BluePlayers[0],1)
call SetPlayerTeam(udg_pA_DTAX_BluePlayers[1],1)
call SetPlayerTeam(udg_pA_DTAX_BluePlayers[2],1)
call SetPlayerTeam(udg_pA_DTAX_BluePlayers[3],1)
call SetPlayerTeam(udg_pA_DTAX_BluePlayers[4],1)
call SetPlayerTeam(udg_pA_DTAX_BluePlayers[5],1)
call SetupPlayerColorsAndNames()
set x=0
set y=0
loop
exitwhen x>5
loop
exitwhen y>5
call SetPlayerAllianceStateBJ(udg_pA_DTAX_RedPlayers[x],udg_pA_DTAX_RedPlayers[y],3)
call SetPlayerAllianceStateBJ(udg_pA_DTAX_BluePlayers[x],udg_pA_DTAX_BluePlayers[y],3)
call SetPlayerAllianceStateBJ(udg_pA_DTAX_RedPlayers[x],udg_pA_DTAX_BluePlayers[y],0)
call SetPlayerAllianceStateBJ(udg_pA_DTAX_BluePlayers[x],udg_pA_DTAX_RedPlayers[y],0)
set y=y+1
endloop
set y=0
set x=x+1
endloop
call ForceClear(udg_f_DTAX_RedPlayers)
call ForceClear(udg_f_DTAX_BluePlayers)
call ForceAddPlayer(udg_f_DTAX_RedPlayers,udg_pA_DTAX_RedPlayers[0])
call ForceAddPlayer(udg_f_DTAX_RedPlayers,udg_pA_DTAX_RedPlayers[1])
call ForceAddPlayer(udg_f_DTAX_RedPlayers,udg_pA_DTAX_RedPlayers[2])
call ForceAddPlayer(udg_f_DTAX_RedPlayers,udg_pA_DTAX_RedPlayers[3])
call ForceAddPlayer(udg_f_DTAX_RedPlayers,udg_pA_DTAX_RedPlayers[4])
call ForceAddPlayer(udg_f_DTAX_RedPlayers,udg_pA_DTAX_RedPlayers[5])
call ForceAddPlayer(udg_f_DTAX_BluePlayers,udg_pA_DTAX_BluePlayers[0])
call ForceAddPlayer(udg_f_DTAX_BluePlayers,udg_pA_DTAX_BluePlayers[1])
call ForceAddPlayer(udg_f_DTAX_BluePlayers,udg_pA_DTAX_BluePlayers[2])
call ForceAddPlayer(udg_f_DTAX_BluePlayers,udg_pA_DTAX_BluePlayers[3])
call ForceAddPlayer(udg_f_DTAX_BluePlayers,udg_pA_DTAX_BluePlayers[4])
call ForceAddPlayer(udg_f_DTAX_BluePlayers,udg_pA_DTAX_BluePlayers[5])
call ExecuteFunc("EnableHeroSelectionByCirclesOfPower")
call MultiboardClear(udg_mb_DTAX_game_kd_multiboard)
call TriggerExecute(gg_trg_Boards_UpdateAndDisplayMultiboard1)
set udg_b_DTAX_players_shuffled=true
set fFF=CountOfPlayersInForce(udg_f_DTAX_RedPlayers)
set fff=CountOfPlayersInForce(udg_f_DTAX_BluePlayers)
set e88=1
loop
exitwhen e88>5
if(IsPlayerUser(udg_pA_DTAX_RedPlayers[e88]))then
call SetPlayerStateBJ(udg_pA_DTAX_RedPlayers[e88],PLAYER_STATE_RESOURCE_GOLD,(3500/fFF))
call SetPlayerStateBJ(udg_pA_DTAX_RedPlayers[e88],PLAYER_STATE_RESOURCE_LUMBER,0)
call SetPlayerStateBJ(udg_pA_DTAX_RedPlayers[e88],PLAYER_STATE_RESOURCE_FOOD_CAP,5)
endif
if(IsPlayerUser(udg_pA_DTAX_BluePlayers[e88]))then
call SetPlayerStateBJ(udg_pA_DTAX_BluePlayers[e88],PLAYER_STATE_RESOURCE_GOLD,(3500/fff))
call SetPlayerStateBJ(udg_pA_DTAX_BluePlayers[e88],PLAYER_STATE_RESOURCE_LUMBER,0)
call SetPlayerStateBJ(udg_pA_DTAX_BluePlayers[e88],PLAYER_STATE_RESOURCE_FOOD_CAP,5)
endif
set e88=e88+1
endloop
call PanCameraToTimedLocForPlayer(udg_pA_DTAX_RedPlayers[1],jdd,0)
call PanCameraToTimedLocForPlayer(udg_pA_DTAX_RedPlayers[2],jdd,0)
call PanCameraToTimedLocForPlayer(udg_pA_DTAX_RedPlayers[3],jdd,0)
call PanCameraToTimedLocForPlayer(udg_pA_DTAX_RedPlayers[4],jdd,0)
call PanCameraToTimedLocForPlayer(udg_pA_DTAX_RedPlayers[5],jdd,0)
call PanCameraToTimedLocForPlayer(udg_pA_DTAX_BluePlayers[1],jDD,0)
call PanCameraToTimedLocForPlayer(udg_pA_DTAX_BluePlayers[2],jDD,0)
call PanCameraToTimedLocForPlayer(udg_pA_DTAX_BluePlayers[3],jDD,0)
call PanCameraToTimedLocForPlayer(udg_pA_DTAX_BluePlayers[4],jDD,0)
call PanCameraToTimedLocForPlayer(udg_pA_DTAX_BluePlayers[5],jDD,0)
call DestroyFogModifier(CreateFogModifierRectBJ(true,udg_pA_DTAX_RedPlayers[1],FOG_OF_WAR_MASKED,bj_mapInitialPlayableArea))
call DestroyFogModifier(CreateFogModifierRectBJ(true,udg_pA_DTAX_RedPlayers[2],FOG_OF_WAR_MASKED,bj_mapInitialPlayableArea))
call DestroyFogModifier(CreateFogModifierRectBJ(true,udg_pA_DTAX_RedPlayers[3],FOG_OF_WAR_MASKED,bj_mapInitialPlayableArea))
call DestroyFogModifier(CreateFogModifierRectBJ(true,udg_pA_DTAX_RedPlayers[4],FOG_OF_WAR_MASKED,bj_mapInitialPlayableArea))
call DestroyFogModifier(CreateFogModifierRectBJ(true,udg_pA_DTAX_RedPlayers[5],FOG_OF_WAR_MASKED,bj_mapInitialPlayableArea))
call DestroyFogModifier(CreateFogModifierRectBJ(true,udg_pA_DTAX_BluePlayers[1],FOG_OF_WAR_MASKED,bj_mapInitialPlayableArea))
call DestroyFogModifier(CreateFogModifierRectBJ(true,udg_pA_DTAX_BluePlayers[2],FOG_OF_WAR_MASKED,bj_mapInitialPlayableArea))
call DestroyFogModifier(CreateFogModifierRectBJ(true,udg_pA_DTAX_BluePlayers[3],FOG_OF_WAR_MASKED,bj_mapInitialPlayableArea))
call DestroyFogModifier(CreateFogModifierRectBJ(true,udg_pA_DTAX_BluePlayers[4],FOG_OF_WAR_MASKED,bj_mapInitialPlayableArea))
call DestroyFogModifier(CreateFogModifierRectBJ(true,udg_pA_DTAX_BluePlayers[5],FOG_OF_WAR_MASKED,bj_mapInitialPlayableArea))
if udg_b_DTAX_observer_slot_used then
set x=0
loop
exitwhen x>5
call SetPlayerAlliance(Player(0),udg_pA_DTAX_RedPlayers[x],ConvertAllianceType(0),true)
call SetPlayerAlliance(Player(0),udg_pA_DTAX_RedPlayers[x],ConvertAllianceType(4),true)
call SetPlayerAlliance(Player(0),udg_pA_DTAX_BluePlayers[x],ConvertAllianceType(0),false)
call SetPlayerAlliance(Player(0),udg_pA_DTAX_BluePlayers[x],ConvertAllianceType(4),false)
set x=x+1
endloop
endif
endfunction
function StartTrigger_GameMode_Shuffle takes nothing returns nothing
set gg_trg_GameMode_Shuffle=CreateTrigger()
call TriggerRegisterPlayerChatEvent(gg_trg_GameMode_Shuffle,udg_p_DTAX_GLOBAL_Server,"-shuffleplayers",true)
call TriggerRegisterPlayerChatEvent(gg_trg_GameMode_Shuffle,udg_p_DTAX_GLOBAL_Server,"-sp",true)
call TriggerAddCondition(gg_trg_GameMode_Shuffle,Condition(function Trig_GameMode_Shuffle_Conditions))
call TriggerAddAction(gg_trg_GameMode_Shuffle,function Trig_GameMode_Shuffle_Actions)
endfunction
function InitTrig_GameMode_Shuffle takes nothing returns nothing
endfunction
SILAHKAN MENIKMATI... ^^
Share This Thread