darknessneo Posted July 21, 2010 Posted July 21, 2010 Updated Version 3.2 Hello to all. Here we go for my 2nd share. A laboratory for what you wan ^^ I use it for craft pots, ... Here is the code updated in java for Hi5 server. For use it, you need to creat a folder Laboratory in custom folder of your server. After that, add the java file in scripts.cfg custom/Laboratory/Laboratory.java For my labo, i use Ralford npc in ivory tower, but u can creat a new one, or use another npc. Just add this lign in the html file of your npc: <a action="bypass -h npc_%objectId%_Quest Laboratory">Laboratory</a><br1> /* * Packages: A Java package is a mechanism for organizing Java classes into namespaces similar to the modules of Modula. * Java packages can be stored in compressed files called JAR files, allowing classes to download faster as a group rather than one at a time. * Programmers also typically use packages to organize classes belonging to the same category or providing similar functionality. * * This is the package declaration: */ package custom.Laboratory; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.datatables.MultiSell; public class Laboratory extends Quest { private static final String qn = "Laboratory"; private static final int RALFORD = 30165; static int m = 400000000; private static final int ORACLES_PP = m+5; private static final int ORACLES_PP_3 = m+19; private static final int SUMMONERS_2 = m+6; private static final int SUMMONERS_3 = m+15; private static final int HEALER_2 = m+1; private static final int HEALER_3 = m+12; private static final int SUMMONERS_TEL_2 = m+16; private static final int SUMMONERS_TEL_3 = m+18; private static final int SUMMONERS_TEL_HEALER_2_ORC = m+17; /* * Laboratory by Darknessneo * Shirya server * v3.2 */ public Laboratory(int questId, String name, String descr) { super(questId, name, descr); addStartNpc(RALFORD); addTalkId(RALFORD); } @Override public String onTalk(L2Npc npc, L2PcInstance player) { if (player.isGM()) return "maingm.htm"; switch (player.getClassId().getId()) { case 13: // Necromancer MultiSell.getInstance().separateAndSend(SUMMONERS_2, player, npc, false); break; case 14: // Warlock MultiSell.getInstance().separateAndSend(SUMMONERS_TEL_2, player, npc, false); break; case 15: // Cleric MultiSell.getInstance().separateAndSend(ORACLES_PP, player, npc, false); break; case 16: // Bishop MultiSell.getInstance().separateAndSend(HEALER_2, player, npc, false); break; case 17: // Prophet MultiSell.getInstance().separateAndSend(ORACLES_PP, player, npc, false); break; case 28: // Elemental Summoner MultiSell.getInstance().separateAndSend(SUMMONERS_TEL_2, player, npc, false); break; case 29: // Oracle MultiSell.getInstance().separateAndSend(ORACLES_PP, player, npc, false); break; case 30: // Elder MultiSell.getInstance().separateAndSend(HEALER_2, player, npc, false); break; case 41: // Phantom Summoner MultiSell.getInstance().separateAndSend(SUMMONERS_TEL_2, player, npc, false); break; case 42: // Shillien Oracle MultiSell.getInstance().separateAndSend(ORACLES_PP, player, npc, false); break; case 43: // Shillien Elder MultiSell.getInstance().separateAndSend(HEALER_2, player, npc, false); break; case 50: // Shaman MultiSell.getInstance().separateAndSend(ORACLES_PP, player, npc, false); break; case 51: // Overlord MultiSell.getInstance().separateAndSend(HEALER_2, player, npc, false); break; case 52: // Warcryer MultiSell.getInstance().separateAndSend(SUMMONERS_TEL_HEALER_2_ORC, player, npc, false); break; case 95: // Soultaker MultiSell.getInstance().separateAndSend(SUMMONERS_3, player, npc, false); break; case 96: // Arcana Lord MultiSell.getInstance().separateAndSend(SUMMONERS_TEL_3, player, npc, false); break; case 97: // Cardinal MultiSell.getInstance().separateAndSend(HEALER_3, player, npc, false); break; case 98: // Hierophant MultiSell.getInstance().separateAndSend(ORACLES_PP, player, npc, false); break; case 104: // Elemental Master MultiSell.getInstance().separateAndSend(SUMMONERS_TEL_3, player, npc, false); break; case 105: // Eva's Saint MultiSell.getInstance().separateAndSend(HEALER_3, player, npc, false); break; case 111: // Spectral Master MultiSell.getInstance().separateAndSend(SUMMONERS_TEL_3, player, npc, false); break; case 112: // Shillien Saint MultiSell.getInstance().separateAndSend(HEALER_3, player, npc, false); break; case 115: // Dominator MultiSell.getInstance().separateAndSend(HEALER_3, player, npc, false); break; case 116: // Doomcryer MultiSell.getInstance().separateAndSend(ORACLES_PP_3, player, npc, false); break; default: return "nolab.htm"; } return super.onTalk(npc, player); } public static void main(String[] args) { new Laboratory(-1, qn, "custom"); } } Wan see how he work? The GM text The labo for potions. The text for healers (not GM) For all other class Quote
CrazyDeagle Posted July 21, 2010 Posted July 21, 2010 Thanks for your sharing but i dont have epilogue but i think is work. Quote
Rin4a Posted July 21, 2010 Posted July 21, 2010 Just a tip: You can improve your code by changing if id == 42 or id == 15 or id == 17 or id == 29 or id == 50 or id == 52 or id == 98 or id == 116 : to if id in [15,17,29,42,50,52,98,116] : Quote
darknessneo Posted July 21, 2010 Author Posted July 21, 2010 Just a tip: You can improve your code by changing if id == 42 or id == 15 or id == 17 or id == 29 or id == 50 or id == 52 or id == 98 or id == 116 : to if id in [15,17,29,42,50,52,98,116] : Thx for your comment. Guide and screens updated, archive too. Thx for your help, i added your pseudo in the credit of the file. Quote
Shyque Posted January 11, 2011 Posted January 11, 2011 Very nice share !!! 100% work on L2jServer pack nice ! Quote
CriticalError Posted January 11, 2011 Posted January 11, 2011 nice work man, and awesome guide, fully detailed keep working Quote
SoRa Posted January 12, 2011 Posted January 12, 2011 Gratz for your work and share mate,keep it up. Quote
yakballs Posted January 17, 2011 Posted January 17, 2011 Very good share thank you i was looking how to do this. Quote
FxHnD Posted January 17, 2011 Posted January 17, 2011 OMG.. I was searching everywhere, this! Atleast how to make show htm for some class, and finaly, You madet it! Awesome. :) Now i can slee well, and dont think how to make it :))) Realy thx :) Quote
darknessneo Posted February 6, 2012 Author Posted February 6, 2012 labo updated for Hi5 In the file, you'll find the full archive with the labo, html from my npc, and multisell files. Multisell are empty, put in all items you wan. Have fun! Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.