Jump to content

Funplayer

Members
  • Posts

    23
  • Joined

  • Last visited

Posts posted by Funplayer

  1. 3 minutes ago, Lemon said:

    But if you parse it in advance then you lose the advantage that we post the event drops there later.  Though you may not want to pull the data each frame, only on init.

    I thought about this, but querying the data would require a poke at the html location every time the game runs. I would also then need an xml parser in lua, a language I'm not very familiar with. Not to mention, it would seem kinda shady having a pso plugin query the internet for data.

  2. 19 hours ago, Lemon said:

    You can just pull and parse the html from here: https://www.phantasystaronline.net/forum/index.php?/droptable/all-in-one/. It would be accurate except for the beginnings of events, which idk how you'd know if one was on or not, but that seems pretty decent to me.

    My idea is to just run an XML parser over the whole thing, program the systematic pattern for the episodes/difficulties using ints, and then just auto-dump the data to a .lua script as a completed data set. Seems easy enough, will just take time.

    I have plenty of XML examples in C#, Java, and Python.

    Accessing the data is easy enough in Lua anyway, I just need to provide the necessary functions.

  3. 4 hours ago, orgodemir said:

    I had this idea at one point, and I didn't even start to work on it for one reason.

    You know the drop charts on this server change for each event, right? And the charts are not typically made public for a few weeks. Your tool will have incorrect information probably 1/4 of the year, and there will be a lot of work to update it with every event.

    That being said, a lot of the drops will still be accurate, and I think the "HelloWorld" addon might have an example of some code that would be useful in making this.

     

    I'm willing to maintain it for a while, but only until I get bored. At least a few months.

  4. The finished product should display the drop rates of every different monster in the room, based on the monster drop rates list in the main site. This being of course based on the soly lib.

    I'll be using the monster hp viewer as a resource to work on this.

    With the help of Soly and Isaac, I have solved all the required functional issues. The data remains to be populated however.

    • Like 2
  5. 21 minutes ago, Lemon said:

    Random rewards are already implemented in multiple quests. (Raid on Central Tower, CAL's Clock Challenge, Mine Offensive, etc.)

    This sounds very sketchy to edit the quest data prior to sending it.  Anyway, random spawns are already doable through quest script.  You just design each random possibility and set them to different waves and spawn a random wave.  A little hard to do, but it works.  Anyway, it'd make it so the quest could only be used on this server.  I personally don't like the idea.  A lot of thought and time goes into mob positions and wave compositions.

    Sketchy...EHHH... I dunno what that means. It seems doable. I examined the struct data, it doesn't seem very tough.

  6. Dynamic quest data could be cool. Some RNG never hurt anyone. Mutate it with some high level script in the server before its fed.

    Could modify wave data sequentially to alter monsters in waves, or use it to fluctuate the rewards from certain quests. Possibly an event quest with some interesting chances for RNG rewards. I'm not bad with parsers, maybe I could help out.

  7. Perhaps you can just load up all the data, then create a table structure on the spot based on all the data and its parameters. Then provide opcodes to redirect to new positions! This sounds kinda fun actually, and would help with those baked in animations.

     

    Forest booma spawn opcode, will provide say forest int, booma int, and so on. Pointing at the booma model, in the forest template of monsters.

    Forming this into a single opcode, could make it possible to create new monsters JUST by pointing at new positions in your own table! EXCELSIOR! Honestly not sure how well it would run though. Should be okay in C.

    Standard Booma opcode > extra parameters in quest for single booma > table cobbles together new booma using sub table of parameters. Completed booma fed into the room.

    How does the quest data work anyway?

  8. 24 minutes ago, Lemon said:

    If you can figure out why load_enemy_data, get_physical_data, get_attack_data, get_resist_data, or get_movement_data quest opcodes don't work in BB, I'd love you forever.  They're opcodes 0xF891, 0xF892, 0xF893, 0xF894, and 0xF895 respectively.  Though 0xF890, 0xF889, 0xF896, and 0xF897 are all unknown, so there could be more monster altering opcodes.  If so I can give you some test material.  I tried to do it, but I don't have time nor understanding of the game to decipher the assembly.

    I'm unfamiliar with the system, but it sounds to me like potential either debug data, or possibly dynamic data allocation. I'm hoping its dynamic data allocation, however if it is debug data, its possible to use this as a gateway to something else. It's possible these are simply scrapped or deprecated functions, or possible there is quests in the main story using these functions in a certain fashion, with certain parameters involved. In any case, I don't have any clue where to start, so any sort of test material would give me a foothole into more information.

    24 minutes ago, Lemon said:

    Someone did this, but it's not very practical.  The game only loads up certain data when you create a game, so as it was described to me, you need to fake the load to a different address.  Seemed like too much work for the rewards to me.

    It sounds to me, like we need a dynamic loader! Something to produce the required data, as well as modify data while the games are running. This sounds quite complex, as the dll file is sealed, and the code is locked. If this is unlocked, it should be possible to allow for more than 4 players, break the enemy and item limit, and so on. Possible gateway to new enemies, new levels, new stages, and so on. Not to mention, access to a higher level language such as Lua, Python, Javascript, etc.

    24 minutes ago, Lemon said:

    What do you mean by this? Like changing how monsters function?

    This is just more dynamic loading concept. If there is no dynamic loader, there would be no way for this to function. Dynamic loader would need to basically replace the PSO quest data loader, and store stated data based on the old style of pso quest data loader, while still maintaining the integrity of the original struct and functionality, completely bypassing the limitations of the system.

    Practical example would be: Booma A has the swing of a delsaber on VHARD, while Booma B has the HP of dark falz on Ultimate, and Booma C looks exactly like a C-bringers with HP of a Booma. All Booma in the same room on the same map, created with the same idea. As the quest began, the data was loaded based on quest data, template forms were overwritten to be formed into a dynamic structure in which the game can understand. From what I can tell however, this doesn't seem possible currently.

  9. Is there any sort of active entity manipulation? Such as, mutating entities mid-game by altering statistics, adding monsters not designated to the main roster of a quest, or creating entities based on templates of entities in the middle of a quest? This concept intrigues me.

    Active manipulation would open a door to things like spawning player allied monsters.

  10. Always kind of wanted to rebalance the shops, modify the inventory a bit, add some new features to the menus, include a few new interfaces for weapon modifications, that sort of stuff. Maybe rebalance some of the core mechanics of androids, such as firing forward traps, or even possibly new types of traps.

    Not really sure how to get started though. I have plenty of coding experience, so that's not really much of an issue.

  11. RIP my SCHT masterwork characters.

    I will rebuild you. We have the technology. I can make you better this time, with the correct mags. YOU WILL LIVE AGAIN!

    the team.png

    Wow I just realized, I don't even use MSN messenger anymore, and haven't used windows xp in yeaaars. This is team Philanthropy.

    Wherever you are Tea, we won't forget you bud.

  12. Reply with currency costs, and I'll get back to you. I'd prefer DT, as I can just buy them.

    If I commission you for it, I'll pay when the jobs done. I get to pick the name, and the price goes up a little.

×
×
  • Create New...