Alrite ppl im back again with more questions.
I got my cool player class JMPlayer and i already set it to start into a specific map, also with custom Skillspoints. but now i got this prob, how i make to start it but with custom augs. I made these 3 Custom augs just for testing. SuperAugBallistic,SuperAugVision,SuperAugSpeed
so all of this are customize augs. but now my question, what command i need to put'em on the start, or i gotta to add something on my player class, or its the augmentationmanager ? i don't got any idea about this. also,
I played the cassandra mod and it has two initial augs and i check the PlayerClass ( Don't have anything related to augs Exectpy the SubSystem ) And the augmentationmanager say something about default augs, so i create my NewAugmentationManager. but isn't working, or my player ain't reconising my custom augmentationManager, such i created a medicalbot to see if at least i can set it on by that, but its still useuless LOL. this is friken hard.
How to start with Custom Augmentations[Fixed]
Re: How to start with Custom Augmentations[Fixed]
Well i think i was rigth on this. to get some Default Augs at the beggining of the game you just need to set it on the DefaultAugs On properties here's the code for you guyz, based from the Cassandra AugmentationManager.uc
its just question of changing the part that says SuperAug**** for the want you want to start it and select it after on the default properties remember to put it in both parts. (Code up from default properties and also on properties)
hope this was helpful
Code: Select all
class NewAugmentationManager expands AugmentationManager;
// added so we can have more starting augmentations
var Class<Augmentation> moreDefaultAugs[15];
var float StrengthLevel;
var float SpeedLevel;
var float ArmourLevel;
// Overriden to apply both sets of default augs
function AddDefaultAugmentations()
{
local int augIndex;
for(augIndex=0; augIndex<arrayCount(defaultAugs); augIndex++)
{
if (defaultAugs[augIndex] != None)
GivePlayerAugmentation(defaultAugs[augIndex]);
}
for(augIndex=0; augIndex<arrayCount(moreDefaultAugs); augIndex++)
{
if (moreDefaultAugs[augIndex] != None)
GivePlayerAugmentation(moreDefaultAugs[augIndex]);
}
}
function Augmentation GivePlayerAugmentation(Class<Augmentation> giveClass)
{
local Augmentation anAug;
// Checks to see if the player already has it. If so, we want to
// increase the level
anAug = FindAugmentation(giveClass);
if (anAug == None)
return None; // shouldn't happen, but you never know!
if (anAug.bHasIt)
{
anAug.IncLevel();
return anAug;
}
if (AreSlotsFull(anAug))
{
Player.ClientMessage(AugLocationFull);
return anAug;
}
anAug.bHasIt = True;
if (anAug.bAlwaysActive)
{
anAug.bIsActive = True;
anAug.GotoState('Active');
}
else
{
anAug.bIsActive = False;
}
// Manage our AugLocs[] array
AugLocs[anAug.AugmentationLocation].augCount++;
// Assign hot key to new aug
// (must be after before augCount is incremented!)
if (Level.NetMode == NM_Standalone)
anAug.HotKeyNum = AugLocs[anAug.AugmentationLocation].augCount + AugLocs[anAug.AugmentationLocation].KeyBase;
else
anAug.HotKeyNum = anAug.MPConflictSlot + 2;
if ((!anAug.bAlwaysActive) && (Player.bHUDShowAllAugs))
Player.AddAugmentationDisplay(anAug);
return anAug;
}
// this function returns the level of the aug (0, 1, 2, 3)
simulated function int GetClassLevel(class<Augmentation> augClass)
{
local Augmentation anAug, anotherAug;
anAug = FirstAug;
if ((augClass.Name == 'AugMuscle') || (augClass.Name == 'AugBallistic'))
{
anotherAug = FirstAug;
while(anotherAug != None)
{
if (anotherAug.IsA('SuperAugBallistic') && anotherAug.bHasIt &&
anotherAug.bIsActive)
{
return StrengthLevel;
// would rather return below line but can't for the moment as our level is 0
// return GetClassLevel(AugCloak);
}
anotherAug = anotherAug.next;
}
return -1;
}
// --------------------------------------------------------------------
// TCP - eperdu - 14/01/2000
//corrected by Tim 10/3/01
if (augClass.Name == 'SuperAugSpeed')
{
anotherAug = FirstAug;
while(anotherAug != None)
{
if (anotherAug.IsA('SuperAugSpeed') && anotherAug.bHasIt &&
anotherAug.bIsActive)
{
return SpeedLevel;
// would rather return below line but can't for the moment as our level is 0
// return GetClassLevel(SuperAugSpeed);
}
anotherAug = anotherAug.next;
}
return -1;
}
// --------------------------------------------------------------------
//Tim 11/3/01
if (augClass.Name == 'SuperAugBallistic')
{
anotherAug = FirstAug;
while(anotherAug != None)
{
if (anotherAug.IsA('SuperAugBallistic') && anotherAug.bHasIt &&
anotherAug.bIsActive)
{
return ArmourLevel;
// would rather return below line but can't for the moment as our level is 0
// return GetClassLevel(SuperAugBallistic);
}
anotherAug = anotherAug.next;
}
return -1;
}
// --------------------------------------------------------------------
while(anAug != None)
{
if (anAug.Class == augClass)
{
if (anAug.bHasIt && anAug.bIsActive)
return anAug.CurrentLevel;
}
anAug = anAug.next;
}
return -1;
}
// this function returns the VALUE of an aug, which is a float number corresponding to the level
simulated function float GetAugLevelValue(class<Augmentation> AugClass)
{
local Augmentation anAug, anotherAug;
local float retval;
retval = 0;
// --------------------------------------------------------------------
// TCP - eperdu - 14/01/2000
//corrected by Tim 10/3/01
if ((augClass.Name == 'SuperAugVision') || (augClass.Name == 'SuperAugVision'))
{
anotherAug = FirstAug;
while(anotherAug != None)
{
if (anotherAug.IsA('SuperAugVision') && anotherAug.bHasIt &&
anotherAug.bIsActive)
{
return GetAugLevelValue(class'SuperAugVision');
}
anotherAug = anotherAug.next;
}
return -1.0;
}
// --------------------------------------------------------------------
anAug = FirstAug;
while(anAug != None)
{
if (anAug.Class == augClass)
{
if (anAug.bHasIt && anAug.bIsActive)
return anAug.LevelValues[anAug.CurrentLevel];
else
return -1.0;
}
anAug = anAug.next;
}
return -1.0;
}
defaultproperties
{
moreDefaultAugs(0)=Class'SuperAugBallistic'
moreDefaultAugs(1)=Class'SuperAugVision'
moreDefaultAugs(2)=Class'SuperAugSpeed'
StrengthLevel=3.00
SpeedLevel=2.00
ArmourLevel=3.00
augClasses(0)=Class'AugLight'
augClasses(1)=Class'AugDatalink'
augClasses(2)=Class'AugPhysio'
augClasses(3)=Class'SuperAugSpeed'
augClasses(4)=Class'AugStrength'
augClasses(5)=Class'AugHyper'
augClasses(6)=Class'SuperAugBallistic'
augClasses(7)=Class'SuperAugVision'
augClasses(8)=Class'SuperAugSpeed'
augClasses(9)=None
augClasses(10)=None
augClasses(11)=None
augClasses(12)=None
augClasses(13)=None
augClasses(14)=None
augClasses(15)=None
augClasses(16)=None
augClasses(17)=None
augClasses(18)=None
augClasses(19)=None
augClasses(20)=None
defaultAugs(0)=Class'SuperAugBallistic'
defaultAugs(1)=Class'SuperAugVision'
defaultAugs(2)=Class'SuperAugSpeed'
NoAugInSlot="You do not have any such augmentation."
}
hope this was helpful