It's better a cleaned one as much as possible. I'm looking at that spoiler log - there is more work around that.Deepak O V wrote:We can release this version of MM or release fully fixed version?
Monster Match
- sektor2111
- Godlike
- Posts: 6418
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: Monster Match
Re: Monster Match
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.
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.
- sektor2111
- Godlike
- Posts: 6418
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: Monster Match
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 ?
- Deepu
- Adept
- Posts: 353
- Joined: Mon Nov 11, 2013 7:56 am
- Personal rank: Average
- Location: India
- Contact:
Re: Monster Match
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;
}
- sektor2111
- Godlike
- Posts: 6418
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: Monster Match
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.
- sektor2111
- Godlike
- Posts: 6418
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: Monster Match
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.
- sektor2111
- Godlike
- Posts: 6418
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: Monster Match
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 ) 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.).
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 ) 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.).
-
- Masterful
- Posts: 542
- Joined: Tue Jan 22, 2013 5:23 pm
- Personal rank: Nullified!
- Location: (X) Unable To Locate....
Re: Monster Match
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;
}
- sektor2111
- Godlike
- Posts: 6418
- Joined: Sun May 09, 2010 6:15 pm
- Location: On the roof.
Re: Monster Match
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.
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.