-
Posts
23 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Posts posted by Funplayer
-
-
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.
-
26 minutes ago, chuk said:
You should try to look for a more dynamic way to get the dropdata. I wonder if the server sends dropdata to the client and if it could be read out of memory in some way.
Nope, all server side.
-
I'm learning to code Lua at the same time as using Json and the solylib, while also learning the importance of static memory mapping. Its a good learning experience to say the least.
-
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.
-
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.
- 2
-
12 minutes ago, thelionorion said:
I'll sell you one for 5pds
Okay are you online?
-
Not sure the value, post a price. I have DT's and some pds.
-
Seems legit.
-
Cent/legs one of the 3 boota Ultimate Yellowboze
Cent/technique astark Ultimate Yellowboze
-
I'll pay DT's, pm your offers.
- 1
-
I will accept a 0'd one, or even low end.
Reply with your requests for pds, and the weapon's stats.
-
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.
-
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.
-
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?
-
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.
-
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.
-
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.
-
I DID do it on normal. That explains why it didn't work. I did all the steps.
-
I did it on two characters, both characters didn't get a mag cell.
-
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!
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.
-
Christmas Present?
-
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.
WIP: Monster Rare Drop Rate Viewer
in Server Development
Posted · Edited by Funplayer
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.