-
Публикаций
104 -
Зарегистрирован
-
Посещение
-
Отзывы
0%
-
(JAVA-Acp)Помогите разобраться с чего начать что бы получилось
тема ответил Engineer000 в теме Ядро сервера
таки да, я немного учил и подумал что уже можно но когда увидел много классов и какой за что отвечает, было трудно понять, но думаю со временем все получиться.Всем спасибо - я еще вернусь) -
(JAVA-Acp)Помогите разобраться с чего начать что бы получилось
тема ответил Engineer000 в теме Ядро сервера
javarush ,там открывать нужно уровни что бы что то толковое было или покупать на год обучение.Подскажите ресурсы ,статьи как лучше учить java, а по поводу сборки тут на ней столько ошибок что можно учиться на ней -
(JAVA-Acp)Помогите разобраться с чего начать что бы получилось
тема ответил Engineer000 в теме Ядро сервера
Исходы есть,если это они,вырезал через jd-gui все в java файлы, ниже скину ссылку,только когда хочу скомпилить через javac то не все компилиться,выбивает ошибки .Использовал команду и в той же папке находится файл Acp.java: javac -classpath l2jfrozen-core.jar Acp.java package com.l2jfrozen.gameserver.handler; import com.l2jfrozen.gameserver.handler.IItemHandler; import com.l2jfrozen.gameserver.handler.IVoicedCommandHandler; import com.l2jfrozen.gameserver.handler.ItemHandler; import com.l2jfrozen.gameserver.handler.VoicedCommandHandler; import com.l2jfrozen.gameserver.model.L2ItemInstance; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; import com.l2jfrozen.util.object.L2ObjectHashMap; public class Acp implements IVoicedCommandHandler { private static String[] commands = {"acpon", "acpoff"}; // *********************** ИД Банок private static int ID_HEAL_CP = 5592; private static int ID_HEAL_MP = 6036; private static int ID_HEAL_HP = 1539; // *********************** USE FULL // Включить / Выключить private static boolean ACP_ON = true; // Минимальный уровень, с которого можно использовать ACP private static int ACP_MIN_LVL = 0; // Указываеться в % уровень, с которого начинаем регенить private static int ACP_HP_LVL = 70; private static int ACP_CP_LVL = 70; private static int ACP_MP_LVL = 70; private static int ACP_MILI_SECONDS_FOR_LOOP = 1000; // Только для премиумов? private static boolean ACP_PREMIUM = false; // Что именно автоматически регеним private static boolean ACP_CP = true; private static boolean ACP_MP = true; private static boolean ACP_HP = true; private static L2ObjectHashMap<String, Thread> userAcpMap = new L2ObjectHashMap<String, Thread>(); // private volatile boolean acpUserOn = false; На private static L2ObjectHashMap<String, Thread> userAcpMap = new L2ObjectHashMap<String, Thread>(); дает ошибку: Acp.java:34: error: reached end of file while parsing private static L2ObjectHashMap<String, Thread> userAcpMap = new L2ObjectHash Map<String, Thread>(); Ссылка на исходники Может кто то глянуть через демонстрацию экрана если есть желание? -
(JAVA-Acp)Помогите разобраться с чего начать что бы получилось
тема ответил Engineer000 в теме Ядро сервера
А как добавить его в ядро,мне говорили что вообще через скрипт на java должно работать -
Доброго времени суток,подскажите как мне написать ACP На java. Или мне его нужно делать через ядро ,какие для этого нужно знать библиотеки и какие вообще знания в java должны быть. Если это скрипт то как его подключить? Если это ядро тогда нужно создовать отдельный класс или нужно дописывать в существующем и если это существующий класс - что в нем должно подключаться?Как мне понять что отвечает за что? Можете обьяснить с примерами что я должен знать об этом что бы это сделать?
-
так как сделать так что бы он заработал? ,в паверпаке ,конфиг бафер ,указал id npc 50019 но html не вызываеться,хоть и в class файле в ядре указан путь data/html/buffer
-
Это для Frozen , для других может где то быть отличие: Сервер(База данных) 1.Заходишь в базу Mysql ; 2.Выбераешь столбик etcitem ; 3.Ищешь к примеру по id или по названию заточку,например id 729 ,в столбике consume_type пишешь вместо normal > stackable(Сохраняешь). Клиент (файл etcitemgrp.dat) 1.Заходишь в Клиент игры , папка system ищешь файл etcitemgrp.dat , открываешь его через L2FileEdit (можно выделить все ctrl+a , скопирывать и для удобства переместить все это в exel таблицу).Можно и в FileEdit но не так удобно так как нет нормальной табуляции. 2.В таблице там где колонка Stackable (AD, это последние 3 столбика в файле, справа) вместо 0 ставишь значение 2 ,затем с первой ячейки выделяешь всю таблицу и копируешь, заменяешь содержимое в etcitemgrp.dat которую ты открыл через FileEdit и сохраняешь в 413 кодировке (Она по умолчанию).Предложит заменить файл , заменяешь.
-
Подскажите как найти id бафера который в ядре находиться и он имеет только html оболочку ? Его путь: gameserver\data\html\buffer \buffer-0.htm buffer-1.htm buffer-2.htm buffer-3.htm menu.htm sthememenu.htm При вызове стандартного 50019 он не работает и есть кнопка quest, он же тот который в config/pawerpak но когда меняешь там id ничего не происходит. Если кто то знает ,подскажите пожалуйста.
-
Решено: Идем суда : gameserver\head-src\com\l2jfrozen\gameserver\network\clientpackets\RequestRefine.java Меняем: consume the life stone if(!player.destroyItem("RequestRefine", refinerItem, null, false)) На: consume the life stone if (!player.destroyItem("RequestRefine", refinerItem.getObjectId(), 1, null, false))
-
Люди подскажите как реализовать ацп на фрозене ,пробовал по мануалу этой темы,некторые файл UseItem.java не компилятся из за _CtrlClick = readD(); + еще есть некие проблемы с исходами.Может кто то дать дельный совет или источники как реализовать эту функцию,облазил очень много информации но то что нужно не нашел ?
-
РЕШЕНО : Вообщем нашел : Дело в том что я менял значение в id скила 3219 но на самом деле это айди исполюзует тригер с id: Target: Self (TARGET_SELF) Skill Type: BUFF Operate Type: Passive (OP_PASSIVE) Chance Type: ON_ATTACKED Triggered Skill Id: 5159 А вот как выглядит тригер скила magic barrier : <skill id="5159" levels="10" name="Magic Barrier"> <!-- Description(s): Lvl 1-10 - Active: Increases M. Def. temporarily. --> <table name="#rate">1.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19</table> <table name="#magicLvl">46 49 52 55 58 61 64 67 70 76</table> <set name="magicLvl" val="#magicLvl"/> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="BUFF"/> <set name="operateType" val="OP_ACTIVE"/> <set name="castRange" val="-1"/> <set name="effectRange" val="-1"/> <set name="isMagic" val="true"/> <set name="bestowed" val="true"/> <set name="hitTime" val="4000"/> <for> <effect name="Buff" time="1200" count="1" val="0"> <mul order="0x30" stat="mDef" val="#rate"/> </effect> </for> </skill>
- 3 ответа
-
- 1
-
Такого нету,но я помоему понял где может быть,проверю и отпишу для других может пригодиться
-
Доброго времени суток.Может кто то подсказать как изменить время действия шансового скила ,на пример этого.На данный момент время 15с: <skill id="3219" levels="10" name="Item Skill: Magic Barrier"> <table name="#chance">2 2 2 3 3 3 4 4 5 5</table> <table name="#triggeredLevel">1 2 3 4 5 6 7 8 9 10</table> <set name="triggeredId" val="5159"/> <set name="triggeredLevel" val="#triggeredLevel"/> <set name="target" val="TARGET_SELF"/> <set name="skillType" val="BUFF"/> <set name="operateType" val="OP_CHANCE"/> <set name="chanceType" val="ON_ATTACKED"/> <set name="activationChance" val="#chance"/> <set name="castRange" val="-1"/> <set name="effectRange" val="-1"/> </skill>
-
Вопрос №2 подскажите как теперь сделать все тоже самое только через Ant /Svn/IDE ???