Post reply

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.
Name:
Email:
Subject:
Message icon:

Verification:
Type the letters shown in the picture
Listen to the letters / Request another image

Type the letters shown in the picture:
What color is grass?:
What is the seventh word in this sentence?:
What is five minus two (use the full word)?:

shortcuts: hit alt+s to submit/post or alt+p to preview


Topic Summary

Posted by: Kulyok
« on: April 16, 2009, 08:11:27 AM »

Ah, yes! Good thinking about the note. (I don't put these in Xan or Assassinations, because I'm reasonably sure copying their code is not a wholly bad idea, but this time, yes, I really should).

Not trusting the converter tool thingy that much(though I'm in awe of DW's skills, may he update UB ten thousand times more :) ), because there is always One Interjection and One User to find it... and I don't like that. ;D
Posted by: the bigg
« on: April 16, 2009, 08:07:08 AM »

It should work, yes (just check a dozen or so interjections to be reasonably sure), or ask some perl guru (DW?) to write a converter tool. Stick big fat notices "this is poor code, don't read it if you want to learn" at the top of your code, in case some newbie reads that code with the hopes of learning .d or something (steal the notice from Sola or Kelsey SoA if you feel unimaginative).
Posted by: Kulyok
« on: April 16, 2009, 12:33:18 AM »

*bump*

One year later. :) I'm going to do a conversion of IWD NPC for IWD in BG2 engine. But re-writing all interjections from

EXTEND_BOTTOM DACCALIA 3
IF ~InParty("O#Severn") Detect("O#Severn") !StateCheck("O#Severn",CD_STATE_NOTVALID)~ EXTERN O#SEVERN O#SevernDACCALIA3
END

CHAIN O#SEVERN O#SevernDACCALIA3
~So much for a friendly welcome.~
== O#TERI IF ~InParty("O#Teri") Detect("O#Teri") !StateCheck("O#Teri",CD_STATE_NOTVALID)~ THEN ~Maybe they like living dangerously.~
== DACCALIA ~This year, we were lucky.  But who knows what will happen next season?~
END
COPY_TRANS O#DUMP 1

to your usual format:

I_C_T DADSON 0 O#TeriDADSON0
== O#TERI IF ~InParty("O#Teri") Detect("O#Teri") !StateCheck("O#Teri",CD_STATE_NOTVALID)~ THEN ~Riiiight...~
END

- it's a little tedious, so I wanted to ask you knowledgable people: will the scheme we talked about (with DUMP files) work on BG2 engine as well as it does on IWD engine? I suppose the answer is yes(and I'm going to test it, too) - but just to be sure?
Posted by: jastey
« on: March 21, 2008, 02:08:13 PM »

I just took the example you posted above, before you knew there is OR() in IWD. And, instead of "False()" all the original triggers, I inserted the Global = 1, so the original transitions can trigger once the interjection run. If doing so, the Global = 0 shouldn't be forgotten in the EXTEND_BOTTOM, of course.

I am also looking foreward to my BG1 guide, since it means it will be written then.
Posted by: Kulyok
« on: March 21, 2008, 01:54:13 PM »

That's interesting. I'm looking forward to your BG1 guide - if you manage to do all that without OR(), it's going to be astounding; I barely managed with OR().
Posted by: jastey
« on: March 21, 2008, 01:29:39 PM »

I used the check variable to prevent the extra-line to fire after the NPC spoke its line. This, at least, is possible. Of course, until the NPC gets to say his part, the extra line will show if he is not in the party / unable to speak.
This is only relevant for an Interjection that is supposed to happen once, while the state can be called several times (like it is for example for priests in a temple etc.).
Posted by: jastey
« on: March 21, 2008, 09:51:25 AM »

It is working, I am so glad. Thank you again!
Posted by: Kulyok
« on: March 21, 2008, 08:51:20 AM »

Well, I was writing a story(er, I mean, working! Working, definitely), and I was stuck, so taking half an hour off was a blessing. :) Good luck.
Posted by: jastey
« on: March 21, 2008, 08:28:52 AM »

Did you write this in half an hour? I am preparing the BG1 tutorial for at least three weeks now (not full-time, though).

I used the version with the stupid additional line, I think it is bearable in this case, so I can stick to the trigger tripple.

Thank you for putting this together! And thank you very much to all involved for solving this problem before I even encountered it. Heh. :)
Posted by: Kulyok
« on: March 21, 2008, 08:10:49 AM »

Here we go.

As for BG1, I think InParty() will work: after all, BG2 Tweaks is one of the most popular mods ever, and it uses just InParty. Yes, they do so because they don't have a choice, but, well, so do you! So, good luck. :)
Posted by: jastey
« on: March 21, 2008, 07:41:45 AM »

That's what I was afraid of. Maybe aVENGER can conjure up another one out of his hat?

I will try to use the structure you proposed in the linked post. If I totally fail to make it work s glance at your coding in IWDNPC would be great. I will let you know and thank you for the offer!
Posted by: Kulyok
« on: March 21, 2008, 07:39:02 AM »

Oh! I've just realized: BG1 does NOT have "OR()"'s, not at all. So you won't be able to use both InParty(), Detect() and CD_STATE_NOTVALID.
Posted by: Kulyok
« on: March 21, 2008, 07:37:35 AM »

A tutorial? Sure, give me a few minutes. (If you'd like a copy of IWD NPC, by the way, just PM me or post here.)
Posted by: jastey
« on: March 21, 2008, 07:22:59 AM »

I have the same problem in BG1.

What was the solution? My brain refuses to understand the examples given in this thread. :-[

I guess this is what I should use for BG1.

Do I see correctly that it really needs to be three files ("O#DUMP","REPLACE","INTERJECTIONS")? (Although I might call it C#DUMP, preferably).

Could this be turned into a tutorial? Once I understand it, I would like to add it to my "Differences of the BG1 engine compared to BGII and how to simulate some of the missing features" tutorial I am preparing.
Posted by: Kulyok
« on: February 03, 2008, 02:32:43 PM »

Just wanted to say thanks once again: I finished recording the interjections, and they work just like they should. Yay!