Splitting MonsterHunt packages?

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

Re: Splitting MonsterHunt packages?

Post by sektor2111 »

Way easier with a "MHAutomag" coming from some _CL package and using different things by default. This way do never fails.
OL chapter for me is a buried stuff - to many headaches at matching things - client crashed at a moment (trying to do a normal seeking rocket) etc...
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Splitting MonsterHunt packages?

Post by sektor2111 »

By using this command tentacles will no longer have any carcass

Code: Select all

	ConsoleCommand("Set Tentacle CarcassType RockTentacleCarcass"); //Fix tentacle carcasses with custom skins
	log ("Test Carcass"@ConsoleCommand("GET TENTACLE CARCASSTYPE"));
Command is wrong, or ...

Edit: I have delayed this a bit and executed by MonsterCounter

Code: Select all

Auto State Counting
{
Begin:
	Sleep(0.00);
	FixStupidZones();
	ConsoleCommand(Caps("set Tentacle CarcassType MonsterHunt.RockTentacleCarcass"));
	Sleep(1.00);
	log ("Test Carcass"@ConsoleCommand("get Tentacle CarcassType"));
...
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Splitting MonsterHunt packages?

Post by sektor2111 »

Okay, returning with feedback about "background" type scan. These tech works but... it needs internal sanity checkers in while loop. After a small "sleep" because this thing can screw old Pawnlist it is recommended a check if ( P != None ) before to call end of loop "P = P.nextPawn" because our P.nextPawn can be vaporized in battle - that's the mention. Another mention, by using this way in counting hunters, if a hunter is killed/dead it won't be in account as hunter - has no health, cannot move, cannot hunt - this looks pretty logic but It wasn't on purpose such thing - it's a difference between PawnList and Foreach at this point.
Another fact - some "initgame" which seems pointless looks like bugs MapVoteUL types if those things are not there (or one of them) due to "CheckTie" operated at end of match which might trigger MV to not open Voting Menu Window for players. I could notice this thanks to debug option in mapvote UL and checking resources - that's WHY people do NEED SOURCE-CODES - else surprises will deliver a need for 1000 updates, 2000 tests, and a crap-ton of releases... I worked around 3 hours to figure this stupid thing... "FragLimit" my ass - MH doesn't even use/need it.

Code: Select all

	FragLimit = GetIntOption( Options, "FragLimit", FragLimit );
	TimeLimit = GetIntOption( Options, "TimeLimit", TimeLimit );
I don't recall if code Team-Scores killing monsters but MapVoteUL seems to go messed up here if these are not added - NOT LA13 types with 1023 maps.
It seems that I have to completely inspect codes from LA13 and UL to see what was changed/removed ( except that expiring timer from voting which no one was asking to be removed(/or moved) and I saw this yesterday :wth: ).

Edit: To not forget a "stock" problem
This time (happened once) Berserker was blabbering some AttitudeTo stupid number of iterations. THAT UTTER CRAP "WhatToDoNext" is the most dumbest ever code which Epic could write - and the troubles are coming from Master Blaster State "Attacking" VIA ChooseAttackMode which now I have rewritten.
If you, the monster, have and order - pick WhatToDoNext (resume patrol, or such) - No orders ? Stay the f..k down !
As for more relaxing a Sleep added in state attacking seems priceless - yeah, directly in default code.
Edit2:This is fascinating

Code: Select all

		if ((Enemy == None) || (Enemy.Health <= 0)) //Self is not an exception !
		{
			if (Orders == 'Attacking')
				Orders = '';
			WhatToDoNext('','');
			return;
		}
.....
		else if (AttitudeToEnemy == ATTITUDE_Friendly)
		{
			if (Enemy.bIsPlayer)
				GotoState('Greeting');
			else
				WhatToDoNext('',''); //Ahah....
			return;
		}
I'm trying to figure from a bunch of 12 Berserkers which one will do what... using default code - lemme guess - crashing, because Friendly Attitude is not good here triggering a new looping.
I'll bet on 100$ that ScriptedPawn executes a bunch of non-senses useless (even being a Level with 6 monsters) since the result could be directly set without blabbering through states and functions until something clamps or crash.

E_D_I_T: Reasons: 1 - avoid double posting; 2 - IDEA some idea about some MH stuff for Bot support using Bot's native smelling without mooing other things - common usage old and new and newer MH generations - any.

Like the most of ideas this is based on whatever stuff done but... it was a DM one. I think code can be morphed changed into MH stuff - the base in cause is BotBurguer - a null inventory distracting Bot natively.
How do this thing needs to work:
- Adding MonsterBurguer as an Inventory around objectives, bosses, and all that supposed objectives - addressing farming maps - kill 100 brutes bla bla;
- MonsterBurguer has to be triggered enabled/disabled - in format disabled desirability (loved by RedFist) will go lower, in format enabled will increase desirability according to number of monsters in certain radius (configurable ?). If monsters are there (even spawned) it grows self desirability to extremes, if monsters are in lower number set normal desirability for self, when objective has been completed we trigger it to go disabled, mainly we let things to work alone without special setup - simple as pie, turning Bot into a better hunter by using freelance for default MH;
- we need some drawer dude to setup a proper icon (a skull with a sword in eye or something cute).

Let me guess, in this way we don't need that much WayPoints because they really seem Rocket Science even they are as a piece of cake to be set. MonsterEnd can be higher added for not being a goal on purpose, as long as map has to be cleaned first. Advantage is that Bot can be returned to battle if monsters are spawned here and there like being fired into a sort of patrol - exactly where monsters are many and having a time for reaction - not permanent letting others to attract Bots where they need to hunt.

Other Proposals ?
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: Splitting MonsterHunt packages?

Post by Higor »

I took the entire Dungeon map series (d1 to d5), added paths and fixed some movers.
So far bots can complete a couple of them without using a single MonsterWaypoint actor, they provide an excellent test scenario I gotta say.
The maps themselves are far more broken than anything in MH.u though so I gotta work on that too.

I noticed that toggled doors and mechanisms do screw up the whole logic behind activating 'singular' events, I'm planning to add a 'query' tag to the MHE_Base markers.
Let's analyze this situation:
- Boss room with locked switch.
- Main entrance, walkable in both directions.
- Side entrane, can only be used to go in.
- Trap door, has a redeemer. Is also a pressure chamber when closed off. (nobody can really get stuck forever there)
- Main=Open, Side=Closed, Trap=Closed.
- When the boss emerges, all doors are toggled and bots need to enter using the Side entrance.
- During this stage, the redeemer is accesible.
- When boss dies the switch becomes usable.
- The switch toggles all doors, works more than once.

Bots need the main entrance to be open in order to leave, so they need to hit the switch and leave it in that position.
Bots may also want to pick up the redeemer in the trap door, so they may want to hit the switch in order to do so before leaving the area.

If attraction was forced to all switches that unlock doors then bots would go back and forth that switch endlessly.
If it isn't forced, bots won't seek a switch that's manipulable more than once.
One idea is to mark a switch as 'queried' when a bot tries to go through a door/obstruction this switch toggles, and as long as it's marked as queried bots will be attracted to it.
Another idea is to add a 'high priority' mark to MHE_Base events and allow them to override default logic to go after the MonsterEnd actor, one way to use it is for Triggers/Mechanisms that enable player starts and teleporters for shortcuts.

So the mapper doesn't really have to do anything at all here.
Also, bot attraction through Inventory is flawed, as it has a distance limit (in terms of navigation network).


================
PD: Amplifier now works with both OLASMD and OLDPistol.
Bots treat nalis better as well.
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Splitting MonsterHunt packages?

Post by sektor2111 »

I see Burguer in normal maps (according to default UE1 rules) being able to attract Bot in areas with monsters. When monsters are roaming/migrating here and there, Bot will move there too like is being interested to play MH. I had a map pathed before and I removed Waypoints, and adding these (yeah, I have a primary prototype ready) growing desire up to 10 (not insane values). They even quit/forget getting some weapons for these spots if are a bit loaded - I put on purpose MonsterEnd unreachable to see what's going on. At least for Levels with puzzling buttons with toggling things, there will be needed a toggling attraction and some toy toggling paths too - not that easy... must check. Aside Burguer supports toggling active/inactive using triggers and default things.
Rixuel
Novice
Posts: 6
Joined: Fri Mar 17, 2017 3:29 am
Contact:

Re: Splitting MonsterHunt packages?

Post by Rixuel »

How would the new MH looks like?

and wow, some of you guys have a lot of patience. I tried to check the codes and I already feel lost lol

Do you compile with UMake?
█████████ Loading Hax 99%
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Splitting MonsterHunt packages?

Post by sektor2111 »

Higor is doing it in some fancy way, I go for simple one letting people to put their options. Also I work to improve old Bot support strategy without doing major changes. Now I have prepared a Level which might be operational even in default MH (if Bot is ordered in "Freelance" in original MH). It's addressing Map type DogTown (or CatTown or MouseTown, etc.) where Bot is supposed roam in map with priority in spots with monsters, now is doable with stuff which I wrote/modified a BotBurguer (where timer was bullshitting as usual) into a sort of MonsterBurguer attracting Bot, if in a range (configurable) there are some monsters, and using state code. It has a reaction from time to time (configurable) and in this sample Bots are roaming from left room to right room and back hunting pupae spawned. This Bot Support type is based on default Bot code with nothing from MonsterHunt except MonsterEnd when door opens after killing pupaes. Last weapon is not intended to be picked up in order to keep Bots interested about it all time, and for figuring them roaming.
Note: MH Controller which I did (not shared yet) is fixing Ghosting monster even if my repository no longer have such things - I noticed bug happening in slow machines as usual - yeah I'm testing everything on a rig in order to get performance.
Here is the sample demo map with stuff coded using Editor directly.
[attachment=0]MH-MonsterBuguer_Demo.7z[/attachment]
Rooms with pupaes have ammo for loading during combat but no Navigation Stuff for finding them outside of battle situation. The only "distractor" in room is MonsteBurguer which OFF-Line shows available status by hiding/un-hiding. This stuff can be used ON Line as long as MonsterBurguer toggles visibility only OFF-Line for primary mapping tests and not in servers for bugging players at using such things.

Credits
All credits goes to PrinceOfFunky for textures used in MyLevel - I'm not interested to share all 700 MB file (already shared) for 3 MB content used...
Attachments
MH-MonsterBuguer_Demo.7z
A Demo Level - MH Bot Support demo using Native Inventory desire...
(2.78 MiB) Downloaded 71 times
Rixuel
Novice
Posts: 6
Joined: Fri Mar 17, 2017 3:29 am
Contact:

Re: Splitting MonsterHunt packages?

Post by Rixuel »

About the MH Interface, it looks really nice, but what happen if some MH servers are using limited life? Where will we see the Life stat in the UI?

(In some MH server, players have like limited life (ie: 10 lifes). Everytime you die, you lose a life. When you reach 0, it's game over for you.)
█████████ Loading Hax 99%
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Splitting MonsterHunt packages?

Post by sektor2111 »

Admins sometimes are strange. They want players but... they cap their presence with lives. Else... because people must know the truth let's play with cards open. MH's lifes system is pretty borked. Without a Nexgen restoring things there you might enter again FRESH with no issues. Nexgen... well, let's say that you might use other copy with different ID so again that lousy thing will not really stop you. The fact is that I'm not playing in such "super duper" servers intended for no players, in some maps things are harder enough to not die. The reason for NOT really fixing this system for me is very clear - any pawn crapped added in maps will not get a respawn because MH sends it to a permanent death for not causing troubles (even I made sure about killing stupid things forever) - a map that cannot be ended is not a goal for ON-Line. Maps must be cycled, not playing a map 1 week - each mapper has right to see his work loaded and played not a single garbage Level unsigned or such. These Lifes (said Lives) are configurable in file MH.ini by admin. Is his problem after all. I'm using 500 which are enough in heavy monster attack (in some MH2 I have more difficulty than in original MH without regens due to monster teaming and enhancing player detection) LongCorridor.... Titans zone. At 200 Lives I lost all Bots - yeah, they died at least 200 times during entire game and map was almost running out of time 120 minutes being not enough. This is gaming: winning, losing, but not frustrating players with crappy rules from a sick mind.

I know, in the past that overloaded servers made admins to take in account each detail for getting rid of nasty players because they were exhausting machines, but nowadays making people to leave is really stupid - c'mon, turn off the crap if you don't need players.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: Splitting MonsterHunt packages?

Post by Higor »

Testing a beta in unreal://193.111.136.210:7788
Running a mutator that can customize maps very easily, as well as recovering health/ammo based on damage done by player.
So far only 11 maps and all work with bots, Aegor bot will be your main companion.
Monster skill is set to 18 (above 503 range lol).

Will post files later.
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Splitting MonsterHunt packages?

Post by sektor2111 »

To be honest I cannot join there. Not all files are in redirect bugging downloads with a doggy slow speed. Then I download a "FV_Weapons" package and right before to join I get FV_Weapons package mismatch- For sure server has a different version from redirect and... these seems 2 different things non-conformed, btw. In fact a clean player cannot play there Ever, so there is nothing to see at this moment.

Edit: I got dirty by doing a crap (a default redirecting issue) on purpose to fail redirect. So finally I got the file directly from server.

Joined, map seen was HostileFactory (sh!t doors untextured) but I was watching Bots( z ?) properly hacked by stupid pupaes while they were busy to shoot some door which no one has open.

Edit2: To not forget a big main problem of XC stuff at this moment (already said somewhere in XCGE thread)
A PLAYER joining to a Server (All defaults - Non XCGE) if player got wrong version from redirect web-server, server and client are negotiating a direct file sending from game-server as long as that one from redirect was not a good file. THIS chapter was ruined in XCGE (WHY ?) - player with wrong file already downloaded from redirect, in next stage is getting... NOTHING, but a mismatch error making it to never join without "dirty methods" regarding to console commands and all that stuff. At this point probably 50+ admins will not install XCGE - because they might fail at files handling/redirecting chapter, and such a failure heads to an almost permanent empty server. And yes, I'm wondering why I don't see nobody speaking about this Major Problem because this is a NEW one, which was never seen before, and who triggered me to completely rebuild redirect with files for making myself sure about a good redirect. That's why I have even wrote that "turturial" about building redirects manually, handy, easy. If this problem cannot be solved then I might go back to default "IpDrv" system.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: Splitting MonsterHunt packages?

Post by Higor »

That would be a leftover lzma file from 2014 in the redirect, now that I got rid of it things should be ok.
The server is too prone to crash right now (and it doesn't get back up), gonna have to debug that using SCF (avoid MJD_FIX and LostInTime).

Now the good news is: the brush tracker finally works as in UT clients, MH-Annihilation won't be a complete disaster now, as well as a bunch of maps that hide monsters behind movers.

EDIT: I think that's good enough of a reason to put out a new XC_Engine build.
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Splitting MonsterHunt packages?

Post by sektor2111 »

I see that a client even without XC_IpDrv can receive LZMA format right from server (testing my repositories). If redirect is a problem it can be removed as long as XCGE sends files faster than a non XC server and it doesn't fail. I used to hack redirect address VIA hosts so I got file directly. If for some reason player has a firewall blocking things, redirect goes to a failure anyway if is based on another ISP.

However I'm still wondering if creating a redirect (in the same network) is such a hard task - it's a piece of cake and it's not needed any stupid application or a lousy thing, just UCC...
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: Splitting MonsterHunt packages?

Post by Higor »

The change list isn't big but should improve bot attraction logic a lot and fix a few bad bugs where normal doors get 'unpathed' until the player opens them again :loool:
Boss monsters can be subject to attraction queries as well.

There's a weird crash bug on clients when they're switching levels, related to the HUD.
Will try to find out what's going on there.
MonsterHunt_protoC2.7z
(353.36 KiB) Downloaded 71 times
=======================================================
=======================================================
This modifies the bTournament option so that it doesn't require all the server slots to be filled, and allows players to go from READY to NOT-READY.
This is also being used on the server and works with all gametypes.
XC_Pug_Addons.7z
Requires XC_Engine v19 or higher.
(3.51 KiB) Downloaded 75 times
Installation:

Code: Select all

[XC_Engine.XC_GameEngine]
...
ServerActors=XC_Pug_Addons.XC_Pug_Actor
=======================================================
=======================================================
This mutator allows you to script each map in very interesting ways. (also in server)
For better understanding of what it does take a look at Gunloc.ini, said INI is parsed using a self-made system and the file is closed immediately after it finishes parsing so it can be safely modified during a session.
Gunloc_170416.7z
Requires XC_Engine v19 or higher.
100% serverside, do not add to ServerPackages
(21.89 KiB) Downloaded 78 times
Stuff it can do:
- Health/armor leech, ammo leech. Rewards per boss kill.
- Giving players items as part of their respawn kit.
- Modifying starting health.
- Executing a variety of console commands.
- Spawning scriptable triggers/events.

Content:
- VisibleTeleporter subtype that auto-connects to the path network, making bots use them effectively.
- Versatile trigger (added via scripting commands).
- INI parser


The code is great to look at (if you're into XC_Engine) because it provides great examples of improving the server like never seen before:

Player data and info is held in a specific actor and referenced in the mutator using a hashbin, meaning that instead of taking [1 to PlayerNum] loops to find the correct hashbin, it instead performs [1 to PlayerNum/16] loops, this is the same kind of code that hashes player data in MonsterHunt_CR, These player data holders use dynamic arrays for the item implementations (similar to UE2).

The INI handler shows how to use the BinarySerializer component of XC_Core to load and write text data in simple ways, text parsing is super simple so take into account that the order in which stuff is added matters.

Console commands can be modified as it can be seen in the GunlocMutator class, while ConsoleCommand is a native function, it is the only one that can be overriden or expanded.
I used that as a way to implement methods from the player classes into the GunlocMutator allowing the server admin to easily script the map with these commands, especially with SUMMON because the scripter can specify location and modify variables on the newly spawned actor.

The GunlocTeleporter class is an extension of VisibleTeleporter and it'll be replicated as a VisibleTeleporter to clients, avoiding the need of having to send the package to clients (bSuperClassRelevancy), this teleporter class will temporarily create a pawn (GunlocScout) to evaluate reachability from nearby paths and connect it to the path network, making bots 100% able to use these teleporters.
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Splitting MonsterHunt packages?

Post by sektor2111 »

I was looking over this stuff... Eheh, pretty interesting, good concept, I'm not sure if I can complain about something.

By returning to MH chapter, probably I'll stay with my lousy thing aka conformed MH because it do includes some of my tweaks which I was thinking for years:
- Monster self attack is decreased - A.I. get improved;
- Monster attack Bot Anytime/Unexpected not only if Bot calls attraction (while they are in Pathnodes or others);
- MonsterShadow Decal is VISIBLE.
- Bot moves well in Maps originally well Bot Pathed and not tweaked - Editor is for editing else = NO LEARNING MAPPING EVER;
- WayPoint will not break order of touching with any matter - I DON'T NEED THIS and neither to be "byte Property None";
- Server has almost 0 load if nobody is playing due to monsters in waiting process before even to get in Auto State - no iterators operated;
- Old Ammo Messages and those similar are shown as BotPack ones - PickupMessagePlus;
- compatibility MHPlus TeamMH MH2 MHx - excuse me but you have broken stuff here - No more Multi MH server;
- I have ALL Old weps Replacements (wondering about your Eightball and quadshot);

However, I'm clapping hands for tiny pathing stuff, even if those empty cubes are LOW QUALITY (which I don't use). Majority of those NO pathed maps are SH!T with some exceptions of course. Mainly Every old mapper with skill was doing good paths as well and not guessing stuff. Botz mutator, more exactly BOTZ are doing "accessed none" errors which I was trying harder to remove for years - Not gonna return to that stage of doing games. While geometry in a map and funky actors are crapping things, I'm not bother to fix them or patch them - Nobody moved nothing for years - best solution = Editor. Even my MBot was mooing when enemy and or Bot itself were falling in BSP during combat - I think I solved them but I have to do tests - a lot of tests.

Aside, this concept it's interesting but setup is not an easy task for less experienced admins - THIS is somehow a problem because more MH noob admins are lost at sorting stuff for this game-type - but they are doing servers...
This mutator is Really very Advanced not that so called "Advanced Mutator". At using this mutator admin needs more than some MAPPING EXPERIENCE - but knowing how to hack MH stuff for functionality.
Post Reply