mirror of
https://github.com/EQEmu/Server.git
synced 2026-03-23 06:32:28 +00:00
Starting work on character guids
This commit is contained in:
parent
ce728c4d0d
commit
fa91559a85
@ -6435,6 +6435,13 @@ struct BuylineItemDetails_Struct {
|
|||||||
uint32 item_quantity;
|
uint32 item_quantity;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct EqGuid
|
||||||
|
{
|
||||||
|
uint32_t Id;
|
||||||
|
uint16_t WorldId;
|
||||||
|
uint16_t Reserved;
|
||||||
|
};
|
||||||
|
|
||||||
// Restore structure packing to default
|
// Restore structure packing to default
|
||||||
#pragma pack()
|
#pragma pack()
|
||||||
|
|
||||||
|
|||||||
@ -542,6 +542,7 @@ namespace Larion
|
|||||||
out.WriteUInt32(0);
|
out.WriteUInt32(0);
|
||||||
out.WriteUInt32(0);
|
out.WriteUInt32(0);
|
||||||
|
|
||||||
|
//PcProfile begin
|
||||||
/*
|
/*
|
||||||
u32 profile_type;
|
u32 profile_type;
|
||||||
u32 profile_id;
|
u32 profile_id;
|
||||||
@ -1059,6 +1060,7 @@ namespace Larion
|
|||||||
out.WriteUInt64(emu->exp);
|
out.WriteUInt64(emu->exp);
|
||||||
out.WriteUInt32(emu->expAA);
|
out.WriteUInt32(emu->expAA);
|
||||||
|
|
||||||
|
//PcClient begin
|
||||||
/*
|
/*
|
||||||
u32 character_id;
|
u32 character_id;
|
||||||
u32 character_id2;
|
u32 character_id2;
|
||||||
@ -1086,7 +1088,7 @@ namespace Larion
|
|||||||
out.WriteUInt32(emu->birthday);
|
out.WriteUInt32(emu->birthday);
|
||||||
out.WriteUInt32(emu->birthday);
|
out.WriteUInt32(emu->birthday);
|
||||||
out.WriteUInt32(emu->lastlogin);
|
out.WriteUInt32(emu->lastlogin);
|
||||||
out.WriteUInt32(emu->timePlayedMin);
|
out.WriteUInt32(5000);
|
||||||
out.WriteUInt32(6000);
|
out.WriteUInt32(6000);
|
||||||
out.WriteUInt32(0x3FFFFFFF);
|
out.WriteUInt32(0x3FFFFFFF);
|
||||||
|
|
||||||
@ -1135,7 +1137,7 @@ namespace Larion
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
out.WriteUInt64(0);
|
out.WriteUInt64(0);
|
||||||
out.WriteUInt8(1);
|
out.WriteUInt8(0);
|
||||||
out.WriteUInt8(5);
|
out.WriteUInt8(5);
|
||||||
|
|
||||||
//Coin coin;
|
//Coin coin;
|
||||||
@ -1202,11 +1204,22 @@ namespace Larion
|
|||||||
out.WriteUInt32(0xFFFFFFFF);
|
out.WriteUInt32(0xFFFFFFFF);
|
||||||
out.WriteUInt32(0);
|
out.WriteUInt32(0);
|
||||||
}
|
}
|
||||||
|
const uint8_t task_data[137] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
};
|
||||||
|
|
||||||
//u8 tasks[137]; //on live and on xac's capture from 12/28/23 these both are the same size;
|
//u8 tasks[137]; //on live and on xac's capture from 12/28/23 these both are the same size;
|
||||||
for (int i = 0; i < 137; i++)
|
for (int i = 0; i < 137; i++)
|
||||||
{
|
{
|
||||||
out.WriteUInt8(0);
|
out.WriteUInt8(task_data[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1453,7 +1466,7 @@ namespace Larion
|
|||||||
u8 show_helm;
|
u8 show_helm;
|
||||||
u32 downtime;
|
u32 downtime;
|
||||||
*/
|
*/
|
||||||
out.WriteUInt8(0);
|
out.WriteUInt8(1);
|
||||||
out.WriteUInt32(emu->level);
|
out.WriteUInt32(emu->level);
|
||||||
out.WriteUInt8(emu->showhelm);
|
out.WriteUInt8(emu->showhelm);
|
||||||
out.WriteUInt32(emu->RestTimer);
|
out.WriteUInt32(emu->RestTimer);
|
||||||
@ -1487,7 +1500,7 @@ namespace Larion
|
|||||||
|
|
||||||
//u32 starting_city_zone_id;
|
//u32 starting_city_zone_id;
|
||||||
//we don't actually support this yet
|
//we don't actually support this yet
|
||||||
out.WriteUInt32(1);
|
out.WriteUInt32(394);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
u8 use_advanced_looting;
|
u8 use_advanced_looting;
|
||||||
@ -1517,7 +1530,7 @@ namespace Larion
|
|||||||
delete in;
|
delete in;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*ENCODE(OP_ZoneEntry) { ENCODE_FORWARD(OP_ZoneSpawns); }
|
ENCODE(OP_ZoneEntry) { ENCODE_FORWARD(OP_ZoneSpawns); }
|
||||||
|
|
||||||
ENCODE(OP_ZoneSpawns)
|
ENCODE(OP_ZoneSpawns)
|
||||||
{
|
{
|
||||||
@ -1568,29 +1581,31 @@ namespace Larion
|
|||||||
buffer.WriteFloat(SpawnSize - 0.7f);
|
buffer.WriteFloat(SpawnSize - 0.7f);
|
||||||
}
|
}
|
||||||
|
|
||||||
buffer.WriteUInt32(emu->spawnId); //player "id" we should consider supporting this in the future
|
//buffer.WriteUInt32(0); //should be character id
|
||||||
buffer.WriteUInt32(103); //not sure
|
//buffer.WriteUInt16(RuleI(World, Id)); //world id
|
||||||
buffer.WriteUInt8(emu->NPC); //npc/player flag
|
//buffer.WriteUInt16(0); //reserved
|
||||||
|
|
||||||
structs::Spawn_Struct_Bitfields flags;
|
//buffer.WriteUInt8(emu->NPC); //npc/player flag
|
||||||
flags.gender = emu->gender;
|
|
||||||
flags.gender = emu->gender;
|
//structs::Spawn_Struct_Bitfields flags;
|
||||||
flags.ispet = emu->is_pet;
|
//flags.gender = emu->gender;
|
||||||
flags.afk = emu->afk;
|
//flags.gender = emu->gender;
|
||||||
flags.anon = emu->anon;
|
//flags.ispet = emu->is_pet;
|
||||||
flags.gm = emu->gm;
|
//flags.afk = emu->afk;
|
||||||
flags.sneak = 0;
|
//flags.anon = emu->anon;
|
||||||
flags.lfg = emu->lfg;
|
//flags.gm = emu->gm;
|
||||||
flags.invis = emu->invis;
|
//flags.sneak = 0;
|
||||||
flags.linkdead = 0;
|
//flags.lfg = emu->lfg;
|
||||||
flags.showhelm = emu->showhelm;
|
//flags.invis = emu->invis;
|
||||||
flags.trader = emu->trader ? 1 : 0;
|
//flags.linkdead = 0;
|
||||||
flags.targetable = 1;
|
//flags.showhelm = emu->showhelm;
|
||||||
flags.targetable_with_hotkey = emu->targetable_with_hotkey ? 1 : 0;
|
//flags.trader = emu->trader ? 1 : 0;
|
||||||
flags.showname = emu->show_name;
|
//flags.targetable = 1;
|
||||||
|
//flags.targetable_with_hotkey = emu->targetable_with_hotkey ? 1 : 0;
|
||||||
|
//flags.showname = emu->show_name;
|
||||||
|
|
||||||
}
|
}
|
||||||
}*/
|
}
|
||||||
|
|
||||||
// DECODE methods
|
// DECODE methods
|
||||||
|
|
||||||
|
|||||||
@ -9,8 +9,8 @@ E(OP_ExpansionInfo)
|
|||||||
E(OP_SpawnAppearance)
|
E(OP_SpawnAppearance)
|
||||||
//E(OP_SendAATable)
|
//E(OP_SendAATable)
|
||||||
E(OP_PlayerProfile)
|
E(OP_PlayerProfile)
|
||||||
//E(OP_ZoneEntry)
|
E(OP_ZoneEntry)
|
||||||
//E(OP_ZoneSpawns)
|
E(OP_ZoneSpawns)
|
||||||
|
|
||||||
//list of packets we need to decode on the way in:
|
//list of packets we need to decode on the way in:
|
||||||
D(OP_ZoneEntry)
|
D(OP_ZoneEntry)
|
||||||
|
|||||||
@ -339,6 +339,7 @@ RULE_STRING(World, MOTD, "", "Server MOTD sent on login, change from empty to ha
|
|||||||
RULE_STRING(World, Rules, "", "Server Rules, change from empty to have this be used instead of variables table 'rules' value, lines are pipe (|) separated, example: A|B|C")
|
RULE_STRING(World, Rules, "", "Server Rules, change from empty to have this be used instead of variables table 'rules' value, lines are pipe (|) separated, example: A|B|C")
|
||||||
RULE_BOOL(World, EnableAutoLogin, false, "Enables or disables auto login of characters, allowing people to log characters in directly from loginserver to ingame")
|
RULE_BOOL(World, EnableAutoLogin, false, "Enables or disables auto login of characters, allowing people to log characters in directly from loginserver to ingame")
|
||||||
RULE_BOOL(World, EnablePVPRegions, true, "Enables or disables PVP Regions automatically setting your PVP flag")
|
RULE_BOOL(World, EnablePVPRegions, true, "Enables or disables PVP Regions automatically setting your PVP flag")
|
||||||
|
RULE_INT(World, Id, 100, "Used by later clients to create GUIDs, expected to be Unique to the world but ultimately not that important")
|
||||||
RULE_CATEGORY_END()
|
RULE_CATEGORY_END()
|
||||||
|
|
||||||
RULE_CATEGORY(Zone)
|
RULE_CATEGORY(Zone)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user