Heyho....
the thing with the Kalemulator is again up here..
i hope this time community try to help...
for what this Topic?
here you can Post things you found...
Packets...
Codes(Skills?Monster?a system?)
all things what you think is usefull for the emulator..
make it like this
KOSE
bla bla bla
or
Kalua
bla bla
cuz Kalua and Kose got not the same code..
KOSE
SkillHandle.cs
Code:
RegisterSkillRequest(3, Race.Mage, new OnSkillRequest(IceSkillRequest));
RegisterSkillExecute(3, Race.Mage, new OnSkillExecute(IceSkillExecute));
RegisterSkillRequest(2, Race.Mage, new OnSkillRequest(FireSkillRequest));
RegisterSkillExecute(2, Race.Mage, new OnSkillExecute(FireSkillExecute));
RegisterSkillRequest(9, Race.Mage, new OnSkillRequest(shockwaveSkillRequest));
RegisterSkillExecute(9, Race.Mage, new OnSkillExecute(shockwaveSkillExecute));
RegisterSkillRequest(27, Race.Mage, new OnSkillRequest(FrostBlastSkillRequest));
RegisterSkillExecute(27, Race.Mage, new OnSkillExecute(FrostBlastSkillExecute));
RegisterSkillRequest(42, Race.Mage, new OnSkillRequest(ThunderLitningSkillRequest));
RegisterSkillExecute(42, Race.Mage, new OnSkillExecute(ThunderLitningSkillExecute));
SkillHandle.cs
Code:
public static void IceSkillRequest(Player pAttacker, int mobID)
{
Monster attackedMob = World.Monsters[mobID];
attackedMob.broadcastPacket(new PlayAnimation(mobID, pAttacker.UniqueID, 3));
}
public static void IceSkillExecute(Player pAttacker, int mobID)
{
Monster attackedMob = World.Monsters[mobID];
Packet attackPacket = new ExecuteSkill(pAttacker.UniqueID, attackedMob.UniqueID, 3, 1, 1, 31, 0);
attackedMob.broadcastPacket(attackPacket);
attackedMob.getDamage((ushort)Server.rand.Next(100), pAttacker);
}
public static void FireSkillRequest(Player pAttacker, int mobID)
{
Monster attackedMob = World.Monsters[mobID];
attackedMob.broadcastPacket(new PlayAnimation(mobID, pAttacker.UniqueID, 2));
}
public static void FireSkillExecute(Player pAttacker, int mobID)
{
Monster attackedMob = World.Monsters[mobID];
Packet attackPacket = new ExecuteSkill(pAttacker.UniqueID, attackedMob.UniqueID, 2, 1, 1, 31, 0);
attackedMob.broadcastPacket(attackPacket);
attackedMob.getDamage((ushort)Server.rand.Next(100), pAttacker);
}
public static void shockwaveSkillRequest(Player pAttacker, int mobID)
{
Monster attackedMob = World.Monsters[mobID];
attackedMob.broadcastPacket(new PlayAnimation(mobID, pAttacker.UniqueID, 9));
}
public static void shockwaveSkillExecute(Player pAttacker, int mobID)
{
Monster attackedMob = World.Monsters[mobID];
Packet attackPacket = new ExecuteSkill(pAttacker.UniqueID, attackedMob.UniqueID, 9, 1, 1, 31, 0);
attackedMob.broadcastPacket(attackPacket);
attackedMob.getDamage((ushort)Server.rand.Next(100), pAttacker);
}
public static void FrostBlastSkillRequest(Player pAttacker, int mobID)
{
Monster attackedMob = World.Monsters[mobID];
attackedMob.broadcastPacket(new PlayAnimation(mobID, pAttacker.UniqueID, 27));
}
public static void FrostBlastSkillExecute(Player pAttacker, int mobID)
{
Monster attackedMob = World.Monsters[mobID];
Packet attackPacket = new ExecuteSkill(pAttacker.UniqueID, attackedMob.UniqueID, 27, 1, 1, 31, 0);
attackedMob.broadcastPacket(attackPacket);
attackedMob.getDamage((ushort)Server.rand.Next(100), pAttacker);
}
public static void ThunderLitningSkillRequest(Player pAttacker, int mobID)
{
Monster attackedMob = World.Monsters[mobID];
attackedMob.broadcastPacket(new PlayAnimation(mobID, pAttacker.UniqueID, 42));
}
public static void ThunderLitningSkillExecute(Player pAttacker, int mobID)
{
Monster attackedMob = World.Monsters[mobID];
Packet attackPacket = new ExecuteSkill(pAttacker.UniqueID, attackedMob.UniqueID, 42, 1, 1, 31, 0);
attackedMob.broadcastPacket(attackPacket);
attackedMob.getDamage((ushort)Server.rand.Next(100), pAttacker);
}
Packets.cs
Code:
SetCapacity(17);
streamWriter.Write((byte)8); // Number of skills that are send
streamWriter.Write((byte)3); // SkillID: 3
streamWriter.Write((byte)1); // SkillLevel 1
streamWriter.Write((byte)2); // SkillID: 2
streamWriter.Write((byte)1); // SkillLevel 1
streamWriter.Write((byte)9); // SkillID: 9
streamWriter.Write((byte)1); // SkillLevel 1
streamWriter.Write((byte)27); // SkillID: 27
streamWriter.Write((byte)1); // SkillLevel 1
streamWriter.Write((byte)42); // SkillID: 42
streamWriter.Write((byte)1); // SkillLevel 1
World.cs
Code:
//D1R1
SPAWNCOORDS c = new SPAWNCOORDS();
c.k2 = World.Map.Knoten[88, 52];
c.k1 = World.Map.Knoten[83, 64];
Spawn sp = new Spawn(c, 15, 1);
//D1R1
SPAWNCOORDS d = new SPAWNCOORDS();
d.k2 = World.Map.Knoten[88, 52];
d.k1 = World.Map.Knoten[83, 64];
Spawn sp1 = new Spawn(c, 15, 2);
//D1R2
SPAWNCOORDS e = new SPAWNCOORDS();
e.k2 = World.Map.Knoten[59, 71];
e.k1 = World.Map.Knoten[50, 81];
Spawn sp3 = new Spawn(e, 15, 3);
//D1R2
SPAWNCOORDS f = new SPAWNCOORDS();
f.k2 = World.Map.Knoten[59, 71];
f.k1 = World.Map.Knoten[50, 81];
Spawn sp4 = new Spawn(f, 15, 4);
//D1R4
SPAWNCOORDS g = new SPAWNCOORDS();
g.k2 = World.Map.Knoten[88, 95];
g.k1 = World.Map.Knoten[82, 88];
Spawn sp5 = new Spawn(g, 15, 5);
//D1R4
SPAWNCOORDS h = new SPAWNCOORDS();
h.k2 = World.Map.Knoten[88, 95];
h.k1 = World.Map.Knoten[82, 88];
Spawn sp6 = new Spawn(h, 15, 6);
Database Make this
You can make any hp,lvl ^^
[Only Registered and Activated Users Can See Links. Click Here To Register...]
also gogo :P if you want a Emulator for kal than help! -.-