Editácia denníka...

Vytváření nových modů není tak obtížné, zkuste si to taky.

Moderátor: Razfallow

Odpovědět
Uživatelský avatar
Valiant
Sigilan
Příspěvky: 95
Registrován: 6.1.2006 9:49
Bydliště: Levice (hometown), Sliač (worktown), Slovakia
Kontaktovat uživatele:

Editácia denníka...

Příspěvek od Valiant » 30.1.2007 9:57

Zdravím, potrebujem poradiť s pridávaní poznámok do denníka (Vlasák asi vie, o čo ide, že... :lol: ). Bude toto fungovať??

Kód: Vybrat vše

IF ~NumTimesTalkedTo(0)~THEN BEGIN Test
	SAY @2
	IF ~~ THEN REPLY @2 DO ~AddJournalEntry(@0,QUEST)
			SetGlobal("EntryTest","GLOBAL",1)~ EXIT
END

IF ~Global("EntryTest","GLOBAL",1)~ THEN BEGIN Test2
	SAY @3
	IF ~~ THEN REPLY @4 DO ~EraseJournalEntry(@0,QUEST)
			AddJournalEntry(@1,QUEST_DONE)~ EXIT
END

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

.tra pair:

@0	= %Test String - Quest entry.% 
@1	= %Test String - Quest Done entry.%
@2	= ~Hello!~
@3	= ~Fine, you´ve made it!~
@4	= ~Yes, I knew I will make it on day!~
Dík za odpoveď . Podľa mňa by malo, ale nie som si istý...
Kiski aka Valiant, the 3ds Max mage
Slovakia
Tower Of Deception creator

Obrázek

Uživatelský avatar
Vlasák
Sigilan
Příspěvky: 3017
Registrován: 26.9.2005 7:56
Bydliště: Praha
Kontaktovat uživatele:

Příspěvek od Vlasák » 30.1.2007 10:38

Ano, takto se to dá dělat. Buď pomocí skriptovacích akcí, anebo přímo využití prvků .dlg formátu - ve weidu pomocí JOURNAL, SOLVED_JOURNAL, UNSOLVED_JOURNAL. Např.:

Kód: Vybrat vše

IF ~~ THEN BEGIN 8 // from: 7.0
  SAY #44931 /* ~Blah blah blah~ */
  IF ~!IsValidForPartyDialog("Jaheira")
!IsValidForPartyDialog("Anomen")
!IsValidForPartyDialog("Edwin")
IsValidForPartyDialog("Viconia")~ THEN DO ~SetGlobal("WackoArmy","GLOBAL",1)
OpenDoor("DOOR12")
EscapeArea()~ UNSOLVED_JOURNAL #7045 
END

Ale vždycky jsem používal scriptovací akce v dialozích, než tu vestavěnou podporu - přijde mi to takové jasnější - tedy tak, jak to máš ty.

Jen to, že EraseJournalEntry má pouze jeden parametr. Číslo textu - umístění v deníku už ne, to maže "globálně" odevšad ;-)
Infinity forever! - Baldur's Gate II add-on CZ
Fórum plné RPG - RPG fórum


Obrázek

Uživatelský avatar
Valiant
Sigilan
Příspěvky: 95
Registrován: 6.1.2006 9:49
Bydliště: Levice (hometown), Sliač (worktown), Slovakia
Kontaktovat uživatele:

Příspěvek od Valiant » 30.1.2007 16:23

Ok, ak som pochopil spravne, tak vymazanie dennika ma byt takto (vzhladom na predchadzajuci post):

~EraseJournalEntry(@0)~

Je to tak??
Kiski aka Valiant, the 3ds Max mage
Slovakia
Tower Of Deception creator

Obrázek

Uživatelský avatar
Vlasák
Sigilan
Příspěvky: 3017
Registrován: 26.9.2005 7:56
Bydliště: Praha
Kontaktovat uživatele:

Příspěvek od Vlasák » 30.1.2007 16:28

Kiski: jj, ano, takhle... není třeba specifikovat odkud, ale pouze co.

Kód: Vybrat vše

263 EraseJournalEntry(I:STRREF*)
Infinity forever! - Baldur's Gate II add-on CZ
Fórum plné RPG - RPG fórum


Obrázek

Uživatelský avatar
Valiant
Sigilan
Příspěvky: 95
Registrován: 6.1.2006 9:49
Bydliště: Levice (hometown), Sliač (worktown), Slovakia
Kontaktovat uživatele:

Editácia denníka - po druhé...

Příspěvek od Valiant » 31.1.2007 11:10

Z nejakých neznámych dôvodov som nedokázal zapísať do denníka do časti QUEST správu pomocou AddJournalEntry(~~,QUEST). Stále to zapisovalo do časti USER. Podobne tomu bolo aj keď som sa snažil zapisovať do časti QUEST DONE.

Ale toto mi fungovalo:

Kód: Vybrat vše

IF ~NumTimesTalkedTo(0)~THEN BEGIN Test 
   SAY @0    IF ~~ THEN REPLY @0  DO ~SetGlobal("EntryTest","GLOBAL",1)~ 
                                                    UNSOLVED_JOURNAL @1 EXIT 
END 

IF ~Global("EntryTest","GLOBAL",1)~ THEN BEGIN Test2 
   SAY @2 
   IF ~~ THEN REPLY @3 DO ~EraseJournalEntry(@4)~ 
                                            SOLVED_JOURNAL @5 EXIT 
END 

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

.tra pair: 

@0   = ~Hello!~ 
@1   = ~Quest Entry

This should be your quest entry.~ 
@2   = ~Hello again!~ 
@3   = ~Yeah, hi!~ 
@4   = %Quest Entry

This should be your quest entry.%
@5   = ~Quest Done Entry

This should be your quest done entry. Hope it works!~
Kiski aka Valiant, the 3ds Max mage
Slovakia
Tower Of Deception creator

Obrázek

Uživatelský avatar
Valiant
Sigilan
Příspěvky: 95
Registrován: 6.1.2006 9:49
Bydliště: Levice (hometown), Sliač (worktown), Slovakia
Kontaktovat uživatele:

Denník znova...

Příspěvek od Valiant » 2.3.2007 12:10

Nazdar všetci :lol:

Menšia oprava predchádzajúcich informácií: pomocou AddJournalEntry(~~,QUEST) ide zapísať text do denníka na správne miesto, čiže do časti QUEST, ale funguje to len zo skriptov, a nie s dialógov vo formáte WeiDU. Z WeiDu dialógov to funguje len pomocou UNSOLVED_JOURNAL ~~

EraseJournalEntry() funguje stale...
Kiski aka Valiant, the 3ds Max mage
Slovakia
Tower Of Deception creator

Obrázek

Uživatelský avatar
Valiant
Sigilan
Příspěvky: 95
Registrován: 6.1.2006 9:49
Bydliště: Levice (hometown), Sliač (worktown), Slovakia
Kontaktovat uživatele:

Re: Editácia denníka...

Příspěvek od Valiant » 1.7.2010 15:56

...a zrejme posledná oprava:

Kód: Vybrat vše

IF ~NumTimesTalkedTo(0)~THEN BEGIN Test
   SAY @0    IF ~~ THEN REPLY @0  DO ~SetGlobal("EntryTest","GLOBAL",1)~
                                                    UNSOLVED_JOURNAL @1 EXIT
END

IF ~Global("EntryTest","GLOBAL",1)~ THEN BEGIN Test2
   SAY @2
   IF ~~ THEN REPLY @3 DO ~EraseJournalEntry(@1)~
                                            SOLVED_JOURNAL @4 EXIT
END

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

.tra pair:

@0   = ~Hello!~
@1   = %Quest Entry

This should be your quest entry.%
@2   = ~Hello again!~
@3   = ~Yeah, hi!~
@4   = ~Quest Done Entry

This should be your quest done entry. Works like a charm, hehehe!!!~
Zbytočne som tam pridával jeden string navyše oprotipredchádzjúcemu príspevku, a ešte k tomu zdvojený, len kvôli špec. znakom. Ale WeiDU urobí defaultne parsing aj %...niečo...%, nie len ~...niečo...~.
Kiski aka Valiant, the 3ds Max mage
Slovakia
Tower Of Deception creator

Obrázek

Odpovědět

Zpět na „Infinity Engine“