[How to] Quests mit Offi Files/ Flyff.a +.b

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • [How to] Quests mit Offi Files/ Flyff.a +.b

      Hi liebe Community.

      Mir is grade langweilig und ich wollte eigentlich einen Guide zum Thema Costum Pets machen, leider hab ich selbst noch net rausgefunden wie das geht darum schreib ich jetzt erstmal einen Guide für Costum Quests^^.


      Vorwort

      In den Offi files werden (normale) Quests in folgenden Datein definiert:



      Es ist relativ egal welche dieser Drei Questdatein(+Sprechtext) ihr benutzt.
      Ich nehme jetzt als Beispiel propQuest-RequestBox.inc & propQuest-RequestBox.txt.txt.



      Schritt für Schritt


      1.Öffnet zuerst die .inc Datei mit einem Editor (notepad, wordpad, etc)
      2.Nun könnt ihr euren Eintrag machen, hier ein Beispieleintrag:




      Rot
      = Quest Funktionen
      Grün = Dialogdefinition
      Hellblau = Questname
      Orange = Quest ID (die Quest ID muss immer eine andere sein, darf also nur einmal in der Datei vorkommen.)
      (Ich komme später zu der Erklärung von Funktionen usw).



      3.Nun geht in in die .txt Datei. Hier wird der Sprechtext definiert.
      Hier der dazugehörige Text für meine Quest :



      Wie man sehen kann arbeitet die .inc zusammen mit der .txt.
      Beispiel:


      inc:

      txt:
      .

      Das bedeutet wenn man den Quest NPC anspricht ohne die Vorraussetzungen der Quest erfüllt zu haben komtm der text der nach IDS_PROPQUEST_INC_GENESIS7 in der txt kommt.


      Erklärung der Funktionen


      In den Funktionen einer Quest wird der Hauptbestand der Quest definiert.
      Wie z.b Belohnung, erwartetes item, Monster das besiegt werden muss und viele weitere Optionen.

      ""








      Ich erkläre jetzt alle Funktionen genau^^.

      SetRepeat

      Diese Funktion ist dafür da um zu definieren ob die Quest wiederholt werden kann oder nicht.
      SetRepeat(1); bedeutet die Quest kann wiederholt werden, wenn sie nur einmal gemacht werden soll dann lösche einfach SetRepeat(1); aus der Quest.



      SetCharacter

      Hier wird definiert welcher NPC die Quest "anbietet".
      Um die Quest einem NPC zuzuteilen musst du diese Funktion wie folgt in deine Quest eintragen :

      SetCharacter( "NPCNAME" );
      z.b SetCharacter( "MaFl_Ryupang_Dead" );

      es handelt sich hierbei jedoch nicht um den normalen NPC namen sondern um den vollen NPC namen aus der character.inc.
      Um diesen Namen herauszufinden gehst du in die chracter.txt.txt und suchst nach dem normalen Namen des NPCs, ich suche jetzt z.b Juria.
      Und siehe da da ist Juria :


      Nun gehe in die Character.inc und suche nach der variable die vor dem NPC Namen steht, in diesme Fall also IDS_CHARACTER_INC_000057.
      Ein wenig über dem eintrag (IDS_CHARACTER_INC_000057) steht nun der volle namen : MaFl_Juria also müsste in der Quest
      SetCharacter( "MaFl_Juria" ); stehen wenn Juria die Quest anbieten soll.


      SetBeginCondLevel

      Mit dieser Funktione wird definiert in welchem Levelbereich man die Quest annehmen kann.

      SetBeginCondLevel( 100, 150 );

      Blau = Minimales Level
      Grün = Maximales Level (150 bedeutet es gibt kein Max Level)

      Also ist die Quest in diesem Fall ab Level 100 annehmbar.



      SetBeginCondParty

      Diese Funktion habe ich noch nicht getestet, jedoch nehme ich stark an dass hier das Party Level definiert wird und eventuell auch die Party Member Anzahl wie ich der Gilden erstellen Quest.


      SetBeginCondJob

      Mit dieser Funktion wird definiert welche Jobklassen die Quest annehmen können.
      Die vollen Namen der Jobklassen findet man in der propjob.inc.
      Wenn mehrere Jobs die Quest annehmen können sollen dann müssen die Jobklassen durch ein Komma voneinander getrennt sein:

      [code] SetBeginCondJob( JOB_KNIGHT, JOB_BLADE)
      Wenn alle Jobklassen die Quest annehmen können sollen Kopiert einfach meinen Code für diese Funktion :
      Code:
      SetBeginCondJob( JOB_KNIGHT, JOB_BLADE, JOB_JESTER, JOB_RANGER, JOB_RINGMASTER, JOB_BILLPOSTER, JOB_PSYCHIKEEPER, JOB_ELEMENTOR, JOB_KNIGHT_MASTER, JOB_BLADE_MASTER, JOB_JESTER_MASTER, JOB_RANGER_MASTER, JOB_RINGMASTER_MASTER, JOB_BILLPOSTER_MASTER, JOB_PSYCHIKEEPER_MASTER, JOB_ELEMENTOR_MASTER, JOB_KNIGHT_HERO, JOB_BLADE_HERO, JOB_JESTER_HERO, JOB_RANGER_HERO, JOB_RINGMASTER_HERO, JOB_BILLPOSTER_HERO, JOB_PSYCHIKEEPER_HERO, JOB_ELEMENTOR_HERO);
      SetEndCondItem


      Hier wird festgelegt welche Items für die Quest gebraucht werden und wieviele davon.

      Beispieleintrag:



      SetEndRemoveItem

      Hier wird definiert welche Items beim abschließen der Quest aus dem Inventar entfernt werden sollen.
      Wenn die Quest auf Repeat(1) steht ist es ratsam alle Items die für die Erfüllung der Quest benötigt werden auch löschen zu lassen da man die Quest dann ohne die Items noch einmal zu sammeln abschließen kann.


      Beispiel für den Eintrag :



      SetEndCondKillNPC


      Hier wird festgelegt wie oft welches Monster besiegt werden muss.




      SetEndRewardItem

      Hier wird die Belohnung der Quest festgelegt.
      Sobald die Quest abgeschlossen ist wird die Belohnung ins Inventar gesetzt.






      SetEndRewardSkillPoint

      Hier wird definiert wie viele Skillpoints der Charackter bekommt nachdem er die Quest abgeschlossen hat.

      SetEndRewardSkillPoint(400);
      bedeutet der Charackter bekommt 400 Skillpoints nach dem Abschließen der Quest.



      SetEndCondGold

      Hier wird festgelegt wieviel Penya benötigt werden um den Quest abzuschließen.

      SetEndRemoveGold(50000000);
      bedeutet man benötigt 50000000 Penya um die Quest zu beenden.


      SetEndRemoveGold


      Hier wir festgelegt wieviel Penya am Ende der Quest abgezogen werden.

      SetEndRemoveGold(50000000);
      bedeutet es werden 50000000 Penya vom Geldbetrag des Charackters entfernt.



      SetEndRewardGold

      Hier wird definiert wieviel Penya man nach dem Abschließen der Quest geschenkt bekommt.

      SetEndRewardGold( 500, 500 );
      bedeutet man erhält 500 Penya nach dem erfolgreichen Abschließen der Quest.


      SetEndRewardExp

      Hier wird definiert wieviel EXP der Spieler nach abschluss der Quest erhält.
      Es ist nicht in % ausgedrückt, daher kann ich leider nicht sagen wieviel EXP man bei welchen Zahlen bekommt.




      Sprechtexte


      Wie oben schon erwähnt arbeitet die .inc mit der .txt.txt zusammen.
      In der .inc werden die FUnktionen definiert und in der .txt.txt werden die Texte definiert.


      In der .inc steht z.b




      Orange = Das Ereignis (QSAY_BEGIN1 = Quest beginnt)
      Rot = Die Variable nach der der Text steht:

      In der .txt.txt steht


      Das Rot markierte ist die Varbiable aus der .inc
      Das bedeutet also sobald die Quest beginnt kommt dieser Text,



      Ereignisse und Titel


      Titel:

      Der Titel ist direkt unter der Quest ID definiert.


      SetTitle
      (
      IDS_PROPQUEST_INC_GENESIS1
      );


      Heißt IDS_PROPQUEST_INC_GENESIS1 in der .txt.txt ist der Titel :
      IDS_PROPQUEST_INC_GENESIS1 Prüfe deine Macht (----> Titel)


      Ereignisse:



      Questbucheintrag




      Dieser Text steht dan im Questtagebuch unter "Q".







      Sooooooo nächstes Thema^^.


      [I]Flyff.a und Flyff.b



      Ersteinmal; für was sind Flyff.a und Flyff.b?

      Die Flyff.a checkt in deinem Clienten ob an den Resourcen (.res Datein) etwas verändert wurde.
      Wenn ja stürtz das Spiel noch vor dem Loginfenster ab.
      Flyff.b sorgt dafür dass man Flyff.a nicht einfach löchen kann, wenn flyff.a fehlt kommt beim loginfenster die Meldung "eine Datei wurde verändert"


      Nun kommen wir zum interessanten Teil^^.

      Wie erstelle ich eine flyff.a und eine Flyff.b?!!?

      Das ist ganz einfachm, denn Aeonsoft hat extra ein Tool dafür programmiert, welches in den Serverfiles enthalten ist.
      Das Tool heißt merge2.exe und befindet sich im Resource ordner der Serverfiles.
      Dieses Programm liest den inhalt von resource.txt und erstellt dann aus den Datein im Resource ordner eine Data.res eine DataSub1.res und eine Datasub2.res, zusätzlich wird eine flyff.a und eine Flyff.b erstellt.

      So, zuersteinmal macht ihr euch eine richtige resource.txt
      Kopiert folgenden Text in eure resource.txt im resource ordner:



      So, nun geht ihr in den Neurospace ordner und erstellt einen neuen Ordner den ihr Resclient nennt.
      Jetzt führt ihr merge2.exe aus.
      Nun findet ihr im Resclient ordner die 3 .res Datein und die flyff.a.
      Im Neurospace ordner liegt nun eine flyff.b.



      Wie wende ich Flyff.a und Flyff.b an?

      Hierzumusst du den Inhalt vom Resclient in deinen Flyff Ordner kopieren die Daten ersetzen lassen.
      Die Flyff.b machst du in den Program ordner deiner Serverfiles.
      Wenn du nun AccountServer.exe startest liest diese Flyff.b mit.



      So wem die Guides gefallen haben kann mir gerne ein Thanks geben^^.

      MFG Kyubinoyoko





      Flyff.a/.b ist bei den releasten v15 files NICHT! vorhanden!!
      [/I]
    • Werbung zur Unterstützung des Forums ( Bitte AddBlocker deaktivieren )

    • [FONT="Tahoma"][COLOR="LemonChiffon"][SIZE="2"]fein erklärt kyu :3
      Vorallem so nett ausführlich, das jeder es rafft ^^

      (Ich geb zu: Ich kannte es^^)

      zu:" SetBeginCondParty( 0, 0, 0, 0 );"

      ist es evtl möglich, das dieser "Parameter" beim GildenQuest anders ist?
      (noch nich nachgeschaut^^)

      mfg
      cross[/SIZE][/COLOR][/FONT]
    • hey wie wärs wenn du die funktion Questitem() in den Thread addest

      hier mal der Syntax:

      Quellcode

      1. QuestItem([COLOR="Red"]MI_WAGSAAC1[/COLOR], [COLOR="Lime"]II_SYS_SYS_QUE_GRPSAINT[/COLOR], [COLOR="Yellow"]750000000[/COLOR], 1);


      [COLOR="Red"]Das Monster siehe oben[/COLOR]
      [COLOR="Lime"]Das item aus der defineItem.h[/COLOR]
      [COLOR="Yellow"]Wahrscheinlichtkeit (% * 10000000)[/COLOR]
    • Quellcode

      1. SetTitle
      2. SetNPCName
      3. SetCharacter
      4. SetMultiCharacter
      5. SetBeginCondSex
      6. SetBeginCondSkillLvl
      7. SetBeginCondPKValue
      8. SetBeginCondNotItem
      9. SetBeginCondLevel
      10. SetBeginCondParty
      11. SetBeginCondGuild
      12. SetBeginCondJob
      13. SetBeginCondPreviousQuest
      14. SetBeginCondExclusiveQuest
      15. SetBeginCondItem
      16. SetBeginCondDisguise
      17. SetBeginSetDisguise
      18. SetBeginSetAddGold
      19. SetBeginSetAddItem
      20. SetBeginCondPetExp
      21. SetBeginCondPetLevel
      22. SetBeginCondTutorialState
      23. SetBeginCondTSP
      24. SetEndCondParty
      25. SetEndCondGuild
      26. SetEndCondState
      27. SetEndCondCompleteQuest
      28. SetEndCondSkillLvl
      29. SetEndCondLevel
      30. SetEndCondExpPercent
      31. SetEndCondGold
      32. SetEndCondOneItem
      33. SetEndCondLimitTime
      34. SetEndCondItem
      35. SetEndCondKillNPC
      36. SetEndCondPatrolZone
      37. SetEndCondCharacter
      38. SetEndCondMultiCharacter
      39. SetEndCondDialog
      40. SetEndCondPetLevel
      41. SetEndCondPetExp
      42. SetEndCondDisguise
      43. SetParam
      44. SetEndCondTSP
      45. SetDlgRewardItem
      46. SetEndRewardItem
      47. SetEndRewardItemWithAbilityOption
      48. SetEndRewardGold
      49. SetEndRewardPetLevelup
      50. SetEndRewardExp
      51. SetEndRewardSkillPoint
      52. SetEndRewardPKValue
      53. SetEndRewardTeleport
      54. SetEndRewardHide
      55. SetEndRewardTSP
      56. SetEndRemoveQuest
      57. SetEndRemoveItem
      58. SetEndRemoveGold
      59. SetEndRemoveTSP
      60. SetRepeat
      61. SetDialog
      62. SetPatrolZoneName
      63. SetHeadQuest
      64. SetQuestType
      Alles anzeigen


      Fehlt aber noch einiges, dafür, dass du mit deinem Guide so prollst ;3