[Help] Fixing and Manipulating Quests

Results 1 to 5 of 5
  1. #1
    Valued Member Burgundy is offline
    MemberRank
    Mar 2015 Join Date
    126Posts

    [Help] Fixing and Manipulating Quests

    I have some questions regarding fixing and manipulating quests. I've been playing around with a v62 source and wanted to get some of the quests working. I've been doing some light research trying to figure out how quests are dealt with. So far I've uncovered the quest script folder and the quest wz folder that holds such information.

    A quest I'm looking to fix would be Chief Tamato's 4th job quest where he exchanges the secret scroll for the two heroic items. The quest works fine for the 4 original jobs but he doesn't give the items to pirates. The quest itself can be completed by pirates but the items aren't delivered. Where would I look to fix this?

    I'm curious to learn how these function because I'd like to fix the majority of the quests for a gms-like server. I'm not asking to be spoonfed I'd just love to be pointed in the correct direction.


  2. #2
    Moongran Saii is offline
    MemberRank
    Jan 2012 Join Date
    510Posts

    Re: [Help] Fixing and Manipulating Quests

    so quests are divided into scripted, and non scripted.
    scripted quests must be coded by the user(you), and are located in your quest script folder. non scripted are already done by Nexon in the client.
    scripts are also divided into start script and end script. some have their start coded by Nexon and end must be coded by you, some have both already done, and some require coding both parts.

    the way the server works is as follows:
    player clicks on complete or start a quest ->
    the client sends the server a packet with the relevant information ->
    the server reads the packet(QuestActionHandler) and determines whether its a regular start/end or a scripted one. ->
    next, the server calls the matching method. if it's scripted, it reads the file you coded. otherwise the server checks the data you loaded from wz(on server start) for the proper rewards/etc and sends the appropriate packets back to the client.

    if a quest is broken it could be for several reasons:
    1. Quest must be scripted/script has errors.
    2. Some of your code for quests in the source is bad, so rewards are not distributed properly or something.(check other quests with similar rewards to confirm)

    now what I did for my convenience when I had to debug something, was going to QuestActionHandler, and before starting a scripted quests, I print something like "Scripted start".
    this way you know straight away if the quest requires a script by simply clicking it and looking at your bats.
    (most modern sources should have file not found error to tell you that anyway though)

  3. #3
    Valued Member Burgundy is offline
    MemberRank
    Mar 2015 Join Date
    126Posts

    Re: [Help] Fixing and Manipulating Quests

    Thanks for the detailed response, very informative!

    I've been looking into my Tatamo's suggestion quest problem and I realized that there are two different IDs for the same quest. Now that I realized that I'm sure I can fix it if I make them match each other is the wz files. Hopefully that will help my problem.

    I'm using Xiuzsource as my base so I'm not sure that fits under the modern source category or not. I am however somewhat confused about your last paragraph and how you are checking if you need a script. However I feel continue playing around with these files and see what I can figure out.

  4. #4
    :l Cygnus is offline
    MemberRank
    Mar 2015 Join Date
    f425Location
    237Posts

    Re: [Help] Fixing and Manipulating Quests

    Quote Originally Posted by Burgundy View Post
    Thanks for the detailed response, very informative!

    I've been looking into my Tatamo's suggestion quest problem and I realized that there are two different IDs for the same quest. Now that I realized that I'm sure I can fix it if I make them match each other is the wz files. Hopefully that will help my problem.

    I'm using Xiuzsource as my base so I'm not sure that fits under the modern source category or not. I am however somewhat confused about your last paragraph and how you are checking if you need a script. However I feel continue playing around with these files and see what I can figure out.
    I'm pretty sure xiuzsource returns a packet error when you try to start an unscripted quest. What saii suggested you do, is in the case a script is read for a quest, you print a line in your .bat stating so. Using this method, whenever you start a quest that is/requires scripting, your bat will tell you so when you start/try to start such quest.
    Regards, Cygnus

  5. #5
    Valued Member Burgundy is offline
    MemberRank
    Mar 2015 Join Date
    126Posts

    Re: [Help] Fixing and Manipulating Quests

    Quote Originally Posted by Cygnus View Post
    I'm pretty sure xiuzsource returns a packet error when you try to start an unscripted quest. What saii suggested you do, is in the case a script is read for a quest, you print a line in your .bat stating so. Using this method, whenever you start a quest that is/requires scripting, your bat will tell you so when you start/try to start such quest.
    Regards, Cygnus
    I think I get it now, thank you for the clarification!



Advertisement