I will not claim that a new Soccer will be perfect but it might go improved if actors mapped have a different execution. Another package will have a few fixes, the most of fixes won't be possible without a new architecture. With a new architecture we cannot have a conformed package compatible with original but some fine tuning is better than nothing.
First condition is checking all dependent files/packages. New package does need the same way else we might have "forged object" at random. For a clean and a valid package probably the best way is working with a text editor not UT's Editor, and we have to gain source-code or something like an original source-code.
In my bits of free time I'll drop a hand in here - probably a conformed soccer will need another stuff based on it (like I did with Chaos) in order to gain more fixing.
Definitely controller has no definition for Bot Attitude (they attempt to fight each-other), I don't see the null weapon load for preventing Bot to do garbage, it's really poorly coded and those adds will screw up compatibility with old version so it needs a child game firing up the stage.
Higor wrote:
You need to work around it, while at the same time shutting down the game-affecting code in the original zone infos.
Umm, while a MH map has a MonsterWaypoint. That code is executed... depending on who did the package. Higor said that is a trigger, sektor2111 said that is a keypoint but reacting different, Shrimp said that is a keypoint but... poorly coded without a simple wrapper turning MH Bot attack into a messed up junk. That's the point, actor there is reacting depending on what package is saying because that zone is not a stock one is mapped from Soccer package and this Soccer can be other thing, another package with a code running other stuff. As other sample some coder said that predator is a monster, other one said that predator is a player, imagine what happened, crashing a Linux 436 server while predator player joined into a predator monster server - an exploit based on too much development addiction...
Of course the ball can check where is located each tick but... I think there are other solutions as well. Getting rid of a zone is a very last thing which I would do, first I would need to test other solutions before trying to inject a new zone in an already done zone - a mapped zone, never supposed to be deleted.
EDIT: I got source-code. So far Game happily ends correctly if has a deal with game itself not TeamGamePlus as follows:
Code: Select all
/*
THIS IS TEAMGAMEPLUS and not other jokes
if ( (bOverTime || (GoalTeamScore > 0)) && Killer.bIsPlayer
&& (Teams[killer.PlayerReplicationInfo.Team].Score >= GoalTeamScore) )
EndGame("teamscorelimit");
*/
if ( SoccerMatch(Level.Game) != None )
{
if ( SoccerMatch(Level.Game).bOverTime || ( SoccerMatch(Level.Game).GoalTeamScore > 0
&& Scorer != None && Scorer.PlayerReplicationInfo != None
&& SoccerMatch(Level.Game).Teams[Scorer.PlayerReplicationInfo.Team].Score >= SoccerMatch(Level.Game).GoalTeamScore ) )
SoccerMatch(Level.Game).EndGame("teamscorelimit");
else
Level.Game.SetTimer(0, False);
}
Not gonna waste time with Monsters here... On-Line, with that null weapon, MBot goes in aiming position doing nothing interesting. And that's all...
Edit2:
Finally I got something - Soccer Gen2 tested in a LAN server with reduced simulations because... were USELESS is working with no issues + a mapvote. Yeah, the zone is able to demand ending game, after wrapping some Accessed Nones I see game running normally. Bot will ignore other Bot - THERE IS NO REASON TO ATTACK in this game-type, maybe I have to write some funky code when ball is far away from Bot, I have to see those maps first - if I can count on playerstart actors or I have to "brute-force" path tracking because in some maps, when Bot is far from ball, it simply does nothing - indeed is less engine stress but it do looks like a retarded moron. For an advanced stuff we have to expand this mod, maybe using some spatial work for tracking a good shot rather than scoring for the other team... and blindly run to the ball ignoring direction...