Jump to content


Photo

Interjection Rejection


  • Please log in to reply
26 replies to this topic

#21 Amazor'dra

Amazor'dra

    The Rogue Drow

  • Member
  • 484 posts

Posted 01 October 2004 - 09:10 PM

Well, yes--figured out what column and row at least.

[Neh'taniel\Dialogue\SK#Neht.d] PARSE ERROR at line 628 column 16-17
Near Text: 25
	syntax error

[Neh'taniel\Dialogue\SK#Neht.d]  ERROR at line 628 column 16-17
Near Text: 25
	Parsing.Parse_error
ERROR: parsing [Neh'taniel\Dialogue\SK#Neht.d]: Parsing.Parse_error

Though it is difficult to tell just from that (and I used WeiDU to go over it... barely learning dltcep after all) which is why I thought it best just to 'color' the bad coding then post the debug bit.

.... :(

Edited by Amazor'dra, 01 October 2004 - 09:12 PM.


#22 Awake

Awake
  • Member
  • 685 posts

Posted 01 October 2004 - 09:18 PM

sorry, but i'm really confused now... argh! why did you have to do that?!? now i won't be able to sleep tonight.... ah well, i don't anyways...

i may be wrong, wouldn't be the first time, but you might need to do this

25 ~neht_co~


Black Wyrm Forums host of the World Transition Project, Beastial Animations, and much more!

And the raven, never flitting, still is sitting, still is sitting
On the pallid bust of Pallas just above my chamber door;
And his eyes have all the seeming of a demon's that is dreaming,
And the lamp-light o'er him streaming throws his shadow on the floor;
And my soul from out that shadow that lies floating on the floor
Shall be lifted - nevermore!


Like dealing with terrorists by giving them explosives. -NotMrT

If you don't know where you're going, any road will take you there.

#23 Reapper99

Reapper99
  • Member
  • 5 posts

Posted 02 October 2004 - 04:59 AM

I think the problem you are having is that I_C_T does only accept a string, not an EXTERN, so you would have to use an INTERJECT and when your NPC said his last line you use a COPY_TRANS.

Something like this should work:
INTERJECT RIFTG03 25 neht_co
== SK#NEHTJ IF ~InParty("SK#Neht")
!Dead("SK#Neht")
!StateCheck("SK#Neht",STATE_SLEEPING)~ THEN ~My <LADYLORD> ....~
END SK#NEHTJ 1a

APPEND SK#NEHTJ

// ....  won't copy all the text here, only the important parts!

IF ~~ THEN BEGIN 5a
 SAY ~Then let us begin. (He bows.)~
 IF ~~ THEN COPY_TRANS RIFTG03 25
END

IF ~~ THEN BEGIN 6a
 SAY ~I... see. If thou ever do need me, then I shall be at the graveyard. There is little I can do here on my own besides dying, I doubt I possess the strength to defeat the Eyeless single-handedly.~
 IF ~~ THEN DO ~SetGlobal("SK#KickedOut","LOCALS",1)
EscapeAreaMove("AR0800",1644,1407,0) ~  COPY_TRANS RIFTG03 25
END
END

So instead the EXIT (which would terminate the dialog, but since you want the Avatar to continue speaking, dont use it!) you make a COPY_TRANS RIFTG03 25.

Oh and on a side note, use a second END to close the APPEND! (but then again can be a copy&paste error, so ignore it if it is.)

EDIT: I forgot to add, that by doing it this way, the EscapeAreaMove might not work (I think it's because it is inside an dialog and not at the end of one), but I might be wrong about that. Test it, if it doesn't work, then use the following workaround: Set a Global and add a trigger inside the NPCs script that runs when this global is set, and use the EscapeAreaMove inside the script, but don't forget to reset that global (or it might come down to script-repeating problems!).

Edited by Reapper99, 02 October 2004 - 05:30 AM.


#24 Amazor'dra

Amazor'dra

    The Rogue Drow

  • Member
  • 484 posts

Posted 03 October 2004 - 12:09 PM

While WeiDU accepts that coding, Reapper99, it doesn't work in the actual game. -_-

#25 Reapper99

Reapper99
  • Member
  • 5 posts

Posted 03 October 2004 - 01:14 PM

What exactly doesn't work?
Does the interjection happen and your NPC says only the "My <LADYLORD> ...." part and then exits the dialog? Or is the interjection not working at all?

If the first happens, then I have no idea, sorry! (aside from: spelling-mistakes of the dialogfiles and/or the DeathVariable)

If it is the second, then it might be that you used the Global that controlls if the interjection happens or not (in your example neht_co) somewhere else and it is set to 1 or higher! (As far as I know Weidu translates this to a
IF ~Global("neht_co", "GLOBAL", 0)~ THEN ...
and then sets it to 1 after the interjection!)
If not, then you might have used the trigger "IsValidForPartyDialog" and that might return false if your NPC is behind a wall (or sometimes it evaluates to false for no reason, or at least no obvious reason for me), or if you only used "InParty" then it might be that your NPC is unable to speak (sleeping! etc...).

I hope that helps a bit to narrow down the error, but other than this I honestly have no idea! Sorry!

#26 Kismet

Kismet

    Mild Thang

  • Member
  • 348 posts

Posted 03 October 2004 - 01:40 PM

The following should work. I don't believe he'll actually leave the area until the whole dialog is done though.

INTERJECT RIFTG03 25 neht_co
== SK#NEHTJ IF ~InParty("SK#Neht") See("SK#Neht")~ THEN ~My <LADYLORD> ....~
== SK#NEHTJ IF ~InParty("SK#Neht") See("SK#Neht")~ THEN ~(His shoulders sag for a moment, before he shakes his head and straightens them. Neh'taniel's voice is suddenly strong and calm, carefully neutral.)...I fear I must ask thine assistance in yet another matter.~
END
 IF ~Global("SK#KickedOut","LOCALS",0)~ THEN REPLY ~I've already helped you once, wraith. I see no reason why I should help you again.~ EXTERN SK#NEHTJ 6a
 IF ~~ THEN REPLY ~Which would be?~ EXTERN  SK#NEHTJ 2a
 IF ~~ THEN REPLY ~If there is anything I can do to help you out, Neh'taniel, then I will. ~ EXTERN  SK#NEHTJ 3a

APPEND SK#NEHTJ
IF ~~ THEN BEGIN 2a
 SAY ~It is... possible my god refuses to speak to me since there is still one more task I must do, such as ridding the land of the rift device and the Eyeless. ~
 IF ~~ THEN GOTO 4a
END

IF ~~ THEN BEGIN 3a
 SAY ~ Since my god refuses to speak to me, it may be an indication that I must do something more before he does so. Perhaps to help destroy the rift device.~
 IF ~~ THEN GOTO 4a
END

IF ~~ THEN BEGIN 4a
 SAY ~So what say thee, my <LADYLORD> ? May I continue to travel with thee to put an end to the power of the rift device and the threat of the Eyeless?~
 IF ~~ THEN REPLY ~Of course you can.~ GOTO 5a
 IF ~Global("SK#KickedOut","LOCALS",0)~ THEN REPLY ~I'm afraid not, Neh'taniel. You've been more of a hindrance than an actual help.~ GOTO 6a
END

IF ~~ THEN BEGIN 5a
 SAY ~Then let us begin. (He bows.)~ COPY_TRANS RIFTG03 25
END

IF ~~ THEN BEGIN 6a
 SAY ~I... see. If thou ever do need me, then I shall be at the graveyard. There is little I can do here on my own besides dying, I doubt I possess the strength to defeat the Eyeless single-handedly.~ COPY_TRANS RIFTG03 25
 IF ~~ THEN DO ~SetGlobal("SK#KickedOut","LOCALS",1)
EscapeAreaMove("AR0800",1644,1407,0) ~ EXIT
END
END


#27 Amazor'dra

Amazor'dra

    The Rogue Drow

  • Member
  • 484 posts

Posted 03 October 2004 - 01:41 PM

Actually, Moonfruit figured out what was wrong. :lol:

I should have used GLOBAL instead of LOCALS and changed Interact(Player1) to Dialogue(Player1).

....that's it.

*gives huge chocolate chip cookies to Moonfruit for figuring THAT one out* :thumb: