Ambrosia Garden Archive
    • Task list reconciliation between plug-ins...


      I've been pondering task lists and how they work under PoG and its plug-ins, and I've reached a brick wall that I was hoping someone would have an idea about how to surmount. Realize that this is for use in plug-ins to PoG, so you will need to understand how PoG utilizes the tast list, or more appropriately, how an independant task-list could be set up to be compatible between plug-ins.

      So consider this just a brain-storming type of post...

      Problem: PoG uses a self-contained task list call that first 1) clears all tasks, 2) records the tasks into the task list based on global variables, then 3) displays the quest log. Thus any task list that plug-in designers create has to write to the task list upon being called, else when the standard PoG task list is called it will delete anything recorded by a plug-in.

      Temp solution: We can create our own task lists, and have them called however we want(an item, a new keydown event, whatever). We can set them up to dynamically write to the task list upon being called, and then display the task list.

      Temp solutions problem: Unfortunately, using the above method will mean that every plug-in that is written that utilizes a task list will necessitate its own task list item, or its own keydown event that dynamically writes its own list independantly of other lists.

      My pipe dream: I would like to find a method where 1 keydown event or 1 item could be created that would be able to gather all the task lists for the plug-ins that were compatible, write them to the task list, and then display it. I was initially thinking about having an item that would call an event that writes to the task list and then after the event call the item would display the task list. Then it would just be a matter of updating that event. But unfortunately if you create a plug-in that utilizes an event of the same name, that event replaces the original event, it doesn't append or run concurrently(unless I am mistaken in this).

      So now I'm out of ideas. Anyone else want to chime in with an idea? 🙂

      ------------------
      (url="http://"http://stark.evula.net/pogwalkthrough.htm")PoG Walkthrough and Compendium(/url) | (url="http://"http://www.ambrosiasw.com/cgi-bin/vftp/dl-redirect.pl/PoG_Dev_Tools_Source.sit?path=coldstone/resources&file;=PoG_Dev_Tools_Source.sit")PoG Dev Tools(/url)
      (url="http://"http://stark.evula.net")Stark.evula.net(/url) now on (url="http://"http://www.evula.net")EVula.net(/url)

    • Quote

      Originally posted by Stark Bledfast:
      **
      Problem: PoG uses a self-contained task list call that first 1) clears all tasks, 2) records the tasks into the task list based on global variables, then 3) displays the quest log. Thus any task list that plug-in designers create has to write to the task list upon being called, else when the standard PoG task list is called it will delete anything recorded by a plug-in.
      **

      Is the self-contained task list call an event? If so - doesn't anything in a plugin with the same name as something in the original game replace the old with the new?

      I fully expect to be wrong here; I haven't tried working with plugins at all yet. 🙂

      ------------------
      (url="http://"http://jankostar.net/sanko")my Page of Garbage(/url)

    • Quote

      Originally posted by sanko:
      **Is the self-contained task list call an event? If so - doesn't anything in a plugin with the same name as something in the original game replace the old with the new?

      I fully expect to be wrong here; I haven't tried working with plugins at all yet.**

      I believe so, yes.

      However, if you have 4 plug-ins that create task lists, and each call the event, then only one of the plug-ins will utilize the event(assuming each plug-in modifies the event in some way, since each plug-in will over-write the next plug-in, until the last plug-in loaded gets its event utilized).

      Another thought I had was to make "dummy" events. Ie, have an object that would call "task_list1" and "task_list2" etc. And then at the end of the task list calls it would display the task list. Then in future plug-ins I could write to the events, 1 per plug-in, so that they would not overwrite eachother(ie, one plug-in would only create a "task_list1" event). However the problem with this is that eventually I would run out of task list events, and it would not solve the "universal compatibility between plug-ins" type of thing I'm looking for. And as I stated before, I'm not sure if this is even a possibility.

      ------------------
      (url="http://"http://stark.evula.net/pogwalkthrough.htm")PoG Walkthrough and Compendium(/url) | (url="http://"http://www.ambrosiasw.com/cgi-bin/vftp/dl-redirect.pl/PoG_Dev_Tools_Source.sit?path=coldstone/resources&file;=PoG_Dev_Tools_Source.sit")PoG Dev Tools(/url)
      (url="http://"http://stark.evula.net")Stark.evula.net(/url) now on (url="http://"http://www.evula.net")EVula.net(/url)

    • This wouldn't totally solve the problem - but it might help.

      You could make a "open" task event and upload it to lots of coldstone releated sites. Because most people making a plugin for PoG are going to look for help somewhere on the web, there is a good chance they'll find your event.

      Then everybody who uses that event in their plugin would at least be compatable with the others using it.

      ------------------
      (url="http://"http://jankostar.net/sanko")my Page of Garbage(/url)