Garfield Posted January 10, 2006 Share Posted January 10, 2006 Okay, the title may seem obscure, but I'll explain. I want my NPC and Jaheira to have a short talk after a rest, and then, at the end of this dialogue, Jaheira must die, and the PC have to chose one answersout ouf tree. Here is my file: CHAIN IF ~PartyRested() InParty("Rkd#Rak") See("Rkd#Rak") !StateCheck("Rkd#Rak",STATE_SLEEPING) Global("JaheirPois","GLOBAL",0)~ THEN BJAHEIR Meutre ~Aaahh! Le chien! Il m'a eu...~ = ~*Jaheira est livide, elle sue a grosses goutes. Des cernes sous ses yeux indiquent qu'elle n'a pas trouvé le repos de la nuit.*~ = ~Orque...soit... maudit...àjamais...~ = ~<CHARNAME>, venge moi, au nom de notre amitié.~ = ~*La poitrine de Jaheira se soulève d'une convulsion, cherchant l'air qui commence àlui manquer. Elle retombe sur le sol sans l'avoir trouvé, et les paupières de la druidesse se referment alors qu'un flotde sang s'échappe de ses lèvres laissés pâles par le poison.*~ DO ~SetGlobal("JaheirPois","GLOBAL",1) Kill("JAHEIRA") ActionOverride("JAHEIRA",LeaveParty())~ ==Rkd#Rak ~Grmbl. La chienne est morte, l'écume aux lèvres... Bon débarras.~ END ++ THEN REPLY ~J'espère que tu es fier de toi, nous venons de perdre un élément de valeur. Mais àchoisir, tu es plus utile au groupe. Continuons, paix àl'âme de Jaheira.~ + PaixJaja ++ ~Il est temps de rendre des comptes, orque! Comment as-tu osé? Vas t'en, que je ne te vois plus.~ + Part ++ ~Ainsi la druidesse retourne àla terre qu'elle aimait tant. Une bonne chose de faite. Merci a vous. Continuons!~ + Merci IF ~~ THEN BEGIN PaixJaja SAY ~C'est ça, paix àJaheira...~ IF ~~ THEN EXIT END IF ~~ THEN ++ BEGIN Part SAY ~Très bien, je pars. Vous me regretterez sans doute beaucoup plus que votre druidesse...~ IF ~~ THEN DO~ SetGlobal ("RakJoined","LOCALS" ,0) LeaveParty() EscapeArea()~ EXIT END IF ~~ THEN BEGIN Merci SAY ~Prr. Je savais que vous me remercieriez.~ IF ~~ THEN EXIT END They tell me there is a syntax problem at the red cross. Is there something I missed? Link to comment
Domi Posted January 10, 2006 Share Posted January 10, 2006 Did you do the APPEND FileName before switching from the CHAIN structure to the SAY structure? Also this: ++ THEN REPLY ~ has to be either ++ ~ or IF ~~ THEN REPLY Link to comment
Andyr Posted January 10, 2006 Share Posted January 10, 2006 You used to have to put CHAINs at the end of a .D, but I don't know if that is still the case. If that's not it, try removing the ++ - I don't think you need it... Link to comment
Grim Squeaker Posted January 11, 2006 Share Posted January 11, 2006 You used to have to put CHAINs at the end of a .D, but I don't know if that is still the case. If that's not it, try removing the ++ - I don't think you need it... <{POST_SNAPBACK}> Yeah, you still do. You can have an APPEND afterwards though if you want some IF ~~ THEN BEGIN blocks after your CHAIN. Link to comment
Garfield Posted January 12, 2006 Author Share Posted January 12, 2006 Ok, I tried with this: CHAIN IF ~PartyRested() InParty("Rkd#Rak") See("Rkd#Rak") !StateCheck("Rkd#Rak",STATE_SLEEPING) Global("JaheirPois","GLOBAL",0)~ THEN BJAHEIR Meutre ~Aaahh! Le chien! Il m'a eu...~ = ~*Jaheira est livide, elle sue a grosses goutes. Des cernes sous ses yeux indiquent qu'elle n'a pas trouvé le repos de la nuit.*~ = ~Orque...soit... maudit...àjamais...~ = ~<CHARNAME>, venge moi, au nom de notre amitié.~ = ~*La poitrine de Jaheira se soulève d'une convulsion, cherchant l'air qui commence àlui manquer. Elle retombe sur le sol sans l'avoir trouvé, et les paupières de la druidesse se referment alors qu'un flotde sang s'échappe de ses lèvres laissés pâles par le poison.*~ DO ~SetGlobal("JaheirPois","GLOBAL",1) Kill("JAHEIRA") ActionOverride("JAHEIRA",LeaveParty())~ ==Rkd#Rak ~Grmbl. La chienne est morte, l'écume aux lèvres... Bon débarras.~ END ++ ~J'espère que tu es fier de toi, nous venons de perdre un élément de valeur. Mais àchoisir, tu es plus utile au groupe. Continuons, paix àl'âme de Jaheira.~ + PaixJaja ++ ~Il est temps de rendre des comptes, orque! Comment as-tu osé? Vas t'en, que je ne te vois plus.~ + Part ++ ~Ainsi la druidesse retourne àla terre qu'elle aimait tant. Une bonne chose de faite. Merci a vous. Continuons!~ + Merci APPEND BRkd#Rak IF ~~ THEN BEGIN PaixJaja SAY ~C'est ça, paix àJaheira...~ IF ~~ THEN EXIT END IF ~~ THEN BEGIN Part SAY ~Très bien, je pars. Vous me regretterez sans doute beaucoup plus que votre druidesse...~ IF ~~ THEN DO~ SetGlobal ("RakJoined","LOCALS" ,0) LeaveParty() EscapeArea()~ EXIT END IF ~~ THEN BEGIN Merci SAY ~Prr. Je savais que vous me remercieriez.~ IF ~~ THEN EXIT END END But I get an errormessage wich tells me : ERROR/ Cannot resolve internalsymbolic label [PaixJaja] for DLG [bJAHEIR]. Obviously, the 3 answers are not pointing in the proper DLG (must be because the chain uses Jaheira's dlg even if it's in Rakdar's one...) So I guess I should put an EXTERN, but where? Thanks Garf Link to comment
Domi Posted January 12, 2006 Share Posted January 12, 2006 You need EXTERN here: ++ ~J'espère que tu es fier de toi, nous venons de perdre un élément de valeur. Mais àchoisir, tu es plus utile au groupe. Continuons, paix àl'âme de Jaheira.~ + PaixJaja ++ ~...~ EXTERN BRkd#Rak PaixJaja Link to comment
Garfield Posted January 12, 2006 Author Share Posted January 12, 2006 Tank you, I was not sure wether I should keep the "GOTO" + Now it installs fine, I just need to know if it works (Die Jaheira die!!! [Can't believe I'm doing this to one of my favourite character ]) Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.