Home » SIRTECH CLASSICS » Jagged Alliance: Unfinished Business » Maps, Mods and Editors » corrigenda
corrigenda[message #191094] Fri, 18 July 2008 13:49 Go to next message
the scorpion

 
Messages:1834
Registered:September 2004
Location: CH
i recently stated that (named) NPC's getting hostile due to us (player) blowing up walls might be hardcoded. Apparently, this statement was false.

if you click on *edit hidden* in proedit, you see some fields called "room ranges"

it is much more likely that these values, representing room numbers of ANY given map the character is in, define where an explosion/ attack triggers the named NPC hostile.

the tricky thing is, these values only become visible once you actually click the "edit hidden" button, in normal proedit view, they're not visible


if a roomnumber in one of the ranges is "injured" by an explosion, it triggers the NPC hostile.

(you might have to test if this also works outside buildings, if you just put some roomnumbers somewhere, e.g. over a vehicle or a bunch of barrells Smile

i haven't yet had the chance to truly test, but a recent event in one of my highly modded games insinuates that this written above is at least more plausible. The grids are in this respect certainly not limited to the sector where your npc is in by default.

sorry for the previous misguiding information. Bad research of my part.

if anybody knows more/ better, feel free to share.


i will probably have to use this thread for further corrections so i named it in a generic way.

Report message to a moderator

Sergeant Major
Re: corrigenda[message #191099] Fri, 18 July 2008 14:58 Go to previous messageGo to next message
Will Gates is currently offline Will Gates

 
Messages:1012
Registered:September 2006
Location: Far far away.
Very plausable. I had always assumed it meant rooms they were likely to be in but your explanation makes more sense. Worth putting to the test. The much underused and not fully understood proedit has more secrets to yeild I'm sure.

Report message to a moderator

Sergeant Major
Re: corrigenda[message #191118] Fri, 18 July 2008 19:33 Go to previous messageGo to next message
the scorpion

 
Messages:1834
Registered:September 2004
Location: CH
you coudl try using it to make npc's (and along them, their factions) hostile

e.g. try placing roomnumbers around/ over a tank. the player will have to attack the tank, usually using explosives. setting the room ranges number so that these roomnumbers on the tank are there might cause your npc to go hostile if the tank is attacked.

i haven't yet had much time to test, but when i looked at the map roomnumbers where i detonated an explosives causing an npc to get hostile and his numbers in proedit then i think it was a match.

if it works reliably, it allows for some interesting applications IMO

(that was MY car you just blew up you... !!)

Report message to a moderator

Sergeant Major
Re: corrigenda[message #191126] Fri, 18 July 2008 20:14 Go to previous messageGo to next message
Khor1255 is currently offline Khor1255

 
Messages:1817
Registered:August 2003
Location: Pleasantville, NJ
That does sound cool but in the case of tanks aren't they assigned to the enemy (dedrianna's people) by default? I was not aware that you could assign them any other faction.

Report message to a moderator

Sergeant Major
Re: corrigenda[message #191130] Fri, 18 July 2008 21:02 Go to previous messageGo to next message
the scorpion

 
Messages:1834
Registered:September 2004
Location: CH
we're talking two different things here. Of course tanks can be both, either enemies or npc's, depending on what tab you place them in the editor. But that's not the point here

the point is to test in what respect attacking the roommunbers within roomranges of a given npc make him hostile. Now since only explosions do the trick, we need an object the player uses explosives (e.g. the LAW) on to test if we can use this as a trick to get certain npc's and their correspinding factions hostile in a relativly save way, without direct interaction.

Report message to a moderator

Sergeant Major
Re: corrigenda[message #191138] Fri, 18 July 2008 21:50 Go to previous messageGo to next message
Khor1255 is currently offline Khor1255

 
Messages:1817
Registered:August 2003
Location: Pleasantville, NJ
Didn't know tanks could be anything other than enemies. I understood what you were getting at but wanted to ask that question rather than find out the hard way.

I've never played around with the room ranges. It sounds as if this number should correspond to the room number in a map the npc is placed in (maybe could not work for an @0 npc). If something within this room number is damaged the npc becomes hostile.

Is that how it works?

If so I wonder if just a piece of furniture might do the trick?

Yes, it needs testing since in the case of a tank you could just make the npc hostile by assigning the tank to his faction.

Am I missing something here?

Report message to a moderator

Sergeant Major
Re: corrigenda[message #191142] Fri, 18 July 2008 22:08 Go to previous messageGo to next message
the scorpion

 
Messages:1834
Registered:September 2004
Location: CH
yes i guess furniture would do the trick, as would an empty tile. the reason i bring a tank into play is to have a reason/ target for the player to detonate something there. and since the primary way to dispose of tanks is using law's (that act like explosives in this context), the function might already work that way.
would i put a chair there, the player wouldn't really see a reason to blow the chair up.

faction tanks are probably no good idea due to faction respawns and multiple tanks respawning at the same places things like that isn't so perfect/ has issues.

Report message to a moderator

Sergeant Major
Re: corrigenda[message #191143] Fri, 18 July 2008 22:13 Go to previous messageGo to next message
Khor1255 is currently offline Khor1255

 
Messages:1817
Registered:August 2003
Location: Pleasantville, NJ
I am speaking mainly of ideal testing conditions where things like factional interaction could have no possible bearing (unless of course the chair was working for dedrianna).

It is just a hypothetical to insure the game is looking at the room range and nothing more.

I'm not really sure if you could blow up an empty tile (meaning it might take the actual destruction of some game object to trigger the npc) but that is also a worthy experiment.

I might actually get a chance to do some of this tomorrow night and will post here if I find something I think is of interest.

Report message to a moderator

Sergeant Major
Re: corrigenda[message #191144] Fri, 18 July 2008 22:20 Go to previous messageGo to next message
the scorpion

 
Messages:1834
Registered:September 2004
Location: CH
that'd be cool. my assumption is that you don't need to actually damage anything. if you detonate a c4 load in the middle of the hospital emergency room, even if not damaging anything, this feature, given its intended purpose, would logically turn the npc (in this case, Vince) hostile because you attacked the integrity of his home.

the only thing that needs to be there is the room number, which in turn must be in the range given in proedit.
that's what i assume anyway, hope it is so because that way it'd be most easily used for applications like the afore mentioned tank.

Report message to a moderator

Sergeant Major
Re: corrigenda[message #191146] Fri, 18 July 2008 22:26 Go to previous messageGo to next message
Khor1255 is currently offline Khor1255

 
Messages:1817
Registered:August 2003
Location: Pleasantville, NJ
That is the way I am hoping it works because then you can have an npc say something like, 'Enjoy your gun battle but don't let it get near my house!' and actually give that statement teeth.

Things like this that provide variability? sp? make for very interesting mod possibilities as well as replayability.

I'm really glad you brought that up.

After a long bout with utter disgust I fired up my map editor last night (v302 or something like that) and plan on at least finishing the mapping even if I finally decide to drop off the face of the earth so to speak.

Your posts in this section and general idea and sense making have been the lifeline that has kept this forum from slipping into utter oblivion for me.

Report message to a moderator

Sergeant Major
Re: corrigenda[message #191147] Fri, 18 July 2008 22:34 Go to previous messageGo to next message
the scorpion

 
Messages:1834
Registered:September 2004
Location: CH
hehe considering how much we fought in the past, i'm flattered.

i want to keep going to 5000 postings. I notice you've got about the same post count...

*edit*

although 4774 is also a pretty cool post count...



yup, you're on the point here. Npc's getting all aggro because you exploded their car, set their kid's bed on fire, or simply detonated a pipe bomb under their kitchen sink... i think it makes sense and it can be used for various ideas.

after we do some testing, we might be able to write a good infothread about it. at the moment, i am still mostly guessing, so, glad i can discuss this with you guys here and get the inputs.

Report message to a moderator

Sergeant Major
Re: corrigenda[message #191498] Tue, 22 July 2008 15:19 Go to previous messageGo to next message
the scorpion

 
Messages:1834
Registered:September 2004
Location: CH
i made some tests:

even a mingrenade is enough to trigger these npc's hostile. don't known about gas, would give ita test as well

even an explosion caused by shooting at a (explosive) barrell triggers it (maybe map triggers do as well, not yet tested)

roomnumber can be placed anywhere, the tile object ontop of the roofnumbers doesn't need to be destroyed.

so even the slightest mishap can cause npc's to get hostiles if the mapmaker wants it so.

Report message to a moderator

Sergeant Major
Re: corrigenda[message #192447] Thu, 31 July 2008 15:26 Go to previous messageGo to next message
Will Gates is currently offline Will Gates

 
Messages:1012
Registered:September 2006
Location: Far far away.
Assuming the room ranges only relate to the rooms in the map where certain character is meant to be according to prof.dat. For Hicks this means every room on the map whereas for Tony in San Mona it is only his shop. However there are two fields which is cool so for Betty in Varrez say you can do Room Ranges 1 to 5 (equals the shop) plus Room Ranges 45 to 50 (which is the b-cat infested store house); saves having to renumber every room just to suit a cunning plan. For characters set at @0 giving them room ranges might create some random quirky stuff... probably not worth it, the fixed characters are enough.

[Updated on: Thu, 31 July 2008 15:27] by Moderator

Report message to a moderator

Sergeant Major
Re: corrigenda[message #194680] Sat, 23 August 2008 15:47 Go to previous messageGo to next message
the scorpion

 
Messages:1834
Registered:September 2004
Location: CH
Corrigenda 2


in the past i have claimed that the look of the actual bullet is hardcoded.

it isn't. Much more it is a tile graphic consisting of one frame for the bullet and one frame for its shadow

given the way it is used, however, is hardcoded so that significantly reduces the possibility for meaningful modifications.

What can be done, however, is to use different bullet looks on different tilesets. Might be useful to better see bullet flight paths on tropical or snow sets for example.


i'll be having one more look at it later and see if i can come up with more details. Certainly, the graphic and the action is not as complex as to make it impossible to coders to give some increased external control to it.

Report message to a moderator

Sergeant Major
Re: corrigenda[message #237423] Wed, 11 November 2009 15:59 Go to previous message
the scorpion

 
Messages:1834
Registered:September 2004
Location: CH
Corrigenda 3

As embarassing as it is, even my rather recent tutorials on character slots are apparently false/ inaccurate. Rather than either being NPC or RPC depending on character slot, any NPC can in principle be made recuitable. The slot hardcode only refers to parts of the character information, not to the fact WHETHER or not a character can be recruited or not at all (recruited at the same time also means escorted, these seem interchangeable and only depend on the script used)

Limitations according to my current level of knowledge:

1. Face animation coords (until they'll be fully externalised, Kriplo is/ was working on this)
Please also refer to information and tutorial on PC face coordinates for more background information

2. MERC-NPC Interaction values (Until prof.dat is externalised in a meaningful way)

3. Traders (this is a very different story altogether and i haven't put any noteworthy research into it)

1. If you decide to make, say, slot 134 (whoever that may be) an RPC or EPC, you'll face the issue of having only one set of face animation coordinates. This means in principle you'll have only one face that is properly animated, either the 90x100 or 48x43 one.
Of course, if you purposefully design a face in such a way that the same set of coords animate it correctly for both sizes, you may be able to work around it (also: you can shift coords in sti-edt, but i don't know how many pixels you're allowed to, i'll test it one day)
Alternativly, hiding the 90x100 face of the npc by not allowing him to have contact with the player while he's still NPC and designing the coords for the 48x43 face only may under certain conditions be an option: also, unanimated 48x43 faces can be a way to go e.g. if you play on high resolutions and hardly notice eye/ mouth movement, or if you have an RPC that has parts of the face obscured by glasses or whatever. So there are workarounds for the time being.

2. No real workaround seems to exist for missing MERC-NPC approach values. These values are defined by proedit and, as opposed to other values in proedit, lack a good default value for the case in which they're missing. (The default is apparently 0. 100 would be a far better one)
These values are only defined for certain slots in proedit and whoever has no such values defined will be seriously impaired when interacting with NPC's. So you can't make a diplomat RPC out of slot 134, even if you set leadership to 99 (yeah, technically, it'll work in some cases but not wrk in others, but the player has no way of figuring that unless he compares proedit to the scripting requirements, but that'd be like cheating, and complicated to boot)
I don't know how hard it would be to design an externalised default for these 4 values. Maybe fully externalised values will be similarly easy especially since some people have already worked on prof.dat externalisation, even if only very superficially.

3. Traders seem, prima facie, to be hardcoded to theit slots. Though the trader interface might be an NPC action if i recall correctly, so artificially activating it might be possible, this i'll have to test, but an easy, external way to make any given NPC a trader seems not there right now.

Report message to a moderator

Sergeant Major
Previous Topic: tools translation project
Next Topic: Random RPC/NPC placement override
Goto Forum:
  


Current Time: Fri Apr 19 03:34:45 GMT+3 2024

Total time taken to generate the page: 0.01482 seconds