Connect 4 Опубликовано 11 ноября, 2015 Какие основы надо знать java скрипра, что бы уметь работать в ядре или переписать кв? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DonJuan 9 Опубликовано 11 ноября, 2015 надо знать java Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Connect 4 Опубликовано 11 ноября, 2015 надо знать java Зачем посты набивать? Весь курс явы все равно не пригодится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kendor 211 Опубликовано 11 ноября, 2015 Зачем посты набивать? Весь курс явы все равно не пригодится. Не весь курс. Почитайте Гиберта Шилдта. Все что там написано - вам пригодиться ! 4 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Connect 4 Опубликовано 12 ноября, 2015 Подскажите, как переделать код? уже 3й день ломаю голову, как дни переделать в часы. Что бы давало не по дням, а по часам. package custom.core; import time; import ru.catssoftware.gameserver.model.actor.instance.L2NpcInstance; import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance; import ru.catssoftware.tools.random.Rnd; import ru.catssoftware.gameserver.datatables.SkillTable; import ru.catssoftware.gameserver.model.L2Party; import ru.catssoftware.gameserver.model.quest.Quest; import ru.catssoftware.gameserver.util.PcAction; public class NpcScript extends Quest { //Босс Иды private final static int[] BossIds = {20001}; //Выдавать награду всей пати? private static boolean PartyDrop = true; //Включить награду нублом? private static boolean NOBLE = false; //Включить награду хиро? private static boolean HERO = true; //На сколько давать хиро private final static int timeHero = 3; //Включить награду премиум? private static boolean PREMIUM = true; //На сколько давать премиум private final static int timePremium = 3; //Включить награду итемом? private static boolean RewardItem = true; //Итем ид private final static int RewardItemId = 4037; //Количество private final static int RewardItemCount = 1; //Шанс дропа предмета private final static int chance = 50; //Сколько разрешено иметь в инве таких предметов private final static int count = 65535; //Включить награду скилами? private static boolean RewardSkill = false; //Скилл ид private final static int RewardSkillId = 2F; //Скилл лвл private final static int RewardSkillLvl = 1; public NpcScript() { super(-1, NpcScript.class.getSimpleName(), "NpcScript"); for(int boss : BossIds) { addKillId(boss); } } @Override public String onKill(L2NpcInstance npc, L2PcInstance player, boolean isPet) { int npcId = npc.getNpcId(); for (int id : BossIds) { if (npcId == id) { if (HERO) { L2Party party = player.getParty(); if (party != null && PartyDrop) { for (L2PcInstance playerpaty : party.getPartyMembers()) { PcAction.addHeroStatus(playerpaty, timeHero); player.sendMessage("Вы получили Хиро на 1 день."); } } else { PcAction.addHeroStatus(player, timeHero); } } } } if (PREMIUM) { L2Party party = player.getParty(); if ((party != null) && PartyDrop) { for (L2PcInstance playerpaty : party.getPartyMembers()) { PcAction.addPremiumServices(playerpaty, playerpaty.getAccountName(), timePremium); playerpaty.sendMessage("Вы получили премиум на 1 день."); } } else { PcAction.addPremiumServices(player, player.getAccountName(), timePremium); player.sendMessage("Вы получили премиум на 1 день."); } } if (NOBLE) { L2Party party = player.getParty(); if ((party != null) && PartyDrop) { for (L2PcInstance playerpaty : party.getPartyMembers()) { playerpaty.setNoble(true); playerpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u0443\u0431\u043b\u0435\u0441."); } } else { player.setNoble(true); player.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u0443\u0431\u043b\u0435\u0441."); } } if (RewardItem) { L2Party party = player.getParty(); if ((party != null) && PartyDrop) { for (L2PcInstance playerpaty : party.getPartyMembers()) { if (Rnd.get(100) < chance) { if (playerpaty.getInventory().getInventoryItemCount(RewardItemId, 0) < count) { PcAction.giveItems(playerpaty, RewardItemId, RewardItemCount); } } } } else { if (Rnd.get(100) < chance) { if (player.getInventory().getInventoryItemCount(RewardItemId, 0) < count) { PcAction.giveItems(player, RewardItemId, RewardItemCount); } } } } if (RewardSkill) { L2Party party = player.getParty(); if ((party != null) && PartyDrop) { for (L2PcInstance playerpaty : party.getPartyMembers()) { playerpaty.removeSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl)); playerpaty.addSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl), true); playerpaty.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0438\u043b."); } } else { player.removeSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl)); player.addSkill(SkillTable.getInstance().getInfo(RewardSkillId, RewardSkillLvl), true); player.sendMessage("\u0412\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0441\u043a\u0438\u043b."); } } return null; } public static void main(String[] args) { new NpcScript(); } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
L2jGroot 217 Опубликовано 12 ноября, 2015 PcAction методы смотрите. Они отвечают за время. Точнее за конвертацию дней в мс. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Connect 4 Опубликовано 12 ноября, 2015 (изменено) PcAction методы смотрите. Они отвечают за время. Точнее за конвертацию дней в мс. А у вас Какие нибудь стары исходы есть?) От ваше сборке. Изменено 12 ноября, 2015 пользователем Connect Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yoko 132 Опубликовано 12 ноября, 2015 А у вас Какие нибудь стары исходы есть?) От ваше сборке. декомпил ядра и смотри классы 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Connect 4 Опубликовано 12 ноября, 2015 public static void addHeroStatus(L2PcInstance paramL2PcInstance, int paramInt) { if (paramL2PcInstance == null) { return; } Connection localConnection = null; try { Calendar localCalendar = Calendar.getInstance(); localCalendar.setTimeInMillis(System.currentTimeMillis()); localCalendar.set(13, 0); localCalendar.add(5, paramInt); localConnection = L2DatabaseFactory.getInstance().getConnection(localConnection); PreparedStatement localPreparedStatement = localConnection.prepareStatement("UPDATE character_herolist SET enddate=? WHERE charId=?"); localPreparedStatement.setLong(1, localCalendar.getTimeInMillis()); localPreparedStatement.setInt(2, paramL2PcInstance.getObjectId()); localPreparedStatement.execute(); localPreparedStatement.close(); paramL2PcInstance.setHero(true); paramL2PcInstance.broadcastUserInfo(); paramL2PcInstance.sendMessage(Message.getMessage(paramL2PcInstance, Message.MessageId.MSG_YOU_ARE_HERO_NOW)); return; } catch (SQLException localSQLException2) { _log.warn("PremiumService: Could not increase data"); } finally { try { if (localConnection != null) { localConnection.close(); } } catch (SQLException localSQLException4) { localSQLException4.printStackTrace(); } } } Я запутался..... До конца не до понял. Можете подсказать, какие методы отвечаю за часы, секунды. Хочу найти и сам попробовать.... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
L2jGroot 217 Опубликовано 12 ноября, 2015 localCalendar.add(5, paramInt); Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты