janiko
Members-
Posts
205 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Everything posted by janiko
-
can u help me to fix two errors? missing this function getServerRunTime() getRealOnline()
-
Amaizing share
-
[Share]Server Traffic(php)
janiko replied to EdenEternal's topic in Server Development Discussion [L2J]
nice but it would be better in ajax -
How to reload .jar script
janiko replied to janiko's question in Request Server Development Help [L2J]
i want to make reload without restarting server, is it possible? -
Can someone help me to write code to reload .jar file from libs?
-
NullException Error in quest
janiko replied to janiko's question in Request Server Development Help [L2J]
i'll try if works then i tell u ;) -
Lineage II Development Idea
janiko replied to mavmdox's topic in Server Development Discussion [L2J]
nice idea but hard to organize -
slow project ;(
-
NullException Error in quest
janiko replied to janiko's question in Request Server Development Help [L2J]
bypass is working but i think OpenDoor causes that nullexception error, cuz when player talks to open door then he shoots error. im sure bypass has no error, i cant find error to fix. im sure that 1306 not causes error. -
Can someone help me to solve this problem? import java.util.ArrayList; import java.util.Collection; import com.l2jserver.Config; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.ai.CtrlIntention; import com.l2jserver.gameserver.datatables.SkillTable; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.instancemanager.ZoneManager; import com.l2jserver.gameserver.instancemanager.InstanceManager.InstanceWorld; import com.l2jserver.gameserver.model.L2CharPosition; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2DoorInstance; import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.entity.Instance; import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; import com.l2jserver.gameserver.model.zone.L2ZoneType; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.ExStartScenePlayer; import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse; import com.l2jserver.gameserver.network.serverpackets.MoveToLocation; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; import com.l2jserver.gameserver.util.Broadcast; import com.l2jserver.gameserver.util.Util; import com.l2jserver.util.Rnd; public class Q195_SevenSingSecretRitualOfThePriests extends Quest { private static final String qn = "195_SevenSingSecretRitualOfThePriests"; // INSTANCE DATA private static final int INSTANCE_ID = 111; // TELEPORT DATA private static final int[] ENTER_COORDS = { -76158, 213412, -7120 }; private static final int[] EXIT_COORDS = { -12532, 122329, -2984 }; private static final int[] TELE_IF_DETECTED1 = { -74959, 209240, -7472 }; private static final int[] TELE_IF_DETECTED2 = { -77706, 208994, -7616 }; private static final int[] TELE_IF_DETECTED3 = { -80176, 205855, -7893 }; private static final int[] TELE_IF_WRONG_CODE3 = { -78240, 205858, -7856 }; // ZONES private static final int[] ZONES = { 20500, 20501, 20502, 20503 }; // NPC private static final int CLAUDIA_ATHEBALDT = 31001; private static final int JHON = 32576; private static final int RAYMOND = 30289; private static final int IASON_HEINE = 30969; private static final int LIGHT_OF_DAWN = 32575; private static final int DARKNESS_OF_DAWN = 32579; private static final int IDENTITY_CONFIRM_DEVICE = 32578; private static final int PASSWORD_ENTRY_DEVICE = 32577; // MONSTERS private static final int[] MONSTERS = { 18834, 18835, 27351 }; // MONSTERS TEXT private static final String[] TEXT = { "How dare you intrude with that transformation! Get lost!", "Intruder! Protect the Priests of Dawn!", "Who are you?! A new face like you can't approach this place!" }; // CORRECT BOOKSHELF private static final int[] CORRECT_BOOK = { 32581, -81393, 205565 }; // ITEMS private static final int IDENTITY_CARD = 13822; private static final int EMPEROR_CONTRACT = 13823; // TRANSFORMATION private static final int GUARD = 6204; // DOORS private static final int START_DOORS = 17240001; private static final int MIDDLE_DOORS = 17240003; private static final int FINAL_DOORS = 17240005; // GUARDS private static final int[][] MOVING_GUARDS = { { 18835, -75048, 212116, -7318, -74842, 212116, -7318 }, { 18835, -75371, 212116, -7317, -75628, 212116, -7319 }, { 18835, -74480, 212116, -7319, -74253, 212116, -7319 }, { 18835, -74703, 211466, -7317, -74703, 211172, -7319 }, { 18835, -75197, 211466, -7317, -75197, 211172, -7319 }, { 18834, -75245, 210148, -7415, -74677, 210148, -7415 }, { 18834, -74683, 209819, -7415, -75241, 209819, -7415 }, { 18834, -74224, 208285, -7511, -74498, 208285, -7511 }, { 18834, -74202, 207063, -7509, -74508, 207063, -7509 }, { 18834, -74954, 206671, -7511, -74954, 206356, -7511 }, { 18834, -74270, 206518, -7511, -75654, 206518, -7511 }, { 18834, -75412, 206894, -7504, -75699, 206894, -7504 }, { 18834, -75553, 208838, -7511, -75553, 207660, -7511 }, { 18834, -76390, 207855, -7607, -76623, 207855, -7607 }, { 18834, -76610, 208182, -7606, -76392, 208182, -7606 }, { 18834, -76384, 208832, -7606, -76620, 208832, -7606 }, { 18834, -76914, 209443, -7610, -76914, 209195, -7610 }, { 18834, -77188, 209191, -7607, -77188, 209440, -7607 }, { 18835, -78039, 208472, -7703, -77369, 208472, -7703 }, { 18835, -77703, 208231, -7701, -77703, 207284, -7701 }, { 18835, -77304, 208027, -7701, -76979, 208027, -7703 }, { 18835, -77044, 207796, -7701, -78350, 207796, -7704 }, { 18835, -78085, 208038, -7701, -78454, 208038, -7703 }, { 18835, -77336, 207413, -7702, -77032, 207112, -7703 }, { 18834, -78894, 206130, -7893, -78729, 206298, -7893 }, { 18834, -79050, 206272, -7893, -78874, 206442, -7893 }, { 18834, -79360, 206372, -7893, -79360, 206718, -7893 }, { 18834, -78910, 205582, -7893, -78748, 205416, -7893 }, { 18834, -79057, 205436, -7893, -78899, 205275, -7893 }, { 18834, -79361, 205336, -7893, -79363, 204998, -7893 }, { 18834, -79655, 205440, -7893, -79820, 205273, -7893 }, { 18834, -79802, 205579, -7893, -79964, 205415, -7893 }, { 18834, -79792, 206111, -7893, -79964, 206295, -7893 }, { 18834, -79648, 206258, -7893, -79814, 206430, -7893 }, { 27351, -81963, 205857, -7989, -81085, 205857, -7989 } }; public Q195_SevenSingSecretRitualOfThePriests(int questId, String name, String descr) { super(questId, name, descr); addStartNpc(CLAUDIA_ATHEBALDT); addTalkId(CLAUDIA_ATHEBALDT); addTalkId(JHON); addTalkId(RAYMOND); addTalkId(IASON_HEINE); addTalkId(LIGHT_OF_DAWN); addTalkId(IDENTITY_CONFIRM_DEVICE); addTalkId(DARKNESS_OF_DAWN); addTalkId(PASSWORD_ENTRY_DEVICE); addTalkId(CORRECT_BOOK[0]); for (int i : MONSTERS) { addAggroRangeEnterId(i); addAttackId(i); } questItemIds = new int[] { IDENTITY_CARD, EMPEROR_CONTRACT }; } @Override public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { String htmltext = event; QuestState st = player.getQuestState(qn); if (st == null) return htmltext; if ("31001-4.htm".equals(event)) { st.set("cond","1"); st.setState(State.STARTED); st.playSound(SOUND_ACCEPT); } else if ("32576-1.htm".equals(event)) { st.set("cond","2"); st.giveItems(IDENTITY_CARD, 1); } else if ("30289-3.htm".equals(event)) { st.set("cond","3"); st.getPlayer().doCast(SkillTable.getInstance().getInfo(GUARD, 1)); } else if ("30289-6.htm".equals(event)) { if (st.getPlayer().isTransformed()) st.getPlayer().untransform(); st.getPlayer().doCast(SkillTable.getInstance().getInfo(GUARD, 1)); } else if ("30289-7.htm".equals(event)) { if (st.getPlayer().isTransformed()) st.getPlayer().untransform(); } else if ("30289-10.htm".equals(event)) { if (st.getPlayer().isTransformed()) st.getPlayer().untransform(); st.set("cond","4"); } else if ("32581-3.htm".equals(event)) { int instID = st.getPlayer().getInstanceId(); if (instID != 0) InstanceManager.getInstance().destroyInstance(instID); teleportPlayer(st.getPlayer(),EXIT_COORDS,0); } else if ("30969-2.htm".equals(event)) { st.addExpAndSp(52518015, 5817677); st.unset("cond"); st.exitQuest(false); st.playSound(SOUND_FINISH); } else if("32578-1.htm".equals(event)) { InstanceWorld world = InstanceManager.getInstance().getPlayerWorld(st.getPlayer()); openDoor(st.getPlayer(), world.instanceId); return null; } else if ("32577-1.htm".equals(event)) { InstanceWorld world = InstanceManager.getInstance().getPlayerWorld(st.getPlayer()); openDoor(st.getPlayer(), world.instanceId); return null; } else if ("wrong".equals(event)) { st.getPlayer().teleToLocation(TELE_IF_WRONG_CODE3[0], TELE_IF_WRONG_CODE3[1], TELE_IF_WRONG_CODE3[2], false); htmltext = "32577-2.htm"; } else if ("empty".equals(event)) { return null; } if ("return".equals(event)) { int[] cords = ENTER_COORDS; L2ZoneType zone = getZoneForCharacter(npc); if (zone != null) switch (zone.getId()) { case 20500: cords = ENTER_COORDS; break; case 20501: cords = TELE_IF_DETECTED1; break; case 20502: cords = TELE_IF_DETECTED2; break; case 20503: cords = TELE_IF_DETECTED3; break; } InstanceWorld world = InstanceManager.getInstance().getPlayerWorld(player); if (world != null && world.templateId == INSTANCE_ID) ThreadPoolManager.getInstance().scheduleGeneral(new Teleport(player, cords, world.instanceId), 1000); return null; } return htmltext; } @Override public String onTalk(L2Npc npc, L2PcInstance player) { String htmltext = getNoQuestMsg(player); final QuestState st = player.getQuestState(qn); if(st == null) return htmltext; final int cond = st.getInt("cond"); final int npcId = npc.getNpcId(); switch (st.getState()) { case State.COMPLETED: htmltext = getNoQuestMsg(player); break; case State.CREATED: if (npcId == CLAUDIA_ATHEBALDT) { if (player.getLevel() >= 79) { final QuestState qs = st.getPlayer().getQuestState("194_SevenSignContractOfMammon"); if (qs != null) { if (qs.isCompleted()) htmltext = "31001-0.htm"; else htmltext = "31001-0b.htm"; } } else { htmltext = "31001-0a.htm"; st.exitQuest(true); } } break; case State.STARTED: switch (npcId) { case CLAUDIA_ATHEBALDT: if (cond == 1) htmltext = "31001-5.htm"; break; case JHON: switch (cond) { case 1: htmltext = "32576-0.htm"; break; case 2: htmltext = "32576-2.htm"; break; } break; case RAYMOND: switch (cond) { case 2: htmltext = "30289-0.htm"; break; case 3: if (player.getInventory().getItemByItemId(EMPEROR_CONTRACT) != null) htmltext = "30289-8.htm"; else htmltext = "30289-5.htm"; break; case 4: htmltext = "30289-11.htm"; break; } break; case IASON_HEINE: if (cond == 4) htmltext = "30969-0.htm"; break; case LIGHT_OF_DAWN: if (player.isTransformed()) { if (player.getTransformationId() == 113) { enterInstance(player); htmltext = "32575-2.htm"; } } else htmltext = "32575-1.htm"; break; case DARKNESS_OF_DAWN: int instID = st.getPlayer().getInstanceId(); if (instID != 0) InstanceManager.getInstance().destroyInstance(instID); teleportPlayer(st.getPlayer(),EXIT_COORDS,0); htmltext = "32579-0.htm"; break; case IDENTITY_CONFIRM_DEVICE: htmltext = "32578-0.htm"; break; case PASSWORD_ENTRY_DEVICE: htmltext = "32577-0.htm"; break; case 32581: htmltext = "32581-0.htm"; if (npc.getSpawn().getLocx() == CORRECT_BOOK[1] && npc.getSpawn().getLocy() == CORRECT_BOOK[2]) { if (st.getPlayer().getInventory().getItemByItemId(EMPEROR_CONTRACT) == null) st.giveItems(EMPEROR_CONTRACT, 1); htmltext = "32581-1.htm"; } break; } break; } return htmltext; } @Override public String onAggroRangeEnter(L2Npc npc, L2PcInstance player, boolean isPet) { handleReturnMagic(player,npc); return super.onAggroRangeEnter(npc, player, isPet); } @Override public String onAttack(L2Npc npc, L2PcInstance attacker, int damage, boolean isPet) { handleReturnMagic(attacker,npc); return super.onAttack(npc, attacker, damage, isPet); } private void handleReturnMagic(L2PcInstance player, L2Npc npc) { if (!npc.isCastingNow()) { switch (npc.getNpcId()) { case 18834: npc.broadcastNpcSay(TEXT[0]); break; case 18835: npc.broadcastNpcSay(TEXT[1]); break; case 27351: npc.broadcastNpcSay(TEXT[2]); break; } npc.broadcastPacket(new MagicSkillUse(npc, player, 5978, 1, 2400, 0)); startQuestTimer("return", 2000, npc, player); ThreadPoolManager.getInstance().scheduleGeneral(new returnTask(npc), 5000); } } private synchronized void enterInstance(L2PcInstance player) { // Check for existing instances for this player InstanceWorld world = InstanceManager.getInstance().getPlayerWorld(player); if (world != null) { if (world.templateId != INSTANCE_ID) { player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ALREADY_ENTERED_ANOTHER_INSTANCE_CANT_ENTER)); return; } Instance inst = InstanceManager.getInstance().getInstance(world.instanceId); if (inst != null) { teleportPlayer(player, ENTER_COORDS, world.instanceId); if (player != null) ThreadPoolManager.getInstance().scheduleGeneral(new handleNpcAiAndMoveTask(player), 20000); } return; } else { final int instanceId = InstanceManager.getInstance().createDynamicInstance("SecretRitualOfThePriests.xml"); world = new InstanceWorld(); world.instanceId = instanceId; world.templateId = INSTANCE_ID; InstanceManager.getInstance().addWorld(world); _log.info("SecretRitualOfThePriests: started instance: " + instanceId + " created by player: " + player.getName()); world.allowed.add(player.getObjectId()); teleportPlayer(player, ENTER_COORDS, instanceId); spawnMovingGuards(world.instanceId); ThreadPoolManager.getInstance().scheduleGeneral(new handleNpcAiAndMoveTask(player), 20000); } } private static final void teleportPlayer(L2PcInstance player, int[] coords, int instanceId) { player.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE); player.setInstanceId(instanceId); player.teleToLocation(coords[0], coords[1], coords[2], false); } private void openDoor(L2PcInstance player, int instanceId) { final ArrayList<L2DoorInstance> doors = InstanceManager.getInstance().getInstance(instanceId).getDoors(); for (L2DoorInstance door : doors) { switch (door.getDoorId()) { case START_DOORS: Collection<L2PcInstance> knows = door.getKnownList().getKnownPlayersInRadius(500); for (L2PcInstance pc : knows) { if (pc == player && !door.getOpen()) { player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.USING_INVISIBLE_SKILL_SNEAK_IN)); player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.MALE_GUARDS_CAN_DETECT_FEMALE_CANT)); player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.FEMALE_GUARDS_NOTICE_FROM_FAR_AWAY_BEWARE)); door.openMe(); // Set npc to invul here, when player is starting for (L2Npc npc : InstanceManager.getInstance().getInstance(instanceId).getNpcs()) { if (Util.contains(MONSTERS, npc.getNpcId())) { ((L2MonsterInstance) npc).setCanAgroWhileMoving(); npc.setIsInvul(true); } } } } break; case MIDDLE_DOORS: knows = door.getKnownList().getKnownPlayersInRadius(500); for (L2PcInstance pc : knows) { if (pc == player && !door.getOpen()) { player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.DOOR_IS_ENTRANCE_APPROACH_DEVICE)); door.openMe(); player.showQuestMovie(ExStartScenePlayer.SSQ_RITUAL_OF_PRIEST); } } break; case FINAL_DOORS: knows = door.getKnownList().getKnownPlayersInRadius(500); for (L2PcInstance pc : knows) { if (pc == player && !door.getOpen()) door.openMe(); } break; } } } private void spawnMovingGuards(int instanceId) { for (int i = 0; i < MOVING_GUARDS.length; i++) { ThreadPoolManager.getInstance().scheduleAi( new movmentTask( addSpawn(MOVING_GUARDS[i][0], MOVING_GUARDS[i][1], MOVING_GUARDS[i][2], MOVING_GUARDS[i][3], 0, false, 0, false, instanceId), MOVING_GUARDS[i][1], MOVING_GUARDS[i][2], MOVING_GUARDS[i][3], MOVING_GUARDS[i][4], MOVING_GUARDS[i][5], MOVING_GUARDS[i][6], getMoveDelay(MOVING_GUARDS[i]) ), Rnd.get(1000, 5000) ); } } private int getMoveDelay(int[] array) { return (int) ((Util.calculateDistance(array[1], array[2], array[4], array[5])/50)*1000)+200; } private class movmentTask implements Runnable { private L2Npc _npc; private int _x1; private int _y1; private int _z1; private int _x2; private int _y2; private int _z2; private int _moveDelay; private movmentTask(L2Npc npc, int x1, int y1, int z1, int x2, int y2, int z2, int moveDelay) { _npc = npc; _x1 = x1; _y1 = y1; _z1 = z1; _x2 = x2; _y2 = y2; _z2 = z2; _moveDelay = moveDelay; } @Override public void run() { if (_npc == null) return; if (_npc.getPosition().getX() == _x1 && _npc.getPosition().getY() == _y1) _npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new L2CharPosition(_x2, _y2, _z2, 0)); else if (_npc.getPosition().getX() == _x2 && _npc.getPosition().getY() == _y2) _npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new L2CharPosition(_x1, _y1, _z1, 0)); else _npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new L2CharPosition(_x1, _y1, _z1, 0)); MoveToLocation move = new MoveToLocation(_npc); _npc.broadcastPacket(move, 5000); ThreadPoolManager.getInstance().scheduleAi(new movmentTask(_npc, _x1, _y1, _z1, _x2, _y2, _z2, _moveDelay), _moveDelay); } } private class returnTask implements Runnable { private L2Npc _npc; private returnTask(L2Npc npc) { _npc = npc; } @Override public void run() { if (_npc == null) return; _npc.setWalking(); _npc.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, new L2CharPosition(_npc.getSpawn().getLocx(), _npc.getSpawn().getLocy(), _npc.getSpawn().getLocz(), _npc.getSpawn().getHeading())); MoveToLocation move = new MoveToLocation(_npc); _npc.broadcastPacket(move); } } private class handleNpcAiAndMoveTask implements Runnable { private L2PcInstance _player; private handleNpcAiAndMoveTask(L2PcInstance player) { _player = player; } @Override public void run() { if (_player != null) { L2ZoneType zone = getZoneForCharacter(_player); if (zone != null) { for (L2Character c : zone.getCharactersInside()) { if (c.getInstanceId() != _player.getInstanceId()) continue; if (c instanceof L2MonsterInstance) { if (!c.isMoving()) c.getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE); else { MoveToLocation move = new MoveToLocation(c); Broadcast.toPlayersInInstance(move, _player.getInstanceId()); } } } InstanceWorld world = InstanceManager.getInstance().getPlayerWorld(_player); if (world != null && world.templateId == INSTANCE_ID) if (_player != null) ThreadPoolManager.getInstance().scheduleGeneral(new handleNpcAiAndMoveTask(_player), 10000); } } return; } } private static final class Teleport implements Runnable { private final L2PcInstance _player; private final int _instanceId; private final int[] _cords; public Teleport(L2PcInstance player, int[] cords, int id) { _player = player; _cords = cords; _instanceId = id; } @Override public void run() { try { teleportPlayer(_player, _cords, _instanceId); } catch (Exception e) { e.printStackTrace(); } } } private static L2ZoneType getZoneForCharacter(L2Character character) { L2ZoneType zone = ZoneManager.getInstance().getZoneById(ZONES[0]); for (int i : ZONES) { zone = ZoneManager.getInstance().getZoneById(i); if (zone != null && zone.isCharacterInZone(character)) return zone; } return zone; } public static void main(String[] args) { new Q195_SevenSingSecretRitualOfThePriests(195, qn, "Seven Sing Secret Ritual Of The Priests"); if (Config.LogInfo) _log.info("Loaded: QuestId:195"); } }
-
Wyatt check forum please :)
-
[HOW TO] Earn 50€ on PayPal !(Repeatable)
janiko replied to Slade's topic in Monetization General Discussion
Send me too im interested. -
All Hi5 Quests realised except Q901 Q10295 Q10296, in 1 week this quests will be done. 300 Quests reworked in java, + less speed on loading. Working All Epics + Freya (easy)(hard) + Frintezza Dv/Loa Full working retail with running npcs () Retail Navits Advnt Blessing For Price Pm [310] Fix for Hunting Bonus, now working [309] Fixed Seed of Destructions doors [308] Clean effect handler Fear [307] Fix for Chamber of Delusion [306] CB changes [305] Fix for Admin CTF Engine [304] Fixed CTF command, now working THX Jefferson for fast report [303] Fix for/Quests/Teleports/Instance/ logInfo En/Disable [302] Update DragonTrophy Quest Htmls [301] Possible fix Q242 Q634 [300] Fix Pailaka [299] Fix For Pailaka's [298] New H5 Quests Reworked Some of them [297] Rework/Cleanup [296] Fixed SoE- Pailaka [295] Fixed Some Skills/ Added Unseal CLoack/ updated Quests [294] Clean trunk [293] Q50 [292] Update [291] Added missing configurations (CTF) Thx Jefferson [290] removed old non used configuration Fixed error in ItemRequest [289] Replacing String literal can with character literal. Equality test wi... [288] Flagged bad double comparison, added TODO task. Math round in maxAngleDiff, w... [287] Code style packets [286] Code style datatables [285] code style [284] Messages final static to static final [283] quests final static to static final [282] final static to static final [281] Fixes Shield Slam and similar skills. [280] Reworked zones [279] Fixed AI guard [278] Updated GM View packet [277] change method get player [276] Fix for templates [275] Update characters data [274] DP handlers [273] Rework game server and added new function for scripts [272] reworking... [271] Htm for Top PvP/Pk [270] SQL for Top PvP/Pk npc [269] Sry my bad :/ [268] Added npc for Top PvP/Pk [267] Clean for listeners [266] .... [265] Added Show name and can target to 65535 id [264] Updated Custom NPC SQL [263] Buffer SQL [262] Fixed Scheme Buffer [261] Added missing texts for Schema Buffer [260] Added xml support for Call of Antharas,Call of Valakas, Jewel of Antharas, J... [259] Clean and Added NPC Buffer (scheme) [258] supp. for prev. upd. [257] new mods conf [256] CTF Clean [255] Fix for 7 Sign transformation, tested Working [254] Guards of the dawn transform [253] 7Sign 195 [252] Test Script [251] CTF SQL [250] CTF Datapack [249] CTF [248] Need Test Q648 [247] Q308 upgraded to Hi5 [246] Upgraded Quests/fixed some instances [245] ... [244] [243] Fixes [242] Fix skills for previous update [241] Fix for Valakas, SMTG, Zone types, restoring clan wars [240] .txt [239] Config Done.. need test :) added missing Features [238] Config for Grand Champ. Mobs [237] Big Rework for config [236] Q10293 Update [235] Fixed ScreenDamage in .cfg /added ShowNpcLevel On/Off in cfg/ Some Missing Htmls [234] Some fixes skills and zones [233] Solve for fix SMTG , need test Updated packets [232] Fix for Sel Mahum [231]Fix for Oly config [230]CleanUp [229]Fixed Q10294 now its working TODO 2 effects inside instance [228]txt [227]c0re update DONE :) [226]Fixed doors [225]Fix Filter [224]Updated Mysql connector 5.1.18 to 5.1.20 [223]txt [222]Fix for load() [221]Synchro... 5309 [220]Fix for enchant items [219]Clean [218]ohh sorry my bad :) now fixed [217]Info for dev. team... check it.. [216]Formating [215]scripting fixes [214]Fix for Security [213]Updated and Clean for Quest support, added new protection [212]Update fishing [211]Deleted non used files [210]Update enchant system Updated Party Matching Clean [209]Faenor rework = Removing zip support [208]logs [207]Update for Admin function, moved to .xml from .sql Update clients packets Upd... [206]reworking admin function [205]Updated build.xml Instance managers Update for packets [204]Misc fixes.. db con [203]Updated L2Character, prep. for next updates [202]Update Instance Managers [201]Q10294 Update [200] [199] sry me [198] [197] Class Exception Error Fix/ Updated Some Doors/ [196] Database Installer Improvements/ some admin command handlers/ Fishing Road,Sk... [195] Replaced negateId with negateAbnormals in skills to match retail, /Fixed Xsds/ [194] Command Handler Rework [193] CleanUp/Skills/Ehnchant Routers/ Minor Changes [192] Updated Daily Quests/ StartPoints/ ClassSkillTree/ArmorSets [191] Updated Quests/ Fixed Bugs / also fixed bugs which were commited on forum/ A... [190] synchr file [189] Added missing Formulas for armors, GMs can now invite invisible players to a... [188] Fixed skills update effect for Arcane Shield [187] Fix for Quests multiple [186] Closed unclosed resources. Using ARM for ImputStream?. Cleanup. [185] Fix for Html cache, Clean fix [184] Fix for servitor instance shared elementals [183] Some Fixes [182] [181] Reworked Q182 - Q188 [180] Fixed TvT NPC, default enable custom table_npc, Thanks Jefferson Monteiro [179] New Quests some bug fixes. added new cond setCond(1); [178] Quest Structure Updated/ Added New Sound system/ updated daily quests/ added ... [177] New Quests . also edited some of them dp part core part comming soon by RobikBobik [176] ScreenDamage Function added in .cfg [175] Added two new quest/Fixed Q115 still needs test IG/ Added .CFG command coming... [174] New quests in java [173] Add H5 Raids Spawnlist [172] Updated Skills [171] Fix For Seed of Destruction [170] Rim Kama, Benom AI [169] Rim Kamaloka [168] Update Html [167] synchronizace [166] Clean and added missing files for prev. updates [165] Updated Fish and Fishing [164] Update Server Packets [163] Next AI Support for LoA Cycle [162] Added Next LoA AI [161] New Quests (Total 42) From Py To Java part 2/2 | 1123 files [160] New Quests (42) From Py To Java part 1/2 [159] Added new missing Warlords in cycle LoA, Fixed previous update changed "malru... [158] Added Missing Hunters in cycle LOA, and Fixed previous Hunters [157] Added Missing _log.info [156] Update skills, routes, zone [155] Q115 need test ingame [154] Updated Quest Items [153] Added H5 Quests/ Upgraded Some Of Them/ Added Rnd.chance() function/ TODO: Je... [152] COoords for me [151] smtg [150] zone fix [149] DataPack Updated and Fixed [148] synchronizace.txt [147] Fixes core [146] synchronizace.txt [145] Updated Core... 24 000 lines, DP side coming tomorrow GN [144] Updated Jewel Of Antharas/CallofAntharas [143] Htmls for Q10504 [142] New H5 Quest core part [141] Fixed Malruk.. comming soon next monsters [140] Updated Daily Quest Clean Upgraded Q645 on H5 needs test [139] Deleted Antharas Lair Walkers [138] New Quests// added IsNewbie() function to improve newbie quests [137] Fix For RaidBossSpawnManager: Could not load raidboss #25671 from DB RaidBoss... [136] Fixes :) [135] FIX NPC EL and AI [134] Fix NPC [133] Deleted Debug [132] .properties [131] Configs and clean [131] Configs and clean [130] Update configs [129] Missing Imports [128] New Quests in java [127] Next part.. comming soon DO NOT UPDATE ! [126] Next Part comming soon, please do not Update ! [125] [124] next edited scripts for configs [123] Unusefull [122] Set to normal requi... [121] So sorry my bad :P now it fixed [120] seven_signs NotDone Yet [119] UnDebug frintezza script, need to test now ;) later will be fixed. Ready for ... [118] Prepairing :) need todo on all instances :P [117] Update CORE [116] Update Handlers [115] Editted build.xml [114] Fix [113] FIX SKILLS and add zone [112] Some fixes and deleted // :) [111] Q144 [110] Some fixes :) [109] [108] [107] ToTheMonstery [106] Seven Sing Part 3 [105] Seven Sings part 2 [104] Added missing videos :P [103] sql [102] Updated Default folder [101] Deleted not needed 2 [100] Deleted not needed [99] Seven Sings part 1 [98] Chain Heal last fix [97] Core Support for preivous update [96] Updated skills [95] NevitsHerald script and support [94] NevitsHerald [93] disable _log from listeners and fix [92] Task for Advent [91] Instances [90] New Quests Part 3/ Uploading Html | Finished Quests Part [89] New Quests Part 2/ Uploading new java quests [88] Update DV [87] Q10287 [86] New Quests Part 1/ Deleteing Old py [85] ICQ2 Q10286 [84] Fix IQC1 Q10285 [83] SQL [82] Deleted non used folder [81] IQC 2 htms and fix for Q10285 [80] Fix for Q10285 [79] Fix Q 10285 [78] scripts.cfg [77] Q10285 - need to be still in DataPack - not move to Core [76] FIx for 10286 [75] Quests Part 2 [74] Htms [73] Fix 10284 [72] htm fix [71] Updated CONFIGURATION FILES [70] Reworked Champion Configs -- Xp Sp Calculation Still needs to fix Added Drag... [69] Fixed Champion Mobs-- Tested Working Comming soon new configs for champion mob [68] New Quests Core part 1/ upgrade for dp and another quests coming soon [67] Updated and Fixed SoD, Fixed Spawn fortress portals And renamed from Stage1 t... [66] Zone For SoD [65] SoD testing and Fixing [64] Cosmetic [63] added info about synchronization :P [62] GrandChampion .. Need Test In Game [61] SQL [60] double load Qs [59] Update for today :) core part - dp side is comming...Packets,Antharas,Huning,... [58] Group temple script [57] SH fix [56] Super Haste [55] Walkers [54] Update [53] Update [52] Fixed NPC aura and enchant effect. Removed champ aura, because is not ready f... [51] [50] Fixes sorry [49] ... [48] Deleted Quests [47] Update 2 :) [46] Update :))) [45] Dp side for previous Update [44] --Moved Custom Folder to Core and renamed it to Other. --Added folder for vil... [43] Fortress Reward [42] Q28/29 added Separated Soul [41] Dp Side [40] Some New Quests/ Not Tested Q191 27 28 others work [39] xmls [38] ... sry [37] Updates/Fixes [36] instances... need todo: packages. errors and log info... GN [35] htmls [34] Fixes [33] Added loginfo, fixed packages.. [32] new folder in core, added instances and hb scripts + engine (need todo) [31] deleted old scripts and will move to core [30] Config for champ aura :) TODO: missing text in l2jmods :D i'm so be lazy :P [29] Syntax [28] Fixed Quest Name String in Htmls/ added missing htmls [27] Missing Texts for Quests [26] Upgradeing Quests/ Added Some New Quests/ Improveing quests/ etc.. [25] Some supports for Quest, added missing loginfo and need todo: html texts(tomo... [24] New quests, need todo: logInfo and some missing methods and Commit html parts :) [23] Fixed LogInfo.... LogInfo is not Login Information :D ! [22]... [21] Moved Teleports to core/fixed some configs/Organised Scripts.cfg [20] Custom no champion function [19] Quests [18] Some Improvements for quest / and installer [17] Updated Scripts, Fixed Imports, Added Log info [16] Delete old [15] Not ready for use, need fix imports... i'm working on are [14] ... [13] Updated Configs (Added LogInfo configuration) continue rev.12 [12] Deleted Java Quests... need check if all .java deleted and check script.cfg a... [11] Fixed Jythons [10] Script engine [9] Fixed some errors (Datapack) [8] Fixed some errors (Core) [7] :) name of zipped files [6] run app [5] Build for Core [4] Build for Dp [3] Build for Dp [2] First steps [1] Automatically created readme.textile and /trunk directory. We recommend you t...
-
Nice Work ;)
-
[Share] L2Brick High Five project [Updated]
janiko replied to Street's topic in Server Development Discussion [L2J]
Yes Project is Alive and works only in private also you can check public version of new project at l2brick.funsite.cz -
any image please for Community Board with: Statistics: TOP PVP,TOP PK,TOP Online,Top Clans! Services: Clean PK,Change Sex,DeLevel,Sell Nobles,Buy SP,Restore Vitality
-
WTB L2J HighFive Seven Signs Full working based on l2j source
-
thanks tryskell for description i will check your packets partymember function P.S on aCis it would be great to updated Download Compiled Revision
-
I'm writing quest and its type is repeatable and can be completed in party. so i'm interested to what use in OnKill mehtod smthng like this? @Override public String onKill(L2Npc npc, L2PcInstance player, boolean isPet) { final L2PcInstance partyMember = getRandomPartyMember(player, "2"); if (partyMember == null) { return null; } final QuestState st = partyMember.getQuestState(qn);
-
L2PcInstance partyMember = getRandomPartyMember(player, "1"); Does it Equal to PARTY_ONE? L2PcInstance partyMember = getRandomPartyMember(player, "2"); Does it Equal to PARTY_ALL?
-
how to make onKill mehtod for PARTY_ALL, PARTY_NONE, PARTY_ONE? thanks for help
-
I reworked it, but main goal that i want to achieve is to get skills from sql with 1024;1035; etc Because i save buff with bypass : bypass -h _bbs_buff_Player;264;266;267;268;270;304;529;364; thats why i want to restore with the same method, reworked Restore function restores only first one again :( private void SAVE(L2PcInstance activeChar) { Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement stat = con.prepareStatement("SELECT *FROM community_skillsave WHERE charId=?;"); stat.setInt(1, activeChar.getObjectId()); ResultSet rset = stat.executeQuery(); rset.next(); String allbuff = ""; int charId = rset.getInt("charId"); L2Effect[] skill = activeChar.getAllEffects();//TODO Check Buff Skills to not bug with other effects for (int j = 0; j < skill.length; ++j) { allbuff = allbuff + new StringBuilder().append(skill[j].getSkill().getId()).append(";").toString(); } if (charId == 0) { PreparedStatement statement1 = con.prepareStatement("INSERT INTO community_skillsave (charId,skills) values (?,?)"); statement1.setInt(1, activeChar.getObjectId()); statement1.setString(2, allbuff); activeChar.sendMessage("Buff Saved Successfully!"); statement1.execute(); statement1.close(); } else { PreparedStatement statement = con.prepareStatement("UPDATE community_skillsave SET skills=? WHERE charId=?;"); statement.setString(1, allbuff); statement.setInt(2, activeChar.getObjectId()); activeChar.sendMessage("Buff Updated Successfully!"); statement.execute(); statement.close(); } rset.close(); stat.close(); } catch (SQLException e) { } finally { L2DatabaseFactory.close(con); } } private void RESTOR(L2PcInstance activeChar) { Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement stat = con.prepareStatement("SELECT * FROM community_skillsave WHERE charId=?;"); stat.setInt(1, activeChar.getObjectId()); ResultSet rset = stat.executeQuery(); while (rset.next()) { String allskills = rset.getString("skills"); int charId = rset.getInt("charId"); StringTokenizer BuffId = new StringTokenizer(allskills, ";"); int skillid = Integer.parseInt(BuffId.nextToken()); int skilllevel = SkillTable.getInstance().getMaxLevel(skillid); L2Skill skill = SkillTable.getInstance().getInfo(skillid, skilllevel); if (charId != 0) { skill.getEffects(activeChar, activeChar); } else { activeChar.sendMessage("Buff: " + skill.getName() + " (" + skill.getId() + "), can't be restored!"); } } rset.close(); stat.close(); } catch (SQLException e) { } finally { L2DatabaseFactory.close(con); } }
-
How to protect .jar file
janiko replied to janiko's question in Request Server Development Help [L2J]
i have it but unfortnunetlly get to many errors, it isn't obsfucateing i think :( do you have any guide? i used guides from youtube but not works :( -
StressWeb 8 News Engine in PhP
janiko replied to janiko's topic in Server Development Discussion [L2J]
No man it's not virus probably Host problem i will upload it on different host * added download link from 4shared
