- Joined
- Sep 10, 2007
- Messages
- 970
- Reaction score
- 815
I need to find out how ranking works. I'm going to debug the stagestate when I get home.
Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!
Join Today!Maxteam only left RZ. So you guys may think his capability was only till what he did for Xiao's Runnable. You don't know about the recent stuff. I just suggested as it'd help. It's no joke / bs.![]()
Finally, I made it in-game ;].
![]()
I think its great, But if its a 2008 server, what does it have that 2005 doesnt.
Just asking.
Huge update. I said duck the Gunz extreme client, I'm using BR 2009 client.
![]()
public void GameKillCallback(Client client, Client killer)
{
client.m_Game.Spawned = false;
int nEXP = (EXP.EXPTable[killer.m_Character.nLevel+1] << 1) / 100;
if (client.m_Character.nLevel > (killer.m_Character.nLevel + 5))
nEXP *= 2;
//EXP Rates = 1x
nEXP *= 1;
killer.m_Character.nXP += nEXP;
bool bLevel = killer.m_Character.nXP >= EXP.EXPTable[killer.m_Character.nLevel];
if (bLevel)
killer.m_Character.nLevel++;
lock (client.m_Stage.Clients)
{
foreach (Client c in client.m_Stage.Clients)
{
Packet p = new Packet(Operation.GameDie, PacketVersion.Encrypted, c.m_bPacketCount);
p.Write(killer.m_uiClient);
p.Write((UInt32)(nEXP << 16));
p.Write(client.m_uiClient);
p.Write((UInt32)0);
c.Send(p);
if (bLevel)
{
p = new Packet(Operation.GameLevelUp, PacketVersion.Decrypted, c.m_bPacketCount);
p.Write(killer.m_uiClient);
p.Write((Int32)killer.m_Character.nLevel);
c.Send(p);
}
}
}
client.m_Game.Deaths++;
if (client != killer)
killer.m_Game.Kills++;
ProcessState(client);
}
EXP Gain / Level up code :
Code:public void GameKillCallback(Client client, Client killer) { client.m_Game.Spawned = false; int nEXP = (EXP.EXPTable[killer.m_Character.nLevel+1] << 1) / 100; if (client.m_Character.nLevel > (killer.m_Character.nLevel + 5)) nEXP *= 2; //EXP Rates = 1x nEXP *= 1; killer.m_Character.nXP += nEXP; bool bLevel = killer.m_Character.nXP >= EXP.EXPTable[killer.m_Character.nLevel]; if (bLevel) killer.m_Character.nLevel++; lock (client.m_Stage.Clients) { foreach (Client c in client.m_Stage.Clients) { Packet p = new Packet(Operation.GameDie, PacketVersion.Encrypted, c.m_bPacketCount); p.Write(killer.m_uiClient); p.Write((UInt32)(nEXP << 16)); p.Write(client.m_uiClient); p.Write((UInt32)0); c.Send(p); if (bLevel) { p = new Packet(Operation.GameLevelUp, PacketVersion.Decrypted, c.m_bPacketCount); p.Write(killer.m_uiClient); p.Write((Int32)killer.m_Character.nLevel); c.Send(p); } } } client.m_Game.Deaths++; if (client != killer) killer.m_Game.Kills++; ProcessState(client); }