Jump to content
Sign in to follow this  
Zireael07

Khalid resident bugs

Recommended Posts

1. An error during installation of PID that is stupid, but I don't know how to fix it.

ERROR: No translation provided for @20

 

[Khalid\pid/zijahpid.D] ERROR at line 62 column 1-7

Near Text: @20

Not_found

ERROR: parsing [Khalid\pid/zijahpid.D]: Not_found

ERROR: compiling [Khalid\pid/zijahpid.D]!

Stopping installation because of error.

 

2. Khalid's dialogue with CHARNAME fires off all the time

 

D. file:

APPEND ZIKHALJ

 

//Windspear

IF ~InParty("ZIKhalid") !StateCheck("ZIKhalid",CD_STATE_NOTVALID) Global("DomainPaladinBattle","GLOBAL",1) ~ THEN BEGIN KhalidWindspear

SAY @0

= @1

END

 

//Reakcja na śmierć

IF ~InParty("ZIKhalid") !StateCheck("ZIKhalid",CD_STATE_NOTVALID) InParty ("JAHEIRA") Dead("JAHEIRA")~ THEN BEGIN KhalidJaheiraDead

SAY @2

= @3

END

 

//Banter z graczem 1

IF ~InParty("ZIKhalid") !StateCheck("ZIKhalid",CD_STATE_NOTVALID) Global("ZIPlayerTalk", "LOCALS", 2)~ THEN BEGIN KhalidPlayer1

SAY @4

++ @5 DO ~SetGlobal("ZIPlayerTalk", "LOCALS", 3)~ GOTO KhalidPlayer1.1

++ @6 DO ~SetGlobal("ZIPlayerTalk", "LOCALS", 3)~ GOTO KhalidPlayer1.2

END

 

IF ~~ THEN BEGIN KhalidPlayer1.1

SAY @7

= @8

IF ~~ THEN EXIT

END

 

IF ~~ THEN BEGIN KhalidPlayer1.2

SAY @9

IF ~~ THEN EXIT

END

 

//Banter z graczem 2

IF ~InParty("ZIKhalid") !StateCheck("ZIKhalid",CD_STATE_NOTVALID) Global("ZIPlayerTalk", "LOCALS", 4)~ THEN BEGIN KhalidPlayer2

SAY @10

++ @11 DO ~SetGlobal("ZIPlayerTalk", "LOCALS", 5)~ GOTO KhalidPlayer2.1

++ @12 DO ~SetGlobal("ZIPlayerTalk", "LOCALS", 5)~ GOTO KhalidPlayer2.2

++ @13 DO ~SetGlobal("ZIPlayerTalk", "LOCALS", 5)~ GOTO KhalidPlayer2.3

END

 

IF ~~ THEN BEGIN KhalidPlayer2.1

SAY @14

++ @15 GOTO KhalidPlayer2.1.1

++ @12 GOTO KhalidPlayer2.2

++ @13 GOTO KhalidPlayer2.3

END

 

IF ~~ THEN BEGIN KhalidPlayer2.1.1

SAY @16

++ @12 GOTO KhalidPlayer2.2

++ @13 GOTO KhalidPlayer2.3

END

 

IF ~~ THEN BEGIN KhalidPlayer2.2

SAY @17

= @18

= @19

++ @20 GOTO KhalidPlayer2.2.1

++ @21 GOTO KhalidPlayer2.2.2

++ @22 GOTO KhalidPlayer2.2.3

END

 

IF ~~ THEN BEGIN KhalidPlayer2.2.1

SAY @23

IF ~~ THEN EXIT

END

 

IF ~~ THEN BEGIN KhalidPlayer2.2.2

SAY @24

IF ~~ THEN EXIT

END

 

IF ~~ THEN BEGIN KhalidPlayer2.2.3

SAY @25

IF ~~ THEN EXIT

END

 

IF ~~ THEN BEGIN KhalidPlayer2.3

SAY @26

= @27

++ @11 GOTO KhalidPlayer2.1

++ @12 GOTO KhalidPlayer2.2

END

 

END

 

------------------------------------------------

Relevant parts of ZIKHAL.baf

//Setting starting values for bantering with CHARNAME

IF

InParty(Myself)

Global("ZIPlayerTalk", "LOCALS", 0)

THEN

RESPONSE #100

RealSetGlobalTimer("ZIPlayerTalkTime","GLOBAL",1800)

SetGlobal("ZIPlayerTalk","LOCALS",1)

END

 

//Fire talks with CHARNAME

IF

InParty(Myself)

RealGlobalTimerExpired("ZIPlayerTalkTime","GLOBAL")

OR(7)

Global("ZIPlayerTalk","LOCALS",1)

Global("ZIPlayerTalk","LOCALS",3)

Global("ZIPlayerTalk","LOCALS",5)

Global("ZIPlayerTalk", "LOCALS",7)

Global("ZIPlayerTalk", "LOCALS",9)

Global("ZIPlayerTalk", "LOCALS",11)

Global("ZIPlayerTalk", "LOCALS",13)

THEN

RESPONSE #100

IncrementGlobal("ZIPlayerTalk","GLOBAL",1)

Wait(1)

StartDialogueNoSet(Player1)

END

 

----------------------------

Lava reported one more thing, but I have to fix those two before I can check on her problem (lack of the line to summon Khalid in Fate Spirit dialogue)

 

Thanks in advance

Zi

Share this post


Link to post

EDITED for 1: you'll have to have a file called zijahpid.tra and the line @20 should be there. Also, there should be no line breaks and no "double" lines, it should go like

 

@18 = ~Hi.~

@19 = ~Hello.~

@20 = ~My name is.~

@21 = ~Khalid.~

 

If all of this is true, then, please, post the first twenty(or 21) lines of your zijahpid.tra and from your file zijahpid.D., please, post lines from ~50 to 80.

 

(To check out if it's line 50, open the file in Notepad(so it can be edited), and in "format" menu make sure that "perenos"(carrying over) option is NOT chosen, then press CTRL-G and input 50, and you'll go to line 50).

Edited by Kulyok

Share this post


Link to post

(Never mind, see the reply to 1. above and the reply to 2. below).

Edited by Kulyok

Share this post


Link to post

Okay, as for "2":

 

1) Eventually, you will have to get reports from players, and you'll ask them: "What is the value of variable ZIPlayerTalk?" But they won't be able to tell you, since it's a LOCALS variable! So, I really, really recommend you to do a mass search and replace - all LOCALS to GLOBAL. Takes one minute.

 

2) You'll have to change a variable in some of these conversations, namely Windspear and Reaction to Jaheira's death, because if

"InParty("ZIKhalid") !StateCheck("ZIKhalid",CD_STATE_NOTVALID)" is true forever, it's going to fire forever. AND you have to add something to the .baf file: without a script the dialogue will not fire properly.

 

Also, InParty() means alive, so InParty() and Dead() will never be true at the same time.

 

Finally, when you start a dialogue, use only ONE condition on start of your dialogue in .d file: the variable. Because your script has already taken care of the rest.

 

Here is what I would suggest.

 

Script:

 

IF 
InParty(Myself)
!StateCheck("ZIKhalid",CD_STATE_NOTVALID) 
!StateCheck(Player1,CD_STATE_NOTVALID) 
CombatCounter(0)
Global("DomainPaladinBattle","GLOBAL",1)
Global("ZIKhalidTalksWindspear","GLOBAL",0)
THEN
RESPONSE #100
Global("ZIKhalidTalksWindspear","GLOBAL",1)
StartDialogueNoSet(Player1)
END

IF 
InParty(Myself)
!StateCheck("ZIKhalid",CD_STATE_NOTVALID) 
!StateCheck(Player1,CD_STATE_NOTVALID) 
CombatCounter(0)
Dead("JAHEIRA") 
Global("ZIKhalidTalksDeadJaheira","GLOBAL",0)
THEN
RESPONSE #100
Global("ZIKhalidTalksDeadJaheira","GLOBAL",1)
StartDialogueNoSet(Player1)
END

 

Dialogue:

 

//Windspear
IF ~Global("ZIKhalidTalksWindspear","GLOBAL",1)~ THEN BEGIN KhalidWindspear
SAY @0
IF ~~ DO ~SetGlobal("ZIKhalidTalksWindspear","GLOBAL",2)~ + KhalidWindspear1
END

IF ~~ KhalidWinsdpear1
SAY @1
IF ~~ EXIT
END

//Reakcja na śmierć
IF ~Global("ZIKhalidTalksDeadJaheira","GLOBAL",1)~ THEN BEGIN KhalidJaheiraDead
SAY @2 
IF ~~ DO ~SetGlobal("ZIKhalidTalksDeadJaheira","GLOBAL",2)~ + KhalidJaheiraDead2
END

IF ~~  KhalidJaheiraDead2
SAY @3
IF ~~ EXIT
END

Edited by Kulyok

Share this post


Link to post

The requested part of zijahpid.d (lines 50-86):

 

IF ~~ THEN BEGIN JaheiraPIDHarfiarze

SAY @18

IF~~ THEN EXIT

END

 

IF ~~ THEN BEGIN JaheiraPIDGorion2

SAY @19

IF~~ THEN EXIT

END

 

IF ~~ THEN BEGIN JaheiraPIDOpinia1

SAY @20

IF~~ THEN EXIT

END

 

IF ~~ THEN BEGIN JaheiraPIDOpinia2

SAY @21

IF~~ THEN EXIT

END

 

IF ~~ THEN BEGIN JaheiraPIDOpinia3

SAY @22

IF~~ THEN EXIT

END

 

END

 

///CHAIN////

CHAIN

IF ~InParty("ZIKhalid") !StateCheck("ZIKhalid", CD_STATE_NOTVALID)~ THEN JAHEIRAJ JaheiraPIDKhalid3

@23

== BZIKHAL

@24

== JAHEIRAJ

@25

EXIT

 

And the entire zijahpid.tra (25 lines total):

@0 = ~(Jaheira fell behind the party for a moment, examining a peculiar plant. She ends up putting it back into her medicinal bag, and now she is about to catch up with the rest of the group. Perhaps it would be wise to take advantage of the situation, and trade a couple words in private.)~

@1 = ~What do you think about Khalid?~

@2 = ~When did you meet Gorion?~

@3 = ~Don't you treat Khalid too harshly?~

@4 = ~How did you meet Khalid?~

@5 = ~Have you ever thought about leaving Khalid?~

@6 = ~Who were your parents?~

@7 = ~Why did you become a druid?~

@8 = ~How did you become a Harper?~

@9 = ~What can you tell me about Gorion?~

@10 = ~What do you think about me?~

@11 = ~You decide not to bother Jaheira.~

@12 = ~Khalid is a good man.~

@13 = ~Gorion was one of the first Harpers I have met...~

@14 = ~Harshly? In comparison with how the children are brought up in Calimshan, it's not harsh at all.~

@15 = ~Shame on you for asking such questions, <CHARNAME>... I won't stoop to answering you.~

@16 = ~They were Tethyrian nobles... and that led to their doom. I will not give you a lecture on history of Tethyr now. And to stall your questions, I shall say I don't remember them at all, and I learned my true name after years from the people who had brought me up.~

@17 = ~Because I grew up in a druid's grove in Wealdath.~

@18 = ~I cannot betray the secrets to someone who is not a Harper. I will only tell you it was after I met Gorion.~

@19 = ~Gorion was a wonderful friend and a good Harper. The world has lost much with his death.~

@20 = ~I think you are trying to keep the balance.~

@21 = ~I think you are far from your foster father's ideals.~

@22 = ~I think you are far too much like the paladins.~

@23 = ~I was sent to Calimshan to bring about punishment of a given slaver in Calimport. I was to persuade one of his friends to that goal. Alas, he was a stubborn man. Only Khalid survived the attack by the Shadow Thieves...~

@24 = ~W-Will you tell them why?~

@25 = ~... Because he was with me during that time. If only we had known... maybe that tragedy could have been avoided.~

 

--------------------------------------------

 

There's one thing - the reaction to death is meant to fire every time she dies, once; and not to fire at all when Jaheira's alive.

 

I'll get round to fixing the rest tomorrow or during the weekend, thanks for your help!

Share this post


Link to post

With Jaheira's death, it's simple: replace

IF ~~ DO ~SetGlobal("ZIKhalidTalksDeadJaheira","GLOBAL",2)~ + KhalidJaheiraDead2

with

SAY @2

IF ~~ DO ~SetGlobal("ZIKhalidTalksDeadJaheira","GLOBAL",0)~ + KhalidJaheiraDead2

 

With the translation error, I don't know yet; I'll think about it, though - not sure if I find a solution. In the meantime, try deleting and copy-pasting .tra lines to another, new file. Maybe it'll help, or maybe someone else will have an idea.

Share this post


Link to post

Okay, still no idea, but another hunch: try using the newest version of Weidu. I heard v224 was picky about errors: http://forums.pocketplane.net/index.php?ac...e;topic=27542.0 ; maybe the latest version will fare better. Other than that(and using a new .tra file, maybe) - no idea, sorry.

 

Oh, and check your original, Polish, .tra file - or any other translations, if you have them. It may be that the problem lies there.

Share this post


Link to post

I fixed the repeating CHARNAME dialog.

 

I'll try to fix the translation issue and the death reaction today.

 

BTW the error in zijahpid.tra pops up regardless of whether I'm using Polish or English tra. I think it's the slash (in the log) going the wrong way, but I don't know how to fix it...

Share this post


Link to post

Replacing all characters with "/" in the file paths in your .tp2 is a good idea, yes, I recommend it. But it seems your .tra file is being recognized, it's just line @20 is a problem - one I don't know how to fix, sadly.

Share this post


Link to post

I can't detraify zijahpid.d and zijahpid.tra, I get something like :

Unix error, stat, 20
.

 

Should I just rewrite the entire PID for Jaheira, as I'm running out of ideas how to fix it...

Share this post


Link to post

Fixed that.

 

There's another problem, described on SHS by Senka.

I hope there's some script wizard that can help us...

Share this post


Link to post
Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...