Monster Match

Discussions about GameTypes
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Monster Match

Post by sektor2111 »

Deepak O V wrote:We can release this version of MM or release fully fixed version?
It's better a cleaned one as much as possible. I'm looking at that spoiler log - there is more work around that.
User avatar
Deepu
Adept
Posts: 350
Joined: Mon Nov 11, 2013 7:56 am
Personal rank: Average
Location: India
Contact:

Re: Monster Match

Post by Deepu »

OK...
User avatar
Rakiayn
Masterful
Posts: 550
Joined: Fri Aug 28, 2009 3:33 pm

Re: Monster Match

Post by Rakiayn »

Hi,

I see you guys took an interest to my monstermatch project.
I would like to warn you, the code is a mess (to put it lightly). at that time I was not very good in coding.
As for any code of the project, I think I lost it but I am not sure. I will check to see if I still have it it might help you.
User avatar
Deepu
Adept
Posts: 350
Joined: Mon Nov 11, 2013 7:56 am
Personal rank: Average
Location: India
Contact:

Re: Monster Match

Post by Deepu »

Thank you!
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Monster Match

Post by sektor2111 »

In this context as I can undertand so far, Monsters spawned are a kind of projectiles, at least they looks like that. If they are killed, they are leaving stage. THEN... why do they need score or something like this. Simply Instigator or Owner has to be rewarded, the rest seems pointless + player killing own monster (because was killed by another entity - doesn't make sense). Mod can be improved for sure without trobbles even if primary code is not exactly a high-tech, things are fixable. Anyone else involved in participation ?
User avatar
Deepu
Adept
Posts: 350
Joined: Mon Nov 11, 2013 7:56 am
Personal rank: Average
Location: India
Contact:

Re: Monster Match

Post by Deepu »

Code: Select all

function bool CheckReplacement(Actor Other, out byte bSuperRelevant)
{
//================================================================================
// Monsters
//================================================================================

		if ( Other.IsA('BaseQueenRed') )
		{
			ReplaceWith( Other, "MMGame.MM_BaseQueenRed" );
			return false;
		}
		if ( Other.IsA('BaseQueenBlue') )
		{
			f.destroy();
			ReplaceWith( Other, "MMGame.MM_BaseQueenBlue" );
			return false;
		}
		if ( Other.IsA('BehemothRed') )
		{
			ReplaceWith( Other, "MMGame.MM_BehemothRed" );
			return false;
		}
		if ( Other.IsA('BehemothBlue') )
		{
			ReplaceWith( Other, "MMGame.MM_BehemothBlue" );
			return false;
		}
		if ( Other.IsA('LesserBruteRed') )
		{
			ReplaceWith( Other, "MMGame.MM_LesserBruteRed" );
			return false;
		}
		if ( Other.IsA('LesserBruteBlue') )
		{
			ReplaceWith( Other, "MMGame.MM_LesserBruteBlue" );
			return false;
		}
		if ( Other.IsA('BruteRed') )
		{
			ReplaceWith( Other, "MMGame.MM_BruteRed" );
			return false;
		}
		if ( Other.IsA('BruteBlue') )
		{
			ReplaceWith( Other, "MMGame.MM_BruteBlue" );
			return false;
		}
		if ( Other.IsA('MercenaryRed') )
		{
			ReplaceWith( Other, "MMGame.MM_MercenaryRed" );
			return false;
		}
		if ( Other.IsA('MercenaryBlue') )
		{
			ReplaceWith( Other, "MMGame.MM_MercenaryBlue" );
			return false;
		}
		if ( Other.IsA('MercenaryEliteRed') )
		{
			ReplaceWith( Other, "MMGame.MM_MercenaryEliteRed" );
			return false;
		}
		if ( Other.IsA('MercenaryEliteBlue') )
		{
			ReplaceWith( Other, "MMGame.MM_MercenaryEliteBlue" );
			return false;
		}
		if ( Other.IsA('SkaarjBerserkerRed') )
		{
			ReplaceWith( Other, "MMGame.MM_SkaarjBerserkerRed" );
			return false;
		}
		if ( Other.IsA('SkaarjBerserkerBlue') )
		{
			ReplaceWith( Other, "MMGame.MM_SkaarjBerserkerBlue" );
			return false;
		}

	bSuperRelevant = 0;
	return true;
}
This replacement is right way for monsters?
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Monster Match

Post by sektor2111 »

If new monsters shown are not telefragging old monsters (ScriptedPawn doesn't do this then except Queen) then you only destroy old monster replacing it with nothing. In order to bring new creature you have to disable collision from older first. LIKE I said, in MH2 is shown "How To" even replace a monster but you said it's nothing for MM there. Okay, rewrite codes then.
User avatar
Deepu
Adept
Posts: 350
Joined: Mon Nov 11, 2013 7:56 am
Personal rank: Average
Location: India
Contact:

Re: Monster Match

Post by Deepu »

That code is very difficult to replace monsters. You have other replacing code?
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Monster Match

Post by sektor2111 »

Replacing code is not based on 3 lines. I have wasted time to develop that and you can use it as it is. I'm really feel tired to work the same things again since are already done. Function used is ReplaceMonster that one replaces creatures from inside Level. The rest of spawned things are a separate job.
User avatar
Deepu
Adept
Posts: 350
Joined: Mon Nov 11, 2013 7:56 am
Personal rank: Average
Location: India
Contact:

Re: Monster Match

Post by Deepu »

Please give me some examples...
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Monster Match

Post by sektor2111 »

MonsterHunt2 which I sent you, class MonsterBasePlus aka BaseMutator, function used is CheckReplacement.
In CheckReplacement are used 3 things:
ReplaceWith - rewritten in 2013-2014-2015;
ReplaceWithOther - written for replacements attempting to clone stuff - Inventories (if a health looks like a hat then replacement will attempt original design) and completed many times.
ReplaceMonster - written inspired from some Ecoop at advice and completed with other things in purpose to gain a perfect clone (yea I know, in some countries cloning life is illegal but this happens only in PC :mrgreen: ) also completed dependant on stuff that has to be replaced - Not for Skaarj, because of a logic timing issue and than one needs a special consideration - but it's doable.

Another codes as "Virtualization" for slowing down PawnList load is not in public yet (I have to fully enjoy it first before spreading it) that might not help MM only if you want special prototypes with special features (Mover addons, Attack tweaking, Attitude fixation, RateSelf addons, ect.).
Spectra
Masterful
Posts: 542
Joined: Tue Jan 22, 2013 5:23 pm
Personal rank: Nullified!
Location: (X) Unable To Locate....

Re: Monster Match

Post by Spectra »

Maybe this can replace the monsters??

Code: Select all

if ( Other.IsA('BaseQueenRed') )
{
Other.SetCollision(false,false,false);
ReplaceWith( Other, "MMGame.MM_BaseQueenRed" );
return false;
}
User avatar
Deepu
Adept
Posts: 350
Joined: Mon Nov 11, 2013 7:56 am
Personal rank: Average
Location: India
Contact:

Re: Monster Match

Post by Deepu »

Rocky its works perfectly you are great. But how I replace orders, ordertag?
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Monster Match

Post by sektor2111 »

I feel like I wasting my time. DID ANY of you have seen default ReplaceWith ? Is coying Event and TAG and it's done for INVENTORIES in purpose. You NEED ANOTHER SORT of trash if you want monsters replaced able to copy Skin, Mesh, Orders, OrderTag, RangedProjectiles, Drawscale + Collision, Speed (any), Aggressiveness, AlarmTag, Animation... and all monster's related shite which won't work with default RETARDED "ReplaceWith". I gave you codes and you cannot copy them ? You are amazing...

ReplaceWith located in Engine.Mutator (not gameinfo):
- If Inventory is marked part of Level is replaced with a new thing transferring pathing data if new actor is an Inventory too - THIS is not for a monster;
- If is not part of Level marked, then is considered held by a pawn. Total trash goes here because:
a) We have Pawn with stuff DropWhenKilled which is not held, is dropped and doesn't have any Marker;
b) We have Decorations with content. This content replaced in this way won't respawn messing up Level;
c) We have Weapon Spawned by a Pawn Weapon-Holder - which with a default Level speed initialization will properly mess up Pawn in slow controllers and loaded timers (bad regenerators) - somehow I have a better deal here No Kidding;
d) Other kind of Spawn - nasty to predict what stuff is producing and how.
YOU HAVE to rewrite these sort of manure from engine else you won't have your desired quality.
How many people are replacing stuff properly ? A few people, the rest have all crappy mutators as WC stuff (flush it properly). Replacing stuff as default examples is good for Trash-Box.

Pawn replacement might use 2 ways: Level by setting up things with a delay waiting Pawn to get physics and all stuff, attacking All Actors spawners to spawn stuff replaced directly.

If you want a HighTech MM game you should reconsider all these factors and do the job properly. Replace default stuff with yours NOT destroying is the answer forcing mappers to split hair.

I haven't written that ReplaceMonster because of fun or because I was on drugs. It's because you mock all Level's setup if data from old creature is not transferred to new creature. For sure your game needs that, mapper having job to setup level WITHOUT MM package loaded. It's controller job to swap stuff - even if you can think at using some MH Level not special mapping, only Cubes, Paths, Monster, Weapons and all job has to be operated by MM controller.
User avatar
Deepu
Adept
Posts: 350
Joined: Mon Nov 11, 2013 7:56 am
Personal rank: Average
Location: India
Contact:

Re: Monster Match

Post by Deepu »

Post updated

viewtopic.php?f=4&t=5916

also test server is deleted

Join here = 146.0.32.72:7777
Post Reply