1
0
mirror of https://github.com/Rogiel/l2jserver2 synced 2025-12-06 07:32:46 +00:00

Implement create item packet dispatch

This commit is contained in:
2012-05-03 18:16:15 -03:00
parent 2d80fac50b
commit c548c9205c
4 changed files with 58 additions and 10 deletions

View File

@@ -34,6 +34,7 @@ import com.l2jserver.model.game.Fort;
import com.l2jserver.model.game.Skill; import com.l2jserver.model.game.Skill;
import com.l2jserver.model.id.object.CharacterID; import com.l2jserver.model.id.object.CharacterID;
import com.l2jserver.model.template.ItemTemplate; import com.l2jserver.model.template.ItemTemplate;
import com.l2jserver.model.world.Actor;
import com.l2jserver.model.world.Item; import com.l2jserver.model.world.Item;
import com.l2jserver.model.world.L2Character; import com.l2jserver.model.world.L2Character;
import com.l2jserver.service.network.model.Lineage2Client; import com.l2jserver.service.network.model.Lineage2Client;
@@ -281,6 +282,8 @@ public class Lineage2ClientImpl implements Lineage2Client {
packet.addSkill((Skill) obj); packet.addSkill((Skill) obj);
else if (obj instanceof Fort) else if (obj instanceof Fort)
packet.addFort((Fort) obj); packet.addFort((Fort) obj);
else if(obj instanceof Actor)
packet.addActorName((Actor) obj);
} }
return write(packet); return write(packet);
} }

View File

@@ -27,6 +27,7 @@ import com.l2jserver.model.template.ItemTemplate;
import com.l2jserver.model.template.SkillTemplate; import com.l2jserver.model.template.SkillTemplate;
import com.l2jserver.model.world.Actor; import com.l2jserver.model.world.Actor;
import com.l2jserver.model.world.Item; import com.l2jserver.model.world.Item;
import com.l2jserver.model.world.L2Character;
import com.l2jserver.model.world.NPC; import com.l2jserver.model.world.NPC;
import com.l2jserver.service.network.model.Lineage2Client; import com.l2jserver.service.network.model.Lineage2Client;
import com.l2jserver.service.network.model.SystemMessage; import com.l2jserver.service.network.model.SystemMessage;
@@ -226,14 +227,12 @@ public class SM_SYSTEM_MESSAGE extends AbstractServerPacket {
* @return this instance * @return this instance
*/ */
public final SM_SYSTEM_MESSAGE addActorName(final Actor actor) { public final SM_SYSTEM_MESSAGE addActorName(final Actor actor) {
// params.add(new SystemMessagePacketParameter() { if (actor instanceof L2Character) {
// @Override addString(((L2Character) actor).getName());
// public void write(Lineage2Connection conn, ChannelBuffer buffer) { } else if (actor instanceof NPC) {
// // buffer.writeInt(TYPE_TEXT); addString(((NPC) actor).getTemplate().getInfo().getName()
// // buffer.writeInt(number); .getValue());
// // TODO }
// }
// });
return this; return this;
} }

View File

@@ -65,8 +65,10 @@ import com.l2jserver.model.world.character.event.CharacterStartMovingEvent;
import com.l2jserver.model.world.character.event.CharacterTargetDeselectedEvent; import com.l2jserver.model.world.character.event.CharacterTargetDeselectedEvent;
import com.l2jserver.model.world.character.event.CharacterTargetSelectedEvent; import com.l2jserver.model.world.character.event.CharacterTargetSelectedEvent;
import com.l2jserver.model.world.character.event.CharacterWalkingEvent; import com.l2jserver.model.world.character.event.CharacterWalkingEvent;
import com.l2jserver.model.world.item.ItemCreatedEvent;
import com.l2jserver.model.world.item.ItemDropEvent; import com.l2jserver.model.world.item.ItemDropEvent;
import com.l2jserver.model.world.item.ItemPickEvent; import com.l2jserver.model.world.item.ItemPickEvent;
import com.l2jserver.model.world.item.ItemRemovedEvent;
import com.l2jserver.model.world.npc.event.NPCSpawnEvent; import com.l2jserver.model.world.npc.event.NPCSpawnEvent;
import com.l2jserver.model.world.npc.event.NPCTalkEvent; import com.l2jserver.model.world.npc.event.NPCTalkEvent;
import com.l2jserver.model.world.player.event.PlayerTeleportedEvent; import com.l2jserver.model.world.player.event.PlayerTeleportedEvent;
@@ -249,6 +251,26 @@ public class BroadcastServiceImpl extends AbstractService implements
} else if (e instanceof CharacterCreateShortcutEvent) { } else if (e instanceof CharacterCreateShortcutEvent) {
conn.write(new SM_CHAR_SHORTCUT_REGISTER( conn.write(new SM_CHAR_SHORTCUT_REGISTER(
((CharacterCreateShortcutEvent) e).getShortcut())); ((CharacterCreateShortcutEvent) e).getShortcut()));
} else if (e instanceof ItemCreatedEvent) {
if (((ItemCreatedEvent) e).getItem().getCount() == 1) {
conn.sendSystemMessage(SystemMessage.C1_OBTAINED_S2,
((ItemCreatedEvent) e).getCharacter(),
((ItemCreatedEvent) e).getItem());
} else {
conn.sendSystemMessage(SystemMessage.C1_OBTAINED_S3_S2,
((ItemCreatedEvent) e).getCharacter(),
((ItemCreatedEvent) e).getItem(),
((ItemCreatedEvent) e).getItem().getCount());
}
} else if (e instanceof ItemRemovedEvent) {
if (((ItemCreatedEvent) e).getItem().getCount() == 1) {
conn.sendSystemMessage(SystemMessage.S1_DISAPPEARED,
((ItemCreatedEvent) e).getItem());
} else {
conn.sendSystemMessage(SystemMessage.S2_S1_DISAPPEARED,
((ItemCreatedEvent) e).getItem(),
((ItemCreatedEvent) e).getItem().getCount());
}
} }
// keep listener alive // keep listener alive
return true; return true;

View File

@@ -64,8 +64,10 @@ import com.l2jserver.model.world.character.event.CharacterStartMovingEvent;
import com.l2jserver.model.world.character.event.CharacterTargetDeselectedEvent; import com.l2jserver.model.world.character.event.CharacterTargetDeselectedEvent;
import com.l2jserver.model.world.character.event.CharacterTargetSelectedEvent; import com.l2jserver.model.world.character.event.CharacterTargetSelectedEvent;
import com.l2jserver.model.world.character.event.CharacterWalkingEvent; import com.l2jserver.model.world.character.event.CharacterWalkingEvent;
import com.l2jserver.model.world.item.ItemCreatedEvent;
import com.l2jserver.model.world.item.ItemDropEvent; import com.l2jserver.model.world.item.ItemDropEvent;
import com.l2jserver.model.world.item.ItemPickEvent; import com.l2jserver.model.world.item.ItemPickEvent;
import com.l2jserver.model.world.item.ItemRemovedEvent;
import com.l2jserver.model.world.npc.event.NPCSpawnEvent; import com.l2jserver.model.world.npc.event.NPCSpawnEvent;
import com.l2jserver.model.world.npc.event.NPCTalkEvent; import com.l2jserver.model.world.npc.event.NPCTalkEvent;
import com.l2jserver.model.world.player.event.PlayerTeleportedEvent; import com.l2jserver.model.world.player.event.PlayerTeleportedEvent;
@@ -225,7 +227,8 @@ public class BroadcastServiceImpl extends AbstractService implements
final L2Character character = (L2Character) ((PlayerTeleportedEvent) e) final L2Character character = (L2Character) ((PlayerTeleportedEvent) e)
.getPlayer(); .getPlayer();
conn.write(new SM_CHAR_INFO(character)); conn.write(new SM_CHAR_INFO(character));
//conn.write(new SM_CHAR_INFO_EXTRA(character)); not sure if interlude has this packet. // conn.write(new SM_CHAR_INFO_EXTRA(character)); not sure
// if interlude has this packet.
broadcastAll(conn, character); broadcastAll(conn, character);
} else if (e instanceof ActorAttackHitEvent) { } else if (e instanceof ActorAttackHitEvent) {
conn.write(new SM_ACTOR_ATTACK(((ActorAttackHitEvent) e) conn.write(new SM_ACTOR_ATTACK(((ActorAttackHitEvent) e)
@@ -248,6 +251,26 @@ public class BroadcastServiceImpl extends AbstractService implements
} else if (e instanceof CharacterCreateShortcutEvent) { } else if (e instanceof CharacterCreateShortcutEvent) {
conn.write(new SM_CHAR_SHORTCUT_REGISTER( conn.write(new SM_CHAR_SHORTCUT_REGISTER(
((CharacterCreateShortcutEvent) e).getShortcut())); ((CharacterCreateShortcutEvent) e).getShortcut()));
} else if (e instanceof ItemCreatedEvent) {
if (((ItemCreatedEvent) e).getItem().getCount() == 1) {
conn.sendSystemMessage(SystemMessage.C1_OBTAINED_S2,
((ItemCreatedEvent) e).getCharacter(),
((ItemCreatedEvent) e).getItem());
} else {
conn.sendSystemMessage(SystemMessage.C1_OBTAINED_S3_S2,
((ItemCreatedEvent) e).getCharacter(),
((ItemCreatedEvent) e).getItem(),
((ItemCreatedEvent) e).getItem().getCount());
}
} else if (e instanceof ItemRemovedEvent) {
if (((ItemCreatedEvent) e).getItem().getCount() == 1) {
conn.sendSystemMessage(SystemMessage.S1_DISAPPEARED,
((ItemCreatedEvent) e).getItem());
} else {
conn.sendSystemMessage(SystemMessage.S2_S1_DISAPPEARED,
((ItemCreatedEvent) e).getItem(),
((ItemCreatedEvent) e).getItem().getCount());
}
} }
// keep listener alive // keep listener alive
return true; return true;
@@ -375,7 +398,8 @@ public class BroadcastServiceImpl extends AbstractService implements
// send this user information // send this user information
log.debug("Sending character information packets"); log.debug("Sending character information packets");
conn.write(new SM_CHAR_INFO(e.getCharacter())); conn.write(new SM_CHAR_INFO(e.getCharacter()));
// conn.write(new SM_CHAR_INFO_EXTRA(e.getCharacter())); interlude doesn't have this? // conn.write(new SM_CHAR_INFO_EXTRA(e.getCharacter())); interlude
// doesn't have this?
conn.write(new SM_CHAR_INVENTORY(e.getCharacter().getInventory())); conn.write(new SM_CHAR_INVENTORY(e.getCharacter().getInventory()));
conn.write(new SM_CHAR_SHORTCUT_LIST(e.getCharacter().getShortcuts())); conn.write(new SM_CHAR_SHORTCUT_LIST(e.getCharacter().getShortcuts()));