Jump to content

maganius

Members
  • Posts

    17
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

About maganius

Profile Information

  • Gender
    Male
  • Country
    Uruguay

maganius's Achievements

Newbie

Newbie (1/16)

0

Reputation

  1. Hello ppl How I can get the active weapon in rhand when I equip other weapon with right mouse click? Example: I have a homu in rhand and I equip a miracles with right mouse click. How I get the ID of homu active weapon in L2PcInstance? I test with getActiveWeaponInstance().getItemId() but it not work.
  2. For recommendation I change my datapack and now trying in other. I have last rev of l2hellas and not work :( <set name="item_skill" val="1085-3;1086-2" /> In this case it did not work neither the first skill :( I dont know what more do
  3. I set after clause for and work but only appear the first skill declared :/ I try following this changes: http://trac.l2jfree.com/l2jserver/changeset/2047 but when compile and start server game appear severals error mybe not is for my rev¿? I will keep looking for ways In l2weapons.java have this code: int sId = set.getInteger("item_skill_id"); int sLv = set.getInteger("item_skill_lvl"); if (sId > 0 && sLv > 0) _itemSkill = SkillTable.getInstance().getInfo(sId, sLv); mybe is only for one skill?
  4. The weapon disappears and give error in console: Item item_id=8689 not know, object_id=268478961 Weapon XML <item id='8689' name="Blood Sword Akamanah"> <for> <set val='361' order='0x08' stat='pAtk'/> <set val='137' order='0x08' stat='mAtk'/> <set val='8' order='0x08' stat='rCrit'/> <add val='0' order='0x10' stat='accCombat'/> <enchant val='0' order='0x0C' stat='pAtk'/> <enchant val='0' order='0x0C' stat='mAtk'/> <set name="item_skill" val="1085-3;1086-2" /> </for> </item>
  5. I want acumen and haste skill active <- click icon skill for use, when equip the weapon appear in windows skill actives.
  6. I try ur script but it only add mAtkSpd and pAtkSpd, I need add 2 active skill Haste and Acumen active skill. I'll keep trying with ur script. PD: skill Special hability Acumen/Haste dont show in active/pasive skill
  7. The example dont work, for these reason I modify the script and try set the skill.. Do not mock those who do not know, no one was born knowing I can also have other skills in which you do not. Talking and explaining people understand. There are always people who know more but do not think for this reason that we all need to know the same thing. Remember: Talking and explaining people understand.
  8. Hi Rsx I can increase mAtkSpd and pAtkSpd but I cant set 2 skill active in a weapon. I configure this weapon but dont work: Weapon XML <item id='8689' name="Blood Sword Akamanah"> <for> <set val='122' order='0x08' stat='pAtk'/> <set val='68' order='0x08' stat='mAtk'/> <set val='8' order='0x08' stat='rCrit'/> <add val='0' order='0x10' stat='accCombat'/> <set val='379' order='0x08' stat='pAtkSpd'/> <enchant val='0' order='0x0C' stat='pAtk'/> <enchant val='0' order='0x0C' stat='mAtk'/> <!-- SA: Back Blow --> <add order='0x40' stat='rCrit' val='67'> <and> <player behind='True'/> </and> </add> </for> </item> Skill XML <skill id="7065" levels="1" name="Special hability Acumen/Haste"> <set name="save" val="4"/> <set name="power" val="5.0"/> <set name="target" val="TARGET_ONE"/> <set name="skillType" val="BLEED"/> <set name="operateType" val="OP_ACTIVE"/> <set name="castRange" val="-1"/> <for> <effect count="7" name="DamOverTime" time="3" val="66"/> </for> </skill> In mysql weapon set in: item_skill_id = 7065 item_skill_level = 1 Image when use the weapon in active skills
  9. Hi nikosdevil20 This npc already come in pack. I use ctrl+shift and class send me to: xxx.gameserver.model.actor.instance.L2MerchantInstance In the location have: /* * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later * version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program. If not, see <http://www.gnu.org/licenses/>. */ package lt.equal.gameserver.model.actor.instance; import java.util.StringTokenizer; import javolution.text.TextBuilder; import lt.equal.Config; import lt.equal.gameserver.TradeController; import lt.equal.gameserver.model.L2Multisell; import lt.equal.gameserver.model.L2TradeList; import lt.equal.gameserver.network.L2GameClient; import lt.equal.gameserver.network.serverpackets.ActionFailed; import lt.equal.gameserver.network.serverpackets.BuyList; import lt.equal.gameserver.network.serverpackets.MyTargetSelected; import lt.equal.gameserver.network.serverpackets.NpcHtmlMessage; import lt.equal.gameserver.network.serverpackets.Ride; import lt.equal.gameserver.network.serverpackets.SellList; import lt.equal.gameserver.network.serverpackets.StatusUpdate; import lt.equal.gameserver.network.serverpackets.WearList; import lt.equal.gameserver.templates.L2NpcTemplate; /** * This class ... * * @version $Revision: 1.10.4.9 $ $Date: 2005/04/11 10:06:08 $ */ public class L2MerchantInstance extends L2FolkInstance { // private static Logger _log = Logger.getLogger(L2MerchantInstance.class.getName()); /** * @param template */ public L2MerchantInstance(int objectId, L2NpcTemplate template) { super(objectId, template); } @Override public String getHtmlPath(int npcId, int val) { String pom = ""; if (val == 0) pom = "" + npcId; else pom = npcId + "-" + val; return "data/html/merchant/" + pom + ".htm"; } private void showWearWindow(L2PcInstance player, int val) { player.tempInvetoryDisable(); if (Config.DEBUG) _log.fine("Showing wearlist"); L2TradeList list = TradeController.getInstance().getBuyList(val); if (list != null) { WearList bl = new WearList(list, player.getAdena(), player.getExpertiseIndex()); player.sendPacket(bl); } else { _log.warning("no buylist with id:" + val); player.sendPacket(new ActionFailed()); } } private void showBuyWindow(L2PcInstance player, int val) { double taxRate = 0; if (getIsInTown()) taxRate = getCastle().getTaxRate(); player.tempInvetoryDisable(); if (Config.DEBUG) _log.fine("Showing buylist"); L2TradeList list = TradeController.getInstance().getBuyList(val); if (list != null && list.getNpcId().equals(String.valueOf(getNpcId()))) { BuyList bl = new BuyList(list, player.getAdena(), taxRate); player.sendPacket(bl); } else { _log.warning("possible client hacker: " + player.getName() + " attempting to buy from GM shop! < Ban him!"); _log.warning("buylist id:" + val); } player.sendPacket(new ActionFailed()); } private void showSellWindow(L2PcInstance player) { if (Config.DEBUG) _log.fine("Showing selllist"); player.sendPacket(new SellList(player)); if (Config.DEBUG) _log.fine("Showing sell window"); player.sendPacket(new ActionFailed()); } @Override public void onBypassFeedback(L2PcInstance player, String command) { StringTokenizer st = new StringTokenizer(command, " "); String actualCommand = st.nextToken(); // Get actual command if (actualCommand.equalsIgnoreCase("Buy")) { if (st.countTokens() < 1) return; int val = Integer.parseInt(st.nextToken()); showBuyWindow(player, val); } else if (actualCommand.equalsIgnoreCase("Sell")) { showSellWindow(player); } else if (actualCommand.equalsIgnoreCase("RentPet")) { if (Config.ALLOW_RENTPET) { if (st.countTokens() < 1) { showRentPetWindow(player); } else { int val = Integer.parseInt(st.nextToken()); tryRentPet(player, val); } } } else if (actualCommand.equalsIgnoreCase("Wear") && Config.ALLOW_WEAR) { if (st.countTokens() < 1) return; int val = Integer.parseInt(st.nextToken()); showWearWindow(player, val); } else if (actualCommand.equalsIgnoreCase("Multisell")) { if (st.countTokens() < 1) return; int val = Integer.parseInt(st.nextToken()); L2Multisell.getInstance().SeparateAndSend(val, player, false, getCastle().getTaxRate()); } else if (actualCommand.equalsIgnoreCase("Exc_Multisell")) { if (st.countTokens() < 1) return; int val = Integer.parseInt(st.nextToken()); L2Multisell.getInstance().SeparateAndSend(val, player, true, getCastle().getTaxRate()); } else { // this class dont know any other commands, let forward // the command to the parent class super.onBypassFeedback(player, command); } } public void showRentPetWindow(L2PcInstance player) { if (!Config.LIST_PET_RENT_NPC.contains(getTemplate().npcId)) return; TextBuilder html1 = new TextBuilder("<html><body>Pet Manager:<br>"); html1.append("You can rent a wyvern or strider for adena.<br>My prices:<br1>"); html1.append("<table border=0><tr><td>Ride</td></tr>"); html1.append("<tr><td>Wyvern</td><td>Strider</td></tr>"); html1.append("<tr><td><a action=\"bypass -h npc_%objectId%_RentPet 1\">30 sec/1800 adena</a></td><td><a action=\"bypass -h npc_%objectId%_RentPet 11\">30 sec/900 adena</a></td></tr>"); html1.append("<tr><td><a action=\"bypass -h npc_%objectId%_RentPet 2\">1 min/7200 adena</a></td><td><a action=\"bypass -h npc_%objectId%_RentPet 12\">1 min/3600 adena</a></td></tr>"); html1.append("<tr><td><a action=\"bypass -h npc_%objectId%_RentPet 3\">10 min/720000 adena</a></td><td><a action=\"bypass -h npc_%objectId%_RentPet 13\">10 min/360000 adena</a></td></tr>"); html1.append("<tr><td><a action=\"bypass -h npc_%objectId%_RentPet 4\">30 min/6480000 adena</a></td><td><a action=\"bypass -h npc_%objectId%_RentPet 14\">30 min/3240000 adena</a></td></tr>"); html1.append("</table>"); html1.append("</body></html>"); insertObjectIdAndShowChatWindow(player, html1.toString()); } public void tryRentPet(L2PcInstance player, int val) { if (player == null || player.getPet() != null || player.isMounted() || player.isRentedPet()) return; if (!player.disarmWeapons()) return; int petId; double price = 1; int cost[] = { 1800, 7200, 720000, 6480000 }; int ridetime[] = { 30, 60, 600, 1800 }; if (val > 10) { petId = 12526; val -= 10; price /= 2; } else { petId = 12621; } if (val < 1 || val > 4) return; price *= cost[val - 1]; int time = ridetime[val - 1]; if (!player.reduceAdena("Rent", (int) price, player.getLastFolkNPC(), true)) return; Ride mount = new Ride(player.getObjectId(), Ride.ACTION_MOUNT, petId); player.broadcastPacket(mount); player.setMountType(mount.getMountType()); player.startRentPet(time); } @Override public void onActionShift(L2GameClient client) { L2PcInstance player = client.getActiveChar(); if (player == null) return; if (player.getAccessLevel() >= Config.GM_ACCESSLEVEL) { player.setTarget(this); MyTargetSelected my = new MyTargetSelected(getObjectId(), player.getLevel() - getLevel()); player.sendPacket(my); if (isAutoAttackable(player)) { StatusUpdate su = new StatusUpdate(getObjectId()); su.addAttribute(StatusUpdate.CUR_HP, (int) getCurrentHp()); su.addAttribute(StatusUpdate.MAX_HP, getMaxHp()); player.sendPacket(su); } NpcHtmlMessage html = new NpcHtmlMessage(getObjectId()); TextBuilder html1 = new TextBuilder("<html><body><table border=0>"); html1.append("<tr><td>Current Target:</td></tr>"); html1.append("<tr><td><br></td></tr>"); html1.append("<tr><td>Object ID: " + getObjectId() + "</td></tr>"); html1.append("<tr><td>Template ID: " + getTemplate().npcId + "</td></tr>"); html1.append("<tr><td><br></td></tr>"); html1.append("<tr><td>HP: " + getCurrentHp() + "</td></tr>"); html1.append("<tr><td>MP: " + getCurrentMp() + "</td></tr>"); html1.append("<tr><td>Level: " + getLevel() + "</td></tr>"); html1.append("<tr><td><br></td></tr>"); html1.append("<tr><td>Class: " + getClass().getName() + "</td></tr>"); html1.append("<tr><td><br></td></tr>"); // changed by terry 2005-02-22 21:45 html1.append("</table><table><tr><td><button value=\"Edit NPC\" action=\"bypass -h admin_edit_npc " + getTemplate().npcId + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td>"); html1.append("<td><button value=\"Kill\" action=\"bypass -h admin_kill\" width=40 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>"); html1.append("<tr><td><button value=\"Show DropList\" action=\"bypass -h admin_show_droplist " + getTemplate().npcId + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>"); html1.append("<td><button value=\"Delete\" action=\"bypass -h admin_delete\" width=40 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>"); html1.append("</table>"); if (player.isGM()) { html1.append("<button value=\"View Shop\" action=\"bypass -h admin_showShop " + getTemplate().npcId + "\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></br>"); html1.append("<button value=\"Lease next week\" action=\"bypass -h npc_" + getObjectId() + "_Lease\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\">"); html1.append("<button value=\"Abort current leasing\" action=\"bypass -h npc_" + getObjectId() + "_Lease next\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\">"); html1.append("<button value=\"Manage items\" action=\"bypass -h npc_" + getObjectId() + "_Lease manage\" width=100 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\">"); } html1.append("</body></html>"); html.setHtml(html1.toString()); player.sendPacket(html); } player.sendPacket(new ActionFailed()); } } I dont found where my NPC GM Shop send order to server.
  10. Hi SweeTs thx for answering. Sorry for my ignorance but u can help me with an example? I dont know what i need add/mod Thx
  11. I also think I need to change in core, but where? how? is my question :P Thx for ur help anyway
  12. Because the pack have a GM Shop ready for use, too I want use it to learn.
  13. If I change 84[Homu] to 6673[Coin] in GM Shop appear to buy the Coin. I want sell the "Homunkulus's Sword" for Coin not adena.
  14. I dont have a table item_id. In the merchant_buylist have this structure. item_id price shop_id order count currentCount time savetimer Example sell Homunkulus's Sword: 84 2000 30018 1 -1 -1 0 0
  15. Hello ppl I dont know if is possible set multi skill in a weapon. Example: Homunkulus's Sword - Acumen + Haste[Active Skill] In the database (weapons) I can set only 1 skill. Server C5. Srry for my english, Thanks
×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock