Service/Universal Npc

Format: XML
Path: gameserver/data/npc/
Type: type
Example: <set name="type" value="UniversalNpc"/>

Available bypasses:
Tattoo:
<a action="bypass -h npc_%objectId%_Draw">Get a tattoo</a>
<a action="bypass -h npc_%objectId%_RemoveList">Remove tattoo</a>
Mail/WH:
<a action="bypass -h npc_%objectId%_DepositP">Deposit item (personal storage)</a>
<a action="bypass -h npc_%objectId%_WithdrawP 0">Pick up an item (personal storage)</a>
<a action="bypass -h npc_%objectId%_deposit_items">Transfer item via Cargo mail</a>
<a action="bypass -h npc_%objectId%_withdraw_items">Accept Cargo.</a>
Subclass:
<a action="bypass -h npc_%objectId%_Subclass 1">Add a subclass.</a>
<a action="bypass -h npc_%objectId%_Subclass 2">Change subclass.</a>
<a action="bypass -h npc_%objectId%_Subclass 2">Cancel the current subclass and replace it with a new one.</a>
Skills:
<a action="bypass -h npc_%objectId%_SkillEnchantList">I want to enchant a skill.</a>
<a action="bypass -h npc_%objectId%_SkillList">Learn Skills</a>
<a action="bypass -h npc_%objectId%_AltSkillList">Custom Skills Learn</a>



All types of bypasses with multisells are also available.

If you need any other functionality, please tell me.
 
Last edited:
Hello Deazer, Would it be possible to add the "Next Page" and "Previous Page" function to the Raid Boss and Epic Boss list, or does this function already exist? Because when we add more bosses to the list, the HTML becomes long.

Captura de tela 2024-05-18 193609.webp
 
И не только к статистики рб, но и сервису покраске ника и тула еще хотелось
 
И не только к статистики рб, но и сервису покраске ника и тула еще хотелось
а зачем? у меня к примеру хз цветов 30 и все влезает в КБ и места ещё куча, а вот РБ прям ахтунГ
 
а зачем? у меня к примеру хз цветов 30 и все влезает в КБ и места ещё куча, а вот РБ прям ахтунГ
Куда влезаю? Списком без прокрутки?
 
XML:
ERROR Bad RequestBypassToServer: npc_268466567Draw via NPC #50000
java.lang.NumberFormatException: For input string: "268466567Draw"
        at java.lang.NumberFormatException.forInputString(Unknown Source)
        at java.lang.Integer.parseInt(Unknown Source)
        at java.lang.Integer.parseInt(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.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
XML:
Hello! Isn't it a beautiful day?

<center>
<a action="bypass -h npc_%objectId%Draw">Get a tattoo</a>

<a action="bypass -h npc%objectId%RemoveList">Remove tattoo</a><br><br>

<a action="bypass -h npc%objectId%DepositP">Deposit item (personal storage)</a>

<a action="bypass -h npc%objectId%WithdrawP 0">Pick up an item (personal storage)</a><br><br>

<a action="bypass -h npc%objectId%Subclass 1">Add a subclass.</a>

<a action="bypass -h npc%objectId%Subclass 2">Change subclass.</a>

<a action="bypass -h npc%objectId%_Subclass 2">Cancel the current subclass and replace it with a new one.</a><br><br>
</center>
XML:
  <npc id="50000" name="Grand Master" title="Service Manager">
    <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="2444.468"/>
    <set name="baseHpRate" value="1"/>
    <set name="baseHpReg" value="7.5"/>
    <set name="baseINT" value="21"/>
    <set name="baseMAtk" value="470"/>
    <set name="baseMAtkSpd" value="333"/>
    <set name="baseMDef" value="216"/>
    <set name="baseMEN" value="20"/>
    <set name="baseMpMax" value="1345.8"/>
    <set name="baseMpReg" value="2.7"/>
    <set name="basePAtk" value="688"/>
    <set name="basePAtkSpd" value="253"/>
    <set name="basePDef" value="295"/>
    <set name="baseRunSpd" value="220"/>
    <set name="baseSTR" value="40"/>
    <set name="baseShldDef" value="0"/>
    <set name="baseShldRate" value="0"/>
    <set name="baseWIT" value="20"/>
    <set name="baseWalkSpd" value="50"/>
    <set name="collision_height" value="23.5"/>
    <set name="collision_radius" value="8.5"/>
    <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="UniversalNpc"/>
    <skills>
    </skills>
    <attributes>
    </attributes>
  </npc>

When I created the npc and put <set name="type" value="UniversalNpc"/> . the Html ended up in data\html-en\mods\buffer . Is this correct?
 
XML:
ERROR Bad RequestBypassToServer: npc_268466567Draw via NPC #50000
java.lang.NumberFormatException: For input string: "268466567Draw"
        at java.lang.NumberFormatException.forInputString(Unknown Source)
        at java.lang.Integer.parseInt(Unknown Source)
        at java.lang.Integer.parseInt(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.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
XML:
Hello! Isn't it a beautiful day?

<center>
<a action="bypass -h npc_%objectId%Draw">Get a tattoo</a>

<a action="bypass -h npc%objectId%RemoveList">Remove tattoo</a><br><br>

<a action="bypass -h npc%objectId%DepositP">Deposit item (personal storage)</a>

<a action="bypass -h npc%objectId%WithdrawP 0">Pick up an item (personal storage)</a><br><br>

<a action="bypass -h npc%objectId%Subclass 1">Add a subclass.</a>

<a action="bypass -h npc%objectId%Subclass 2">Change subclass.</a>

<a action="bypass -h npc%objectId%_Subclass 2">Cancel the current subclass and replace it with a new one.</a><br><br>
</center>
XML:
  <npc id="50000" name="Grand Master" title="Service Manager">
    <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="2444.468"/>
    <set name="baseHpRate" value="1"/>
    <set name="baseHpReg" value="7.5"/>
    <set name="baseINT" value="21"/>
    <set name="baseMAtk" value="470"/>
    <set name="baseMAtkSpd" value="333"/>
    <set name="baseMDef" value="216"/>
    <set name="baseMEN" value="20"/>
    <set name="baseMpMax" value="1345.8"/>
    <set name="baseMpReg" value="2.7"/>
    <set name="basePAtk" value="688"/>
    <set name="basePAtkSpd" value="253"/>
    <set name="basePDef" value="295"/>
    <set name="baseRunSpd" value="220"/>
    <set name="baseSTR" value="40"/>
    <set name="baseShldDef" value="0"/>
    <set name="baseShldRate" value="0"/>
    <set name="baseWIT" value="20"/>
    <set name="baseWalkSpd" value="50"/>
    <set name="collision_height" value="23.5"/>
    <set name="collision_radius" value="8.5"/>
    <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="UniversalNpc"/>
    <skills>
    </skills>
    <attributes>
    </attributes>
  </npc>

When I created the npc and put <set name="type" value="UniversalNpc"/> . the Html ended up in data\html-en\mods\buffer . Is this correct?
add this after the universal npc in new lane
<set name="htm_root" value="mods/mynewnpc/" /> (replace mynewnpc with any name)
 
add this after the universal npc in new lane
<set name="htm_root" value="mods/mynewnpc/" /> (replace mynewnpc with any name)
Thanks for the help, but it doesn't work. @Deazer Could you give me some light I changed the npc id, folder. It keeps giving errors and the bypass doesn't work.
htm still going on the npc buffer folder.
I Have IL Rev.14004 .231.webp
 
Format: XML
Path: gameserver/data/npc/
Type: type
Example: <set name="type" value="UniversalNpc"/>

Available bypasses:
Tattoo:
<a action="bypass -h npc_%objectId%_Draw">Get a tattoo</a>
<a action="bypass -h npc_%objectId%_RemoveList">Remove tattoo</a>
Mail/WH:
<a action="bypass -h npc_%objectId%_DepositP">Deposit item (personal storage)</a>
<a action="bypass -h npc_%objectId%_WithdrawP 0">Pick up an item (personal storage)</a>
<a action="bypass -h npc_%objectId%_deposit_items">Transfer item via Cargo mail</a>
<a action="bypass -h npc_%objectId%_withdraw_items">Accept Cargo.</a>
Subclass:
<a action="bypass -h npc_%objectId%_Subclass 1">Add a subclass.</a>
<a action="bypass -h npc_%objectId%_Subclass 2">Change subclass.</a>
<a action="bypass -h npc_%objectId%_Subclass 2">Cancel the current subclass and replace it with a new one.</a>

All types of bypasses with multisells are also available.

If you need any other functionality, please tell me.
Are there any bypasses for skill enchants?
 
bypass -h npc_%objectId%_SkillEnchantList
should it read the skills of the class the player is in, or does it need to create an extra page with all the npc ids for each class?
 
Back
Top