Big List of Progress
If you've been following my Youtube channel you may already know about some of the progress I've made. Over the last week I've been jumping from one part of the server to the next. First; With the scripting system somewhat built I could get some of the game commands working. I wrote a bunch of npc scripts to say their spiel when you talk to them, as well as the script needed for riding a chocobo, emotes, rolling a dice, and switching between active and passive modes. A few of the side menu scripts were also written but I'll need to take a better look at how those work (it's difficult to find what part of the menu the player is in from the server's point of view). Here is a video of both the chocobo script and it in action:
Behind the scenes I rewrote how zones work, allowing for both isolated zones and private areas (a concept the game uses). A "zone" is a public area where all player coexist, while a private area is a instance inside the zone, used for quest phasing, instance dungeons, and areas like the market ward. Isolated zones are public zones that do not share the existence of other players to one another. This is used for things like the inn and opening areas. Speaking of multiplayer, I fixed an issue with the pong (server response to the client's ping) packet and player updates are sent a lot more quickly. Here is a multiplayer test I did sometime ago:
as well as the dice roll command working:
With scripts, npcs, and the isolated zones working properly... I began playing with the opening scenes' scripts. Basically it involves running a bunch of functions in the Quest Actor (man0l0 for limsa), which triggers various things like playing a cutscene. I haven't scripted anything (that will require quest scripts on the server), but here is what I got so far:
Here are some of the starting zones filled in:
annnnnd finally! I have finished figuring out 90% of the battle action packets (0x139, 0x13A, 0x13B, 0x13C). These four packets handle playing a battle animation (from auto attacking, using a WS, Ability, Spell, etc) and showing various feedback (scrolling combat text, the visual effect, the log message, ui graphics). These packets are all the same, the only difference being how many actions each can hold. 13C doesn't hold any actions and just plays an animation. 139, 13a, and 13b hold 1,10, and 18 actions respectively. An action takes a textId (the log message), and amount (damage, exp gain, healed, etc), a param (direction, body attack, chain timer number, etc), and an effect id (this handles the SCT to show the damage, if it was a miss, crit, etc. Also a status icon if it's status gained.). So if you do wide volley and hit 14 enemies, most likely 13B will be sent to show all the stuff. Here is me going through the effect ids:
Also here is a bunch of actions I tested... from mobs linking, to EXP Chain timers:
Anyway, that's the big update of the progress so far!
Original Images can be found: http://imgur.com/a/nyzv2
Comments
New comment