Monster Match

Discussions about coding and scripting for Unreal Tournament.
User avatar
Deepu
Site Admin
Posts: 447
Joined: Sat Dec 27, 2014 12:14 pm
Contact:
Status: Offline

Re: Monster Match

Postby Deepu » Wed Mar 09, 2016 11:29 am

I replaced the melee attack, projectile & blowup function. All are successful...

Code: Select all

ScriptWarning: MMGame MM-AncientVillage.MMGame0 (Function MMGame_v1_1.MMGame.Killed:01C5) Accessed None ScriptWarning: MMGame MM-AncientVillage.MMGame0 (Function MMGame_v1_1.MMGame.Killed:01CD) Accessed None ScriptWarning: MMGame MM-AncientVillage.MMGame0 (Function MMGame_v1_1.MMGame.Killed:02A7) Accessed None Monster is not spawning because no room (small area) ---------------------------------------------------- ScriptWarning: MM_WarLordSpawnProjectile MM-AncientVillage.MM_WarLordSpawnProjectile0 (Function MMGame_v1_1.MM_WarLordSpawnProjectile.Flying.Explode:00D5) Accessed None ScriptWarning: MM_WarLordSpawnProjectile MM-AncientVillage.MM_WarLordSpawnProjectile0 (Function MMGame_v1_1.MM_WarLordSpawnProjectile.Flying.Explode:00DD) Attempt to assigned variable through None ScriptWarning: MM_WarLordSpawnProjectile MM-AncientVillage.MM_WarLordSpawnProjectile0 (Function MMGame_v1_1.MM_WarLordSpawnProjectile.Flying.Explode:00EE) Accessed None ScriptWarning: MM_QueenBig MM-Harobed.MM_QueenBig1 (Function MMGame_v1_1.MM_Queen.AttitudeTo:003A) Accessed None ScriptWarning: MM_QueenBig MM-Harobed.MM_QueenBig1 (Function MMGame_v1_1.MM_Queen.SetEnemy:0052) Accessed None ScriptWarning: MM_QueenBig MM-Harobed.MM_QueenBig1 (Function MMGame_v1_1.MM_Queen.AttitudeTo:003A) Accessed None ScriptWarning: MM_QueenBig MM-Harobed.MM_QueenBig1 (Function MMGame_v1_1.MM_Queen.AttitudeTo:003A) Accessed None ScriptWarning: MM_QueenBig MM-Harobed.MM_QueenBig1 (Function MMGame_v1_1.MM_Queen.SetEnemy:0052) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0065) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0078) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0097) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0065) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0078) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0097) Accessed None ScriptWarning: MM_NaliRabbit MM-Harobed.MM_NaliRabbit1 (Function MMGame_v1_1.MM_NaliRabbit.SetEnemy:04D2) Accessed None ScriptWarning: MM_NaliRabbit MM-Harobed.MM_NaliRabbit2 (Function MMGame_v1_1.MM_NaliRabbit.SetEnemy:04D2) Accessed None ScriptWarning: MMSBServerActor MM-Harobed.MMSBServerActor0 (Function MMGame_v1_1.MMSBServerActor.Timer:015D) Accessed None ScriptWarning: MMSBServerActor MM-Harobed.MMSBServerActor0 (Function MMGame_v1_1.MMSBServerActor.Timer:0165) Attempt to assigned variable through None ScriptWarning: MMSBServerActor MM-Harobed.MMSBServerActor0 (Function MMGame_v1_1.MMSBServerActor.Timer:015D) Accessed None ScriptWarning: MMSBServerActor MM-Harobed.MMSBServerActor0 (Function MMGame_v1_1.MMSBServerActor.Timer:0165) Attempt to assigned variable through None ScriptWarning: MMSBServerActor MM-Harobed.MMSBServerActor0 (Function MMGame_v1_1.MMSBServerActor.Timer:015D) Accessed None ScriptWarning: MM_NaliWarrior MM-Harobed.MM_NaliWarrior0 (Function MMGame_v1_1.NaliWarrior.Killed:0027) Accessed None ScriptWarning: MM_NaliWarrior MM-Harobed.MM_NaliWarrior1 (Function MMGame_v1_1.NaliWarrior.Killed:0027) Accessed None ScriptWarning: MM_NaliWarrior MM-Harobed.MM_NaliWarrior0 (Function MMGame_v1_1.NaliWarrior.Killed:0027) Accessed None ScriptWarning: MM_NaliWarrior MM-Harobed.MM_NaliWarrior2 (Function MMGame_v1_1.NaliWarrior.Killed:0027) Accessed None ScriptWarning: MM_NaliWarrior MM-Harobed.MM_NaliWarrior1 (Function MMGame_v1_1.NaliWarrior.Killed:0027) Accessed None ScriptWarning: MM_NaliWarrior MM-Harobed.MM_NaliWarrior0 (Function MMGame_v1_1.NaliWarrior.Killed:0027) Accessed None

Sektor2111
Novice
Posts: 11
Joined: Sat Feb 27, 2016 6:39 pm
Status: Offline

Re: Monster Match

Postby Sektor2111 » Thu Mar 10, 2016 10:31 pm

Function Killed needs a main Wrapper + tiny sub-checks something like
If (killer != None)
...
if Killer.PlayerReplicationInfo != None

else - means No killer, etc.
I'll look at this

ScriptWarning: MM_WarLordSpawnProjectile MM-AncientVillage.MM_WarLordSpawnProjectile0 (Function MMGame_v1_1.MM_WarLordSpawnProjectile.Flying.Explode:00D5) Accessed None
ScriptWarning: MM_WarLordSpawnProjectile MM-AncientVillage.MM_WarLordSpawnProjectile0 (Function MMGame_v1_1.MM_WarLordSpawnProjectile.Flying.Explode:00DD) Attempt to assigned variable through None
ScriptWarning: MM_WarLordSpawnProjectile MM-AncientVillage.MM_WarLordSpawnProjectile0 (Function MMGame_v1_1.MM_WarLordSpawnProjectile.Flying.Explode:00EE) Accessed None
Checking...

I see there "s"
s = Spawn(class'MM_warlordspawnProjectileB',,,HitLocation+HitNormal*9);
LIKE I said, if you spawn something ALL later calls to "s" must be under "if (s !=None)
{ Lot of stuff; }"
Also "s.Instigator = Self.Instigator". Veeery Un-Healthy

Perhaps assign something relevant
"if (Self.Instigator != None)
s.Instigator = Self.Instigator;"

I'm not sure if this Instigator is not propagated already but if this code is used it should be sanitized as above.

Queen > Bad pawn if code is original
Queen hates someone. That someone can be killed - AttitudeTo = .... very nasty - can even freeze game at a moment.
Must define attitude properly
Even something funny like "if ( Other == None || Other.bDeleteMe ) return ATTITUDE_Ignore" can prevent troubles. Must take in account pawns dying or leaving stage.
I'll do other checks later with that SetEnemy.

User avatar
Deepu
Site Admin
Posts: 447
Joined: Sat Dec 27, 2014 12:14 pm
Contact:
Status: Offline

Re: Monster Match

Postby Deepu » Fri Mar 11, 2016 2:05 am

I tried this codes but the log comes again if team changed or died players & bots..

Code: Select all

if ( ( Killer.PlayerReplicationInfo != None ) && (Other.IsA('MM_Fly')) ) { if (mm_fly(other).bzombie) { killer.PlayerReplicationInfo.Score += -1; } else { killer.PlayerReplicationInfo.Score += mm_fly(other).scorevalue; } }
Logs comes again if Monster not spawned.

Code: Select all

if (s !=None) s = Spawn(class'MM_warlordspawnProjectileB',,,HitLocation+HitNormal*9); if (self.ownerteamprojectile == 0) { if ( !corrupted ) { Spawn(class'RedMonsterSpawnEffect',,,HitLocation+HitNormal*9); Spawn(class'MMredballExplosion',,,HitLocation+HitNormal*9); if (Self.Instigator != None) s.Instigator = Self.Instigator; s.ownerteamprojectile = self.ownerteamprojectile; }

Sektor2111
Novice
Posts: 11
Joined: Sat Feb 27, 2016 6:39 pm
Status: Offline

Re: Monster Match

Postby Sektor2111 » Sun Mar 13, 2016 12:52 am

So, you look like don't understand code sanity checker... Killer, killer, killer.... WHAT killer ?
If (KILLER != NONE) //IF EXIST a KILLER which is NOT a NONE
{
if (Killer.PlayerReplicationInfo != None)
{
......
}
}

Then
s = Spawn(class'MM_warlordspawnProjectileB',,,HitLocation+HitNormal*9); //TRY SPAWN
if (s != None)
//DO CHECK if SPAWNED
{
s.something;
s.otherthing;
}

User avatar
Deepu
Site Admin
Posts: 447
Joined: Sat Dec 27, 2014 12:14 pm
Contact:
Status: Offline

Re: Monster Match

Postby Deepu » Sun Mar 13, 2016 12:41 pm

Done!

Code: Select all

ScriptWarning: MMGame MM-Harobed.MMGame0 (Function Botpack.DeathMatchPlus.Killed:040B) Accessed None ScriptWarning: MMGame MM-Harobed.MMGame0 (Function Botpack.DeathMatchPlus.Killed:040B) Accessed None ScriptWarning: MMGame MM-Harobed.MMGame0 (Function Botpack.DeathMatchPlus.Killed:040B) Accessed None ScriptWarning: MMGame MM-Harobed.MMGame0 (Function Botpack.DeathMatchPlus.Killed:040B) Accessed None ScriptWarning: MMGame MM-Harobed.MMGame0 (Function Botpack.DeathMatchPlus.Killed:040B) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0065) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0078) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0097) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0065) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0078) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0097) Accessed None ScriptWarning: MM_NaliWarrior MM-Harobed.MM_NaliWarrior2 (State MMGame_v1_1.NaliWarrior.Retreating:0242) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0065) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0078) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0097) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0065) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0078) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0097) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0065) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0078) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0097) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0065) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0078) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0097) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0065) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0078) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0097) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0065) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0078) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0097) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0065) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0078) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0097) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0065) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0078) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0097) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0065) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0078) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function UnrealShare.BabyCow.Grazing.PickDestination:0097) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0065) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0078) Accessed None ScriptWarning: MM_BabyCow MM-Harobed.MM_BabyCow0 (Function MMGame_v1_1.MM_BabyCow.Grazing.PickDestination:0097) Accessed None

Sektor2111
Novice
Posts: 11
Joined: Sat Feb 27, 2016 6:39 pm
Status: Offline

Re: Monster Match

Postby Sektor2111 » Sun Mar 13, 2016 6:34 pm

BabyCow according to internal code suggestions is far from being an actor for mapping - DESTROY it or do replacement with Mature COW instead - BabyCow try to follow "COW-Mother" which doesn't exist - BAD mapping.

Code: Select all

ScriptWarning: MMGame MM-Harobed.MMGame0 (Function Botpack.DeathMatchPlus.Killed:040B) Accessed None
"Killed" code should be rewritten and then sending call to GameInfo without BotPack. BotPack is not a friend of monsters so quit using Super.Killed(....) because you'll need Super(GameInfo).Killed(....) and only for valid PlayerReplicationInfo stuff >
"Other.PlayerReplicationInfo != None"
"Killer.PlayerReplicationInfo != None"
Else stuff calling bIsPlayer will spread these trash sequences because BotPack won't work well with creatures (sometimes not even Engine). When code says "Super" just copy and fix "Killed" from that Parent class and skip it.
Look at that MH2 how looks "killed" - however I might forgot "SpecialDamage" which I have added Later.

User avatar
Deepu
Site Admin
Posts: 447
Joined: Sat Dec 27, 2014 12:14 pm
Contact:
Status: Offline

Re: Monster Match

Postby Deepu » Sun Mar 13, 2016 11:48 pm

Not bad mapping...
I added MM_Cow also in that map.
Mabe this cause error?

Code: Select all

function PickDestination() { if ( Mom == None ) Super.PickDestination(); if ( !LineOfSightTo(mom) ) { MoveTarget = FindPathToward(mom); if ( MoveTarget != None ) { Destination = MoveTarget.Location; return; } } if (ScaryGuy != None) Destination = mom.Destination - 2 * mom.CollisionRadius * Normal(ScaryGuy.Location - mom.Destination); else Destination = mom.Destination; }

Sektor2111
Novice
Posts: 11
Joined: Sat Feb 27, 2016 6:39 pm
Status: Offline

Re: Monster Match

Postby Sektor2111 » Tue Mar 15, 2016 5:35 am

Of course is bad mapping. Take a look at "BabyCow.uc"

Code: Select all

//============================================================================= // BabyCow. // Don't add to world directly. Rather, set bHasBaby of an adult cow. //=============================================================================
Where is "mom" for that lost BabyCow ? In imagination, and then Accessed None - bad config.

User avatar
Deepu
Site Admin
Posts: 447
Joined: Sat Dec 27, 2014 12:14 pm
Contact:
Status: Offline

Re: Monster Match

Postby Deepu » Tue Mar 15, 2016 2:06 pm

Fixed!

Hook
Novice
Posts: 7
Joined: Wed Mar 14, 2018 4:24 am
Status: Offline

Re: Monster Match

Postby Hook » Sun Apr 15, 2018 2:04 am

Yes, this is interesting mod for sure. :)


Return to “Coding & Scripting”

Who is online

Users browsing this forum: No registered users and 1 guest