Author Topic: Noob with Need  (Read 32126 times)

0 Members and 1 Guest are viewing this topic.

Offline Smiling Imp

  • Eternal Apprentice
  • Modders
  • Level 1
  • *****
  • Posts: 290
  • Karma: +7/-0
  • Gender: Male
    • View Profile
    • Email
Re: Noob with Need
« Reply #15 on: January 17, 2009, 12:04:40 AM »
Yup, putting it in the .TP2 worked great. However, my initial joy at making the fairy conversable needs to be put on hold. It seems that I rushed it and only checked the conversation when the PC was holding the fairy via the CLUAConsole. The one Link came equipped with didn't do anything. I'm guessing I have to use the APPEND method here to hook it to Link's banter, and add some kind of check to make sure that both are in the party, but I'm having trouble finding the right coding.     

Offline Smiling Imp

  • Eternal Apprentice
  • Modders
  • Level 1
  • *****
  • Posts: 290
  • Karma: +7/-0
  • Gender: Male
    • View Profile
    • Email
Re: Noob with Need
« Reply #16 on: January 17, 2009, 09:01:21 AM »
never mind, finally got the fairy working correctly after studying the SilverStar Mod for a while.

The Ocarina haste effect of the Ocarina now has an animation. Duh! It was so simple using the IE. I've been using Near Infinity and DLTCEP so much that I forgot I had the IE for a while.

Offline Smiling Imp

  • Eternal Apprentice
  • Modders
  • Level 1
  • *****
  • Posts: 290
  • Karma: +7/-0
  • Gender: Male
    • View Profile
    • Email
Re: Noob with Need
« Reply #17 on: January 21, 2009, 11:33:12 PM »
Grr... true, the fairy works, but I have been unable to add more dialog after the initial "converse" the first one just repeats over and over
_________________
BEGIN FAIRY

IF ~True()~ TALK1
  SAY ~Hey Navi, you hanging in there?~
  IF ~~ REPLY ~Yes I'm fine thank you Link. Don't forget try the Ocarina that Zelda gave you.~ GOTO TALK2
END

 IF ~~ THEN BEGIN TALK2
SAY ~Good old Navi, always there to give some helpful advice.~
IF ~~ REPLY ~I do what I can.~ EXIT
END
_____________

Don't know the proper coding to start the next conversation. Any hints?

Offline theacefes

  • Global Moderator
  • Level 3
  • *****
  • Posts: 1250
  • Karma: +3/-0
  • Gender: Female
  • XTREME METAL ROCKER PUNK CHICK WITH ULTRA SURFBOARD
    • MSN Messenger - bohdi2185@msn.com
    • AOL Instant Messenger - bohdi2185
    • Yahoo Instant Messenger - theacefes@yahoo.com
    • View Profile
    • My Personal Website
    • Email
Re: Noob with Need
« Reply #18 on: January 22, 2009, 12:12:23 AM »
NumTimesTalkedToGT(1) is a condition you can put to make the next conversation play if you've talked to it more than once.

Otherwise you can just set variables.
-Ace
NPC Creation Guide - Latest Version
My Music Reels (mod-related and others)


Magical Unicorns - Because ponies are so last year.

theacefes: People probably look at our pictures and think "hmm one admin looks psychotic and the other looks like Captain Picard..."
grimsqueaker: TOGETHER THEY FIGHT CRIME

Offline Smiling Imp

  • Eternal Apprentice
  • Modders
  • Level 1
  • *****
  • Posts: 290
  • Karma: +7/-0
  • Gender: Male
    • View Profile
    • Email
Re: Noob with Need
« Reply #19 on: January 22, 2009, 02:14:49 AM »
Thanks but I still must be missing something.. this is what I have so far

_________
IF ~NumTimesTalkedToGT(1)~ THEN BEGIN TALK3
  SAY ~You doing okay Navi?~
  IF ~~ REPLY ~Yes, thank you Link. By the way...~ GOTO TALK4
END

 IF ~~ THEN BEGIN TALK4
SAY ~Thanks for the reminder Navi.~
IF ~~ REPLY ~Don't mention it.~ EXIT
END
___


Still only getting the initial dialog though

Offline berelinde

  • Global Moderator
  • Level 3
  • *****
  • Posts: 1011
  • Karma: +102/-31
    • View Profile
Re: Noob with Need
« Reply #20 on: January 22, 2009, 10:18:08 PM »
The problem with the first talk is that you are using True() as a trigger. It will always, and I do mean always, return true, so that's the talk you're going to get.

Instead of ~True()~ try ~NumTimesTalkedTo(0)~.

Getting used to triggers and dialogue file order does take some time, but you'll get there.

It will help you to remember that dialogue files are read from the top down, but the transitions for individual states are evaluated from the bottom up.

Let me give you an example so your head doesn't explode.

BEGIN RNDMNPC

IF ~NumTimesTalkedTo(0)~ THEN BEGIN hello
SAY ~Hello. I'm just some random NPC. I'll give you advice based on your class. You would probably be better off ignoring it.~
IF ~~ THEN GOTO none_of_the_above
IF ~Class(Player1,FIGHTER_ALL)~ THEN GOTO fighter
IF ~Class(Player1,CLERIC_ALL)~ THEN GOTO cleric
IF ~Class(Player1,THIEF_ALL)~ THEN GOTO thief
IF ~Class(Player1,MAGE_ALL)~ THEN GOTO mage
END

IF ~~ THEN BEGIN none_of_the_above
SAY ~You must be either a paladin, a bard, a monk, or a barbarian. I haven't got any profound advice for you.~
IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN fighter
SAY ~Magic weapons don't break.~
IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN cleric
SAY ~Don't forget to memorize your spells before you rest.~
IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN thief
SAY ~Make sure you put some points in "Find Trap." Its much more useful than "Find Tarp," which you probably won't need unless you're going camping.~
IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN mage
SAY ~Get yourself some bracers, <CHARNAME>. It's better than getting skewered.~
IF ~~ THEN EXIT
END

IF ~True()~ THEN BEGIN nothing_to_say
SAY ~You heard all the advice I have. Sorry.~
IF ~~ THEN EXIT
END

In the example above, the engine will look at the state labeled "hello" before the state labeled "nothing_to_say" because "hello" comes first in the dialogue file. But the engine will check to see if the PC is a mage, a thief, a cleric, or a fighter before resorting to the "none_of_the_above" transition because it evalutes transitions (you know they're transitions because they go somewhere else, out of the state--EXIT is also a transition) from the bottom to the top. So if the PC is a fighter/mage, he'll see the mage dialogue option.

Hope that helps.
« Last Edit: January 22, 2009, 10:45:11 PM by berelinde »

Offline Smiling Imp

  • Eternal Apprentice
  • Modders
  • Level 1
  • *****
  • Posts: 290
  • Karma: +7/-0
  • Gender: Male
    • View Profile
    • Email
Re: Noob with Need
« Reply #21 on: January 23, 2009, 09:16:32 AM »
Grrr.. NumTimesTalkedTo(0) isn't working at all, unless I code it like this
__________
BEGIN FAIRY

IF ~NumTimesTalkedTo(0)~ THEN BEGIN TALK1
SAY ~Hey Navi, you hanging in there?~
IF ~~ REPLY ~Yes I'm fine thank you Link. Don't forget blah blah blah.~ GOTO TALK2
END

IF ~~ THEN BEGIN TALK2
SAY ~Good old Navi, always there to give some helpful advice.~
IF ~~ REPLY ~I do what I can.~ EXIT
END

IF ~NumTimesTalkedToGT(0)~ THEN BEGIN TALK3
  SAY ~You doing okay Navi?~
  IF ~~ REPLY ~Yes, thank you Link. By the way, if you ever find yourself in a difficult battle, try blah blah blah.~ GOTO TALK4
END

IF ~~ THEN BEGIN TALK4
SAY ~Thanks for the reminder Navi.~
IF ~~ REPLY ~Don't mention it.~ EXIT
END
_________
This makes it so only the second dialog shows up. If I change the  'NumTimesTalkedToGT' of the second dialog to anything other than zero, then the 'NumTimesTalkedTo(0)' in the first dialog makes it so the fairy doesn't talk at all

If the 'NumTimesTalkedTo' of the first dialog is changed to 1, the first dialog comes up, but then the second dialog won't show up at all. Is it b/c I need to do some sorta ~SetGlobal("FairyTalk","LOCALS",1)~ thing-a-ma-jig? Am I missing something totally obvious? PLEASE HELP THIS NOOB IN NEED!!
« Last Edit: January 23, 2009, 09:23:45 AM by Smiling Imp »

Offline Smiling Imp

  • Eternal Apprentice
  • Modders
  • Level 1
  • *****
  • Posts: 290
  • Karma: +7/-0
  • Gender: Male
    • View Profile
    • Email
Re: Noob with Need
« Reply #22 on: January 23, 2009, 09:22:27 AM »
NumTimesTalkedToGT(1) is a condition you can put to make the next conversation play if you've talked to it more than once.

Thanks theacefes, but when I tried this and made the NumTimesTalkedTo equal to zero in the first dialog, nothing happened. Still something I'm not getting

Offline theacefes

  • Global Moderator
  • Level 3
  • *****
  • Posts: 1250
  • Karma: +3/-0
  • Gender: Female
  • XTREME METAL ROCKER PUNK CHICK WITH ULTRA SURFBOARD
    • MSN Messenger - bohdi2185@msn.com
    • AOL Instant Messenger - bohdi2185
    • Yahoo Instant Messenger - theacefes@yahoo.com
    • View Profile
    • My Personal Website
    • Email
Re: Noob with Need
« Reply #23 on: January 23, 2009, 02:18:23 PM »
Have you considered looking at my long tutorial? It has a whole section of dialogue writing. You can get there from my signature.
-Ace
NPC Creation Guide - Latest Version
My Music Reels (mod-related and others)


Magical Unicorns - Because ponies are so last year.

theacefes: People probably look at our pictures and think "hmm one admin looks psychotic and the other looks like Captain Picard..."
grimsqueaker: TOGETHER THEY FIGHT CRIME

Offline Smiling Imp

  • Eternal Apprentice
  • Modders
  • Level 1
  • *****
  • Posts: 290
  • Karma: +7/-0
  • Gender: Male
    • View Profile
    • Email
Re: Noob with Need
« Reply #24 on: January 26, 2009, 09:43:16 AM »
Have you considered looking at my long tutorial? It has a whole section of dialogue writing. You can get there from my signature.

Read it through and through, but still can't get any other dialogs for the fairy item to work properly. However, I've just about got CHAIN dialogs and Interjections down now, thanks, and you also inspired me to start reading some tutorials about adding music to the game

BTW: is that really you in that pic? (minkia cuanto sei buona)   I was about to hit 'Control I' on my keyboard to initiate a flirt, but then I saw you were a Scorpio... I've been stung b4. All kidding aside though, thanks for trying to help

Offline theacefes

  • Global Moderator
  • Level 3
  • *****
  • Posts: 1250
  • Karma: +3/-0
  • Gender: Female
  • XTREME METAL ROCKER PUNK CHICK WITH ULTRA SURFBOARD
    • MSN Messenger - bohdi2185@msn.com
    • AOL Instant Messenger - bohdi2185
    • Yahoo Instant Messenger - theacefes@yahoo.com
    • View Profile
    • My Personal Website
    • Email
Re: Noob with Need
« Reply #25 on: January 26, 2009, 11:28:39 PM »
Yeah if it weren't for all those tutorials I read from all the modding sites and the help of a lot of very nice people, I'd probably still be stuck with my Auren fanfic (shudder).

And yes, that is me in the picture. Don't be fooled by the smile, I swear I'm a really big jerk in RL. ;)
-Ace
NPC Creation Guide - Latest Version
My Music Reels (mod-related and others)


Magical Unicorns - Because ponies are so last year.

theacefes: People probably look at our pictures and think "hmm one admin looks psychotic and the other looks like Captain Picard..."
grimsqueaker: TOGETHER THEY FIGHT CRIME

Offline Smiling Imp

  • Eternal Apprentice
  • Modders
  • Level 1
  • *****
  • Posts: 290
  • Karma: +7/-0
  • Gender: Male
    • View Profile
    • Email
Re: Noob with Need
« Reply #26 on: February 26, 2009, 09:10:39 PM »
Couple of quick questions:

I added a second joinable NPC to the mod. Both NPCs can banter with the in-game bioware NPCs, but I can't figure out a way to get them to talk to each other. Is there a way to accomplish this?

Is there a list of the 'conditions met' needed to start dialogs? How about making NPCs only appear during certain times of day?

When I finish a mod, how can I make it so my friends can upload it?

that's all a can think of right now... I know these questions are probably tiresome and repetitive for some of you, so I'll thank any who answer in advance

Offline Jarno Mikkola

  • Newbie
  • *
  • Posts: 59
  • Karma: +2/-0
    • View Profile
Re: Noob with Need
« Reply #27 on: February 28, 2009, 10:41:02 AM »
I added a second joinable NPC to the mod. Both NPCs can banter with the in-game bioware NPCs, but I can't figure out a way to get them to talk to each other. Is there a way to accomplish this? Is there a list of the 'conditions met' needed to start dialogs?
Yes. It's the CHAIN IF ~conditions~ THEN... dialog lines ...EXIT END function, it just needs to have the another characters death variable in... like so:
Quote
BEGIN IJ#esirB

CHAIN
IF ~Global("TalkWithAerie","GLOBAL",0)
    InParty("IJ#esir")
     InParty("Aerie")

    See("IJ#esir")
    !StateCheck("IJ#Esir",STATE_SLEEPING)~ THEN AERIEJ Aerie-talk1
~...~
DO ~SetGlobal("TalkWithAerie","GLOBAL",1)~
== IJ#esirB ~...~
= ~...~
== AERIEJ ~...~ EXIT
END
The AERIEJ is the Aerie talk variable/dialog reply, while the IJ#esirB is my NPC characters talk variable, the IJ#esir is his death variable... Aerie starts the dialog, my char says two lines, and then Aerie says something and then the dialog ends. The game handles when the dialog is fired... I planked out the actual words, cause the example is from my own small mod.

How about making NPCs only appear during certain times of day?
If you wish the time the appearance of the character, you need to put that to the script that summons him/her.

When I finish a mod, how can I make it so my friends can upload it?
Install it with WeiDU, you need to do a small setup-*modname*.tp2, but that's easy when you get the other mod files and make sure that the mod files are in the right places in the package you packed them into(.rar, .zip, ...). Or give very good installation instructions.
« Last Edit: February 28, 2009, 11:22:26 AM by Jarno Mikkola »

Offline Smiling Imp

  • Eternal Apprentice
  • Modders
  • Level 1
  • *****
  • Posts: 290
  • Karma: +7/-0
  • Gender: Male
    • View Profile
    • Email
Re: Noob with Need
« Reply #28 on: April 16, 2009, 05:57:57 AM »
Here is something that I'm finding rather annoying. Everything loads up fine in my mod, so far, the only problem I am having is with a couple of my shop names. The first time I add my mod to a clean instillation of Baldur's Gate, it seems that the store names get all screwy. I can fix the problem with the DLTCEP and the shop names will be restored when I reload the mod, but only after editing my dialog.tlk. However, when I re-install Baldur's Gate, I get the same problem over again. Can anyone give me any help here?

Another thing, the items that I made, the ones that recharge, all start either charged with one zap or none at all. Is there a way to make it so the item will be fully charged when you first find/CLUA it?
« Last Edit: April 16, 2009, 06:01:00 AM by Smiling Imp »

Offline Tervadh

  • Level 1
  • *
  • Posts: 170
  • Karma: +20/-22
    • View Profile
Re: Noob with Need
« Reply #29 on: April 17, 2009, 04:18:15 PM »
Here is something that I'm finding rather annoying. Everything loads up fine in my mod, so far, the only problem I am having is with a couple of my shop names. The first time I add my mod to a clean instillation of Baldur's Gate, it seems that the store names get all screwy. I can fix the problem with the DLTCEP and the shop names will be restored when I reload the mod, but only after editing my dialog.tlk. However, when I re-install Baldur's Gate, I get the same problem over again. Can anyone give me any help here?
You never want to edit your dialog.tlk file.  If you are adding a new store to a mod, you want to assign its name via SAYs in the .tp2 and/or .tra files.  For example:
Code: [Select]
COPY ~mymod/sto/mystore.sto~ ~override~
  SAY NAME2 ~My Store~
Quote
Another thing, the items that I made, the ones that recharge, all start either charged with one zap or none at all. Is there a way to make it so the item will be fully charged when you first find/CLUA it?
Mod items (perhaps all items) will not be charged if you CLUA them in, as I recall.  Your best bet is to assign them to your store (or any store) with the right number of charges assigned.  Then just buy it rather than CLUAing it.  For example:
Code: [Select]
COPY ~mymod/items/mywand.itm~ ~override~
  SAY NAME2 ~My Wand~
  SAY DESC ~Blah de blah-blah-blah.~

COPY_EXISTING ~sto0703.sto~ ~override~ //Sorcerous Sundries (BG1)
  PATCH_IF SOURCE_SIZE > 0x9b BEGIN //Validity check
    ADD_STORE_ITEM ~mywand~ #0 #3 #3 ~IDENTIFIED~ #1 //Adds 1 of mywand with 3 charges in each function
  END
BUT_ONLY_IF_IT_CHANGES
"One should choose one's bedfellows while it is daylight." -Swedish proverb