Some help with the gm shop

It didn't worked..

Server Classic
use it without bypass h
but i cannot say for sure now
something temporal: use: "bypass -h npc_%objectId%_Buy 99999" <- some non exist buylist.
(call an empty buylist so it pop the window to sell items.
 
Last edited:
literally my test shop:

<td align=center><button value="Sell Items" action="bypass -h npc_%objectId%_Buy 40013" width=90 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>

HTML:
<html><title>Merchant/Shop</title>
<body><center>

<center><img src="L2UI.SquareWhite" width=272 height=2></center>

<table width=250>
<tr>
<td align=left><font line=UNDERLINE color=LEVEL>Armors / Weapons / Jewels</font></td>
</tr></table><br>
<table width=270>
<tr>
<td align=center><button value="Armors-D" action="bypass -h npc_%objectId%_multisell 20" width=75 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td align=center><button value="Weapons-D" action="bypass -h npc_%objectId%_multisell 21" width=75 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td align=center><button value="Jewelry-D" action="bypass -h npc_%objectId%_multisell 22" width=75 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
<tr>
<td align=center><button value="Armors-C" action="bypass -h npc_%objectId%_multisell 23" width=75 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td align=center><button value="Weapons-C" action="bypass -h npc_%objectId%_multisell 24" width=75 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"</td>
<td align=center><button value="Jewelry-C" action="bypass -h npc_%objectId%_multisell 25" width=75 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table><br>
<table width=250>
<tr>
<td align=left><font line=UNDERLINE color=LEVEL>Noblesse / Clan and Quest Items</font></td>
</tr></table><br>
<table width=270>
<tr>
<td align=center><button value="Clan Items" action="bypass -h npc_%objectId%_multisell 26" width=75 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td align=center><button value="Quest Items" action="bypass -h npc_%objectId%_multisell 27" width=85 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td align=center><button value="Noblesse" action="bypass -h npc_%objectId%_multisell 28" width=75 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table><br>
<table width=250>
<tr>
<td align=left><font line=UNDERLINE color=LEVEL>Dyes / Shots / Consumables and Augments</font></td>
</tr></table><br>
<table width=270>
<tr>
<td align=center><button value="Recipes" action="bypass -h npc_%objectId%_multisell 29" width=70 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td align=center><button value="Dyes/Symbol" action="bypass -h npc_%objectId%_Buy 40014" width=80 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td align=center><button value="Misc/Consumable" action="bypass -h npc_%objectId%_multisell 31" width=105 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<table width=270>
<tr>
<td align=center><button value="Event" action="bypass -h npc_%objectId%_multisell 32" width=75 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td align=center><button value="Special" action="bypass -h npc_%objectId%_multisell 33" width=75 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td align=center><button value="Sell Items" action="bypass -h npc_%objectId%_Buy 40013" width=90 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<table width=270>
<tr>
<td align=center><button value="Augmentation" action="bypass -h npc_%objectId%_Augment 1" width=105 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td align=center><button value="Remove Augment" action="bypass -h npc_%objectId%_Augment 2" width=105 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<table width=270>
<tr>
<td align=center><button value="Costumes" action="bypass -h npc_%objectId%_multisell 40027" width=105 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td align=center><button value="Cloaks" action="bypass -h npc_%objectId%_multisell 40028" width=105 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<table width=270>
<tr>
<td align=center><button value="Accessories" action="bypass -h npc_%objectId%_multisell 40029" width=105 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td align=center><button value="Mounts" action="bypass -h npc_%objectId%_multisell 40030" width=105 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<table width=270>
<tr>
<td align=center><button value="Accessories 2" action="bypass -h npc_%objectId%_multisell 40031" width=105 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
<td align=center><button value="UNUSED" action="bypass -h npc_%objectId%_multisell 40032" width=105 height=25 back="L2UI_CT1.Button_DF_Down" fore="L2UI_CT1.Button_DF"></td>
</tr>
</table>
<br1>

<center><img src="L2UI.SquareWhite" width=272 height=2></center>
</center>
</body>
</html>

NPC:
<set name="type" value="ItemMall" />
<npc id="40013" name="Item Mall" title="Merchant">
<set name="aggroRange" value="0" />
<set name="ai_type" value="CharacterAI" />
<set name="baseAtkRange" value="40" />
<set name="baseCON" value="43" />
<set name="baseCritRate" value="40" />
<set name="baseDEX" value="30" />
<set name="baseHpMax" value="3290.113" />
<set name="baseHpRate" value="1" />
<set name="baseHpReg" value="8.5" />
<set name="baseINT" value="21" />
<set name="baseMAtk" value="1242" />
<set name="baseMAtkSpd" value="333" />
<set name="baseMDef" value="469" />
<set name="baseMEN" value="20" />
<set name="baseMpMax" value="1674.8" />
<set name="baseMpReg" value="3" />
<set name="basePAtk" value="1952" />
<set name="basePAtkSpd" value="278" />
<set name="basePDef" value="577" />
<set name="baseRunSpd" value="120" />
<set name="baseSTR" value="40" />
<set name="baseShldDef" value="0" />
<set name="baseShldRate" value="0" />
<set name="baseWIT" value="20" />
<set name="baseWalkSpd" value="75" />
<set name="collision_height" value="23.0" />
<set name="collision_radius" value="8.0" />
<set name="level" value="80" />
<set name="rewardExp" value="0" />
<set name="rewardRp" value="0" />
<set name="rewardSp" value="0" />
<set name="shots" value="NONE" />
<set name="texture" value="" />
<set name="type" value="ItemMall" />
<set name="displayId" value="30417"/>
<set name="htm_root" value="mods/gmshop/" />
<attributes>
<defence attribute="fire" value="20" />
<defence attribute="water" value="20" />
<defence attribute="wind" value="20" />
<defence attribute="earth" value="20" />
<defence attribute="holy" value="20" />
<defence attribute="unholy" value="20" />
</attributes>
</npc>
 
<npc id="40013" name="Erikios" title="GM-SHOP">
<set name="aggroRange" value="0" />
<set name="ai_type" value="CharacterAI" />
<set name="baseAtkRange" value="40" />
<set name="baseCON" value="43" />
<set name="baseCritRate" value="40" />
<set name="baseDEX" value="30" />
<set name="baseHpMax" value="3290.113" />
<set name="baseHpRate" value="1" />
<set name="baseHpReg" value="8.5" />
<set name="baseINT" value="21" />
<set name="baseMAtk" value="1242" />
<set name="baseMAtkSpd" value="333" />
<set name="baseMDef" value="469" />
<set name="baseMEN" value="20" />
<set name="baseMpMax" value="1674.8" />
<set name="baseMpReg" value="3" />
<set name="basePAtk" value="1952" />
<set name="basePAtkSpd" value="278" />
<set name="basePDef" value="577" />
<set name="baseRunSpd" value="120" />
<set name="baseSTR" value="40" />
<set name="baseShldDef" value="0" />
<set name="baseShldRate" value="0" />
<set name="baseWIT" value="20" />
<set name="baseWalkSpd" value="75" />
<set name="collision_height" value="16.0" />
<set name="collision_radius" value="13.25" />
<set name="level" value="80" />
<set name="rewardExp" value="0" />
<set name="rewardRp" value="0" />
<set name="rewardSp" value="0" />
<set name="shots" value="NONE" />
<set name="texture" value="" />
<set name="type" value="ItemMall" />
<set name="displayId" value="33299"/>
<set name="htm_root" value="mods/gmshop/" />


<attributes>
<defence attribute="fire" value="20" />
<defence attribute="water" value="20" />
<defence attribute="wind" value="20" />
<defence attribute="earth" value="20" />
<defence attribute="holy" value="20" />
<defence attribute="unholy" value="20" />
</attributes>
</npc>

ok it works but it gave me this

[13:42:16] ERROR Bad RequestBypassToServer: npc_268471418_Buy 40013 via NPC #40013
java.lang.NullPointerException: Cannot invoke "l2.gameserver.data.xml.holder.BuyListHolder$NpcTradeList.getNpcId()" because "<local6>" is null
at l2.gameserver.model.instances.MerchantInstance.showShopWindow(Unknown Source)
at l2.gameserver.model.instances.MerchantInstance.onBypassFeedback(Unknown Source)
at l2.gameserver.model.instances.ItemMallInstance.onBypassFeedback(Unknown Source)
at l2.gameserver.network.l2.c2s.RequestBypassToServer.runImpl(Unknown Source)
at l2.gameserver.network.l2.c2s.L2GameClientPacket.run(Unknown Source)
at l2.commons.net.nio.impl.MMOExecutableQueue.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:842)
 
<npc id="40013" name="Erikios" title="GM-SHOP">
<set name="aggroRange" value="0" />
<set name="ai_type" value="CharacterAI" />
<set name="baseAtkRange" value="40" />
<set name="baseCON" value="43" />
<set name="baseCritRate" value="40" />
<set name="baseDEX" value="30" />
<set name="baseHpMax" value="3290.113" />
<set name="baseHpRate" value="1" />
<set name="baseHpReg" value="8.5" />
<set name="baseINT" value="21" />
<set name="baseMAtk" value="1242" />
<set name="baseMAtkSpd" value="333" />
<set name="baseMDef" value="469" />
<set name="baseMEN" value="20" />
<set name="baseMpMax" value="1674.8" />
<set name="baseMpReg" value="3" />
<set name="basePAtk" value="1952" />
<set name="basePAtkSpd" value="278" />
<set name="basePDef" value="577" />
<set name="baseRunSpd" value="120" />
<set name="baseSTR" value="40" />
<set name="baseShldDef" value="0" />
<set name="baseShldRate" value="0" />
<set name="baseWIT" value="20" />
<set name="baseWalkSpd" value="75" />
<set name="collision_height" value="16.0" />
<set name="collision_radius" value="13.25" />
<set name="level" value="80" />
<set name="rewardExp" value="0" />
<set name="rewardRp" value="0" />
<set name="rewardSp" value="0" />
<set name="shots" value="NONE" />
<set name="texture" value="" />
<set name="type" value="ItemMall" />
<set name="displayId" value="33299"/>
<set name="htm_root" value="mods/gmshop/" />


<attributes>
<defence attribute="fire" value="20" />
<defence attribute="water" value="20" />
<defence attribute="wind" value="20" />
<defence attribute="earth" value="20" />
<defence attribute="holy" value="20" />
<defence attribute="unholy" value="20" />
</attributes>
</npc>

ok it works but it gave me this

[13:42:16] ERROR Bad RequestBypassToServer: npc_268471418_Buy 40013 via NPC #40013
java.lang.NullPointerException: Cannot invoke "l2.gameserver.data.xml.holder.BuyListHolder$NpcTradeList.getNpcId()" because "<local6>" is null
at l2.gameserver.model.instances.MerchantInstance.showShopWindow(Unknown Source)
at l2.gameserver.model.instances.MerchantInstance.onBypassFeedback(Unknown Source)
at l2.gameserver.model.instances.ItemMallInstance.onBypassFeedback(Unknown Source)
at l2.gameserver.network.l2.c2s.RequestBypassToServer.runImpl(Unknown Source)
at l2.gameserver.network.l2.c2s.L2GameClientPacket.run(Unknown Source)
at l2.commons.net.nio.impl.MMOExecutableQueue.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:842)
Do you have multisell 40013.xml?
 
i made it. I had to pass merchant_buylists the id of the NPC and also put the shop id and it's fine thank you very much
<tradelist npc="40013" shop="1800" markup="10" >
<item id="3031" name="Wooden Arrow" />
<item id="1785" name="Bone Arrow" />
<item id="5589" name="Fine Steel Arrow" />
<item id="2508" name="Lesser Healing Potion" />
<item id="17" name="Healing Potion" />
<item id="1341" name="Antidote" />
<item id="1342" name="Greater Antidote" />
<item id="1343" name="Bandage" />
<item id="1344" name="Emergency Dressing" />
<item id="1345" name="Haste Potion" />
<item id="8874" name="Potion of Alacrity" />
<item id="8873" name="Magic Haste Potion" />
<item id="8598" name="Waking Scroll" />
<item id="8599" name="Scroll of Escape" />
<item id="737" name="Scroll of Resurrection" />
<item id="1829" name="Scroll of Escape: Clan Hall" />
<item id="1830" name="Scroll of Escape: Castle" />
</tradelist>
 
Back
Top