Editace dialogů


Sigil Team Uživatelský avatar
Registrován: 24.9.2005 22:28
Bydliště: Jihlava, Czech Republic

Příspěvek Napsal: 4.12.2005 20:59

Editace dialogů

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á).
Žralok, který štěká, nekouše.
offline  • 
Zobrazit autorovy stránky
 •  Zobrazit profil uživatele

Dabus Uživatelský avatar
Registrován: 24.9.2005 22:54
Bydliště: Sigil

Příspěvek Napsal: 4.12.2005 21:14

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, Rozšířit náhled
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, Rozšířit náhled
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, Rozšířit náhled
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.
Kód: Vybrat vše, Rozšířit náhled
IF
  Detect([SPAMMER])
THEN
    RESPONSE #100
             ReallyForceSpell(WIZARD_POWER_WORD_KILL,LastSeenBy(Myself))
END
offline  • 
Zobrazit autorovy stránkyICQ
 •  Zobrazit profil uživatele

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 2 návštevníků

cron