Go Back   EQEmulator Home > EQEmulator Forums > General > General::General Discussion

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

Reply
 
Thread Tools Display Modes
  #1  
Old 05-02-2016, 05:16 AM
Tyen05
Discordant
 
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
Default

Revamping inputs with system below, working on chat stuffs, and also spawns.

https://youtu.be/KVbxemkOWew
__________________
Browser based EQ project
Reply With Quote
  #2  
Old 05-04-2016, 04:41 AM
Tyen05
Discordant
 
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
Default

__________________
Browser based EQ project
Reply With Quote
  #3  
Old 05-07-2016, 04:44 PM
Tyen05
Discordant
 
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
Default

https://youtu.be/K08vVFTWMzI
__________________
Browser based EQ project
Reply With Quote
  #4  
Old 05-09-2016, 11:27 AM
rhyotte
Hill Giant
 
Join Date: Jul 2012
Location: Oklahoma
Posts: 222
Default

Cool. One day at a time!
Reply With Quote
  #5  
Old 05-10-2016, 05:31 AM
Tyen05
Discordant
 
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
Default

chat: https://youtu.be/Byi1lWNQJco
__________________
Browser based EQ project
Reply With Quote
  #6  
Old 05-15-2016, 06:05 PM
Tyen05
Discordant
 
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
Default

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
__________________
Browser based EQ project
Reply With Quote
  #7  
Old 05-16-2016, 08:15 PM
Tyen05
Discordant
 
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
Default

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 */
};
__________________
Browser based EQ project
Reply With Quote
  #8  
Old 05-17-2016, 06:02 PM
Tyen05
Discordant
 
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
Default

Targeting in https://youtu.be/ePc4FeqV-VU
__________________
Browser based EQ project
Reply With Quote
  #9  
Old 05-18-2016, 02:33 PM
Tyen05
Discordant
 
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
Default

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
__________________
Browser based EQ project
Reply With Quote
  #10  
Old 05-18-2016, 06:49 PM
Tyen05
Discordant
 
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
Default

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                                                 | .
__________________
Browser based EQ project
Reply With Quote
  #11  
Old 05-21-2016, 04:56 PM
Tyen05
Discordant
 
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
Default



__________________
Browser based EQ project
Reply With Quote
  #12  
Old 05-22-2016, 04:32 AM
Tyen05
Discordant
 
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
Default

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);
__________________
Browser based EQ project
Reply With Quote
  #13  
Old 05-22-2016, 02:02 PM
Xanathol
Sarnak
 
Join Date: Oct 2009
Posts: 52
Default

Just wanted to say this is phenomenal. I wish I had time to work on something like this. Huge hats off!
Reply With Quote
  #14  
Old 05-23-2016, 06:29 PM
Tyen05
Discordant
 
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
Default

__________________
Browser based EQ project
Reply With Quote
  #15  
Old 05-25-2016, 05:05 AM
Tyen05
Discordant
 
Join Date: Mar 2009
Location: eqbrowser.com
Posts: 309
Default

#randompic

__________________
Browser based EQ project
Reply With Quote
Reply

Tags
pras eqbrowser.com, unity3d


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 07:43 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3