![]() |
|
#11
|
||||
|
Quote from another board about chunking and my response.
Quote:
For instance every time you chunked in live it resent the entire marketplace to the client and for some reason it doubled other packets for no apparent reason i can find as of right now. Volt is making good progress with npc dialog interaction. dialog_component_overview.jpg Here is the latest commits. Code:
r741
Couple fixes to HotButton table and code, added some Debug loggers
!! New vgo_world.sql !!
Many opcodes added to match Xinux's structs work
---------------------
r740
more structs
---------------------
r739
NPC dialogs "step 1-snapshot"
- Improved the behavior for merchant, [house]escrow merchant and repair merchant options: The issue with the options required to be pressed twice is solved.
Instead a merchant's window will now be displayed (every time).
- Known issue: "Your target is not interested in transacting with you" will be displayed twice in chat when closing the merchant's window.
- vgo_world_delta.sql deleted.
---------------------
r738
and even more structs for volt :)
---------------------
r737
added more structs
---------------------
r736
Re-commit of vgo_world.sql - accidentally saved script_id = 1 :(
---------------------
r735
Updating public SVN binary with linux fixes (just in case!)
---------------------
r734
new opcode
---------------------
r733
Linux fixes
---------------------
r732
Merged delta sql into vgo_world.sql !! Need at least the new opcodes and character_hotbar tables - nothing else changed !!
---------------------
r731
NPC dialogs "step 1-snapshot"
- Added temporary handlers for merchant, trainer, instructor, banker, taskmaster, altar, escrow merchant, broker and repair merchant dialog options. The NPC's will respond! though not yet according to live behavior.
- Known issue: These three options will often require being pressed twice to function and will also still cause error messages in WS console: merchant, [house]escrow merchant and repair merchant.
- vgo_world_delta.sql contains queries needed to update the vgo_world db (added to queries for previous releases) (I will remove this file later on since it turned out to be more confusing than helpful).
---------------------
r730
Changed icon_id from unsigned to signed
---------------------
r729
vgo_world_delta.sql: Added queries to merge into vgo_world db, to support rev 726 hotbar functionality (please remove or clear vgo_world_delta.sql file when merged).
---------------------
r728
New structs for dialog handler
---------------------
r727
New opcodes.sql
---------------------
r726
- Hotbar now creates,update,delete and send the hotkeys when loading
- Changes some elements of hotbar struct fron uint to int
- Added in opcodes for the handlers regarding npc interaction
See post for queries http://vgoemulator.net/phpBB3/viewtopic.php?f=16&t=944&p=7606#p7606
---------------------
r725
NPC dialogs "step 1-snapshot"
- Hailing or left-clicking NPC's will make appropriate NPC's open their default dialog.
- Hailing or left-clicking NPC's will make appropriate NPC's give their voice greetings.
- Left-clicking an attackable NPC will toggle autoattack (this is an interrim implementation, later on you will not be able to turn of autoattack in this way).
- New file vgo_world_delta.sql contains queries needed to update the vgo_world db (please remove this file when this is merged with the main file).
---------------------
r724
Fix for Chat Tells:
- Previously, sending a tell informed the sending client that they had sent a tell to their own character's name.
The receiving player still gets the tell, it was a cosmetic issue.
---------------------
r723
Fix to the filter packets with the same sequence number: Now using Client::client_sequence for this. This should fix (at least one) issue with partial connections.
---------------------
r722
MasterSpawnList Continuation:
- Renamed a few functions:
- Load* functions involve querying the database to grab new spawn data for the spawn structs (Master Spawn List).
- Init* functions involve building/instantiating the spawn objects from the information in the spawn structs, upon request from the chunk/command process.
- Added Blocking to .reload commands so 2 players cannot reload the Master Spawn List at the same time.
- Started to add Mutex support to Init* functions, but this is not complete. Includes adding more Mutex support to the spawn classes.
- Added functions for Init*ing the rest of the spawn types (previous was only for NPCs). TODO is to create the commands to call these functions.
---------------------
r721
Rework of Master Spawn List and respawning:
- LoadNPCAppearances and LoadNPCAttachments loads in bulk query, rather than 1 query for each spawn_id
- .reload spawns now has a sub-sub-command: "all". .reload spawns will reload for the current chunk ONLY, .reload spawns all will reload the entire spawn list. There are a lot of optimizations available for this.
Reloading a chunk's spawns is actually slower than reloading the whole server, but possibly less intrusive to other chunks. Optimizations will make this much faster.
There is currently no thread protection in place: If 2 people reload spawns at the same time, bad things will likely happen.
---------------------
r720
Linux fixes
---------------------
r719
Added Logging to help resolve the Dropped Character/Chunk Client issue.
Changed how WorldCharacter objects are created for Character Select screen, so unneeded objects aren't created and then destroyed.
---------------------
r718
Added command ".spawn details", basic implementation - WIP
command_id 23: http://vgoemulator.net/phpBB3/viewtopic.php?p=7550#p7550
Added GetPointsValue() to SGOUnrealPawn class to show the spawn's "dots" in details
Fixed a few loggers in Commands.cpp
Fixed some client print colors.
---------------------
r717
added two structs for volt
---------------------
r716
fixed OP_ClientAccessObject
---------------------
r715
Adjustments to HotBar code http://vgoemulator.net/phpBB3/viewtopic.php?f=4&t=944#p7478
---------------------
r714
Some fixes to get things compiling on Linux.
---------------------
r713
Activated the Command Access system.
* Players now need to have their `characters`.`command_access` column set to match the values in your `commands`.`command_access` column.
* Default access for all commands is "A" for all access.
---------------------
r712
Implemented basic .chunk commands:
chunk details - displays info about the current chunk
chunk set safe - updates the start location (safe locs) of the current chunk to your character position/rotation
---------------------
r711
Added adding and deleting hot keys
Need to add the new sql table http://vgoemulator.net/phpBB3/viewtopic.php?f=4&t=944
currently loading at startup is not implemented
---------------------
r710
Committing new vgo_world.sql for rev 709 code. Deleted spawn_tables.sql temporary file (tables are in vgo_world.sql now).
---------------------
r709
CampTimers.cpp: extended logging WorldDatabase.cpp: small fix to log message
---------------------
r708
Private code submit for rev 707.
---------------------
r707
World:
+ Implemented basic /bug reporting system - Table required from this post: http://vgoemulator.net/phpBB3/viewtopic.php?p=7442#p7442
+ Continued work on PatchServer integration, but stuck on workflow - WIP
Compiled public binary for push to Public SVN
---------------------
r706
Added a few Lokked commands he was working on, all temp/test stuff - just wanted to reserve the handlers. !! Requires SQL from this post: http://vgoemulator.net/phpBB3/viewtopic.php?p=7437#p7437 for rev 704+
---------------------
r705
Fixed logging category "LUA".
---------------------
r704
Commands handler revamp; starting with handler ID 1
Fixed some subcommand implementations
Added logger to debug commands being executed by players in-game
!! Must source the `commands` table info from this post! !!
http://vgoemulator.net/phpBB3/viewtopic.php?p=7437#p7437
---------------------
r703
UDPServer::HandlePacketBunch: Improved console log message.
---------------------
r702
Added filter of consecutive 03 packets with the same sequence number in UDPServer::HandlePacketBunch. This is needed since the client sometimes sends duplicate 03 packets with OP_ClientAuthConfirm and more.
---------------------
r701
Removed some unnecessary {} and some extra spacing.
---------------------
r700
***Implementation of new UnrealChannel architecture
This allows more than 1024 Open/Close channel operations to be performed, per chunk. Previously, if more than 1024 Open/Close channel requests were processed by
the server, the server would not properly reuse previously used channels and stop replicating spawns to the Client.
IMPORTANT: UnrealPlayerController has been hardcoded to Channel 2 and the Sequence Numbers of the 2 Reliable Packets sent (the Open packet and Function 67) are hardcoded to 1 and 2.
The SGOPCPawn representing the client's player has been hardcoded to Channel 3 and the Sequence of the 1 Reliable Packet (the Open packet) is hardcoded to 1.
Other Changes:
- Adventure Level for NPCs will randomize between the values in the DB for gamplay_level_low and _high.
- Renamed a mispelling in character.h
- Added Xinux's AFK code.
- Added a possible measure for detecting Double JOINs (and hence, duplicate avatar appearances). Logging included for when this is prevented, just so we know it's working.
- Cleaned up WorldDatabase.cpp. Nothing changed, just removed some comments.
- NPC Attachments are sent in the same packet as the Open Channel packet. This is as was done on Live. Previous, we sent attachments in their own packets.
- Removed Range Check Logging from Combat.cpp. Console doesn't need to be spammed.
---------------------
r699
added in structs for volt
---------------------
r698
Little more progress on PatchServer:
+ Added override check in Main world loop (so your worlds are not erroring trying to connect to a patcher that doesn't yet exist)
+ DB Version added to Version.h
+ PS_OP's added for talk between world and patcher
+ Added temp logging and a fake disconnect to test "complete" steps
+ Updated vgemu-patch.xml and vgemu-world.xml slightly
Note: Devs, to see a sample flow, run Login, Patcher, then World with the <patchserver /> tag set to "always". Otherwise, World's Main loop will skip trying to connect (default for now).
No vgo-patch db is needed at this time, though you might create an empty one to avoid PatchServer.exe errors.
---------------------
r697
changed unknown to option in OP_ClientDialogOptionSelected
---------------------
r696
Committing a little more PatchServer work before code gets too far out of sync
Current state of PatchServer binary is it will listen for worlds, but do nothing yet.
Notes:
New <patchserver /> XML in vgemu-world.xml - ignore it for now
Code in world/Main.cpp commented out so the attempt to connect to PatchServer will not occur
Updated project files for World and Patcher
---------------------
r695
Fixes (might be changed again by Lokked's upcoming commits) to spawn_id and NPC adventure_level.
---------------------
__________________
| |||
|
|
||||
|
|