Jump to content

bjorkker02

Members
  • Posts

    21
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by bjorkker02

  1. Thx man! But I have this error on version 0.4 "Erreur : could not find driver" ty
  2. Tyvm Prince* Based on this code, I also managed to lock my AIOs going out of towns !
  3. Hi guys! I have a custom Instance Event Party and original solo event by Bloodshed, perhaps I have a noob problem :lol: How to change another instance, like this coords ? { final teleCoord tele = new teleCoord(); tele.x = -213472; tele.y = 244894; tele.z = 2019; enterInstance(player, "Bloodshedparty.xml", tele); return ""; } Bacause always, the players go to Tower of Naia but I dont see Naia instance id [/noob] private static final int INSTANCEID = 555555; ???
  4. Hello folks then .. :-[ I need help with my AIOs since restrict them from leaving towns is hard so I would know how to use a punishment for such In L2TownZone.java this protected void onExit(L2Character character) { // TODO: there should be no exit if there was possibly no enter if (_isPeaceZone) character.setInsideZone(L2Character.ZONE_PEACE, false); character.setInsideZone(L2Character.ZONE_TOWN, false); if (character instanceof L2PcInstance) { if (((L2PcInstance)character).isDonator() && getTownId() == 7) { ((L2PcInstance)character).sendMessage("AIOs can't leave town. You are now back."); ((L2PcInstance)character).teleToLocation(MapRegionTable.TeleportWhereType.Town); } else if (((L2PcInstance)character).isDonator() && getTownId() == 8) { ((L2PcInstance)character).sendMessage("AIOs can't leave town. You are now back."); ((L2PcInstance)character).teleToLocation(MapRegionTable.TeleportWhereType.Town); } else ((L2PcInstance)character).sendMessage("You have entered a non-restricted area."); } } It works, but the restriction also applies when it goes to Town to Town .. here's how to limit access only to towns with ID 1-13!? thx
  5. Nice share thx ! but.. How to block a character out of a city instead of entering type: protected void onExit(L2Character character)
  6. Hi guys I have trying again.. But this dont work, whats a wrong for this Donator Char back to town if exit? protected void onExit(L2Character character) { // TODO: there should be no exit if there was possibly no enter if (_isPeaceZone) character.setInsideZone(L2Character.ZONE_PEACE, false); character.setInsideZone(L2Character.ZONE_TOWN, false); if (character instanceof L2PcInstance) { if (((L2PcInstance)character).isDonator() && character.isInsideZone(L2Character.ZONE_TOWN)) { character.teleToLocation(MapRegionTable.TeleportWhereType.Town); return; } } } thx
  7. And in my case :-\ I need that donations don't go out of towns.. I found this patch and how it works ? sry 4 noob questions if (activeChar.donate() && --> Exit town < -- { activeChar.sendMessage("Donates can't leave towns."); activeChar. -- > back to town < -- } else if (activeChar.donate() { -- > if (activeChar.donate()) { activeChar.getAppearance().setNameColor(660099); < -- } thx 4all
  8. I know ! I wanted to say that: If the SQL query = AIO,(1) Core demand if onExit AIO,(1) immediately AIO teleports to town ! But I try thx 4all
  9. Excuse me for newbie question.. And I am very grateful for the help ..but to add this in L2TownZone using sql query? protected void onExit(L2Character character) { ......... :-[
  10. Hi guys :) How to blocking a specific character when it comes out of a town ? I have the table characters indicating that the char is AIO. How to use in core to make the character return to town, if character exit town ? Thx 4 all L2JServer rev. 4059
  11. lol my workspace is 4059. for Ichigo ^^ last rev is 4176 !
  12. :) Hello guys! I heard on a private server.. AIO characters are petrified when they leave the city! How can I add this diff in the L2JServer Epilogue last rev ? thx !
  13. Thx for share but.. dont work in L2JServer Gracia Epilogue.. last rev
  14. Hello masters :) How to modify some songs Lineage? I add Ogg patcher and have a program to convert mp3 to ogg but when I replace for example being, NT_Giran does not work and the original music remains the same. But when I use any folder patched gracia final works, would be some dll file? How to change it in Gracia Epilogue? thx for all!
  15. I using L2jServer 3696 and no have errors during compilation or in start GS...
  16. Sorry Matim So.. when I tested the system on the old server Red Line there could use buffs, and special items starting at points accrued when mobs ditched... On this code, I found a source in See: Index: java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java =================================================================== --- java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java (revision 3695) +++ java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java (working copy) @@ -32,6 +32,7 @@ import net.sf.l2j.gameserver.model.itemcontainer.PcInventory; import net.sf.l2j.gameserver.network.SystemMessageId; import net.sf.l2j.gameserver.network.serverpackets.ExBrExtraUserInfo; +import net.sf.l2j.gameserver.network.serverpackets.ExPCCafePointInfo; // add - PCCafePoint import net.sf.l2j.gameserver.network.serverpackets.ItemList; import net.sf.l2j.gameserver.network.serverpackets.StatusUpdate; import net.sf.l2j.gameserver.network.serverpackets.SystemMessage; @@ -241,6 +242,17 @@ } break; } + // add start - PCCafePoint + case 14559: + { + if (player.getPCCafePoint() < e.getItemCount() * _amount) + { + player.sendPacket(new SystemMessage(SystemMessageId.SHORT_OF_ACCUMULATED_POINTS)); + return; + } + break; + } + // add end default: { // if this is not a list that maintains enchantment, check the count of all items that have the given id. @@ -284,6 +296,18 @@ player.sendPacket(new ExBrExtraUserInfo(player)); break; } + // add start - PCCafePoint + case 14559: + { + int costPoint = (int)(e.getItemCount() * _amount); + int leftPoint = player.getPCCafePoint() - costPoint; + player.setPCCafePoint(leftPoint); + player.sendPacket(new SystemMessage(SystemMessageId.USING_S1_PCPOINT).addItemNumber(costPoint)); + costPoint *= -1; + player.sendPacket(new ExPCCafePointInfo(player.getPCCafePoint(), costPoint, 2, 10000, 4)); + break; + } + // add end default: { Index: java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java =================================================================== --- java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java (revision 3695) +++ java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java (working copy) @@ -439,6 +439,8 @@ TvTEvent.onLogin(activeChar); L2ClassMasterInstance.showQuestionMark(activeChar); + + activeChar.startPCCafePointTask(); // add - PCCafePoint } /** Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 3695) +++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (working copy) @@ -163,6 +163,7 @@ import net.sf.l2j.gameserver.network.serverpackets.ExGetOnAirShip; import net.sf.l2j.gameserver.network.serverpackets.ExOlympiadMode; import net.sf.l2j.gameserver.network.serverpackets.ExOlympiadUserInfo; +import net.sf.l2j.gameserver.network.serverpackets.ExPCCafePointInfo; // add - PCCafePoint import net.sf.l2j.gameserver.network.serverpackets.ExPrivateStoreSetWholeMsg; import net.sf.l2j.gameserver.network.serverpackets.ExSetCompassZoneCode; import net.sf.l2j.gameserver.network.serverpackets.ExSpawnEmitter; @@ -253,9 +254,9 @@ private static final String DELETE_SKILL_SAVE = "DELETE FROM character_skills_save WHERE charId=? AND class_index=?"; // Character Character SQL String Definitions: - private static final String INSERT_CHARACTER = "INSERT INTO characters (account_name,charId,char_name,level,maxHp,curHp,maxCp,curCp,maxMp,curMp,face,hairStyle,hairColor,sex,exp,sp,karma, fame,pvpkills,pkkills,clanid,race,classid,deletetime,cancraft,title,accesslevel,online,isin7sdungeon,clan_privs,wantspeace, base_class,newbie,nobless,power_grade,last_recom_date) values ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; - private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,face=?,hairStyle=?,hairColor=?,sex=?,heading=?,x=?,y=?,z=?, exp=?,expBeforeDeath=?,sp=?,karma=?,fame=?,pvpkills=?,pkkills=?,rec_have=?,rec_left=?,clanid=?,race=?,classid=?, deletetime=?,title=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?, punish_level=?,punish_timer=?,newbie=?,nobless=?,power_grade=?,subpledge=?,last_recom_date=?,lvl_joined_academy=?, apprentice=?,sponsor=?,varka_ketra_ally=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?, death_penalty_level=?,bookmarkslot=?,vitality_points=? WHERE charId=?"; - private static final String RESTORE_CHARACTER = "SELECT account_name, charId, char_name, level, maxHp, curHp, maxCp, curCp, maxMp, curMp, face, hairStyle, hairColor, sex, heading, x, y, z, exp, expBeforeDeath, sp, karma, fame, pvpkills, pkkills, clanid, race, classid, deletetime, cancraft, title, rec_have, rec_left, accesslevel, online, char_slot, lastAccess, clan_privs, wantspeace, base_class, onlinetime, isin7sdungeon, punish_level, punish_timer, newbie, nobless, power_grade, subpledge, last_recom_date, lvl_joined_academy, apprentice, sponsor, varka_ketra_ally,clan_join_expiry_time,clan_create_expiry_time,death_penalty_level,bookmarkslot,vitality_points FROM characters WHERE charId=?"; + private static final String INSERT_CHARACTER = "INSERT INTO characters (account_name,charId,char_name,level,maxHp,curHp,maxCp,curCp,maxMp,curMp,face,hairStyle,hairColor,sex,exp,sp,karma, fame,pvpkills,pkkills,clanid,race,classid,deletetime,cancraft,title,accesslevel,online,isin7sdungeon,clan_privs,wantspeace, base_class,newbie,nobless,power_grade,last_recom_date,pc_point) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"; // edit - PCCafePoint + private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,face=?,hairStyle=?,hairColor=?,sex=?,heading=?,x=?,y=?,z=?, exp=?,expBeforeDeath=?,sp=?,karma=?,fame=?,pvpkills=?,pkkills=?,rec_have=?,rec_left=?,clanid=?,race=?,classid=?, deletetime=?,title=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?, punish_level=?,punish_timer=?,newbie=?,nobless=?,power_grade=?,subpledge=?,last_recom_date=?,lvl_joined_academy=?, apprentice=?,sponsor=?,varka_ketra_ally=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?, death_penalty_level=?,bookmarkslot=?,vitality_points=?,pc_point=? WHERE charId=?"; // edit - PCCafePoint + private static final String RESTORE_CHARACTER = "SELECT account_name, charId, char_name, level, maxHp, curHp, maxCp, curCp, maxMp, curMp, face, hairStyle, hairColor, sex, heading, x, y, z, exp, expBeforeDeath, sp, karma, fame, pvpkills, pkkills, clanid, race, classid, deletetime, cancraft, title, rec_have, rec_left, accesslevel, online, char_slot, lastAccess, clan_privs, wantspeace, base_class, onlinetime, isin7sdungeon, punish_level, punish_timer, newbie, nobless, power_grade, subpledge, last_recom_date, lvl_joined_academy, apprentice, sponsor, varka_ketra_ally,clan_join_expiry_time,clan_create_expiry_time,death_penalty_level,bookmarkslot,vitality_points,pc_point FROM characters WHERE charId=?"; // edit - PCCafePoint // Character Teleport Bookmark: private static final String INSERT_TP_BOOKMARK = "INSERT INTO character_tpbookmark (charId,Id,x,y,z,icon,tag,name) values (?,?,?,?,?,?,?,?)"; @@ -6004,6 +6005,7 @@ stopChargeTask(); stopFameTask(); stopVitalityTask(); + stopPCCafePointTask(); // add - PCCafePoint } /** @@ -7065,6 +7067,7 @@ statement.setInt(34, isNoble() ? 1 :0); statement.setLong(35, 0); statement.setLong(36,System.currentTimeMillis()); + statement.setInt(37, getPCCafePoint()); // add - PCCafePoint statement.executeUpdate(); statement.close(); @@ -7249,6 +7252,8 @@ // Set Teleport Bookmark Slot player.setBookMarkSlot(rset.getInt("BookmarkSlot")); + player.setPCCafePoint(rset.getInt("pc_point")); // add - PCCafePoint + // Retrieve the name and ID of the other characters assigned to this account. PreparedStatement stmt = con.prepareStatement("SELECT charId, char_name FROM characters WHERE account_name=? AND charId<>?"); stmt.setString(1, player._accountName); @@ -7581,7 +7586,8 @@ statement.setLong(51, getDeathPenaltyBuffLevel()); statement.setInt(52, getBookMarkSlot()); statement.setInt(53, getVitalityPoints()); - statement.setInt(54, getObjectId()); + statement.setInt(54, getPCCafePoint()); // add - PCCafePoint + statement.setInt(55, getObjectId()); statement.execute(); statement.close(); @@ -13976,4 +13982,57 @@ break; } } + + private int _PCCafePoint = 20000; + protected Future<?> _PCCafePontTask = null; + + public int getPCCafePoint() + { + return _PCCafePoint; + } + + public void setPCCafePoint(int point) + { + _PCCafePoint = point; + } + + public void startPCCafePointTask() + { + if (_PCCafePontTask == null) + _PCCafePontTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new PCCafePontTask(this), 1800000, 1800000); + sendPacket(new ExPCCafePointInfo(getPCCafePoint(), 1, 1, 10000, 0)); + } + + private void stopPCCafePointTask() + { + if (_PCCafePontTask != null) + { + _PCCafePontTask.cancel(false); + _PCCafePontTask = null; + } + } + + class PCCafePontTask implements Runnable + { + private final L2PcInstance _player; + protected PCCafePontTask(L2PcInstance player) + { + _player = player; + } + public void run() + { + if (Rnd.get(100) > 90) + { + setPCCafePoint(getPCCafePoint() + 200); + _player.sendPacket(new SystemMessage(SystemMessageId.ACQUIRED_S1_PCPOINT_DOUBLE).addItemNumber(200)); + _player.sendPacket(new ExPCCafePointInfo(getPCCafePoint(), 200, 1, 10000, 0)); + } + else + { + setPCCafePoint(getPCCafePoint() + 100); + _player.sendPacket(new SystemMessage(SystemMessageId.ACQUIRED_S1_PCPOINT).addItemNumber(100)); + _player.sendPacket(new ExPCCafePointInfo(getPCCafePoint(), 100, 1, 10000, 0)); + } + } + } } 2. Add data-side handlers TARGET : handlers.MasterHandler.java . . private static void loadItemHandlers() { + ItemHandler.getInstance().registerItemHandler(new PCCafePoint()); // add - PCCafePoint ItemHandler.getInstance().registerItemHandler(new ScrollOfResurrection()); ADD : handlers.itemhandlers.PCCafePoint.java /* * 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 handlers.itemhandlers; /** * * @author digiri99 < L2Dot Corea Team> * http://www.l2jtw..../trac/L2AE */ import net.sf.l2j.gameserver.handler.IItemHandler; import net.sf.l2j.gameserver.model.L2ItemInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.actor.L2Playable; import net.sf.l2j.gameserver.network.SystemMessageId; import net.sf.l2j.gameserver.network.serverpackets.ExPCCafePointInfo; import net.sf.l2j.gameserver.network.serverpackets.SystemMessage; public class PCCafePoint implements IItemHandler { public void useItem(L2Playable player, L2ItemInstance item) { if (!(player instanceof L2PcInstance)) return; L2PcInstance activeChar = (L2PcInstance) player; if (activeChar.isCastingNow()) return; activeChar.destroyItem("PC BANG POINT ", item.getObjectId(), 1, null, false); int leftPoint = activeChar.getPCCafePoint() + 7000; activeChar.setPCCafePoint(leftPoint); activeChar.sendPacket(new SystemMessage(SystemMessageId.ACQUIRED_S1_PCPOINT).addItemNumber(7000)); activeChar.sendPacket(new ExPCCafePointInfo(activeChar.getPCCafePoint(), 7000, 1, 10000, 0)); } } 3. Add a database field, and specify the item handler 3.1 Character in the PCpoint table Add Field Points 3.1.1 In the absence of an existing character information ALTER TABLE characters ADD `pc_point` int(11) NOT NULL; 3.1.2 If you have an existing character information ALTER TABLE characters ADD `pc_point` int(11) DEFAULT NULL; UPDATE characters SET pc_point = '20000'; 3.2 Others in this PCpoint item table handler points to the items specified Coupon UPDATE etcitem SET handler='PCCafePoint' where item_id='14559'; 4. multisell exercise <?xml version='1.0' encoding='utf-8'?> <!-- vitamin item : PC point buy --> <list> <item id="1"> <production id="13239" count="1"/> <ingredient id="14559" count="1000"/> </item> <item id="2"> <production id="13240" count="1"/> <ingredient id="14559" count="1000"/> </item> <item id="3"> <production id="13241" count="1"/> <ingredient id="14559" count="1000"/> </item> <item id="4"> <production id="13242" count="1"/> <ingredient id="14559" count="1000"/> </item> <item id="5"> <production id="13243" count="1"/> <ingredient id="14559" count="1000"/> </item> <item id="6"> <production id="13244" count="1"/> <ingredient id="14559" count="1000"/> </item> <item id="7"> <production id="13245" count="1"/> <ingredient id="14559" count="1000"/> </item> <item id="8"> <production id="13246" count="1"/> <ingredient id="14559" count="1000"/> </item> <item id="9"> <production id="13247" count="1"/> <ingredient id="14559" count="1000"/> </item> <item id="10"> <production id="13022" count="1"/> <ingredient id="14559" count="5000"/> </item> <item id="11"> <production id="14053" count="1"/> <ingredient id="14559" count="5000"/> </item> <item id="12"> <production id="14054" count="1"/> <ingredient id="14559" count="5000"/> </item> <item id="13"> <production id="14091" count="1"/> <ingredient id="14559" count="5000"/> </item> <item id="14"> <production id="14092" count="1"/> <ingredient id="14559" count="5000"/> </item> <item id="15"> <production id="13254" count="1"/> <ingredient id="14559" count="5000"/> </item> <item id="16"> <production id="14093" count="1"/> <ingredient id="14559" count="5000"/> </item> <item id="17"> <production id="14094" count="1"/> <ingredient id="14559" count="5000"/> </item> <item id="18"> <production id="14095" count="1"/> <ingredient id="14559" count="5000"/> </item> <item id="19"> <production id="13019" count="1"/> <ingredient id="14559" count="5000"/> </item> <item id="20"> <production id="13020" count="1"/> <ingredient id="14559" count="5000"/> </item> <item id="21"> <production id="13017" count="1"/> <ingredient id="14559" count="5000"/> </item> <item id="22"> <production id="13018" count="1"/> <ingredient id="14559" count="5000"/> </item> <item id="23"> <production id="14064" count="1"/> <ingredient id="14559" count="10000"/> </item> <item id="24"> <production id="14063" count="1"/> <ingredient id="14559" count="10000"/> </item> <item id="25"> <production id="14062" count="1"/> <ingredient id="14559" count="10000"/> </item> <item id="26"> <production id="14061" count="1"/> <ingredient id="14559" count="10000"/> </item> <item id="27"> <production id="13015" count="1"/> <ingredient id="14559" count="20000"/> </item> <item id="28"> <production id="13016" count="1"/> <ingredient id="14559" count="500"/> </item> <item id="29"> <production id="13021" count="1"/> <ingredient id="14559" count="5000"/> </item> <item id="30"> <production id="14055" count="1"/> <ingredient id="14559" count="10000"/> </item> <item id="31"> <production id="10649" count="1"/> <ingredient id="14559" count="1000"/> </item> <item id="32"> <production id="14559" count="1"/> <ingredient id="3554" count="2"/> </item> </list> I change this to Gracia Epilogue, but still dont know how to make the event work, here is the code This is the only picture I have about this system.. :-\
  17. Ow.. yeah About this.. see my post in L2J Sever Forum. thx
  18. Hi masters! I need this PCpoint System to Gracia Epilogue, I try some codes but not work yet! :-[
×
×
  • Create New...