|
|
 |
 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
|
General::General Discussion General discussion about EverQuest(tm), EQEMu, and related topics. Do not post support topics here. |

05-02-2016, 05:16 AM
|
Discordant
|
|
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
|
|
Revamping inputs with system below, working on chat stuffs, and also spawns.
https://youtu.be/KVbxemkOWew
|

05-04-2016, 04:41 AM
|
Discordant
|
|
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
|
|
|

05-07-2016, 04:44 PM
|
Discordant
|
|
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
|
|
|

05-09-2016, 11:27 AM
|
Hill Giant
|
|
Join Date: Jul 2012
Location: Oklahoma
Posts: 222
|
|
Cool. One day at a time!
|

05-10-2016, 05:31 AM
|
Discordant
|
|
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
|
|
|

05-15-2016, 06:05 PM
|
Discordant
|
|
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
|
|
Changed how spawns work. Instead of creating (instantiating) mobs as they pop (runtime), i instantiate prefabs to an object pool on start and then activate/deactivate individual prefabs from the pool as i need.
This increases performance by a huge margin. Right now the pool is global but the pools will eventually be zone specific at some point. I tossed in beetle prefab only just for testing purposes.
http://youtu.be/KnS1MeQ9VkA
|
 |
|
 |

05-16-2016, 08:15 PM
|
Discordant
|
|
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
|
|
PunchQuest. Stuff below for my reference
Code:
478-OP_TargetMouse
ClientTarget_Struct {
/*000*/ uint32 new_target; // Target ID
};
43-op_autoattack
44-op_autoattack2
109-op_damage
struct CombatDamage_Struct
{
/* 00 */ uint16 target;
/* 02 */ uint16 source;
/* 04 */ uint8 type; //slashing, etc. 231 (0xE7) for spells
/* 05 */ uint16 spellid;
/* 07 */ uint32 damage;
/* 11 */ float force;
/* 15 */ float meleepush_xy; // see above notes in Action_Struct
/* 19 */ float meleepush_z;
/* 23 */ uint32 special; // 2 = Rampage, 1 = Wild Rampage
};
8-op_action
// this is what causes the caster to animate and the target to
// get the particle effects around them when a spell is cast
// also causes a buff icon
struct Action_Struct
{
/* 00 */ uint16 target; // id of target
/* 02 */ uint16 source; // id of caster
/* 04 */ uint16 level; // level of caster
/* 06 */ uint16 instrument_mod;
/* 08 */ uint32 bard_focus_id;
// some kind of sequence that's the same in both actions
// as well as the combat damage, to tie em together?
/* 14 */ uint32 sequence;
/* 22 */ uint8 type; // 231 (0xE7) for spells
/* 27 */ uint16 spell; // spell id being cast
/* 31 */
};
|
 |
|
 |

05-17-2016, 06:02 PM
|
Discordant
|
|
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
|
|
|
 |
|
 |

05-18-2016, 02:33 PM
|
Discordant
|
|
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
|
|
hardcoded x,y,z,h to the /loc infront of priest of discord in nqeynos, but my packet doesnt seem right
Client:
Code:
public void DoClientUpdate()
{
GameObject us = EqemuConnectObject;
float x = -us.transform.position.x;
float y = us.transform.position.z;
float z = us.transform.position.y;
float h = us.transform.rotation.y;
byte[] PositionUpdateRequest = new byte[38];
Int32 position = 0;
WriteInt16((short)OurEntityID, ref PositionUpdateRequest, ref position);
WriteInt32(BitConverter.ToInt32(BitConverter.GetBytes(x), 0), ref PositionUpdateRequest, ref position);
WriteInt32(BitConverter.ToInt32(BitConverter.GetBytes(y), 0), ref PositionUpdateRequest, ref position);
WriteInt32(BitConverter.ToInt32(BitConverter.GetBytes(z), 0), ref PositionUpdateRequest, ref position);
WriteInt32(0, ref PositionUpdateRequest, ref position);
WriteInt32(0, ref PositionUpdateRequest, ref position);
WriteInt32(0, ref PositionUpdateRequest, ref position);
WriteInt32(0, ref PositionUpdateRequest, ref position);
WriteInt32(0, ref PositionUpdateRequest, ref position);
WriteInt32(122, ref PositionUpdateRequest, ref position);
GenerateAndSendWorldPacket (PositionUpdateRequest.Length, 87 /* OP_ClientUpdate */, 2, curInstanceId, PositionUpdateRequest);
}
Server:
Code:
struct PlayerPositionUpdateClient_Struct
{
/*0000*/ uint16 spawn_id;
/*0004*/ float x_pos; // x coord
/*0004*/ float y_pos; // y coord
/*0004*/ float z_pos; // z coord
/*0008*/ float delta_x; // Change in z
/*0012*/ float delta_y; // Change in x
/*0016*/ float delta_z; // Change in y
/*0016*/ float delta_heading; // Change in y
/*0020*/ int32 animationspeed; // animation
/*0032*/ float rotation; // Directional heading
/*0036*/
};
UnityPacket:
Code:
[05-18-2016 :: 15:15:22] [Packet :: Client -> Server (Dump)] [OP_ClientUpdate - 0x0057] [Size: 40]
0: EB 00 EA 00 00 00 0B 00 - 00 00 02 00 00 00 00 00 | ................
16: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
32: 00 7A 00 00 00 00 | .z....
TitaniumPacket:
Code:
[05-18-2016 :: 02:37:22] [Packet :: Client -> Server] [OP_ClientUpdate - 0x0057] [Size: 38]
[05-18-2016 :: 02:37:22] [Packet :: Client -> Server (Dump)] [OP_ClientUpdate - 0x0057] [Size: 38]
0: E9 00 2F 36 00 00 30 41 - 00 00 00 00 00 00 00 00 | ../6..0A........
16: 00 00 00 00 00 00 20 00 - 00 00 6A 43 64 10 08 40 | ...... ...jCd..@
32: D0 03 00 00
|
 |
|
 |
 |
|
 |

05-18-2016, 06:49 PM
|
Discordant
|
|
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
|
|
solved. Died to priest of discord. Pras
Code:
[05-18-2016 :: 15:44:47] [Packet :: Client -> Server (Dump)] [OP_ClientUpdate - 0x0057] [Size: 40]
0: ED 00 00 00 6A 43 00 00 - 30 41 00 00 00 40 00 00 | ....jC..0A...@..
16: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 | ................
32: 00 00 00 00 F4 42 | .....B
[05-18-2016 :: 15:44:52] [Zone Server] Got 0x5007 from world:
[05-18-2016 :: 15:44:52] [Packet :: Client -> Server] [OP_TargetMouse - 0x01de] [Size: 6]
[05-18-2016 :: 15:44:52] [Packet :: Client -> Server (Dump)] [OP_TargetMouse - 0x01de] [Size: 6]
0: 56 00 00 00 | V...
[05-18-2016 :: 15:44:52] [Packet :: Server -> Client] [OP_TargetHoTT - 0x01dd] [Size: 6]
[05-18-2016 :: 15:44:52] [Packet :: Server -> Client (Dump)] [OP_TargetHoTT - 0x01dd] [Size: 6]
0: 00 00 00 00 | ....
[05-18-2016 :: 15:44:54] [Zone Server] Got 0x5007 from world:
[05-18-2016 :: 15:44:54] [Packet :: Client -> Server] [OP_AutoAttack - 0x002b] [Size: 6]
[05-18-2016 :: 15:44:54] [Packet :: Client -> Server (Dump)] [OP_AutoAttack - 0x002b] [Size: 6]
0: 01 00 00 00 | ....
[05-18-2016 :: 15:44:54] [Packet :: Server -> Client] [OP_Animation - 0x0021] [Size: 6]
[05-18-2016 :: 15:44:54] [Packet :: Server -> Client (Dump)] [OP_Animation - 0x0021] [Size: 6]
0: ED 00 0A 05 | ....
[05-18-2016 :: 15:44:54] [Packet :: Server -> Client] [OP_Damage - 0x006d] [Size: 29]
[05-18-2016 :: 15:44:54] [Packet :: Server -> Client (Dump)] [OP_Damage - 0x006d] [Size: 29]
0: 56 00 ED 00 01 FF FF 00 - 00 00 00 00 00 00 00 00 | V...............
16: 00 74 43 00 00 00 00 00 - 00 00 00 | .tC........
[05-18-2016 :: 15:44:54] [Packet :: Server -> Client] [OP_CancelTrade - 0x0042] [Size: 10]
[05-18-2016 :: 15:44:54] [Packet :: Server -> Client (Dump)] [OP_CancelTrade - 0x0042] [Size: 10]
0: ED 00 00 00 07 00 00 00 | ........
[05-18-2016 :: 15:44:54] [Packet :: Server -> Client] [OP_PreLogoutReply - 0x0178] [Size: 2]
[05-18-2016 :: 15:44:54] [Packet :: Server -> Client (Dump)] [OP_PreLogoutReply - 0x0178] [Size: 2]
[05-18-2016 :: 15:44:54] [Packet :: Server -> Client] [OP_BecomeCorpse - 0x0034] [Size: 18]
[05-18-2016 :: 15:44:54] [Packet :: Server -> Client (Dump)] [OP_BecomeCorpse - 0x0034] [Size: 18]
0: ED 00 00 00 00 00 30 41 - 00 00 6A 43 00 00 00 40 | ......0A..jC...@
[05-18-2016 :: 15:44:54] [Packet :: Server -> Client] [OP_Death - 0x006e] [Size: 34]
[05-18-2016 :: 15:44:54] [Packet :: Server -> Client (Dump)] [OP_Death - 0x006e] [Size: 34]
0: ED 00 00 00 56 00 00 00 - ED 00 00 00 02 00 00 00 | ....V...........
16: FF FF FF FF 1C 00 00 00 - 59 01 00 00 00 00 00 00 | ........Y.......
[05-18-2016 :: 15:44:55] [Packet :: Server -> Client] [OP_ZonePlayerToBind - 0x0220] [Size: 35]
[05-18-2016 :: 15:44:55] [Packet :: Server -> Client (Dump)] [OP_ZonePlayerToBind - 0x0220] [Size: 35]
0: 02 00 00 00 00 00 FF C3 - 00 00 64 42 00 00 F8 41 | ..........dB...A
16: 00 00 00 00 4E 6F 72 74 - 68 20 51 65 79 6E 6F 73 | ....North Qeynos
32: 00 | .
|
 |
|
 |

05-21-2016, 04:56 PM
|
Discordant
|
|
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
|
|
|

05-22-2016, 04:32 AM
|
Discordant
|
|
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
|
|
Rotation good now, mob pathing is not very good at all. Had a tough rotation problem, posting mafs incase someone else needs to do the same type of mafs.
In Eqemu:
Rotation is counter clockwise.
A full rotation is 255 (not 360).
//calculate server->client heading for client
float h = Mathf.Lerp(360,0, [heading-from-op_zonespawns]/255f);
//calculate client->server heading for server
float h = Mathf.Lerp(255,0, [player-current-heading]/360f);
|

05-22-2016, 02:02 PM
|
Sarnak
|
|
Join Date: Oct 2009
Posts: 52
|
|
Just wanted to say this is phenomenal. I wish I had time to work on something like this. Huge hats off!
|

05-23-2016, 06:29 PM
|
Discordant
|
|
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
|
|
|

05-25-2016, 05:05 AM
|
Discordant
|
|
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
|
|
#randompic

|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 07:43 AM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |