Is there something wrong with this...?

Arcane

You can change this now in User CP.
Reaction score
87
...or is NewGen screwing up for no reason?

Code:
function DoAlliance takes nothing returns nothing
	local integer i=0
	local player p
	loop
		set p=Player(i)
		if IsPlayerEnemy(p,Player(0)) then
			call SetPlayerAllianceStateBJ(p,Player(14),bj_ALLIANCE_ALLIED_VISION)
			call SetPlayerAllianceStateBJ(Player(14),p,bj_ALLIANCE_ALLIED_VISION)
			call SetPlayerAllianceStateBJ(p,Player(13),bj_ALLIANCE_UNALLIED)
			call SetPlayerAllianceStateBJ(Player(13),p,bj_ALLIANCE_UNALLIED)
		else
			call SetPlayerAllianceStateBJ(p,Player(13),bj_ALLIANCE_ALLIED_VISION)
			call SetPlayerAllianceStateBJ(Player(13),p,bj_ALLIANCE_ALLIED_VISION)
			call SetPlayerAllianceStateBJ(p,Player(14),bj_ALLIANCE_UNALLIED)
			call SetPlayerAllianceStateBJ(Player(14),p,bj_ALLIANCE_UNALLIED)
		endif
		exitwhen i==11
		set i=i+1
	endloop
	call SetPlayerAllianceStateBJ(Player(14),Player(13),bj_ALLIANCE_UNALLIED)
	call SetPlayerAllianceStateBJ(Player(13),Player(14),bj_ALLIANCE_UNALLIED)
endfunction

//Adds all picked units to The White Hand unit group
function AddToGroupTWH takes nothing returns nothing
    if IsUnitType(GetEnumUnit(), UNIT_TYPE_HERO) == false then
        call GroupAddUnit(udg_Team1UG, GetEnumUnit())
    endif
endfunction

//Adds all picked units to The Black Circle unit group
function AddToGroupTBC takes nothing returns nothing
    if IsUnitType(GetEnumUnit(), UNIT_TYPE_HERO) == false then
        call GroupAddUnit(udg_Team2UG, GetEnumUnit())
    endif
endfunction

//Sets The White Hand to player 13 and changes its color
function WhiteHandConvert takes nothing returns nothing
    call SetUnitOwner(GetEnumUnit(), Player(13), false)
    if IsUnitType(GetEnumUnit(), UNIT_TYPE_HERO) == false then
        call SetUnitColor(GetEnumUnit(), PLAYER_COLOR_AQUA)
    endif    
endfunction

//Sets The Black Circle to player 14 and changes its color
function BlackCircleConvert takes nothing returns nothing
    call SetUnitOwner(GetEnumUnit(), Player(14), false)
    if IsUnitType(GetEnumUnit(), UNIT_TYPE_HERO) == false then
        call SetUnitColor(GetEnumUnit(), PLAYER_COLOR_BROWN)
    endif
endfunction

function Trig_Initialization_Actions takes nothing returns nothing
  
    //Calls the functions that convert player 1 and player 6's spawned buildings to
    //neutral extra and neutral victim, also calls the functions that sets the alliance
    //settings of the forces
    set udg_Team1UG = CreateGroup()
    set udg_Team2UG = CreateGroup()
    call ForGroup( GetUnitsOfPlayerAll(Player(0)), function AddToGroupTWH)
    call ForGroup( GetUnitsOfPlayerAll(Player(6)), function AddToGroupTBC)
    call ForGroup(udg_Team1UG, function WhiteHandConvert)
    call ForGroup(udg_Team2UG, function BlackCircleConvert)
    set udg_Team1PG = GetPlayersAllies(Player(0))
    set udg_Team2PG = GetPlayersAllies(Player(6))
    call SetPlayerName(Player(13), "|cff2f4f4fThe White Hand|r")
    call SetPlayerName(Player(14), "|cff8b4513The Black Circle|r")
    call ForceAddPlayer(udg_Team1PG, Player(13))
    call ForceAddPlayer(udg_Team2PG, Player(14))
    call SetPlayerTeam(Player(13), 0)
    call SetPlayerTeam(Player(14), 6)
    call SetPlayerState(Player(13), PLAYER_STATE_ALLIED_VICTORY, 1)
    call SetPlayerState(Player(14), PLAYER_STATE_ALLIED_VICTORY, 1)
    call SetPlayerController(Player(13), MAP_CONTROL_COMPUTER)
    call SetPlayerController(Player(14), MAP_CONTROL_COMPUTER)
    call SetPlayerRacePreference(Player(14), RACE_PREF_HUMAN)
    call SetPlayerRacePreference(Player(14), RACE_PREF_UNDEAD)
    call EnableOcclusion(true)
    call GroupClear(udg_Team1UG)
    call GroupClear(udg_Team2UG)
    call ForceClear(udg_Team1PG)
    call ForceClear(udg_Team2PG)
    call DestroyGroup(udg_Team1UG)
    call DestroyGroup(udg_Team2UG)
    call DestroyForce(udg_Team1PG)
    call DestroyForce(udg_Team2PG)
endfunction

//===========================================================================
function InitTrig_Initialization takes nothing returns nothing
    set gg_trg_Initialization = CreateTrigger(  )
    call TriggerRegisterTimerEventSingle( gg_trg_Initialization, 0.00 )
    call ExecuteFunc(DoAlliance)
    call TriggerAddAction( gg_trg_Initialization, function Trig_Initialization_Actions )
endfunction


Edit: Looks like it's the DoAlliance function that's causing the problem. Because when I delete it, NewGen allows me to test map again. *figuring out problem

Edit: This is very strange. I removed the DoAlliance function and then put it back in, and this time, it tested fine, but it didn't work.
 

Arcane

You can change this now in User CP.
Reaction score
87
Player 1 (and probably his allies) aren't allied with Neutral Victim.
I suspect the same with the other team and Neutral Extra. I'll test that now.

Edit: Maybe it's something wrong with NewGen. It's bugging out on me. Not even picking out obvious errors in coding. Redownloading it I guess.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top