Aller au contenu

Photo

Callum bug...


  • Veuillez vous connecter pour répondre
28 réponses à ce sujet

#1
Phantom13NWN2

Phantom13NWN2
  • Members
  • 124 messages
  I got help here in fixing a bug yesterday so I figured I should try again.

In the battle where Callum gets killed by blade golems. In the combat log it says that I killed Callum. Anyone have a script fix (or other fix) for this?

Thanks in advance.

Modifié par Phantom13NWN2, 23 avril 2013 - 02:36 .


#2
Phantom13NWN2

Phantom13NWN2
  • Members
  • 124 messages
I guess a decent time in my timezone isnt so decent in the country of those people who helped me yesterday haha

#3
kevL

kevL
  • Members
  • 4 056 messages
thanks for pointing that out. It's probably just some shaky assignment made by the original scripters, but since it sounds like some one-off thing that doesn't affect gameplay proper / shrug :)

#4
I_Raps

I_Raps
  • Members
  • 1 262 messages
In these cutscenes, the voices and actions are often pinned on things other than those that appear to utter the words or do the deeds. The PC may actually be the "caster" of the "spell" that kills Callum.

#5
Phantom13NWN2

Phantom13NWN2
  • Members
  • 124 messages
yes it seems the game somehow gets "confused" for lack of a better word and interpretes somehow that I killed Callum and grants me 5 xp.

But isnt there someway I can open the script for that battle and fix this with a few well placed slashes or letters or what ever?

I find it rather irritating. And I dont want to get xp for killing a guy I didnt(and wouldnt have) kill(ed).

I saw some guy had made a download where he had fixed several things, and that bug was one of them. But I dont want to install custom content and people where complaining that he had changed things to be "as he saw fit" haha.

So Im not using that.

Modifié par Phantom13NWN2, 23 avril 2013 - 10:19 .


#6
Phantom13NWN2

Phantom13NWN2
  • Members
  • 124 messages
What I_Raps pointed out, was what I thought might be the case. So if I can somehow fix it, it would be awesome, if it doesnt take up too much time for anyone of you guys to explain how I can fix it.

#7
Phantom13NWN2

Phantom13NWN2
  • Members
  • 124 messages
If I am thinking right... Couldnt I just open the script for the battle and change the "caster of the spell that kills callum", from me, to the shadow reaver or one of the blade golems.

I find scripting to be kinda interesting so it doesnt hurt to learn a bit more about this stuff.

Of course, I dont expect to learn scripting by following your directions.

#8
I_Raps

I_Raps
  • Members
  • 1 262 messages
It's not really the game getting "confused" - it's doing exactly what was programmed. What you're seeing in that combat log is behind the curtain; you're not supposed to see it, certainly not take it literally. You didn't get a journal entry that you killed Callum, did you?

Another example that I'm all too familiar with - when you raid Leldon's house and get to the chest with the coin in it. When you leave the building, there is a cutscene with two of Leldon's henchmen coming in and seeing the chest open. The thing is, the chest is actually doing one of the roles in the conversation script; if the chest was destroyed, the conversation just breaks there (which also doesn't set a variable on Leldon which causes - oddities - the next time you see him).

Another one you'll see shortly - if you're observant.  There's an important battle coming up, and both AJ and Z will jump in to fight along with you.  At the end of the battle, there is a cutscene involving "them," but if you watch closely, you'll see it's not them, it's two doppelgangers;  they will be equipped with what they originally had, AJ's silly sword and Z's spear, no matter what you actually have them carrying (this becomes abundantly obvious if you're using a mod that shows the armor they're wearing).

A lot goes on behind the curtain.  Better for the sake of the story just to focus on the screen.

Modifié par I_Raps, 23 avril 2013 - 10:29 .


#9
Phantom13NWN2

Phantom13NWN2
  • Members
  • 124 messages
I understand of course. Wonder why they program it that way tough. It cant be that hard to just spawn the real character in a location, or make the right character kill the right character. Again, maybe I dont know enough about scripting, or maybe it saves time to work around a problem or something.

The thing that annoys me is getting XP when I havent done anything. I was thinking if I learnt how to fix this problem, I could solve another similar problem if it popped up.

You know... If the game suddenly decides to grant me a 1000 XP for killing a cat I didtnt kill or something.

You guys dont know of any similar cases where this kind of thing happens, I mean... you randomly get XP?

Modifié par Phantom13NWN2, 23 avril 2013 - 10:37 .


#10
I_Raps

I_Raps
  • Members
  • 1 262 messages

Phantom13NWN2 wrote...

If I am thinking right... Couldnt I just open the script for the battle and change the "caster of the spell that kills callum", from me, to the shadow reaver or one of the blade golems.

I find scripting to be kinda interesting so it doesnt hurt to learn a bit more about this stuff.

Of course, I dont expect to learn scripting by following your directions.


Maybe you can do this.  You would open the proper module (probably 2300_Crossroad_Keep_Adv.mod) and look at the scripts with "cs" in their names (cutscenes).  Be careful, though.  The reaver/constructs that you see in the cutscene may not be the same ones you actually fight, like in the AJ to Z example I just posted;  be sure to target the right tag/resref.

#11
I_Raps

I_Raps
  • Members
  • 1 262 messages

Phantom13NWN2 wrote...

I understand of course. Wonder why they program it that way tough.


LOL.  There's an awful lot of chaos in the scripting of this game.  If you've ever practiced any programming discipline, your eyes will boggle when you start poking around in these scripts.

NWN2 is like Keebler cookies - baked by elves.

#12
Phantom13NWN2

Phantom13NWN2
  • Members
  • 124 messages
But would it make a difference? What I mean is...

If I changed it to EITHER the reaver/constructs in the cutscene, or the ones I actually fight. Wouldnt the end result be the same? I dont get the XP and reaver/golem gets the kill? Or would cause some weird spawning problem if I somehow get it wrong?

How would I open a Module anyway? You dont open a module in a text editor do you? That would be what you do with the scripts IN the module right? Or?

#13
I_Raps

I_Raps
  • Members
  • 1 262 messages
The difference is huge, actually. You have to make the caster someone who's actually already there, not someone who's about to spawn in after the convo. Otherwise you'll get the Leldon's chest situation that I mentioned above.

#14
Phantom13NWN2

Phantom13NWN2
  • Members
  • 124 messages

I_Raps wrote...

Phantom13NWN2 wrote...

I understand of course. Wonder why they program it that way tough.


LOL.  There's an awful lot of chaos in the scripting of this game.  If you've ever practiced any programming discipline, your eyes will boggle when you start poking around in these scripts.

NWN2 is like Keebler cookies - baked by elves.


Except for last night, I have no scripting experience at all haha... But.. Considering the amount of bugs in this game I could have guessed it would have to be something wrong haha... 

#15
I_Raps

I_Raps
  • Members
  • 1 262 messages
Also, many times the speaker is not the shown character but a "speaker object" (not sure about the wording); an invisible object placed near the character who is apparently speaking. I think the speaker object and the doppelgangers are used because the characters actually have conversation files assigned to them (that you access anywhere by talking to them), and they don't want to confuse those conversations with these one-off events.

#16
I_Raps

I_Raps
  • Members
  • 1 262 messages
Come to think of it ...

I think when a speaker object does something, the program credits that to the PC, so that's probably what's going on here.

#17
Phantom13NWN2

Phantom13NWN2
  • Members
  • 124 messages
Sadly, this doesnt seem like something Ill be able to do on my own... Considering my scripting history, but could you just tell me about how I would open the module and access the scripts within, so I can have a look around to see if this is something I can fix on my own?

And what exactly would I do too the script once I find it? I cant just rename the file to construct instead of me) obviously...

And what is the best way to actually learn real scripting anyway?

Modifié par Phantom13NWN2, 23 avril 2013 - 11:03 .


#18
I_Raps

I_Raps
  • Members
  • 1 262 messages
No, I can't type that fast. You would die of old age before I ever got the post up.

You can look here in the Toolset and Scripting subforums. There are sticky posts explaining how to get started. There are also Wikis online with more detailed info.

#19
Phantom13NWN2

Phantom13NWN2
  • Members
  • 124 messages
Okay man. Thanks for taking your time.

#20
kevL

kevL
  • Members
  • 4 056 messages
strange,

here's line 284 that slays Callum ( '30a_reaver3' in module 2100_Crossroad_Keep_A2 ):

DelayCommand(2.f, AssignCommand(oGolem, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, oCallum)));

The application of EffectDeath() is assigned to oGolem, tag "3055_bladegol", and the conversationOwner is the reaver. afaict, the PC is just a bystander, even in the code ...

ah, but this is called by AssignCutsceneActionToObject(), a hardcoded OEI function. And GetPCSpeaker() is the assigned object. In other terms, this action looks like this:

pseudo-code (?) :
DelayCommand(2.f, AssignCutsceneActionToObject(oPC, AssignCommand(oGolem, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, oCallum))));


This, i imagine, is what the pros call "inelegant" -- and what i call ... well it's a family forum. btw, the dialog is '30_reaver3'

don't break anything!

#21
I_Raps

I_Raps
  • Members
  • 1 262 messages
Well, as the CinC who actually commanded the golem to kill Callum, I think the Knight Captain has truly earned those XP.

Good show.

#22
kevL

kevL
  • Members
  • 4 056 messages
lol

#23
Phantom13NWN2

Phantom13NWN2
  • Members
  • 124 messages
So...

If the death effect is applied by the golem... What exactly is it that causes the game to give the PC the kill and XP ?

You the say the PC is a bystander, then you say that the PC is assigned as the object in the AssignCutsceneActionToObject. So is that to blame?

Is the PC essentially given the XP of the golem?

And could I potentially do something with this to fix the bug?

#24
Phantom13NWN2

Phantom13NWN2
  • Members
  • 124 messages
I see.. Could I do something with this to fix the problem?

#25
Phantom13NWN2

Phantom13NWN2
  • Members
  • 124 messages
Or could I do something to prevent it from appearing in the combat log?