Monster Match

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

Post by Deepu »

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

Post by Sektor2111 »

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: 571
Joined: Sat Dec 27, 2014 12:14 pm
Contact:
Status: Offline

Post by Deepu »

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

Post by Sektor2111 »

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: 571
Joined: Sat Dec 27, 2014 12:14 pm
Contact:
Status: Offline

Post by Deepu »

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

Post by Sektor2111 »

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: 571
Joined: Sat Dec 27, 2014 12:14 pm
Contact:
Status: Offline

Post by Deepu »

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

Post by Sektor2111 »

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: 571
Joined: Sat Dec 27, 2014 12:14 pm
Contact:
Status: Offline

Post by Deepu »

Fixed!

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

Post by Hook »

Yes, this is interesting mod for sure. :)
= Hook = of Hook's Unreal Tournament Place {HUTP}
HUTP Forum: http://hooksutplace.freeforums.net
HUTP Servers: http://hooksutplace.freeforums.net/page/hutp_servers

Post Reply