diff --git a/mychanges_ptbr.txt b/mychanges_ptbr.txt index 5f72daaabc..f4d7790877 100644 --- a/mychanges_ptbr.txt +++ b/mychanges_ptbr.txt @@ -93,4 +93,5 @@ Correcao de bug, onde clientes podiam congelar apos acessar o Cash Shop. Correcao de bug. 18 Julho 2016, -Bazaar NPC (Donation Box): venda automatica de um item designado e todos os itens que estiverem imediatamente após. \ No newline at end of file +Bazaar NPC (Donation Box): venda automatica de um item designado e todos os itens que estiverem imediatamente após. +Spindle: NPC scroll seller. \ No newline at end of file diff --git a/sql/db_shopupdate.sql b/sql/db_shopupdate.sql index f269de58a9..2888051a24 100644 --- a/sql/db_shopupdate.sql +++ b/sql/db_shopupdate.sql @@ -4,63 +4,68 @@ UPDATE shopitems SET itemid=2120000, price=100 WHERE shopitemid=20; UPDATE shopitems SET itemid=1812000, price=1000 WHERE shopitemid=21; UPDATE shopitems SET itemid=1812001, price=1000 WHERE shopitemid=22; -INSERT IGNORE INTO `shopitems` (`shopitemid`, `shopid`, `itemid`, `price`, `pitch`, `position`, `chance`) VALUES -(995032, SHOPID, 2040025, 500000, 0, 0), -UPDATE shopitems SET itemid=2040025, price=500000 WHERE shopitemid=995032; -UPDATE shopitems SET itemid=2040029, price=500000 WHERE shopitemid=995033; -UPDATE shopitems SET itemid=2040301, price=400000 WHERE shopitemid=995034; -UPDATE shopitems SET itemid=2040317, price=400000 WHERE shopitemid=995035; -UPDATE shopitems SET itemid=2040321, price=400000 WHERE shopitemid=995036; -UPDATE shopitems SET itemid=2040413, price=400000 WHERE shopitemid=995037; -UPDATE shopitems SET itemid=2040418, price=400000 WHERE shopitemid=995038; -UPDATE shopitems SET itemid=2040501, price=250000 WHERE shopitemid=995039; -UPDATE shopitems SET itemid=2040513, price=250000 WHERE shopitemid=995040; -UPDATE shopitems SET itemid=2040516, price=250000 WHERE shopitemid=995041; -UPDATE shopitems SET itemid=2040532, price=250000 WHERE shopitemid=995042; -UPDATE shopitems SET itemid=2040613, price=400000 WHERE shopitemid=995043; -UPDATE shopitems SET itemid=2040701, price=450000 WHERE shopitemid=995044; -UPDATE shopitems SET itemid=2040704, price=450000 WHERE shopitemid=995045; -UPDATE shopitems SET itemid=2040804, price=550000 WHERE shopitemid=995046; -UPDATE shopitems SET itemid=2040914, price=300000 WHERE shopitemid=995047; -UPDATE shopitems SET itemid=2040919, price=300000 WHERE shopitemid=995048; -UPDATE shopitems SET itemid=2041013, price=300000 WHERE shopitemid=995049; -UPDATE shopitems SET itemid=2041016, price=300000 WHERE shopitemid=995050; -UPDATE shopitems SET itemid=2041019, price=300000 WHERE shopitemid=995051; -UPDATE shopitems SET itemid=2041022, price=300000 WHERE shopitemid=995052; -UPDATE shopitems SET itemid=2044901, price=520000 WHERE shopitemid=995053; -UPDATE shopitems SET itemid=2044701, price=520000 WHERE shopitemid=995054; -UPDATE shopitems SET itemid=2043001, price=520000 WHERE shopitemid=995055; -UPDATE shopitems SET itemid=2043801, price=520000 WHERE shopitemid=995056; -UPDATE shopitems SET itemid=2044601, price=520000 WHERE shopitemid=995057; -UPDATE shopitems SET itemid=2040727, price=10000 WHERE shopitemid=995058; -UPDATE shopitems SET itemid=2040807, price=1500000 WHERE shopitemid=995059; -UPDATE shopitems SET itemid=2040026, price=15000 WHERE shopitemid=995060; -UPDATE shopitems SET itemid=2040031, price=15000 WHERE shopitemid=995061; -UPDATE shopitems SET itemid=2040302, price=25000 WHERE shopitemid=995062; -UPDATE shopitems SET itemid=2040318, price=25000 WHERE shopitemid=995063; -UPDATE shopitems SET itemid=2040323, price=25000 WHERE shopitemid=995064; -UPDATE shopitems SET itemid=2040412, price=20000 WHERE shopitemid=995065; -UPDATE shopitems SET itemid=2040419, price=20000 WHERE shopitemid=995066; -UPDATE shopitems SET itemid=2040502, price=25000 WHERE shopitemid=995067; -UPDATE shopitems SET itemid=2040514, price=25000 WHERE shopitemid=995068; -UPDATE shopitems SET itemid=2040517, price=25000 WHERE shopitemid=995069; -UPDATE shopitems SET itemid=2040534, price=25000 WHERE shopitemid=995070; -UPDATE shopitems SET itemid=2040612, price=20000 WHERE shopitemid=995071; -UPDATE shopitems SET itemid=2040702, price=20000 WHERE shopitemid=995072; -UPDATE shopitems SET itemid=2040705, price=25000 WHERE shopitemid=995073; -UPDATE shopitems SET itemid=2040805, price=100000 WHERE shopitemid=995074; -UPDATE shopitems SET itemid=2040915, price=55000 WHERE shopitemid=995075; -UPDATE shopitems SET itemid=2040920, price=55000 WHERE shopitemid=995076; -UPDATE shopitems SET itemid=2041014, price=30000 WHERE shopitemid=995077; -UPDATE shopitems SET itemid=2041017, price=30000 WHERE shopitemid=995078; -UPDATE shopitems SET itemid=2041020, price=30000 WHERE shopitemid=995079; -UPDATE shopitems SET itemid=2041023, price=30000 WHERE shopitemid=995080; -UPDATE shopitems SET itemid=2044902, price=50000 WHERE shopitemid=995081; -UPDATE shopitems SET itemid=2044702, price=50000 WHERE shopitemid=995082; -UPDATE shopitems SET itemid=2043002, price=50000 WHERE shopitemid=995083; -UPDATE shopitems SET itemid=2043802, price=50000 WHERE shopitemid=995084; -UPDATE shopitems SET itemid=2044602, price=50000 WHERE shopitemid=995085; -UPDATE shopitems SET itemid=2070016, price=100000000 WHERE shopitemid=996196; -UPDATE shopitems SET itemid=2070018, price=175000000 WHERE shopitemid=996197; -UPDATE shopitems SET itemid=2030007, price=700000 WHERE shopitemid=994782; -UPDATE shopitems SET itemid=4001017, price=30000000 WHERE shopitemid=994783; \ No newline at end of file +# Scroll shop at Spindle +INSERT INTO `shops` (`shopid`,`npcid`) VALUES +(9201082,9201082); + +INSERT IGNORE INTO `shopitems` (`shopitemid`, `shopid`, `itemid`, `price`, `pitch`, `position`) VALUES +(995032, 9201082, 2040025, 500000, 0, 1), +(995033, 9201082, 2040029, 500000, 0, 2), +(995034, 9201082, 2040301, 400000, 0, 3), +(995035, 9201082, 2040317, 400000, 0, 4), +(995036, 9201082, 2040321, 400000, 0, 5), +(995037, 9201082, 2040413, 400000, 0, 6), +(995038, 9201082, 2040418, 400000, 0, 7), +(995039, 9201082, 2040501, 250000, 0, 8), +(995040, 9201082, 2040513, 250000, 0, 9), +(995041, 9201082, 2040516, 250000, 0, 10), +(995042, 9201082, 2040532, 250000, 0, 11), +(995043, 9201082, 2040613, 400000, 0, 12), +(995044, 9201082, 2040701, 450000, 0, 13), +(995045, 9201082, 2040704, 450000, 0, 14), +(995046, 9201082, 2040804, 550000, 0, 15), +(995047, 9201082, 2040914, 300000, 0, 16), +(995048, 9201082, 2040919, 300000, 0, 17), +(995049, 9201082, 2041013, 300000, 0, 18), +(995050, 9201082, 2041016, 300000, 0, 19), +(995051, 9201082, 2041019, 300000, 0, 20), +(995052, 9201082, 2041022, 300000, 0, 21), +(995053, 9201082, 2044901, 520000, 0, 22), +(995054, 9201082, 2044701, 520000, 0, 23), +(995055, 9201082, 2043001, 520000, 0, 24), +(995056, 9201082, 2043801, 520000, 0, 25), +(995057, 9201082, 2044601, 520000, 0, 26), +(995058, 9201082, 2040727, 10000, 0, 27), +(995059, 9201082, 2040807, 1500000, 0, 28), +(995060, 9201082, 2040026, 15000, 0, 29), +(995061, 9201082, 2040031, 15000, 0, 30), +(995062, 9201082, 2040302, 25000, 0, 31), +(995063, 9201082, 2040318, 25000, 0, 32), +(995064, 9201082, 2040323, 25000, 0, 33), +(995065, 9201082, 2040412, 20000, 0, 34), +(995066, 9201082, 2040419, 20000, 0, 35), +(995067, 9201082, 2040502, 25000, 0, 36), +(995068, 9201082, 2040514, 25000, 0, 37), +(995069, 9201082, 2040517, 25000, 0, 38), +(995070, 9201082, 2040534, 25000, 0, 39), +(995071, 9201082, 2040612, 20000, 0, 40), +(995072, 9201082, 2040702, 20000, 0, 41), +(995073, 9201082, 2040705, 25000, 0, 42), +(995074, 9201082, 2040805, 100000, 0, 43), +(995075, 9201082, 2040915, 55000, 0, 44), +(995076, 9201082, 2040920, 55000, 0, 45), +(995077, 9201082, 2041014, 30000, 0, 46), +(995078, 9201082, 2041017, 30000, 0, 47), +(995079, 9201082, 2041020, 30000, 0, 48), +(995080, 9201082, 2041023, 30000, 0, 49), +(995081, 9201082, 2044902, 50000, 0, 50), +(995082, 9201082, 2044702, 50000, 0, 51), +(995083, 9201082, 2043002, 50000, 0, 52), +(995084, 9201082, 2043802, 50000, 0, 53), +(995085, 9201082, 2044602, 50000, 0, 54), +(996196, 9201082, 2070016, 100000000, 0, 55), +(996197, 9201082, 2070018, 175000000, 0, 56), +(994782, 9201082, 2030007, 700000, 0, 57), +(994783, 9201082, 4001017, 30000000, 0, 58); + +UPDATE shopitems SET price = 11*price WHERE (`position` >= 27 and `position` <= 54); \ No newline at end of file diff --git a/src/net/server/channel/handlers/NPCMoreTalkHandler.java b/src/net/server/channel/handlers/NPCMoreTalkHandler.java index 32b6aec707..7d1105570f 100644 --- a/src/net/server/channel/handlers/NPCMoreTalkHandler.java +++ b/src/net/server/channel/handlers/NPCMoreTalkHandler.java @@ -32,7 +32,7 @@ import tools.data.input.SeekableLittleEndianAccessor; * @author Matze */ public final class NPCMoreTalkHandler extends AbstractMaplePacketHandler { - public final void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) { + public final void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) { byte lastMsg = slea.readByte(); // 00 (last msg type I think) byte action = slea.readByte(); // 00 = end chat, 01 == follow if (lastMsg == 2) { diff --git a/src/net/server/channel/handlers/NPCTalkHandler.java b/src/net/server/channel/handlers/NPCTalkHandler.java index 6067b7b235..e2e961bb00 100644 --- a/src/net/server/channel/handlers/NPCTalkHandler.java +++ b/src/net/server/channel/handlers/NPCTalkHandler.java @@ -38,6 +38,7 @@ public final class NPCTalkHandler extends AbstractMaplePacketHandler { c.announce(MaplePacketCreator.enableActions()); return; } + int oid = slea.readInt(); MapleMapObject obj = c.getPlayer().getMap().getMapObject(oid); if (obj instanceof MapleNPC) { diff --git a/src/tools/MaplePacketCreator.java b/src/tools/MaplePacketCreator.java index 794843fb10..812accec33 100644 --- a/src/tools/MaplePacketCreator.java +++ b/src/tools/MaplePacketCreator.java @@ -2861,7 +2861,7 @@ public class MaplePacketCreator { * @return */ public static byte[] getNPCTalk(int npc, byte msgType, String talk, String endBytes, byte speaker) { - final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); + final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); mplew.writeShort(SendOpcode.NPC_TALK.getValue()); mplew.write(4); // ? mplew.writeInt(npc); @@ -2873,7 +2873,7 @@ public class MaplePacketCreator { } public static byte[] getDimensionalMirror(String talk) { - final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); + final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); mplew.writeShort(SendOpcode.NPC_TALK.getValue()); mplew.write(4); // ? mplew.writeInt(9010022); @@ -2885,7 +2885,7 @@ public class MaplePacketCreator { } public static byte[] getNPCTalkStyle(int npc, String talk, int styles[]) { - final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); + final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); mplew.writeShort(SendOpcode.NPC_TALK.getValue()); mplew.write(4); // ? mplew.writeInt(npc); @@ -2900,7 +2900,7 @@ public class MaplePacketCreator { } public static byte[] getNPCTalkNum(int npc, String talk, int def, int min, int max) { - final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); + final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); mplew.writeShort(SendOpcode.NPC_TALK.getValue()); mplew.write(4); // ? mplew.writeInt(npc); @@ -2915,7 +2915,7 @@ public class MaplePacketCreator { } public static byte[] getNPCTalkText(int npc, String talk, String def) { - final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); + final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter(); mplew.writeShort(SendOpcode.NPC_TALK.getValue()); mplew.write(4); // Doesn't matter mplew.writeInt(npc);