Stránka 1 z 1

Editace dialogů

Napsal: 4.12.2005 19:59
od drake127
Chtěl bych se zeptat, jak se ve WeiDU upravují dialogy (nemyslím vytváření nových).
Tj. když chci upravit nějaký dialog, ale chci být co nejméně závislý na ostatním obsahu.
Předpokládám zpracování v tp2 (boť mě žádné jiné nenapadá).

Napsal: 4.12.2005 20:14
od Razfallow
Vytvoříš .d soubor, který pak v tp2 zkompiluješ.

Přidání dalších odpovědí se dělá přes EXTEND_TOP nebo EXTEND_BOTTOM.

Kód: Vybrat vše

EXTEND_TOP ~DNYM~ 8
IF ~~ THEN REPLY @0 DO ~StartStore("LDD_Nym",Protagonist)~ EXIT
END
Když chci udělat změnu (třeba přidat nastavení proměnné k odpovědi) už v existujícím bloku, tak využívám REPLACE.

Kód: Vybrat vše

REPLACE ~DNYM~

IF ~~ THEN BEGIN 7 // from: 6.1
  SAY #11139
  IF ~~ THEN REPLY #11140 DO ~SetGlobal("RZNym_IsBad","GLOBAL",1)~ JOURNAL @32 GOTO 8
  IF ~~ THEN REPLY #11141 DO ~Enemy()~ EXIT
  IF ~~ THEN REPLY #11142 DO ~SetGlobal("RZNym_IsBad","GLOBAL",1)~ JOURNAL @32 GOTO 9
END

IF ~NumTimesTalkedToGT(0)~ THEN BEGIN 10 // from:
  SAY #11174 /* ~Vítej zpět, vážený zákazníku.~ */
  IF ~GlobalGT("RZCatch_Nym","GLOBAL",0)~ THEN REPLY @1 GOTO 21
  IF ~PartyHasItem("BeetShld")~ THEN REPLY @38 GOTO 12
  IF ~PartyHasItem("RZBePLlw")~ THEN REPLY @39 GOTO 31
  IF ~Global("Nym_Shield","GLOBAL",1) GlobalTimerExpired("Nym_Timer","GLOBAL")~ THEN REPLY @35 GOTO 19
  IF ~Global("RZNym_Armor","GLOBAL",1) GlobalTimerExpired("RZNym_Armor_Timer","GLOBAL")~ THEN REPLY @36 GOTO 37
  IF ~Global("Nym_Shield","GLOBAL",1) !GlobalTimerExpired("Nym_Timer","GLOBAL")~ THEN REPLY @35 GOTO 18
  IF ~Global("RZNym_Armor","GLOBAL",1) !GlobalTimerExpired("RZNym_Armor_Timer","GLOBAL")~ THEN REPLY @36 GOTO 38
  IF ~Global("RZNym_IsBad","GLOBAL",0)~ THEN REPLY #11187 /* ~Nyme, není to nebezpečné, dělat obchodníka v Podtemní?~ */ GOTO 5
  IF ~~ THEN REPLY #11184 /* ~Ukaž mi své zboží, Nyme.~ */ DO ~StartStore("LDD_Nym",Protagonist)~ EXIT
  IF ~~ THEN REPLY #11189 /* ~Jen jsem tě chtěl pozdravit. Sbohem.~ */ GOTO 9
END
END
Nové bloky se přidávají přes APPEND.

Kód: Vybrat vše

APPEND ~DNYM~

IF ~~ THEN BEGIN 21 // from: 20.0
  SAY @4
  IF ~~ THEN REPLY @5 GOTO 22
END

IF ~~ THEN BEGIN 22 // from: 21.0
  SAY @6
  IF ~!Class(Protagonist,PALADIN)!Class(Protagonist,RANGER)!Class(Protagonist,CLERIC_RANGER)~ THEN REPLY @7 GOTO 23
  IF ~~ THEN REPLY @8 GOTO 24
END

IF ~~ THEN BEGIN 23 // from: 22.0
  SAY @9
  IF ~~ THEN REPLY @10 GOTO 25
  IF ~~ THEN REPLY @11 GOTO 26
END

IF ~~ THEN BEGIN 24 // from: 27.1 26.1 25.5 22.1 20.1
  SAY @12
  IF ~~ THEN REPLY @13 DO ~Enemy()~ EXIT
  IF ~~ THEN REPLY @14 DO ~Enemy()~ EXIT
END
Existují i další příkazy, ale ty jsem zatím moc nezkoumal.