hmm not quite working..
iv rearanged the code many times and not got it working quite right.. im sooo close tho. atm my best version is..
Code:
function bool IsRelevant(Actor Other, out byte bSuperRelevant)
{
local int i;
if (( xPlayer(Other) != None ) && (bAllowCombo1))
{
for ( i=0; i<16; i++ )
{
if ( xPlayer(Other).ComboNameList[i] ~= "MutNightMan.Combo1" )
break;
else if ( xPlayer(Other).ComboNameList[i] == "" )
{
xPlayer(Other).ComboNameList[i] = "MutNightMan.Combo1";
break;
}
}
if (( xPlayer(Other) != None ) && (bAllowCombo2))
{
for ( i=0; i<16; i++ )
{
if ( xPlayer(Other).ComboNameList[i] ~= "MutNightMan.Combo2" )
break;
else if ( xPlayer(Other).ComboNameList[i] == "" )
{
xPlayer(Other).ComboNameList[i] = "MutNightMan.Combo2";
break;
}
}
for ( i=0; i<32; i++ )
if ( NotifyPlayer[i] == None )
{
NotifyPlayer[i] = xPlayer(Other);
SetTimer(0.5, false);
break;
}
} }
if ( NextMutator != None )
return NextMutator.IsRelevant(Other, bSuperRelevant);
else
return true;
}
this way
both set to true = both work! = good
both set to false = both don't work! = good
combo 1 on, combo 2 off = combo 1 works, combo 2 doesn't = good
combo 2 on, combo 1 off = Neither work! NOT good! 
im guessing.. combo 1 been turned off, is overlapping into combo 2, so even if it says combo 2 = true, it wont get that far because combo 1 = false..
i also tried the {} thing with the bool's as you said it kinda reads the code only if it sees a true, that code (mini version) below in case i missed somthing..
Code:
if (bAllowCombo1)
{
if ( xPlayer(Other) != None )
{
for ( i=0; i<16; i++ )
{
if ( xPlayer(Other).ComboNameList[i] ~= "MutNightMan.Combo1" )
break;
else if ( xPlayer(Other).ComboNameList[i] == "" )
{
xPlayer(Other).ComboNameList[i] = "MutNightMan.Combo1";
break;
}
}
}
that compiled fine and had the same effect as the first code above, all works except for trying to use 2nd combo and disabling first..
i tried been smart and putting in this
Code:
if (( bAllowCombo1 != true ) || (bAllowCombo1))
if (bAllowCombo2)
{
if ( xPlayer(Other) != None )
and just as i thought it didn't do a thing
im guessing.. that once the code hits the =false, it doesn't read any more code at all in that section.. so i need a way to make them separate..
ummm off topic but i guess the above code could of been written like this?
Code:
if (( bAllowCombo1 != true ) || (bAllowCombo1) && (bAllowCombo2))
/me re-reads and edits...
or even this!
if (( xPlayer(Other) != None ) && ( bAllowCombo1 != true ) || (bAllowCombo1) && (bAllowCombo2))
just wondering 
btw.. the way i tryed after Emerald's first suggests,
Code:
function bool IsRelevant(Actor Other, out byte bSuperRelevant)
{
local int i;
if ( xPlayer(Other) != None )
{
if (bAllowCombo1 == true)
{
for ( i=0; i<16; i++ )
{
if ( xPlayer(Other).ComboNameList[i] ~= "MutNightMan.Combo1" )
break;
else if ( xPlayer(Other).ComboNameList[i] == "" )
{
xPlayer(Other).ComboNameList[i] = "MutNightMan.Combo1";
break;
}
}
for ( i=0; i<32; i++ )
if ( NotifyPlayer[i] == None )
{
NotifyPlayer[i] = xPlayer(Other);
SetTimer(0.5, false);
break;
}
}
if (bAllowCombo2 == true)
{
for ( i=0; i<16; i++ )
{
if ( xPlayer(Other).ComboNameList[i] ~= "MutNightMan.Combo2" )
break;
else if ( xPlayer(Other).ComboNameList[i] == "" )
{
xPlayer(Other).ComboNameList[i] = "MutNightMan.Combo2";
break;
}
}
for ( i=0; i<32; i++ )
if ( NotifyPlayer[i] == None )
{
NotifyPlayer[i] = xPlayer(Other);
SetTimer(0.5, false);
break;
}
}
}
if ( NextMutator != None )
return NextMutator.IsRelevant(Other, bSuperRelevant);
else
return true;
}
its works for 1 combo on/off, but when with 2 you either have all off, or all on.. was a start.. my way add's "if ( xPlayer(Other) != None )" on the second combo part.. thought it might seperate them out.. it did a little...
soo the problem i have now i think.. is that the code is hitting the false on first combo, and not checking the second combo.. possible ? or no? im just trying to work out by guessing
anyone know a way around this? seems such a simple thing
Bookmarks