HorrorSlyer Posted September 6, 2019 Posted September 6, 2019 hello guys how i can make this script working by coins and not free package l2f.gameserver.model.instances; 2 3 import java.sql.Connection; 4 import java.sql.PreparedStatement; 5 6 import l2f.commons.dbutils.DbUtils; 7 import l2f.gameserver.database.DatabaseFactory; 8 import l2f.gameserver.model.Player; 9 import l2f.gameserver.model.entity.olympiad.Olympiad; 10 import l2f.gameserver.network.serverpackets.L2GameServerPacket; 11 import l2f.gameserver.network.serverpackets.PledgeShowInfoUpdate; 12 import l2f.gameserver.network.serverpackets.SkillList; 13 import l2f.gameserver.network.serverpackets.UserInfo; 14 import l2f.gameserver.tables.SkillTable; 15 import l2f.gameserver.templates.npc.NpcTemplate; 16 import l2f.gameserver.utils.Log; 17 18 public final class BetaNPCInstance extends NpcInstance 19 { 20 /** 21 * 22 */ 23 private static final long serialVersionUID = 5938813598479742068L; 24 25 public BetaNPCInstance(int objectId, NpcTemplate template) 26 { 27 super(objectId, template); 28 } 29 30 @Override 31 public void onBypassFeedback(Player player, String command) 32 { 33 if (!canBypassCheck(player, this)) 34 { 35 return; 36 } 37 if (command.equalsIgnoreCase("change_sex")) 38 { 39 Connection con = null; 40 PreparedStatement offline = null; 41 try 42 { 43 con = DatabaseFactory.getInstance().getConnection(); 44 offline = con.prepareStatement("UPDATE characters SET sex = ? WHERE obj_Id = ?"); 45 offline.setInt(1, player.getSex() == 1 ? 0 : 1); 46 offline.setInt(2, player.getObjectId()); 47 offline.executeUpdate(); 48 } 49 catch (Exception e) 50 { 51 e.printStackTrace(); 52 return; 53 } 54 finally 55 { 56 DbUtils.closeQuietly(con, offline); 57 } 58 59 player.changeSex(); 60 player.sendMessage("Your gender has been changed !!"); 61 Log.add(new StringBuilder().append("Character ").append(player).append(" changed sex to ").append(player.getSex() == 1 ? "male" : "female").toString(), "renames"); 62 } 63 else if (command.equalsIgnoreCase("add_clan_reputation")) 64 { 65 if (player.getClan() != null) 66 { 67 player.getClan().incReputation(10000, false, "BetaNpc"); 68 player.getClan().broadcastToOnlineMembers(new L2GameServerPacket[] 69 { 70 new PledgeShowInfoUpdate(player.getClan()) 71 }); 72 player.sendMessage("Your clan received 10 000 clan reputation!"); 73 } 74 else 75 { 76 player.sendMessage("You don't have clan to use this feature!"); 77 } 78 } 79 else if (command.equalsIgnoreCase("add_exp_sp")) 80 { 81 player.addExpAndSp(999999999L, 999999999L); 82 player.addExpAndSp(999999999L, 999999999L); 83 player.addExpAndSp(999999999L, 999999999L); 84 player.addExpAndSp(999999999L, 999999999L); 85 player.addExpAndSp(999999999L, 999999999L); 86 player.addExpAndSp(999999999L, 999999999L); 87 player.addExpAndSp(999999999L, 999999999L); 88 player.addExpAndSp(999999999L, 999999999L); 89 } 90 else if (command.equalsIgnoreCase("add_fame")) 91 { 92 player.setFame(player.getFame() + 10000, "BetaNpc"); 93 player.sendPacket(new UserInfo(player)); 94 player.sendMessage("You received 10.000 fame points !"); 95 } 96 else if (command.equalsIgnoreCase("give_noblesse")) 97 { 98 if (!player.isNoble()) 99 { 100 Olympiad.addNoble(player.getPlayer()); 101 player.getPlayer().setNoble(true); 102 player.getPlayer().updatePledgeClass(); 103 player.getPlayer().updateNobleSkills(); 104 player.getPlayer().sendPacket(new SkillList(player.getPlayer())); 105 player.getPlayer().broadcastUserInfo(true); 106 player.getInventory().addItem(7694, 1L, "nobleTiara"); 107 player.sendMessage("Congratulations! You gained noblesse rank."); 108 player.broadcastUserInfo(true); 109 } 110 else if (player.isNoble()) 111 { 112 player.sendMessage("You already have noblesse rank !"); 113 } 114 } 115 else if (command.equalsIgnoreCase("give_hero")) 116 { 117 if (!player.isHero()) 118 { 119 player.setHero(true); 120 player.updatePledgeClass(); 121 player.addSkill(SkillTable.getInstance().getInfo(395, 1)); 122 player.addSkill(SkillTable.getInstance().getInfo(396, 1)); 123 player.addSkill(SkillTable.getInstance().getInfo(1374, 1)); 124 player.addSkill(SkillTable.getInstance().getInfo(1375, 1)); 125 player.addSkill(SkillTable.getInstance().getInfo(1376, 1)); 126 player.sendPacket(new SkillList(player)); 127 player.getPlayer().broadcastUserInfo(true); 128 player.sendMessage("Congratulations! You gained hero rank."); 129 player.broadcastUserInfo(true); 130 } 131 else if (player.isNoble()) 132 { 133 player.sendMessage("You already have hero rank !"); 134 } 135 } 136 else 137 { 138 super.onBypassFeedback(player, command); 139 } 140 } 141 142 @Override 143 public boolean isNpc() 144 { 145 return true; 146 } 147 148 }
0 L2 TokTil Posted September 6, 2019 Posted September 6, 2019 (edited) 3 hours ago, HorrorSlyer said: if (command.equalsIgnoreCase("change_sex")) { . . . } example if (command.equalsIgnoreCase("change_sex")) { if (activeChar.getInventory().getCountOf(Config.getChangeSexPriceId()) >= Config.getChangeSexPriceCount()) { activeChar.getInventory().destroyItemByItemId(Config.getChangeSexPriceId(), Config.getChangeSexPriceCount(), "SexChange"); . . . Your Code Here . . . } else activeChar.sendMessage("Error: You don't have items to pay."); } Edited September 6, 2019 by L2 TokTil Quote
0 V-Ray Posted September 6, 2019 Posted September 6, 2019 @Nightwolf if (!player.isNoble()) 99 { 100 Olympiad.addNoble(player.getPlayer()); 101 player.getPlayer().setNoble(true); 102 player.getPlayer().updatePledgeClass(); 103 player.getPlayer().updateNobleSkills(); 104 player.getPlayer().sendPacket(new SkillList(player.getPlayer())); 105 player.getPlayer().broadcastUserInfo(true); 106 player.getInventory().addItem(7694, 1L, "nobleTiara"); 107 player.sendMessage("Congratulations! You gained noblesse rank."); 108 player.broadcastUserInfo(true); 109 } 110 else if (player.isNoble()) 111 { 112 player.sendMessage("You already have noblesse rank !"); 113 }
0 Creamy G Colin Posted September 6, 2019 Posted September 6, 2019 (edited) 4 hours ago, L2 TokTil said: example if (command.equalsIgnoreCase("change_sex")) { if (activeChar.getInventory().getCountOf(Config.getChangeSexPriceId()) >= Config.getChangeSexPriceCount()) { activeChar.getInventory().destroyItemByItemId(Config.getChangeSexPriceId(), Config.getChangeSexPriceCount(), "SexChange"); . . . Your Code Here . . . } else activeChar.sendMessage("Error: You don't have items to pay."); } destroyItemByItemId its a boolean method. True if all item count destroyed ,false if not. So item count check is useless Edited September 6, 2019 by Creamy G Colin
0 Tryskell Posted September 6, 2019 Posted September 6, 2019 (edited) 24 minutes ago, Creamy G Colin said: destroyItemByItemId its a boolean method. True if all item count destroyed ,false if not. So item count check is useless If you use Player#destroyItemByItemId you are right, even the error message is included if the boolean is set to true. In case you use getInventory() version, it isn't. It's generally used for "custom" message, eg. Lotto tickets / pet item with integrated level. So that will simply be, error message included : if (playerInstance.destroyItemByIt...) { // code here } Edited September 6, 2019 by Tryskell
0 HorrorSlyer Posted September 7, 2019 Author Posted September 7, 2019 thank's for the support guys example for gendre change service if (command.equalsIgnoreCase("change_sex")) { if (player.getRace() == Race.kamael) { player.sendMessage("Not available for Kamael."); return; } if (Functions.getItemCount(player, Config.DONATOR_NPC_ITEM) < Config.DONATOR_NPC_COUNT_SEX) { player.sendMessage("You don't have enough " + Config.DONATOR_NPC_ITEM_NAME +"." ); return; } Connection con = null; PreparedStatement offline = null; try { con = DatabaseFactory.getInstance().getConnection(); offline = con.prepareStatement("UPDATE characters SET sex = ? WHERE obj_Id = ?"); offline.setInt(1, player.getSex() == 1 ? 0 : 1); offline.setInt(2, player.getObjectId()); offline.executeUpdate(); } catch(Exception e) { e.printStackTrace(); return; } finally { DbUtils.closeQuietly(con, offline); } Functions.removeItem(player, Config.DONATOR_NPC_ITEM, Config.DONATOR_NPC_COUNT_SEX, "Removed"); player.changeSex(); player.setTransformation(251); player.sendMessage("Your gender has been changed!"); player.broadcastUserInfo(true); player.setTransformation(0); System.out.println("Character " + player + " changed sex via donation"); }
Question
HorrorSlyer
hello guys how i can make this script working by coins and not free
package l2f.gameserver.model.instances; 2 3 import java.sql.Connection; 4 import java.sql.PreparedStatement; 5 6 import l2f.commons.dbutils.DbUtils; 7 import l2f.gameserver.database.DatabaseFactory; 8 import l2f.gameserver.model.Player; 9 import l2f.gameserver.model.entity.olympiad.Olympiad; 10 import l2f.gameserver.network.serverpackets.L2GameServerPacket; 11 import l2f.gameserver.network.serverpackets.PledgeShowInfoUpdate; 12 import l2f.gameserver.network.serverpackets.SkillList; 13 import l2f.gameserver.network.serverpackets.UserInfo; 14 import l2f.gameserver.tables.SkillTable; 15 import l2f.gameserver.templates.npc.NpcTemplate; 16 import l2f.gameserver.utils.Log; 17 18 public final class BetaNPCInstance extends NpcInstance 19 { 20 /** 21 * 22 */ 23 private static final long serialVersionUID = 5938813598479742068L; 24 25 public BetaNPCInstance(int objectId, NpcTemplate template) 26 { 27 super(objectId, template); 28 } 29 30 @Override 31 public void onBypassFeedback(Player player, String command) 32 { 33 if (!canBypassCheck(player, this)) 34 { 35 return; 36 } 37 if (command.equalsIgnoreCase("change_sex")) 38 { 39 Connection con = null; 40 PreparedStatement offline = null; 41 try 42 { 43 con = DatabaseFactory.getInstance().getConnection(); 44 offline = con.prepareStatement("UPDATE characters SET sex = ? WHERE obj_Id = ?"); 45 offline.setInt(1, player.getSex() == 1 ? 0 : 1); 46 offline.setInt(2, player.getObjectId()); 47 offline.executeUpdate(); 48 } 49 catch (Exception e) 50 { 51 e.printStackTrace(); 52 return; 53 } 54 finally 55 { 56 DbUtils.closeQuietly(con, offline); 57 } 58 59 player.changeSex(); 60 player.sendMessage("Your gender has been changed !!"); 61 Log.add(new StringBuilder().append("Character ").append(player).append(" changed sex to ").append(player.getSex() == 1 ? "male" : "female").toString(), "renames"); 62 } 63 else if (command.equalsIgnoreCase("add_clan_reputation")) 64 { 65 if (player.getClan() != null) 66 { 67 player.getClan().incReputation(10000, false, "BetaNpc"); 68 player.getClan().broadcastToOnlineMembers(new L2GameServerPacket[] 69 { 70 new PledgeShowInfoUpdate(player.getClan()) 71 }); 72 player.sendMessage("Your clan received 10 000 clan reputation!"); 73 } 74 else 75 { 76 player.sendMessage("You don't have clan to use this feature!"); 77 } 78 } 79 else if (command.equalsIgnoreCase("add_exp_sp")) 80 { 81 player.addExpAndSp(999999999L, 999999999L); 82 player.addExpAndSp(999999999L, 999999999L); 83 player.addExpAndSp(999999999L, 999999999L); 84 player.addExpAndSp(999999999L, 999999999L); 85 player.addExpAndSp(999999999L, 999999999L); 86 player.addExpAndSp(999999999L, 999999999L); 87 player.addExpAndSp(999999999L, 999999999L); 88 player.addExpAndSp(999999999L, 999999999L); 89 } 90 else if (command.equalsIgnoreCase("add_fame")) 91 { 92 player.setFame(player.getFame() + 10000, "BetaNpc"); 93 player.sendPacket(new UserInfo(player)); 94 player.sendMessage("You received 10.000 fame points !"); 95 } 96 else if (command.equalsIgnoreCase("give_noblesse")) 97 { 98 if (!player.isNoble()) 99 { 100 Olympiad.addNoble(player.getPlayer()); 101 player.getPlayer().setNoble(true); 102 player.getPlayer().updatePledgeClass(); 103 player.getPlayer().updateNobleSkills(); 104 player.getPlayer().sendPacket(new SkillList(player.getPlayer())); 105 player.getPlayer().broadcastUserInfo(true); 106 player.getInventory().addItem(7694, 1L, "nobleTiara"); 107 player.sendMessage("Congratulations! You gained noblesse rank."); 108 player.broadcastUserInfo(true); 109 } 110 else if (player.isNoble()) 111 { 112 player.sendMessage("You already have noblesse rank !"); 113 } 114 } 115 else if (command.equalsIgnoreCase("give_hero")) 116 { 117 if (!player.isHero()) 118 { 119 player.setHero(true); 120 player.updatePledgeClass(); 121 player.addSkill(SkillTable.getInstance().getInfo(395, 1)); 122 player.addSkill(SkillTable.getInstance().getInfo(396, 1)); 123 player.addSkill(SkillTable.getInstance().getInfo(1374, 1)); 124 player.addSkill(SkillTable.getInstance().getInfo(1375, 1)); 125 player.addSkill(SkillTable.getInstance().getInfo(1376, 1)); 126 player.sendPacket(new SkillList(player)); 127 player.getPlayer().broadcastUserInfo(true); 128 player.sendMessage("Congratulations! You gained hero rank."); 129 player.broadcastUserInfo(true); 130 } 131 else if (player.isNoble()) 132 { 133 player.sendMessage("You already have hero rank !"); 134 } 135 } 136 else 137 { 138 super.onBypassFeedback(player, command); 139 } 140 } 141 142 @Override 143 public boolean isNpc() 144 { 145 return true; 146 } 147 148 }5 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now