-
Posts
38 -
Credits
0 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Everything posted by extasie80
-
good
-
Sujet close
-
hello I've been looking on maxcheater for my I can't find what interests me . I'm looking for a reward pvp to reward players (with an anti feed) I use the latest l2J version
-
thx
-
Share DEADZ Latest H5 Interface Free!
extasie80 replied to Celestine's topic in Client Development Discussion
can you share the patch? -
Good evening, I'm looking for a code to reward players every hour I use a version of L2j I'm looking for a free code
-
nice
-
I share my code after nothing prevents people from modifying it especially since it is a very easy coding so even a newbie can do it
-
### Eclipse Workspace Patch 1.0 #P L2J_DataPack Index: dist/game/data/scripts/custom/QuizEvent/QuizEvent.java =================================================================== --- dist/game/data/scripts/custom/QuizEvent/QuizEvent.java (revision 0) +++ dist/game/data/scripts/custom/QuizEvent/QuizEvent.java (working copy) package custom.QuizEvent; import java.io.File; import java.util.HashMap; import java.util.Map; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import com.l2jserver.Config; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.util.Broadcast; import com.l2jserver.util.Rnd; /** * * @author Bellatrix * */ public class QuizEvent { public static boolean _quizRunning; private static String _question; private static String _answer1; private static String _answer2; private static String _answer3; private static int _rightanswer; private static Map<L2PcInstance,Integer> _players; private static int status; private static int announced; private static ThreadPoolManager tpm; private static AutoEventTask task; private static String[][] _questions; private static int i = 0; private static final int STATUS_NOT_IN_PROGRESS = 0; private static final int STATUS_ASK = 1; private static final int STATUS_ANSWER = 2; private static final int STATUS_END = 3; //---------------------------------------------------------------------------- //------------------------------ CONFIG -------------------------------------- //---------------------------------------------------------------------------- //Number of questions per event private static int _questionNumber = 3; //The Item ID of the reward private static int _rewardID = 57; //The ammount of the reward private static int _rewardCount = 1000; //Wait for the first event after the server start (in seconds) private static int _initWait = 3600; //Time for answer the question (in seconds) private static int _answerTime = 60; //Time between two event (in seconds) private static int _betweenTime = 18000; public QuizEvent() { tpm = ThreadPoolManager.getInstance(); status = STATUS_NOT_IN_PROGRESS; task = new AutoEventTask(); announced = 0; _quizRunning = false; _question = ""; _answer1 = ""; _answer2 = ""; _answer3 = ""; _rightanswer = 0; _players = new HashMap<>(100); _questions = new String[20][]; includeQuestions(); tpm.scheduleGeneral(task, _initWait*1000); } private void includeQuestions() { File questionFile = new File(Config.DATAPACK_ROOT, "data/scripts/custom/QuizEvent/QuizEvent.xml"); Document doc = null; try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setIgnoringComments(true); dbf.setValidating(false); DocumentBuilder db = dbf.newDocumentBuilder(); doc = db.parse(questionFile); for (Node root = doc.getFirstChild(); root != null; root = root.getNextSibling()) { if ("list".equalsIgnoreCase(root.getNodeName())) { for (Node child = root.getFirstChild(); child != null; child = child.getNextSibling()) { if ("question".equalsIgnoreCase(child.getNodeName())) { int id, correct; String ask, answer1, answer2, answer3; NamedNodeMap attrs = child.getAttributes(); id = Integer.parseInt(attrs.getNamedItem("id").getNodeValue()); correct = Integer.parseInt(attrs.getNamedItem("correct").getNodeValue()); ask = attrs.getNamedItem("ask").getNodeValue(); answer1 = attrs.getNamedItem("answer1").getNodeValue(); answer2 = attrs.getNamedItem("answer2").getNodeValue(); answer3 = attrs.getNamedItem("answer3").getNodeValue(); _questions[id] = new String[]{ ask, answer1, answer2, answer3, ""+correct }; i++; } } } } } catch (Exception e) { } } private class AutoEventTask implements Runnable { @Override public void run() { switch (status) { case STATUS_NOT_IN_PROGRESS: announceStart(); break; case STATUS_ASK: if (announced < _questionNumber) { announceQuestion(); } else { status = STATUS_END; tpm.scheduleGeneral(task, 3000); } break; case STATUS_ANSWER: announceCorrect(); break; case STATUS_END: endEvent(); break; default: break; } } } //Get a random question from the quiz_event table private static void selectQuestion() { int id = Rnd.get(i)+1; _question = _questions[id][0]; _answer1 = _questions[id][1]; _answer2 = _questions[id][2]; _answer3 = _questions[id][3]; _rightanswer = Integer.parseInt(""+_questions[id][4]); } //Announce the question private static void announceQuestion() { selectQuestion(); Broadcast.toAllOnlinePlayers("-----------------"); Broadcast.toAllOnlinePlayers("Question: "+_question); Broadcast.toAllOnlinePlayers("-----------------"); Broadcast.toAllOnlinePlayers("1: "+_answer1); Broadcast.toAllOnlinePlayers("2: "+_answer2); Broadcast.toAllOnlinePlayers("3: "+_answer3); Broadcast.toAllOnlinePlayers("-----------------"); status = STATUS_ANSWER; tpm.scheduleGeneral(task, _answerTime*1000); } //Announce the correct answer private static void announceCorrect() { Broadcast.toAllOnlinePlayers("-----------------"); Broadcast.toAllOnlinePlayers("The correct answer was: "+_rightanswer); Broadcast.toAllOnlinePlayers("-----------------"); announced++; giveReward(); status = STATUS_ASK; tpm.scheduleGeneral(task, 5000); } private static void announceStart() { _quizRunning = true; _players.clear(); Broadcast.toAllOnlinePlayers("Quiz Event begins! "+_questionNumber+" questions. "+_answerTime+" secs for answer each. "); Broadcast.toAllOnlinePlayers("Type . and the number of the correct answer to the chat. (Like: .1)"); Broadcast.toAllOnlinePlayers("Get Ready!"); status = STATUS_ASK; tpm.scheduleGeneral(task, 5000); } //Add a player and its answer public static void setAnswer(L2PcInstance player, int answer) { if( _players.containsKey(player) ) player.sendMessage("You already choosen an aswer!: "+_players.get(player)); else _players.put(player, answer); } private static void endEvent() { _quizRunning = false; Broadcast.toAllOnlinePlayers("The Quiz Event is over!"); announced = 0; status = STATUS_NOT_IN_PROGRESS; tpm.scheduleGeneral(task, _betweenTime*1000); } private static void giveReward() { for( L2PcInstance p: _players.keySet()) { if(_players.get(p) == _rightanswer) { p.sendMessage("Your answer was correct!"); p.addItem("Quiz", _rewardID, _rewardCount, p, true); } else { p.sendMessage("Your answer was not correct!"); } } _players.clear(); } } \ No newline at end of file Index: dist/game/data/scripts/Custom/QuizEvent/QuizEvent.xml =================================================================== --- dist/game/data/scripts/custom/QuizEvent/QuizEvent.xml (revision 8768) +++ dist/game/data/scripts/custom/QuizEvent/QuizEvent.xml (working copy) <?xml version="1.0" encoding="UTF-8"?> <list> <question id = "1" ask = "Quel type Bijoux Drop Baium" answer1 = "Necklace" answer2 = "Ring" answer3 = "Earring" correct = "2" /> <question id = "2" ask = "Comment s'appel l'admin" answer1 = "Bellatrix" answer2 = "Roberta" answer3 = "Jo" correct = "1" /> <question id = "3" ask = "Quel Recompense donne le tvt" answer1 = "Codex" answer2 = "Coin" answer3 = "EventCoin" correct = "3" /> </list> Index: dist/game/data/scripts/handlers/voicedcommandhandlers/Quiz.java =================================================================== --- dist/game/data/scripts/handlers/voicedcommandhandlers/Quiz.java (revision 0) +++ dist/game/data/scripts/handlers/voicedcommandhandlers/Quiz.java (working copy) package handlers.voicedcommandhandlers; import com.l2jserver.gameserver.handler.IVoicedCommandHandler; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import custom.QuizEvent.QuizEvent; /** * @author Bellatrix */ public class Quiz implements IVoicedCommandHandler { private static final String[] _voicedCommands = { "quiz", "1", "2", "3" }; /** * @see Bellatrix */ @Override public boolean useVoicedCommand(String command, L2PcInstance activeChar, String params) { if (command.equalsIgnoreCase("1") && QuizEvent._quizRunning) { QuizEvent.setAnswer(activeChar, 1); } if (command.equalsIgnoreCase("2") && QuizEvent._quizRunning) { QuizEvent.setAnswer(activeChar, 2); } if (command.equalsIgnoreCase("3") && QuizEvent._quizRunning) { QuizEvent.setAnswer(activeChar, 3); } return true; } /** * @see Bellatrix */ @Override public String[] getVoicedCommandList() { new QuizEvent(); return _voicedCommands; } } Index: dist/game/data/scripts/handlers/MasterHandlers.java =================================================================== --- dist/game/data/scripts/handlers/MasterHandlerjava (revision 0) +++ dist/game/data/scripts/handlers/Masterhandlers.java (working copy) import handlers.voicedcommandhandlers.Quiz; private static final Class<?>[] VOICED_COMMAND_HANDLERS = { StatsVCmd.class, // TODO: Add configuration options for this voiced commands: // CastleVCmd.class, // SetVCmd.class, (Config.L2JMOD_ALLOW_WEDDING ? Wedding.class : null), (Config.BANKING_SYSTEM_ENABLED ? Banking.class : null), (Config.L2JMOD_CHAT_ADMIN ? ChatAdmin.class : null), (Config.L2JMOD_MULTILANG_ENABLE && Config.L2JMOD_MULTILANG_VOICED_ALLOW ? Lang.class : null), (Config.L2JMOD_ENABLE_ONLINE_STATUS ? OnlineStatus.class : null), (Config.L2JMOD_DEBUG_VOICE_COMMAND ? Debug.class : null), (Config.L2JMOD_ALLOW_CHANGE_PASSWORD ? ChangePassword.class : null), Quiz.class,
- 1 reply
-
- 2
-
-
-
the command gives the information of the target like this
-
add me discord Zetsu#9430
-
not for interlude, are you still interested?
-
I have the l2day my adapted for interlude
-
Guide Creating Effects And Attaching It To A Npc
extasie80 replied to GLO's topic in Client Development Discussion
good tuto -
It doesn't matter as long as it works.
-
Share DEADZ Latest H5 Interface Free!
extasie80 replied to Celestine's topic in Client Development Discussion
still no one? -
Share DEADZ Latest H5 Interface Free!
extasie80 replied to Celestine's topic in Client Development Discussion
someone managed to fix it? -
Share DEADZ Latest H5 Interface Free!
extasie80 replied to Celestine's topic in Client Development Discussion
still no fix for crashes? -
Help quests.Q00456_DontKnowDontCare
extasie80 replied to extasie80's question in Request Server Development Help [L2J]
resolved sujet Off -
Help quests.Q00456_DontKnowDontCare
extasie80 replied to extasie80's question in Request Server Development Help [L2J]
it's been several days since I tried to modify it without succeeding it's for his that I come to ask for a hand -
Help quests.Q00456_DontKnowDontCare
extasie80 posted a question in Request Server Development Help [L2J]
how to remove the condition that says you have to be a channel commander for spawn bodies? /* * Copyright © 2004-2019 L2J DataPack * * This file is part of L2J DataPack. * * L2J DataPack 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. * * L2J DataPack 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 quests.Q00456_DontKnowDontCare; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import com.l2jserver.gameserver.datatables.ItemTable; import com.l2jserver.gameserver.enums.QuestType; import com.l2jserver.gameserver.enums.audio.Sound; import com.l2jserver.gameserver.model.AggroInfo; import com.l2jserver.gameserver.model.L2CommandChannel; import com.l2jserver.gameserver.model.actor.L2Attackable; import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.items.L2Item; 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.network.NpcStringId; import com.l2jserver.gameserver.network.clientpackets.Say2; import com.l2jserver.gameserver.network.serverpackets.NpcSay; import com.l2jserver.gameserver.util.Util; /** * Don't Know, Don't Care (456) * @author lion, ivantotov, jurchiks */ public final class Q00456_DontKnowDontCare extends Quest { // NPCs // @formatter:off private static final int[] SEPARATED_SOUL = { 32864, 32865, 32866, 32867, 32868, 32869, 32870, 32891 }; // @formatter:on private static final int DRAKE_LORD_CORPSE = 32884; private static final int BEHEMOTH_LEADER_CORPSE = 32885; private static final int DRAGON_BEAST_CORPSE = 32886; // Items private static final int DRAKE_LORD_ESSENCE = 17251; private static final int BEHEMOTH_LEADER_ESSENCE = 17252; private static final int DRAGON_BEAST_ESSENCE = 17253; // Misc private static final int MIN_PLAYERS = 2; private static final int MIN_LEVEL = 80; private static final Map<Integer, Integer> MONSTER_NPCS = new HashMap<>(); private static final Map<Integer, Integer> MONSTER_ESSENCES = new HashMap<>(); private static final String TIMER_UNSPAWN_RAID_CORPSE = "TIMER_UNSPAWN_RAID_CORPSE"; static { MONSTER_NPCS.put(25725, DRAKE_LORD_CORPSE); MONSTER_NPCS.put(25726, BEHEMOTH_LEADER_CORPSE); MONSTER_NPCS.put(25727, DRAGON_BEAST_CORPSE); MONSTER_ESSENCES.put(DRAKE_LORD_CORPSE, DRAKE_LORD_ESSENCE); MONSTER_ESSENCES.put(BEHEMOTH_LEADER_CORPSE, BEHEMOTH_LEADER_ESSENCE); MONSTER_ESSENCES.put(DRAGON_BEAST_CORPSE, DRAGON_BEAST_ESSENCE); } // Rewards private static final int[] WEAPONS = { 15558, // Periel Sword 15559, // Skull Edge 15560, // Vigwik Axe 15561, // Devilish Maul 15562, // Feather Eye Blade 15563, // Octo Claw 15564, // Doubletop Spear 15565, // Rising Star 15566, // Black Visage 15567, // Veniplant Sword 15568, // Skull Carnium Bow 15569, // Gemtail Rapier 15570, // Finale Blade 15571, // Dominion Crossbow }; private static final int[] ARMOR = { 15743, // Sealed Vorpal Helmet 15746, // Sealed Vorpal Breastplate 15749, // Sealed Vorpal Gaiters 15752, // Sealed Vorpal Gauntlets 15755, // Sealed Vorpal Boots 15758, // Sealed Vorpal Shield 15744, // Sealed Vorpal Leather Helmet 15747, // Sealed Vorpal Leather Breastplate 15750, // Sealed Vorpal Leather Leggings 15753, // Sealed Vorpal Leather Gloves 15756, // Sealed Vorpal Leather Boots 15745, // Sealed Vorpal Circlet 15748, // Sealed Vorpal Tunic 15751, // Sealed Vorpal Stockings 15754, // Sealed Vorpal Gloves 15757, // Sealed Vorpal Shoes 15759, // Sealed Vorpal Sigil }; private static final int[] ACCESSORIES = { 15763, // Sealed Vorpal Ring 15764, // Sealed Vorpal Earring 15765, // Sealed Vorpal Necklace }; private static final int[] ATTRIBUTE_CRYSTALS = { 9552, // Fire Crystal 9553, // Water Crystal 9554, // Earth Crystal 9555, // Wind Crystal 9556, // Dark Crystal 9557, // Holy Crystal }; private static final int BLESSED_SCROLL_ENCHANT_WEAPON_S = 6577; private static final int BLESSED_SCROLL_ENCHANT_ARMOR_S = 6578; private static final int SCROLL_ENCHANT_WEAPON_S = 959; private static final int GEMSTONE_S = 2134; private final Map<Integer, Set<Integer>> allowedPlayerMap = new ConcurrentHashMap<>(); public Q00456_DontKnowDontCare() { super(456, Q00456_DontKnowDontCare.class.getSimpleName(), "Don't Know, Don't Care"); addStartNpc(SEPARATED_SOUL); addTalkId(SEPARATED_SOUL); addFirstTalkId(DRAKE_LORD_CORPSE, BEHEMOTH_LEADER_CORPSE, DRAGON_BEAST_CORPSE); addTalkId(DRAKE_LORD_CORPSE, BEHEMOTH_LEADER_CORPSE, DRAGON_BEAST_CORPSE); addKillId(MONSTER_NPCS.keySet()); registerQuestItems(DRAKE_LORD_ESSENCE, BEHEMOTH_LEADER_ESSENCE, DRAGON_BEAST_ESSENCE); } @Override public String onFirstTalk(L2Npc npc, L2PcInstance player) { final QuestState qs = getQuestState(player, false); final Set<Integer> allowedPlayers = allowedPlayerMap.get(npc.getObjectId()); if ((qs == null) || !qs.isCond(1) || (allowedPlayers == null) || !allowedPlayers.contains(player.getObjectId())) { return npc.getId() + "-02.html"; } final int essence = MONSTER_ESSENCES.get(npc.getId()); final String htmltext; if (hasQuestItems(player, essence)) { htmltext = npc.getId() + "-03.html"; } else { giveItems(player, essence, 1); htmltext = npc.getId() + "-01.html"; if (hasQuestItems(player, getRegisteredItemIds())) { qs.setCond(2, true); } else { playSound(player, Sound.ITEMSOUND_QUEST_ITEMGET); } } return htmltext; } @Override public String onTalk(L2Npc npc, L2PcInstance player) { final QuestState qs = getQuestState(player, true); String htmltext = getNoQuestMsg(player); if (Util.contains(SEPARATED_SOUL, npc.getId())) { switch (qs.getState()) { case State.COMPLETED: if (!qs.isNowAvailable()) { htmltext = "32864-02.html"; break; } qs.setState(State.CREATED); // intentional fall-through case State.CREATED: htmltext = ((player.getLevel() >= MIN_LEVEL) ? "32864-01.htm" : "32864-03.html"); break; case State.STARTED: switch (qs.getCond()) { case 1: { htmltext = (hasAtLeastOneQuestItem(player, getRegisteredItemIds()) ? "32864-09.html" : "32864-08.html"); break; } case 2: { if (hasQuestItems(player, getRegisteredItemIds())) { rewardPlayer(player, npc); qs.exitQuest(QuestType.DAILY, true); htmltext = "32864-10.html"; } break; } } break; } } return htmltext; } @Override public String onAdvEvent(String event, L2Npc npc, L2PcInstance player) { final QuestState qs = player != null ? getQuestState(player, false) : null; String htmltext = null; switch (event) { case "32864-04.htm": case "32864-05.htm": case "32864-06.htm": { if ((qs != null) && qs.isCreated()) { htmltext = event; } break; } case "32864-07.htm": { if ((qs != null) && qs.isCreated()) { qs.startQuest(); htmltext = event; } break; } case TIMER_UNSPAWN_RAID_CORPSE: { allowedPlayerMap.remove(npc.getObjectId()); npc.deleteMe(); break; } } return htmltext; } @Override public String onKill(L2Npc npc, L2PcInstance killer, boolean isSummon) { if (!killer.isInParty() || !killer.getParty().isInCommandChannel()) { // only the killing cc gets the quest return super.onKill(npc, killer, isSummon); } final L2CommandChannel cc = killer.getParty().getCommandChannel(); if (cc.getMemberCount() < MIN_PLAYERS) { return super.onKill(npc, killer, isSummon); } Set<Integer> allowedPlayers = new HashSet<>(); for (AggroInfo aggro : ((L2Attackable) npc).getAggroList().values()) { if ((aggro.getAttacker() == null) || !aggro.getAttacker().isPlayer()) { continue; } L2PcInstance attacker = aggro.getAttacker().getActingPlayer(); if (attacker.isInParty() // && attacker.getParty().isInCommandChannel() // && attacker.getParty().getCommandChannel().equals(cc) // only players from the same cc are allowed && Util.checkIfInRange(1500, npc, attacker, true)) { allowedPlayers.add(attacker.getObjectId()); } } if (!allowedPlayers.isEmpty()) { // This depends on the boss respawn delay being at least 5 minutes. final L2Npc spawned = addSpawn(MONSTER_NPCS.get(npc.getId()), npc, true, 0); allowedPlayerMap.put(spawned.getObjectId(), allowedPlayers); startQuestTimer(TIMER_UNSPAWN_RAID_CORPSE, 300000, npc, null); } return super.onKill(npc, killer, isSummon); } private static void rewardPlayer(L2PcInstance player, L2Npc npc) { int chance = getRandom(10000); final int reward; int count = 1; if (chance < 170) { reward = ARMOR[getRandom(ARMOR.length)]; } else if (chance < 200) { reward = ACCESSORIES[getRandom(ACCESSORIES.length)]; } else if (chance < 270) { reward = WEAPONS[getRandom(WEAPONS.length)]; } else if (chance < 325) { reward = BLESSED_SCROLL_ENCHANT_WEAPON_S; } else if (chance < 425) { reward = BLESSED_SCROLL_ENCHANT_ARMOR_S; } else if (chance < 925) { reward = ATTRIBUTE_CRYSTALS[getRandom(ATTRIBUTE_CRYSTALS.length)]; } else if (chance < 1100) { reward = SCROLL_ENCHANT_WEAPON_S; } else { reward = GEMSTONE_S; count = 3; } giveItems(player, reward, count); L2Item item = ItemTable.getInstance().getTemplate(reward); NpcSay packet = new NpcSay(npc.getObjectId(), Say2.NPC_ALL, npc.getId(), NpcStringId.S1_RECEIVED_A_S2_ITEM_AS_A_REWARD_FROM_THE_SEPARATED_SOUL); packet.addStringParameter(player.getName()); packet.addStringParameter(item.getName()); npc.broadcastPacket(packet); } } -
Code Visual Enchant Effect on CharacterSelection
extasie80 replied to StinkyMadness's topic in Server Shares & Files [L2J]
here is adapted for h5 ### Eclipse Workspace Patch 1.0 #P L2J_Server Index: /game/config/Character.properties =================================================================== --- /game/config/Character.properties (revision 0) +++/game/config/Character.properties (working copy) +# Visual Enchant for weapons on character selection +# Disable : 0 +VisualEnchant = 16 # Allow character deletion after days set below. To disallow character deletion, set this equal to 0. # Default: 7 DeleteCharAfterDays = 1 ### Eclipse Workspace Patch 1.0 #P L2J_Server Index: src/main/java/com.l2jserver/config.java =================================================================== --- src/main/java/com.l2jserver/config.java (revision 0) +++src/main/java/com.l2jserver/config.java (working cop public static boolean SERVER_GMONLY; /** clients related */ + public static int VISUAL_ENCHANT; public static int DELETE_DAYS; public static int MAXIMUM_ONLINE_USERS; @@ -1210,6 +1211,7 @@ SERVER_LIST_TESTSERVER = server.getProperty("TestServer", false); SERVER_LIST_PVPSERVER = server.getProperty("PvpServer", true); ALT_GAME_FREE_TELEPORT = character.getBoolean("AltFreeTeleporting", false); + VISUAL_ENCHANT = character.getInt("VisualEnchant", 0); DELETE_DAYS = character.getInt("DeleteCharAfterDays", 7); ALT_GAME_EXPONENT_XP = character.getFloat("AltGameExponentXp", 0); ALT_GAME_EXPONENT_SP = character.getFloat("AltGameExponentSp", 0); ### Eclipse Workspace Patch 1.0 #P L2J_Server Index: src/main/java/com.l2jserver/gameserver/network/serverpackets/CharSelectInfo.java =================================================================== --- src/main/java/com.l2jserver/gameserver/network/serverpackets/CharSelectInfo.java (revision 0) +++src/main/java/com.l2jserver/gameserver/network/serverpackets/CharSelectInfo.java (working cop writeD(charInfoPackage.getDeleteTimer() > 0 ? (int) ((charInfoPackage.getDeleteTimer() - System.currentTimeMillis()) / 1000) : 0); // days left before // delete .. if != 0 // then char is inactive writeD(charInfoPackage.getClassId()); writeD(i == _activeId ? 0x01 : 0x00); // c3 auto-select char + writeC(Config.VISUAL_ENCHANT > 0 ? Config.VISUAL_ENCHANT : Math.min(127, charInfoPackage.getEnchantEffect())); writeD(charInfoPackage.getAugmentationId()); -
Code Visual Enchant Effect on CharacterSelection
extasie80 replied to StinkyMadness's topic in Server Shares & Files [L2J]
I tell you it in 30 minutes -
LF Find party or Sell buff
extasie80 replied to motrizer's question in Request Server Development Help [L2J]
if you look for the .sellbuff I think l2jdevs sells it -
Lineage 2 h5 source
extasie80 replied to vlladislav45's question in Request Server Development Help [L2J]
Personally I use http://www.l2jdevs.org/forum/index.php?topic=48.0