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
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Sat Mar 23, 2013 9:08 pm

I was a bit busy last time checking a bit other options for old weapons - another kind of replacements for ON-LINE.

I looked at each line from all those UnrealI Weapons (including different versions of quadshot)

I still don't understand why we need twice called UIweapons and a bunch of queries to bUseDecals since UT by default has decals code clarified.

I did a few tests removing that dummy class UIweapons or whatever can be and weapons seems more smoother in reaction.
More things can be adjusted:
- Dispersion at once with Powerup useless pickup after level 4 of powerup;
- Stinger - let's say it doesn't need tunes;
- ASMD - primary fire might develop hit decal, not supposed impossible and audible when friends are firing;
- Eightball - grenade is audible ON-LINE also SeekingRocket is visible and has visible smoke as normal rocket, also for friends;
- FlakCannon - better decals from Botpack;
- GesBioRifle - rapid alternate fire restored as in original version for SP without spaming;
- Rifle - it seems ok for the moment;
- I almost forgot that Automag akimbo feature, advanced bugged useless - in SP not exists any akimbo and code works as it is - succesfully ported to On-Line without any query bug;
- Minigun looks prety good - let's say I don't need to fix ... anything;
- ect.

If these versions are better then I won't use MH weapons with their dummy doubled mutator.

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Mon Mar 25, 2013 1:38 am

I would like to know more about extracting a mesh in order to rebuild an import properly - By example some weapons have animation sequences missing. Such a problem with squid looks like was solved (or partially ?) error gone, squid doesn't develop errors but I'm still confused about QuadShot ideea. All kind of assumed imports failed - even other versions are based on something bugged, always when you intend to use it first time is almost to appear that stupid green square for a few miliseconds - in end, is not very fixed nowhere. I wanna know if somebody has 3d resources for that one not exporting attempts with different apps.

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Mon Mar 25, 2013 7:00 pm

Let's say a kind of story (in fact can be true).
If nobody is fighting, this means nobody need weaponry, yeah action from map might be a bit relaxed at a moment. If action is too quiet, all weapons throwed by pawns killed (player, bot, monster) if aren't used, are going to be removed in 2 minutes and 30 seconds. If exists some battle, weapons throwed are keept on ground (might be usefull).
I don't know if I picked the right time or I have to set it configurable.

Secondary point - weapon throwed away by hunter seems to bug our guy. So will get vanished in less than 1000 ms randomly (this add-on is based on a nasty bug and also we don't need to be fooled by player firing redeemer and throwing it empty).
Logic is: If weapon was throwed, this means was useless, so it can be destroyed.

Moving forward...

User avatar
Kelly
Posts: 131
Joined: Sat Dec 01, 2012 2:29 am
NoMoreSpam: Silver
Location: Coos Bay, Oregon

Re: Need More Fixes ?

Post by Kelly » Sun Mar 31, 2013 3:50 pm

Nelsona wrote:I'm still confused about QuadShot ideea. All kind of assumed imports failed -
Nels, the problem with the quadshot isn't in the model. I think the model was fine. The mistake was that the models declared 'origin' was placed wrong. This means that the weapon doesn't offset correctly to the proper place in first person view. It's not a hard fix, I've done multiple weapons from scratch (all of the food fight weapons for instance). You'll just need to do a whole bunch of move>compile>test until you are happy with the location.
When everyone you ever known is headed for a headstone
I don’t wanna give the end away but we’re gonna die one day

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Sun Mar 31, 2013 9:51 pm

Nice to see you again, Kelly.

Let me tell what happened. I tried to export 3d from multiple packages. AT a moment Error said: "fire" sequence missing in mesh quadheldr - even the compilation returned 0 errors and 0 warnings. This leads me to believe that a mesh exported will lose some frame altering final result. I think You cannot toy with the same model reimporting and reexporting multimple times without to be bugged.
____________
A few KB are going to be added and also a few bits of processing to solve these magic cool things from Engine.

Code: Select all

Function Engine.Decoration.Destroyed:00C8) Accessed None
ScriptWarning: _____.unr.WoodenBox0 (Function Engine.Decoration.Destroyed:00D0) Attempt to assigned variable through None
ScriptWarning: _____.unr.WoodenBox0 (Function Engine.Decoration.Destroyed:00D8) Accessed None
ScriptWarning: _____.unr.WoodenBox0 (Function Engine.Decoration.Destroyed:00E7) Accessed None
Indeed is necessary reworking the function for replacement to clone original data properly and simply redoing all those common decorations because 451 version doesn't has any fix, for this reason I have to rework multiple trashes from UnrealI and UnrealShare. Would be much better have defined original function properly.
Old code

Code: Select all

function Destroyed()
{
	local actor dropped, A;
	local class<actor> tempClass;

	if( (Pawn(Base) != None) && (Pawn(Base).CarriedDecoration == self) )
		Pawn(Base).DropDecoration();
	if( (Contents!=None) && !Level.bStartup )
	{
		tempClass = Contents;
		if (Content2!=None && FRand()<0.3) tempClass = Content2;
		if (Content3!=None && FRand()<0.3) tempClass = Content3;
		dropped = Spawn(tempClass);
		dropped.RemoteRole = ROLE_DumbProxy;
		dropped.SetPhysics(PHYS_Falling);
		dropped.bCollideWorld = true;
		if ( inventory(dropped) != None )
			inventory(dropped).GotoState('Pickup', 'Dropped');
	}	

	if( Event != '' )
		foreach AllActors( class 'Actor', A, Event )
			A.Trigger( Self, None );

	if ( bPushSoundPlaying )
		PlaySound(EndPushSound, SLOT_Misc,0.0);
			
	Super.Destroyed();
}
And because I have others I have to define this new one for each decoration

Code: Select all

function Destroyed()
{
	local actor dropped, A;
	local class<actor> tempClass;

	if( (Pawn(Base) != None) && (Pawn(Base).CarriedDecoration == self) )
		Pawn(Base).DropDecoration();
	if( (Contents!=None) && !Level.bStartup )
	{
		tempClass = Contents;
		if (Content2!=None && FRand()<0.3) tempClass = Content2;	//What if random is higher ?
		if (Content3!=None && FRand()<0.3) tempClass = Content3;	//Will see NULL content if is only 2 or 3 ? 
		if (tempClass != None)		//Only if was randomly assigned !!! Next time I'll throw random in WC.
			dropped = Spawn(tempClass);
		if (dropped != None)		//Only if exists any !!! Stupid ideea unfinished because you drink when working, LOL...
		{
			dropped.RemoteRole = ROLE_DumbProxy;
			dropped.SetPhysics(PHYS_Falling);
			dropped.bCollideWorld = true;
			if ( inventory(dropped) != None )
				inventory(dropped).GotoState('Pickup', 'Dropped');
		}
	}	

	if( Event != '' )
		foreach AllActors( class 'Actor', A, Event )
			A.Trigger( Self, None );

	if ( bPushSoundPlaying )
		PlaySound(EndPushSound, SLOT_Misc,0.0);
			
	Super(Actor).Destroyed();	//And do call directly in root skipping manure
}

User avatar
Kelly
Posts: 131
Joined: Sat Dec 01, 2012 2:29 am
NoMoreSpam: Silver
Location: Coos Bay, Oregon

Re: Need More Fixes ?

Post by Kelly » Sun Mar 31, 2013 10:27 pm

Nelsona wrote: This leads me to believe that a mesh exported will lose some frame altering final result. I think You cannot toy with the same model reimporting and reexporting multimple times without to be bugged.
It doesn't really go bad like that. You won't lose animation frames because those are 'baked' into the model when it is made in the original 3D program. About the only thing I've ever seen happen to models is that they will occasionally develop spikes in the meshes caused by single bits being turned 'on' at the boundaries and then the mesh tries to reach them. Here's an example:
harpoon.jpg
See the big spike sticking out that shouldn't be there? That's because a pixel at the edge of the mesh flipped on decompile. That's about as bad as the errors can get. It's just not possible for a mesh to lose parts of it's animation.
The lost Fire code was just overlooked in it's programming. Someone expected a matching anim on the model and it just wasn't made with one. Well, it could be that or the anim does indeed exist and it's not created correctly in the UC class that imports it. Someone could have forgotten that part.

No matter what, these are all easy fixes. I'm surprised someone hasn't sorted this out by now.
You do not have the required permissions to view the files attached to this post.
When everyone you ever known is headed for a headstone
I don’t wanna give the end away but we’re gonna die one day

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Sun Mar 31, 2013 11:36 pm

For the moment weapon code is reworked but I used Olweapons mesh as it is without any export. MonsterHunt seems a bit linked with Oldskool anyway so packages are loaded.

My problem was that stupid reloading sound audible when weapon was handled by A.I. (Skaarj, Bot, ect) they constantly reloaded weapon, also original rating is not so higher as supossed, weapon is somewhere in slot 2 or 3 not really a very rated crap. Also I don't need to fly in the sky boosted by weapon.

Why happened reload ? A simple wrong code "shootsleft != 9". LOL ?
Might be 10 or even 8 or any value. One of my Skaarjs had 10000 ammo. Why he need reload ? He can kill players 3 months. Technically, Skaarj can trigger weapon in any instance, only Bot runs to collect ammo.
I'm sick to look at how messed can be some simple things that could be done properly by default. In end, I think I don't have time to do other stuff since MH need a million of fixes...
For scanning a monster I think I'll rework a bit one of HUDs (need to remove some errors related to other pawns) also adding a few MindReader things. I don't know if this is a priority but might be usefull for testing purposes.

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Mon Apr 08, 2013 12:29 am

Back to decorations subject. A few maps have statues or whatever things added no so well as needed. These are bugging visibility ON-LINE getting vanished in a few moments.

Let's say I can do small tricks to keep them visible and even nicer ON-LINE. Cost ? How much will affect performance ON-LINE when are many like these ?

A dude presenting an application for using meshes in mapping spoke about advantages (no bsp holes ect bla bla craps). First of all, meshes are invisible in Net Play at certain moment if aren't in direct player view. Yes, throw ideea in trash-box.

Keeping them visible means some aditional data between server and client. Where is the performance since we wasting bandwidth with such useless actors ? If I'll see troubles caused by such "ideeas" I think I'll operate them nasty bringing a smoother game back.

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Thu Apr 11, 2013 3:55 pm

Small problem related to delivering weapons for hunters feature.

Old mods never gived weapons to Bots, only for players. If fact the code to arm people is other mess, LOL. Code is coming from DeathMatchPlus means to arm player with enforcer following a few steps:

- dynamic load weapon class;
- attempt to spawn weapon;
- if weapon is spawned assign a null respawntime;
- set bHeldItem to true because need to be held by pawn;
- "GiveTo" is name of function meant to pass weapon to pawn;
- assign an AmbientGlow - crap, was already assigned by GiveTo function;
- attempt to set this weapon up - CAN BE ONLY ONE, OTHERS ARE DOWN and shouldn't be any attempt to be brought up - here bot will rate a null weapon since we keep loading another one - Bla bla RateSelf:Accesed None - for Skaarj or other monsters YES we want it UP;
- give some ammo for loaded weapon;
- attempt to set hand - THIS IS FOR HUMANS the mostly;
- done.
So, loading pawns correctly need to be redefined nice or else we just develop errors attempting to bring up all weapons in the same time, repeating codes and performing useless instructions. Default function was meant to arm enforcer as default weapon and bring it up for firing in any moment. Other weapons should be in state "idle2". Eh...

Thank you for attention ! Happy fixing, everybody...

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Sat Apr 13, 2013 8:28 pm

And now return to invisible decorations.

I'm not guilty if map is bad configured, it's simple, if aren't OK let them be messed. Why ?
Making them visible will devastate connection slot and you will be surprise to see "nice effects" in maps a la SkaarjTowerF series, full of boxes developing only Accesed nones (not in my mod), because this is the "logic" there. As War_Master mentioned at old forum PMH, that map assumed "cool" is just another technical failure pushing limits. Good luck in next series with fix 1, fix 2, .... fix 3012 - I warmly recommend a tutorial related to how many brushes - actors are recommended for UT99's engine to run smoother in a normal client slot, and how to setup a map in episodes.
So, in end, I don't need decorations very visible if aren't supposed to be.

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Sat Apr 20, 2013 6:54 pm

And I was thinking to redo another monster root for MH a bit enhanced meant to bring some action for all stock animals.

I think this is not deserve any effort since we have maps with "cool" different monsters
a la Insekt, otherdifferenttrashpawnsstillhosted, Mullog, KingCobra, "awsome" zombies loading console with craps (I took a look at code and ..............), and the list can continue until next month. The silent console can be still only a dream.

Looks like I solved a problem which leaded in locking server, a normal crash will trigger a restart, maybe this isn't the worst - but totally freezing server is not welcomed, especially when CPU is boosted to 99% (1% still hanging by OS). Result was the same for Linux as for Windows and that's why I did some research related to this subject.

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Thu Apr 25, 2013 12:45 am

Warning !

In all Net games using reworked OLD Stuff look out at link between ASMD and Amplifier. Also Amplifier Calls a DispersionPistol which not exist this time (unless you wanna the same name for Net alias LOL).
You ought to get rid of Amplifier because it is useless this time for new Net weapons. Code belongs to A.I. for rating. Rebuild ASMD for Network calling another proper amplifier (a la Udamage) for "function SpawnCopy".
The same to Dispersion for Network at "function RateSelf".

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Mon Apr 29, 2013 1:14 pm

Code: Select all

..........Engine.Pawn.AdjustHitLocation:003A) GetAnimGroup: Sequence 'Fighter' not found in Mesh 'FlyM'
We are continuing to solve a few "cool" engine features.
Now I want to walk through stock pawns and to solve this "nice" content.

Unfortunately sequence "Fighter" is very called when monster cannot find a road to enemy and as in many other combat states when is bugged. Keep messing up paths... keep blocking pawns... and shut up if your server crashed, is good to say only "COOL" "Great" or something like this, :P.

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Wed May 01, 2013 11:44 am

Let's say I have a few better meshes. I smelt something bad when I attacked weapon chapter deducting a few bad things at pawns. Now is proved and confirmed.

A few small corners might be black, eh. Meshes ...

User avatar
Nelsona
Posts: 998
Joined: Sun Mar 06, 2011 11:45 am
Location: Still at Keyboard
Contact:

Re: Need More Fixes ?

Post by Nelsona » Mon May 20, 2013 12:37 am

Yay, a few bad things happening when a "wild hunter" is implemented in map directly. This is only client-side:

Code: Select all

ScriptWarning: Monster2HUD MH-B99_MinasTirith.Monster2HUD0 (Function Botpack.ChallengeTeamHUD.SetIDColor:0033) Accessed array out of bounds (255/4)
ScriptWarning: Monster2HUD MH-B99_MinasTirith.Monster2HUD0 (Function Botpack.ChallengeTeamHUD.SetIDColor:006A) Accessed array out of bounds (255/4)
But... was solved because our troian hunter as a bad ideea now is a good ideea:

Code: Select all

simulated function SetIDColor( Canvas Canvas, int type )
{
	Canvas.DrawColor = GreenColor;
	if ( type == 0 )
		Canvas.DrawColor.G = 160 * (IdentifyFadeTime / 3.0);
	else
		Canvas.DrawColor.G = 255 * (IdentifyFadeTime / 3.0);
}
A silent player console shows up so cool (green tracing lines for players - any type)
Problem is for server, but solution exists as well. Freedom to play even with 10 implemented Bots:

Code: Select all

simulated event timer()
// With awsome participation of a variable boolean type to test if a freak is crawling
// unarmed spaming errors - is activated a single time
// Bots implemented in maps aren't hidden, making the difference between later entered
// and already existent species...
		if (!BotCheck)
		{
			foreach AllActors (class 'Bot', B)
			{
				if ( B.Weapon == None && !B.bHidden )
				{
					log ("Found possible player at "$B.Location$" being a "$B$" without weapon, attempt arming pawn...");
					B.bIsPlayer = True;
					Wp = spawn (class 'MH2_NS_V2.MHRifle',,,B.Location);
					Wp.RespawnTime=0;
					Wp.GiveTo(B);
					Wp.bHeldItem = True;
					Wp.SetSwitchPriority(B);
					Wp.WeaponSet(B);
					B.PendingWeapon = None;
					Wp.GiveAmmo(B);
					Wp.AmmoType.AmmoAmount = Wp.AmmoType.MaxAmmo;
				}
			}
			BotCheck = True;
		}

Post Reply