SambukaRes 0 Опубликовано 9 октября, 2020 Добрый день ув. форумчане, кто может подсказать что нужно подправить в этом скрипте чтобы заработало? Взял его с другой сборки pwsoft,на моей не работает. 1. WARNING in /Farm1.java (at line 77) if(tpForAll || (canEnter(st.getPlayer()) && checkPay(st.getPlayer()))) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Dead code ---------- 2. WARNING in /Farm1.java (at line 80) return No; ^^^^^^^^^^ Dead code ---------- 2 problems (2 warnings) Спойлер package quests.Farm1; import net.sf.l2j.gameserver.ThreadPoolManager; import net.sf.l2j.gameserver.datatables.ItemTable; import net.sf.l2j.gameserver.model.actor.instance.L2NpcInstance; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.model.quest.jython.QuestJython; import net.sf.l2j.gameserver.model.quest.QuestState; import net.sf.l2j.gameserver.model.quest.State; import net.sf.l2j.gameserver.model.L2ItemInstance; import net.sf.l2j.gameserver.network.SystemMessageId; import net.sf.l2j.gameserver.network.serverpackets.SystemMessage; import net.sf.l2j.gameserver.templates.L2Item; public class Farm1 extends QuestJython { //idnpc // НПЦ ИД private final static int npcId = 100919; // Координаты ТП private final static int[] coords = {3,-111418,-2475}; // плата за телепорт: итем ид, кол-во private final static int[] price = {13100, 5}; //Запрещенные скиллы private final static int[] forbiddenSkills = {9999}; // ТП для всех private final static boolean tpForAll = true; // Запрет предметов private final static int[] ForbiddenItems = {99999}; // Макс. точка шмота private static int maxEnchArmor = 100; // Макс. точка бижутерии private static int maxEnchAccessory = 100; // Макс. точка оружия private static int maxEnchWeapon = 100; // Запрет для классов private final static int[] ForbiddenClass = {999}; // Проверка на премиум private static boolean PremiumCheck = false; //Страница когда не выполнены действия String No = "no.htm"; //Стартовая страница String START = "start1.htm"; public Farm1(int questId, String name, String descr) { super(questId, name, descr, 1); State st = new State("Start", this); this.setInitialState(st); addStartNpc(npcId); addTalkId(npcId); } @Override public String onTalk(L2NpcInstance npc, L2PcInstance player) { if (player.getQuestState(getName()) == null) newQuestState(player); return START; } @Override public String onEvent(String event, QuestState st) { if(st.get("TalkFirst") != null && st.get("TalkFirst").equals("false")) return null; st.set("TalkFirst", "false"); ThreadPoolManager.getInstance().scheduleGeneral(new fix(st), 1500L); if (event.startsWith("teleport1")) { if(tpForAll || (canEnter(st.getPlayer()) && checkPay(st.getPlayer()))) st.getPlayer().teleToLocation(coords[0], coords[1], coords[2]); else return No; } return START; } public class fix implements Runnable { QuestState st = null; public fix(QuestState _st) { st = _st; } public void run() { try { st.set("TalkFirst", "true"); } catch (Throwable t) { } } } private boolean checkPay(L2PcInstance player) { L2ItemInstance item = player.getInventory().getItemByItemId(price[0]); if(item == null) { player.sendMessage("У Вас нет " + price[1] + " " + ItemTable.getInstance().getItemName(price[0]) + " для совершения телепорта!"); return false; } if (item.getCount() < price[1]) { player.sendMessage("Для телепорта необходимо иметь " + price[1] + " " + ItemTable.getInstance().getItemName(price[0])); return false; } player.consumeItem(price[0], price[1]); SystemMessage sm = new SystemMessage(SystemMessageId.DISSAPEARED_ITEM); player.sendPacket(sm.addNumber(price[1]).addItemName(price[0])); return true; } private static boolean canEnter(L2PcInstance player){ if(player.getActiveWarehouse() != null) player.setActiveWarehouse(null); for(int classId : ForbiddenClass){ if(classId == player.getActiveClass()){ return false; } } for(int skillId : forbiddenSkills) { if(player.getSkillLevel(skillId) > 0){ return false; } } for(L2ItemInstance item : player.getInventory().getAllItemsEnch()){ if(item.getEnchantLevel() > maxEnchArmor & item.getItem().getType2() == L2Item.TYPE2_SHIELD_ARMOR){ return false; } if(item.getEnchantLevel() > maxEnchAccessory & item.getItem().getType2() == L2Item.TYPE2_ACCESSORY){ return false; } if(item.getEnchantLevel() > maxEnchWeapon & item.getItem().getType2() == L2Item.TYPE2_WEAPON){ return false; } } for(int fi : ForbiddenItems){ if(player.getInventory().getItemByItemId(fi) != null){ return false; } } if (!player.isPremium() && PremiumCheck) { return false; } return true; } public static void main(String[] args) { new Farm1(-1, "Farm1", "quests"); _log.info("### \"Farm1\" loaded! ###"); } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Circalover 23 Опубликовано 9 октября, 2020 11 минут назад, SambukaRes сказал: 1. WARNING in /Farm1.java (at line 77) if(tpForAll || (canEnter(st.getPlayer()) && checkPay(st.get Так он у тебя работает Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SambukaRes 0 Опубликовано 9 октября, 2020 1 минуту назад, Circalover сказал: Так он у тебя работает как он работает,если в логах 2 ошибки + когда нажимаю на телепорт мне выбивает крит клиента,о том что якобы не хватает памяти. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Circalover 23 Опубликовано 9 октября, 2020 3 минуты назад, SambukaRes сказал: как он работает,если в логах 2 ошибки + когда нажимаю на телепорт мне выбивает крит клиента,о том что якобы не хватает памяти. Ошибка это ERROR Ты видишь хоть одну ошибку? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SambukaRes 0 Опубликовано 9 октября, 2020 1 минуту назад, Circalover сказал: Ошибка это ERROR Ты видишь хоть одну ошибку? да я вижу что ты посты набиваешь и все. Скрипт не прогрузился и в логах две ошибки (а в твоем понимании предупреждение) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Circalover 23 Опубликовано 9 октября, 2020 (изменено) 4 минуты назад, SambukaRes сказал: да я вижу что ты посты набиваешь и все. Скрипт не прогрузился и в логах две ошибки (а в твоем понимании предупреждение) В твоём понимании предупреждение = ошибка Как по твоему не прогрузился скрипт, если у тебя уже есть действие на кнопку телепорта? Меньше бы выпендривался, помог бы Изменено 9 октября, 2020 пользователем Circalover Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SambukaRes 0 Опубликовано 9 октября, 2020 2 минуты назад, Circalover сказал: В твоём понимании предупреждение = ошибка Как по твоему не прогрузился скрипт, если у тебя уже есть действие на кнопку телепорта? Меньше бы выпендривался, помог бы Странный ты и подходы к помощи у тебя странные. Я подожду адекватных людей. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Circalover 23 Опубликовано 9 октября, 2020 Хорошо Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Jfull 29 Опубликовано 9 октября, 2020 ну он прав, ворнинг ≠ ошибка, это предупреждение, но критануть может и из-за него, поменяй точку тп и проверь. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
cray 27 Опубликовано 10 октября, 2020 Если критует при нажатии на кнопку, значит какое-то дейтсвие Вы все же выполняете, иначе не произошло бы ничего. Следовательно, скрипт работает, а крит, вероятнее всего, из-за проблем с клиентом/патчем/допами/датниками/текстурами. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
imek 12 Опубликовано 10 октября, 2020 Автор ты что куришь? Чувак тебе сказал, а ты на него агрессируешь Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rosterik 4 Опубликовано 1 мая, 2021 В 09.10.2020 в 15:54, SambukaRes сказал: да я вижу что ты посты набиваешь и все. Скрипт не прогрузился и в логах две ошибки (а в твоем понимании предупреждение) Если error это ошибка JVM Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LifeDragon 5 Опубликовано 1 мая, 2021 видимо координаты вставил не те Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ForceUnleashed 82 Опубликовано 2 мая, 2021 А как может работать скрипт, если у вас мертвый код? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Phoenix 63 Опубликовано 2 мая, 2021 1 час назад, ForceUnleashed сказал: А как может работать скрипт, если у вас мертвый код? пойди голову помой а потом смотри и отвечай в темах Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты