Перейти к содержимому

Фотография

Released Campaign: Untold Tales Of Tolkien: The Umbral Abyss


  • Пожалуйста, авторизуйтесь, чтобы ответить
99 ответов в этой теме

#76
MERP_UK

MERP_UK
  • Members
  • 96 сообщений

Thanks!

 

Umbral Abyss can now be downloaded from NW Vault



#77
MERP_UK

MERP_UK
  • Members
  • 96 сообщений

Sorry to be so morbid, but I want to talk about death. Namely, the death event of companions :)

 

The campaign uses the NWN2 OC knock-out death system. The only change made to the ondeath event was the addition of a line which removes any wounding effects from the companion.

 

I am having some problems with companions occasionally not "auto reviving" after being knock-out killed. One of my more eagle eyed players has noted that this seems to occur if the companion was under the control of the player when they were killed. They did a few experiments and this seems to be a probable cause.

 

Has anyone experienced this before? Know any possible workaround?



#78
Claudius33

Claudius33
  • Members
  • 256 сообщений

I experienced something similar several years ago. If I remember correctly it happened when the companion's property 'corpse can be looted' (my toolset is in French) was set to true.

 

Hope it helps.


  • Это нравится: GCoyote

#79
kevL

kevL
  • Members
  • 4 052 сообщений
When a player is controlling a companion, the companion's event scripts get overridden by the "Companion_Possessed" scripts in 'NwN2_Scriptsets.2da'

And the PC's scripts get overriden by "Player_Default" -- basically the two scriptsets are switched. Ie, the companion is treated as the PC and the PC is treated as a Companion, as far as the event scripts go.


note, the module-level onDeath/onDying scripts also come into play (and iirc make their own checks re. PC vs Companions). hth
  • Это нравится: GCoyote

#80
andysks

andysks
  • Members
  • 1 642 сообщений

I had several problems like that, occurring when the player controls the companion and not the main hero character. This eluded me because I test my work almost always with a fighter, and therefore I lead with him. Then testers play wizards and druids and encounter bugs like that for they choose to lead with a companion who is more front line than them :).

 

Most of them were related to conversations. But also journal is affected, and interactions like world map travel (in my case it removes the companions from the party if headed towards hangout).



#81
MERP_UK

MERP_UK
  • Members
  • 96 сообщений

Thanks for the suggestions!

 

One of my players seems to have found a solution. Companions are now  behaving properly for him.

//This variable enables the NX2 Transition system. This modifies transitions such that you are allowed to
		//transition with dead party members, those party members aren't ressed, and it only requires you to gather
		//player controlled creatures.
		//SetGlobalInt( VAR_GLOBAL_NX2_TRANSITIONS, TRUE);

He commented out this part of the module load event which handles SoZ death. Seems to have worked.



#82
MERP_UK

MERP_UK
  • Members
  • 96 сообщений

We have updated the blog, shared a bit of news and issued a silly challenge!

 

http://merpuk.blogspot.co.uk/


  • Это нравится: GCoyote, PJ156 и rjshae

#83
MERP_UK

MERP_UK
  • Members
  • 96 сообщений

So far so good, folks seem to be having a lot of fun with the campaign. I've had to issue 5 patches so far, all relatively easy issues to fix up which I can compile into a full update in the new year.

 

I wanted to share one of the more common problems with the wise minds on this forum, which concerns getting cutscene conversations to reliably fire immediately after combat has ended. Sometimes such scenes fail to launch and I think it has something to do with either the player character being dead, or the killing blow in the combat being struck by a companion under the player's control.

 

There are a lot of functions available, but do you guys have a preferred/recommended function/s to call when reliably triggering a conversation immediately after combat has ended?



#84
Tchos

Tchos
  • Members
  • 5 030 сообщений

I haven't, but I've seen similar problems due to people using functions that have checks for the PC included, or actually including checks themselves that only do the tasks if the killer is a PC.  Surely if this is a boss, then you want the ending script to fire no matter who kills it, so I'd suggest not including a PC check.


  • Это нравится: MERP_UK

#85
kamal_

kamal_
  • Members
  • 5 235 сообщений
Iirc when I use lilac soul's script gen for creature deaths it includes code to reflect the killing act to the pc if it was a kill by a summons/animal companion etc. Is the boss getting killed by a summon perhaps?

#86
Tchos

Tchos
  • Members
  • 5 030 сообщений

One thing useful to know for this issue is whether you intend for the game to be multiplayer, or single-player only.



#87
kevL

kevL
  • Members
  • 4 052 сообщений

... getting cutscene conversations to reliably fire immediately after combat has ended. Sometimes such scenes fail to launch and I think it has something to do with either the player character being dead, or the killing blow in the combat being struck by a companion under the player's control.

There are a lot of functions available, but do you guys have a preferred/recommended function/s to call when reliably triggering a conversation immediately after combat has ended?


In the OC, there's a possible fight in the Fire Giant's Canyon that involves the party, Tholapsyx, and the Fire Giants. The fire giants are assigned to a 'group' and Tholapsyx to another 'group'. A cutscene starts after one or the other group is vanquished.

In the stock game this is triggered by GroupOnDeathBeginConversation() -- which I find is unreliable and so changed it to GroupOnDeathExecuteCustomScript(). ( 'ginc_group' )

the script i put together, to start the cutscene etc, should account for any eventuality, and is overkill but have a look


How you would start it or something like it, whether or not groups are used, depends on prior things -- is it a fight to the death, what are party death rules, is anything more than a dialog supposed to happen .... The conveniently odd thing about the Fire Giants Canyon battle is that the cutscene is triggered by the full-death of either Tholapsyx or the Fire Giants' faction, then conversation is initiated with the *other* faction. But, not sure what happens if the player-party gets wiped; probably reload. (yeah but what happens in the Canyon while the battle is "still raging" between Tholapsyx and the Fire Giants)

And it seems to me that if you really want to solve the player-is-controlling-a-companion issue, you'd either have to muck with the onDeath scripts both at module level and in NwN2Scriptsets, or try to auto-resurrect what's needed and be done with it -- which iirc is how the OC does it. Also note that if player is not controlling his/her own character, control is forced back to the Owned character after resurrection etc. but before the cutscene starts.
  • Это нравится: GCoyote и MERP_UK

#88
Claudius33

Claudius33
  • Members
  • 256 сообщений

I personally prefer to update the journal in the OnDeath script (of all creatures if you test the body count in it  or of the boss only) saying something like 'Talk to NPC XX as soon as possible'. Of course NPC XX can be a companion if relevant.

 

I never figured out a bullet-proof solution, so I decided to play it safe and use the journal. kevL's script might be more convenient though.


  • Это нравится: MERP_UK

#89
kevL

kevL
  • Members
  • 4 052 сообщений

... kevL's script might be more convenient though.


it won't work as-is, of c. It just lists a bunch of functions to track down in #includes, that can stabilize some stuff.

#90
MERP_UK

MERP_UK
  • Members
  • 96 сообщений

Thanks for the comments. My work is for single player. The days of stressing over multiplayer is over :)

 

I'd be interested in looking at your solution, kevL. My scripting has improved a great deal over the 2 campaigns I have made, but I have yet to master groups. Looking at them before intimidated me, so I left it, but I think now is the time I worked them out. I will check out your script. Are there any other good references on the group feature?



#91
Tchos

Tchos
  • Members
  • 5 030 сообщений

The group include file itself is well-documented, and is probably the best reference for it.  It relies a lot on temporary global variables, and many of the functions will break if you manually change the On Death script for the group members, manually (or by script) change the DeathScript local variable, or otherwise remove something that the functions expected to be there.  They're designed to work with the default script sets.

 

Generally, for any conversation that I want to fire automatically, and to take into account dead party members or whether combat is going on, I start it with CreateIPSpeaker(), which is in the include file "ginc_ipspeaker".

 

Also, since you say it's for single-player, my suggestion stands to not make any check to see if the killer was a PC.  You can get the currently-controlled PC, which is who you want to start a conversation with, with GetFirstPC(FALSE).  (The "false" is the part that picks the currently-controlled party member rather than the originally-created character.)


  • Это нравится: MERP_UK

#92
kevL

kevL
  • Members
  • 4 052 сообщений
also,
the groups for the Giant battle are setup in script '3033a_fireking.nss' (3000_Neverwinter_A3.mod)

It's also in my .sig, Dragons in the OC, with the change from BeginConversation to ExecuteCustomScript
  • Это нравится: MERP_UK

#93
MERP_UK

MERP_UK
  • Members
  • 96 сообщений

Thanks to you both, this has been extremely helpful. I will have a go at using a group system to see if I can get it right. All being well, I can use this more reliable method in future work :)



#94
MERP_UK

MERP_UK
  • Members
  • 96 сообщений

A few experiments later and I think I have the basis of groups working. Next to try out some of the finer functions. Thank you again for the support.

 

Our blog page has had a few updates since release:
http://merpuk.blogspot.co.uk/


  • Это нравится: rjshae

#95
MERP_UK

MERP_UK
  • Members
  • 96 сообщений
The first major update to the campaign is being prepared.
 
We have compiled a sizeable list of things to fix and add to Umbral Abyss for the first update (2.0). Work is underway on implementing these and we expect to release the updated version sometime in the week commencing 17th January.
 
If you know of any issues which you have not seen reported already, now is the time to share them!
 
A full list of the changes will be released soon. Thank you for all the support and feedback.
 

  • Это нравится: GCoyote и rjshae

#96
MERP_UK

MERP_UK
  • Members
  • 96 сообщений

I will be updating this week. Just waiting on some feedback from a player who is in the final part of the campaign. The provisional list of changes can be found on the blog. Thanks to everyone who has contributed!

 

http://merpuk.blogspot.co.uk/


  • Это нравится: GCoyote

#97
MERP_UK

MERP_UK
  • Members
  • 96 сообщений

Just returned to the toolset after a very short break. Full of ideas and ready to get to grips with my trilogy finale :)

 

More on the blog: http://merpuk.blogspot.co.uk/



#98
HortaFan

HortaFan
  • Members
  • 2 сообщений

My main character has acquired several history feats that have symbols, but no description.  The following Feats have descriptions:

 

Bane of the Wizard

Closure

Dragon Spell

Lakelander

Natural Leader

Survivor

 

The missing feats all seem to be from Act II.  I'm guessing I'm either missing files or have them in the wrong spot.

 

Can anyone help me out?

 

HortaFan@gmail.com



#99
4760

4760
  • Members
  • 1 203 сообщений

HortaFan, I don't have the answer to your question, but I suggest you remove your e-mail address from your post (unless you don't mind receiving spams).



#100
MERP_UK

MERP_UK
  • Members
  • 96 сообщений

Hello,

 

Visit the Nexus Page: http://www.nexusmods.../?id=1018&pUp=1

 

Look down the files list for Patch 1.4 - this should resolve the missing names/descriptions.