Тема |
---|
2
2005-12-26, chukcha: спасибо. Все оказалось почень просто. )
|
5
2005-12-25, Balancer: Из Форта можно вызвать практически любой Java-метод. Смотри примеры использования слов jexec (выполнение Java-вызова без возврата результата), jget (то же самое, но с возвратом) и jnew (создание нового объекта).
|
11
2005-12-24, Veden: Халава для нуба еее..... Щас гланем буду мега програмером....
|
0
2005-12-22, NewEviL: Не могли бы почомь... Вообщем как сделать так ,что бы при убийстве игрока давали итем..
|
5
2005-12-22, Balancer: Приватные сообщения обязательно должны от кого-то исходить. По самому их определению В крайнем случае - пиши от пустой строки послание
|
7
2005-12-11, Styx: … если ты сохраняешь .f файл в UTF-8 после открой его фаром и удали 3 символа в самом начале - все будет работать
|
4
2005-12-10, masterXL: мог бы и сам догадаться ))))))))))))) такое бывает. упрешься в стену головой и не видишь двери рядом
|
11
2005-12-09, Balancer: … в штм файле, лежащем в папке форта не показывает картинку. Дело в неправильном пути? Подскажите какой правильный. Хотелось бы с картинками сделать. От Форта это не зависит. Путь указывается внутри клиента.
|
6
2005-12-08, valkiriy: так может тко ответит мне на вопрос? должны же в каком-то файле этим словам назвачена процедура? может в l2server.jar ? или где-то в папке jbfort ?
|
0
2005-12-04, Murkt: Сабж работает чрезвычайно непонятно. При попытке добавить 10 итемов под номером 4616 (Greater Dye of blahblah) вылезло такое code text java.io.IOException: An existing connection was forcibly closed by the remote host ERR: Exception while execute word 'in word 'INVENTORY+!'' in word 'items_add'. : items_add java.lang.IllegalArgumentExcepti on java.lang.IllegalArgumentExcepti on at net.sf.l2j.gameserver.model.L2It emInstance.<init>(Unknown Source) at net.sf.l2j.gameserver.ItemTable. createItem(Unknown Source) at net.sf.l2j.gameserver.lib.jbf.wo rds.L2j_items$inventory_add.exec (Unknown Source) at net.sf.l2j.gameserver.lib.jbf.Wo rd.exec(Unknown Source) at net.sf.l2j.gameserver.lib.JBFort h.do_word(Unknown Source) at net.sf.l2j.gameserver.lib.JBFort h.do_code(Unknown Source) at…
|
1
2005-12-02, Makaron: Я вот написал вроде начальную версию ивента, положил в папку events, добавил в main.f строку /events/test, зашел в игру, написал //jbf_reload пишу //start - оно стартует ивент Миррор. Я переименовывал папку с тем ивентом, удалил с main.f строку загрузки…
|
3
2005-11-29, chukcha: Бал, все нормально. Ничего не менял, версию не апдейтил. Запустил вчерашний сервак, погонял с разными значениями - все ок. Чудеса!
|
3
2005-11-29, TD_ALECS: А может есть сразу типа: "door-open" all
|
4
2005-11-28, Balancer: … Смотреть-то надо не Wiki (там не всё оперативно), а реальный код. А там ты ни одного item_add не найдёшь Изначально было item_add, но поскольку добавляется не один итем, а N, то название стало во множественном числе. Система имён у нас не сразу…
|
0
2005-11-27, Balancer: Делаю коммит. Скилл - Transfer Pain (1262). Подключил через data/stats/skills/99999F.xml Принцип такой. На Форте словом on-hp-reduce+ ( word Character ) можно подключить Форт-обработчик повреждений. У скилла в <effect ... /> параметр start="..." выполняет заданный код при активации скилла (внимание! На самом деле код не интерпретируется, а заранее компилируется. Таким образом, сейчас после каждого рестарта Форт-системы нужно рестартовать и скиллы, чтобы код собрался заново - сделано автоматически, но имейте в виду). В нашем случае - этот код устанавливает обработчик повреждений. Описан он сейчас в data/jbforth/skills/main.f Проверяет наличие пета и, если он есть, то перекидывает ему 10% повреждения. Параметр exit="...", соответственно, снимает этот обработчик (внимание, пока - тупо, снимает все обработчики повреждений с заданного чара - будет расширено).
|
1
2005-11-24, San3k: … //true to event? для старта эвента //event is here определение координат //false to event? конец эвента
|
5
2005-11-23, NewEviL: ответ на 4вопрос сам уже нашёл -_- в on-players-start вписываем "jbforth/welcome.htm" show соответственно текст пишем в welcome.htm
|
36
2005-11-21, garri_il: Бал сеи4ас когда отправляю 4ела в тюрьму то выскакивает ошибка -------------------------------- -------------------------------- ------------ 1132576840437 WARNING 19 net.sf. l2j.gameserver.lib.jbf.Word JBF execute exception…
|
4
2005-11-20, Murkt: Спасибо, понял.
|
1
2005-11-19, mrSteam: 2. Геодаты нет - сделать анриал. 3. Можно, по ип если только, надо скрипт регистрации переписывать. А вот более 1 чара - никак нельзя. 4. Нет, начальный уровень - все заложено в сервере... 5. Пока такого нету 6. В гринхопе такое есть, ксати тут была такая…
|
2
2005-11-19, NewEviL: ок спасибо
|
0
2005-11-16, Balancer: Чтобы не посылать в логи чата, выжму недошедшее сюда … code forth wtd@ ( считали weapon-to-del-id) items# ( считали сколько у игрока таких итемов ) 0= if ( если ноль ) "You not have item [ wtd@ i.name@ ]" .rexit ( то печать текста с выходом из этого слова ) then .rexit описано чуть выше. Оно печатает выводимый текст с его парсингом (т.е. вставит в тело текста weapon to del name ), сбрасывает со стека адрес возврата того слова, из которого было вызвано (т.е. мы туда больше не вернёмся), сбрасывает опять же со стека возвратов хранимый там список параметров замены. После этого на стеке возврата оказывается слово, из которого было вызвано bypass_... - и мы возвращаемся туда. … … Нет. Вторая должна быть со строгим сравнением: 5575 items# paa@ < if "Not enough [ paa@ ] Ancient Adena" .rexit then Выход только тогда, когда число необходимых предметов больше имеющегося. Или, что то же самое, имеющееся число предметов - меньше нужного … Если число нужных предметов будет точно равно…
|
0
2005-11-16, Balancer: Старые слова будут понемногу переписываться, а новые желательно писать с соблюдением этих правил. Ну и плюс, естественно, http://la2.balancer.ru/wiki/... 1. Правило, которое, наконец вывел по отношению к словам, требующим и не требующим идентификатора игрока перед собой. code text 1000 karma! Установить в 1000 карму текущего игрока, в контексте которого исполнятся Форт-код. code text 1000 player@ p.karma! Установить карму в 1000, опять же, текущему игроку, но с явным его указанием code text 1000 player@ target@ p.karma! Установить карму выбранной цели. Т.е. нотификация слов такая: code text karma! ( n - - ) p.karma! ( n player - - ) По идее, старый вариант target@ нужно переименовывать в p.target@ для единообразия. А просто target@ будет обозначать "player@ p.target@".
|
6
2005-11-16, Balancer: Да ничего не менялось, вроде. ТОлько что GM-команда "//rename НовоеИмя" добавлась, применяющаяся к выбранному чару.
|
0
2005-11-13, Balancer: В общем-то уже работает. Высокоурвневых слов пока нет, но пощупать можно так: . code forth : new-skill ( skill-id level -- L2Skill ) "net.sf.l2j.gameserver.Skil lTable" class "getInstance" 0 jget "getInfo" { int.class int.class } jget ; : use-skill ( L2Skill player -- ) over if >r 0 boolean 0 boolean r> "useMagic" { "net.sf.l2j.gameserver.mode l.L2Skill" class bool.class bool.class } jexe else 2drop then ; 1177 5 new-skill player@ use-skill Используется Wind Strike 5-го уровня.
|