Need More Fixes ?

Posts about Nelsona's findings in UT!
Post Reply
User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
What is the middle number? (one, TWO, three): 2
ExtraAntiSpam: Blue
extraextraantispam: Yes
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Fri Aug 30, 2013 5:48 pm

Using RouteCache from Pawn I developed even long translocations in CTF game played by Bots. Of course there are logic issues, I have to see what I can do.
Bot will go to enemy base for flag - will use long translocations randomly.
Bot will attempt to recover his flag - will use short jumps (is a RouteCache VS AlternatePath problem). At least if cannot recover flag from a tree, will patrol around until flag is automatically returned to Base, else if exist an enemy holder, this one will be very hunted.

I'll try to remember other issues.

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
What is the middle number? (one, TWO, three): 2
ExtraAntiSpam: Blue
extraextraantispam: Yes
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Sun Sep 01, 2013 5:14 pm

Off-topic a bit maybe - this is not a fix but just a few words.

If default troopers have some weapons I was wander why to not have troopers for all old weapons ?
I solved problem in different way. 4 Troopers having other 4 old weapons and dropping something when are killed. Do you know something ? I like when Amplifier is powering up ASMD...
UTrooper.zip
Need a deal for MH ? Others ? I think I posted already how to do replacements basically. So... end of story with unarmed Troopers, finally.
You do not have the required permissions to view the files attached to this post.

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
What is the middle number? (one, TWO, three): 2
ExtraAntiSpam: Blue
extraextraantispam: Yes
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Fri Sep 06, 2013 12:42 am

And I think I'll take some time to enjoy UnrealGold patched to version 227I with a lot of fixes and add-ons as described here:
http://www.oldunreal.com/wiki/index.php ... 7i_release
For UT'99 ? Does anybody still work to keep UT alive ? I couldn't see anything new.
____________________________________________________

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
What is the middle number? (one, TWO, three): 2
ExtraAntiSpam: Blue
extraextraantispam: Yes
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Mon Sep 16, 2013 12:49 pm

Btw, for any new engine... let me quote a LOG (altered)

Code: Select all

ScriptLog: Warning: MH-SomeMap.MoverXX is BumpOpenTimed.  Bots don't understand this well - use StandOpenTimed instead!
ScriptLog: Warning: MH-SomeMap.MoverXX is BumpOpenTimed.  Bots don't understand this well - use StandOpenTimed instead!
It is true, they are confused a bit acting only if an enemy is triggering them or other external factor.
Problem. If mover is bad configured why is not automatically fixed informing about the tweak operated ? Why a crappy log doing nothing ?
Do I need to perform another check and to solve problems unsolved by others ? This might be a common fix for more games not only MH.
Let's check what's going on... somewhere... in a LiftCenter which doesn't use RemoteRole (I simply don't know why and if exist a reason to have RemoteRole for PathNodes and updated at 100 Frequency :| ).

Code: Select all

class LiftCenter extends NavigationPoint
	native;
....
function PostBeginPlay()
{
	if ( LiftTag != '' )
		ForEach AllActors(class'Mover', MyLift, LiftTag )
		{
			MyLift.myMarker = self;
			SetBase(MyLift);
			LiftOffset = Location - MyLift.Location;
			if ( MyLift.InitialState == 'BumpOpenTimed' )
				log("Warning: "$MyLift$" is BumpOpenTimed.  Bots don't understand this well - use StandOpenTimed instead!"); //We need info about skills
			break;
		}
	// log(self$" attached to "$MyLift);
	if ( LiftTrigger != '' )
		ForEach AllActors(class'Trigger', RecommendedTrigger, LiftTrigger )
			break;
	Super.PostBeginPlay();
}
As described above is possible to do a check for fixing A.I. support in case of small glitches. Be sure a mapper with experience and adicted to A.I. won't mess up such things.

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
What is the middle number? (one, TWO, three): 2
ExtraAntiSpam: Blue
extraextraantispam: Yes
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Sat Oct 12, 2013 9:06 am

Return to fixes... a small letter first (ignoring it is permitted)

Dear Kira,
:| Today we solved another small problem in tweaking a lift or such mover prototype.
I think you will enjoy this move (and Skaarjs as well :D ) because you will "understand this well".

Code: Select all

class NoBump expands Mutator;	//No config nothing in here
								//Just don't use this if you think is bad
function PostBeginPlay()
{
	local Mover M;
	local Mutator Mu;
	local NavigationPoint N;
	//Precheck against already loaded call
	ForEach AllActors (class 'Mutator', Mu )
	{
		if ( Mu != None && Mu.Class == Self.Class && Mu != Self )
		{
			log ("Already loaded "$Mu$" will self eliminate other copy "$Self );
			Destroy();
			return;
		}
	}
	//Attempt High Speed
	log ("NoBump mutator is loaded and started CHECK MODE... at "$GetAbsoluteTime());
	for ( N=Level.NavigationPointList; N!=None; N=N.NextNavigationPoint )
	{
		if ( N != None && N.IsA('LiftCenter') && LiftCenter(N).LiftTag != '' )
		{
			ForEach AllActors(class'Mover', M, LiftCenter(N).LiftTag )
			{
				if ( M != None && M.InitialState == 'BumpOpenTimed' )
				{
					log("NoBump report - Found Mover: "$M$" with <BumpOpenTimed>. Will modify InitialState.");
					M.InitialState = 'StandOpenTimed';
					if (M.InitialState == 'BumpOpenTimed')
						log("Fail to fix Mover >>> "$M$".");
					else
						log("Mover "$M$" is now "$M.InitialState$".");
					if ( !M.bTriggerOnceOnly && M.BumpType == BT_PlayerBump )
						M.BumpType = BT_PawnBump;
					break;
				}
			}
		}
	}
	log ("NoBump ended CHECK MODE at "$GetAbsoluteTime());
	Super.PostBeginPlay();
}

function string GetAbsoluteTime()
{
	local string AbsoluteTime;
	local string GMTRef;

	AbsoluteTime = string(Level.Year);

	if (Level.Month < 10)
		AbsoluteTime = AbsoluteTime$"/0"$Level.Month;
	else
		AbsoluteTime = AbsoluteTime$"/"$Level.Month;

	if (Level.Day < 10)
		AbsoluteTime = AbsoluteTime$"/0"$Level.Day;
	else
		AbsoluteTime = AbsoluteTime$"/"$Level.Day;

	if (Level.Hour < 10)
		AbsoluteTime = AbsoluteTime$" Time > 0"$Level.Hour;
	else
		AbsoluteTime = AbsoluteTime$" Time > "$Level.Hour;

	if (Level.Minute < 10)
		AbsoluteTime = AbsoluteTime$":0"$Level.Minute;
	else
		AbsoluteTime = AbsoluteTime$":"$Level.Minute;

	if (Level.Second < 10)
		AbsoluteTime = AbsoluteTime$":0"$Level.Second;
	else
		AbsoluteTime = AbsoluteTime$":"$Level.Second;

	if (Level.Millisecond < 10)
		AbsoluteTime = AbsoluteTime$".0"$Level.Millisecond;
	else
		AbsoluteTime = AbsoluteTime$"."$Level.Millisecond;
	return AbsoluteTime;
}
defaultproperties
{
}
At end of love we can adjust this TimeStamp if will create troubles and even we can quit using it as long as is not a need. A package has been compiled with absolute server flags because client no need this.
For me chapter crappy "BumpOpenTimed" log has been eliminated, other one shows if was bad in original.

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
What is the middle number? (one, TWO, three): 2
ExtraAntiSpam: Blue
extraextraantispam: Yes
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Mon Oct 14, 2013 3:13 pm

Erata
Because I found maps where Bot's navigation is based on Internal Bot cheating feature I restricted this code to short Lifts. Bot can summon a long-range Lift because doesn't wants to fall (is confused and will try a crap to pass) not GRAB, GRAB is other cheating subject of Sir BOT.

User avatar
Dr.Flay
Posts: 268
Joined: Sun Apr 07, 2013 6:35 am
What is the middle number? (one, TWO, three): 2
ExtraAntiSpam: Blue
extraextraantispam: Yes
NoMoreSpam: Silver
Location: Kernow, UK
Contact:

Re: Need More Fixes ?

Post by Dr.Flay » Sat Oct 26, 2013 3:10 am

Nelsona wrote:And I think I'll take some time to enjoy UnrealGold patched to version 227I with a lot of fixes and add-ons as described here:
http://www.oldunreal.com/wiki/index.php ... 7i_release
For UT'99 ? Does anybody still work to keep UT alive ? I couldn't see anything new.
____________________________________________________

Yes some of us! but we are all on different sites :(

If you spend some time playing with 227, you may want to try some of the enhanced mods
http://my.opera.com/Unreal-Tournament/blog/unreal
Image
chaoticdreams.org - @TheChaosMod - Web IRChat - [url=irc://irc.quakenet.org/chaoticdreams]IRChat[/url]

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
What is the middle number? (one, TWO, three): 2
ExtraAntiSpam: Blue
extraextraantispam: Yes
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Sat Oct 26, 2013 11:04 am

I will be totally amazed to find a few things solved in UT99:
- collision crash bug;
- PlayerCanSeeMe() bug;
- a better Timer - why we need tickfix ? Cannot be implemented directly ? LOL.;
- ScriptedPawn - crappy crash attacking walls maybe, attitude, damaging ghosts, etc.;
- Mover - visibility ON-LINE and crappy null instigators saved, etc.;
- Bot - order and small things;
- Decoration - Stupid skinnedfrag and destroyed;
- Gamenfo - crappy Scorekill - bIsPlayer trash deal;
- Stupid TournamentPlayer ruining Old Stuff usage (or new OLD weps);
- Malformed string exploit;
- Protection against fake clients;
- and so on for 2 hours.

I'll be extremely glad to find who works at next UT patch.

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
What is the middle number? (one, TWO, three): 2
ExtraAntiSpam: Blue
extraextraantispam: Yes
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Sun Nov 24, 2013 12:17 pm

Back - topic is continuing as long as good things can be solved.

Introduction:
In the past, good mappers made a lil special style for MH in purpose to have not only design and full operational Bot Support but even other different ideeas not really bad. In fixed attached MH versions we cannot use a good Map like MH-Miam (by Rob - a very good mapper with 16384 respects from me). In this case MonsterEnd trigger is tuned tricky and such other MH versions seems to bug things for new End prototypes.

Today being week-end and me being a bit relaxed I decided to setup a big War in purpose to solve this MH-Miam problem and other such MAPS - MAPS not really trashes as done by fake mappers.

If coders are curious what kind of fix is possible I'll try to explain in a simple way as possible.
1) First point, any actor (trigger) spawned by Mutators and/or game not placed in Level (map) with Editor seems to have a need to pass GameInfo filter else if is spawned early will fail to exist in game being deleted - people found a solution a bit delayed. In other words we have to set a default property for new End bGameRelevant=True.
2) Because attaching such things to something from map happens in PostBeginPlay() we need to be faster than other actors, else we can lose the start.
We spawn our very relevant actor in Mutator's PostBeginPlay BEFORE to call other SUPER things for other actors. Our actor spawns, old actor needs to be ruined to not be usefull. Later, actor meant to handle our end will do the job properly ignoring old trash and paying attention to our new End.

AT this moment I'll put back MH-Miam in my test server for testing purpose with other common things added in server. I'm curious how runs this time.

Sooner or later maybe I'll find a handy and easy solution for BadEnds and such things a la LostSouls (player losing match announced) in order to play a MH map in a MH game more tuned and advanced, else I'll check for a better solution for these special cases, expanding things properly.

I'll test even other things to see if my other PostBeginPlay() is correctly configured.

As End-Note:
ROB - is a man deserving RESPECT for his MH quality works.

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
What is the middle number? (one, TWO, three): 2
ExtraAntiSpam: Blue
extraextraantispam: Yes
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Mon Dec 23, 2013 6:09 pm

Bumping ? No, just a normal return. MH-Miam works properly in MINE ATTACHED MH like in original MH :wink: as a response at the previous mentioned test.

Continuing - Let me see. Guessing how works movers without to mind scripts and tests, made me to setup a small party before to begin the MH battle.

A crappy Counter, Dispatcher, Whatever monster seems to open a Door (or idiotic more aligned doors without a bit of logic) in purpose to open next area. Problem: Settings.
TriggerControl ? - Anybody knows what is this for ?
TriggerToggle ? - The same question and ... Where the heck is toggling ?
TriggerPound ? - I don't comment.
Usually these "great things" can be used in case of "VOTING-OTHER" context. Probably a server spamed with other nasty things won't do properly these and ... CYA.
ReturnWhenEncroach at such Brush (aka Mover) will cause at a small collision with a (possible even carcass or) pawn to be closed back and our mission for sure will fail.

What if we set normally TriggerOpenTimed ? Anybody dies on keyboard ? Meh ! I wanna see a MH tutorial containing such things and ... LOL-s of original MonsterWayPoint(s).

Let me see. All such "interesting stuff" are going to be properly set and even played with 0 errors at certain tests.

Now the worst part.
If Doors were fixed we cannot solve a stupid bunch of actors throwed in a small room making them to spawn heavily and to check a ton of collisions. Is impressive to see later 0 stuff. These have 0 knowledge and 0 logic - at end of story Bot Support for such works is an U.F.O. (Unknown Flying Object).

I'll return in a couple of days with "news" which are copying old trash in a new crash style, or examples how to never do if I'll see some good to mention ones.

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
What is the middle number? (one, TWO, three): 2
ExtraAntiSpam: Blue
extraextraantispam: Yes
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Sun Dec 29, 2013 5:10 pm

Just joined into the party. Fresh joined seems often very served. More exactly that bonus Redeemer was granted usually to the last dude joined more often when 3-4 players were connected (some servers not only one).
I screwed a bit these "cool" ideeas for simple reasons:
- Kira wants a redeemer to setup a fight with monsters;
- I don't wanna see almost always fresh player being so rewarded;
- I think code can be brushed a bit because... has even useless lines computed each second.
OLD code:

Code: Select all

function Pawn GetRandomPlayer()
{
	local Pawn N;
	local PlayerPawn Dest;
	local Pawn Candidate[32];
	local int num;

	for (N=Level.PawnList; N!=None; N=N.NextPawn)
	{
	Dest=PlayerPawn(N);
	if (Dest!=None && Dest.bIsPlayer && !Dest.PlayerReplicationInfo.bIsSpectator) {
	if (num<32) Candidate[num] = Dest;
	else if (Rand(num) < 32) Candidate[Rand(32)] = Dest; //?????
	num++;
	}
}
	if(num==0) return None;
	return Candidate[Rand(Min(32,num))]; //:|
}
I think even Kira is happy now with this one:

Code: Select all

function Pawn GetRandomPlayer()
{
	local Pawn N, Dest, Candidate[32];
	local int num, Chosen;
	num = 0; //Reboot values
	Chosen = 0;
	for (N=Level.PawnList; N!=None; N=N.NextPawn)
	{
		if ( N != None )
		{
			if (  N.bIsPlayer && N.PlayerReplicationInfo != None && N.Health > 0 && N.Weapon != None ) //Any kinda Spectator I'm guessing does not have weapons in end... and alive one
			{
				Dest = N; //Assign a Pawn
				if ( num < 32 ) //Must be in list with player-count.
					Candidate[num] = Dest; //Add to array.
				Dest = None; //Array loaded, release slot...
//Some line removed 
				num++; //Increase array count for next possible player
			}
		}
	}
	if(num == 0) return None; //None if 0 people are playing
	Chosen = Rand(num); //Get a random 
	return Candidate[Chosen]; //And Simply return that Random
}
As I've seen so far (Spectating) truly randomly, "hunters" got Bonuses in a Cute and Pure Random way. Yes, I'm not rasist, now even Bot might be rewarded with cute things not only Skins.

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
What is the middle number? (one, TWO, three): 2
ExtraAntiSpam: Blue
extraextraantispam: Yes
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Tue Dec 31, 2013 3:48 am

Okay, this sort of a player or "player" leads to a reward with a redeemer specific for MH prototypes because in a moment we have to clean the mess behind a door pushing us back or other heavy-ambush reasons.

Problem... this comes with a new bug BROUGHT to UT because someone never understood well the deal with adding inventory for player.
Using default code from ImpactHammer or Chainsaw for Redeemer is not a good thing. I'm simply guessing that player if not dies will be loaded with more Redeemers developing "ODD-BUG". Are you understanding ? When player spawns is loaded with ImpactHammer ONCE. If dies, ImpactHammer is destroyed automatically. Well... in our case if player is alive for some seconds (until next Bonus shows up) player is loaded a second time with another the same class thing - not really only with new ammo.
A bunch of lines were writed somewhere in hoping to solve and to count deemers and I don't know if problem has been solved or not.
In my case solution comes from... Skaarj code, LOL. Any weapon throwed by a player (bot) killed will load ammo for player who get it if already has that class else will load the weapon class and some ammo (if still have certain amount). More exactly is called function "Touch" which triggers original Inventory code to act normally without any cool code ideea.
Original one?

Code: Select all

function GiveRedeemer(Pawn PlayerPawn)
{

	local Warheadlauncher  rede;
	rede= spawn(class'Warheadlauncher');

	if( rede!= None )
	{
        rede.RespawnTime = 0.0;
        rede.GiveTo(PlayerPawn);
        rede.SetSwitchPriority(PlayerPawn);

//      rede.Instigator = PlayerPawn;
//      rede.BecomeItem();
		PlayerPawn.AddInventory(rede);
//      rede.BringUp();
        rede.PickupAmmoCount = 1;
		rede.GiveAmmo(PlayerPawn);

	}

}
I just reconfigured things to trigger a normal pickup state.

Code: Select all

function GiveRedeemer (Pawn P)
{
	local NSWarheadLauncher rede;

	if (P.Health > 0)
	{
		rede = Spawn(Class'NSWarheadLauncher',,,P.Location); //No Owner for the moment
		if ( rede != None )
		{
			rede.RespawnTime = 0.00;
			rede.Touch(P); //Here is about Engine's Love for Pawn.bIsPlayer and such things
		}
	}
}
I have to check if I'm not guided by a false feeling because "Out of ammo" message seems doubled, yes, doubled only (I noticed at other pickups the same thing).
Let's see what are saying witnesses:
Rede_0_Bug.jpg
I think this ought to be allright.

HAPPY NEW YEAR !
You do not have the required permissions to view the files attached to this post.

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
What is the middle number? (one, TWO, three): 2
ExtraAntiSpam: Blue
extraextraantispam: Yes
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Tue Jan 07, 2014 5:07 pm

Tentacle ?
Is a kinda monster from all points of view. Monster for player and monster for server starting exactly with ... a stupid thing. From all my thoughts I guess I got something. Things are simple since Tentacles are like a kind of cannon (still wander why is not stationary pawn).
It says some function "SetPawnDifficulty" from whatever MH integrated class:

Code: Select all

if (S.Mesh == LodMesh 'Tentacle1') //adressing to any loser having this mesh also as necesary will check if has mesh
	S.AnimSequence = 'Hide';
Hey, Mrs.Tentacle, why exactly you were supposed to do ? Walking ? Runing ?
I think you will die soon anyway. They did not forget animation "Fighter" but this monster starts with other unexistent thing or simply comes from an unexistent position - wierd in end.

User avatar
Hook
Posts: 3444
Joined: Fri Feb 16, 2007 9:41 am
What is the middle number? (one, TWO, three): 3
extraextraantispam: No
NoMoreSpam: Silver
Location: Minnesota USA (Just West of MPLS - by a pond beneath a tree - Dead & Buried)
Contact:

Re: Need More Fixes ?

Post by Hook » Wed Jan 08, 2014 2:48 pm

Well, it is a "weird" monster indeed.
Wow, Nelsona, you really think outside the box! :wink:
=Hook= of Hook's UT Place - Hopelessly Addicted to UT99!
Forum: https://hooksutplace.freeforums.net
CROSSBONES Missile Madness {CMM} (GT Top 50)
PRO-Redeemer | PRO-SNIPER-Redeemer | SEEKER-Redeemer
Birth Place of ALL Seeker/Scoped Deemers!
IP: NEW IP to come!
CROSSBONES Monster Hunt {CMH} (Special Edition MH by mars007)
IP: 108.61.238.93:7777

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
What is the middle number? (one, TWO, three): 2
ExtraAntiSpam: Blue
extraextraantispam: Yes
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Thu Jan 09, 2014 1:17 pm

Hook wrote:Well, it is a "weird" monster indeed.
Wow, Nelsona, you really think outside the box!
Sir. sitting down and recalling those comments when Unreal reached at X years of existence and "How about a re-release of UT ?" Everybody claped hands with whistles and bells and NONE told about a simple thing: Get rid of craps left unsolved. I would like to post a list with bugs to be fixed but... I was affraid to not be considered a spammer (imagine the list) and to not make them to feel bad in front of people, also public appologise because they made more good people to leave, being dissapointed, maybe this subject need to be closed here.
Continuing cheap fixes...

Post Reply