Тема |
---|
9
2005-10-05, ivse: ~~~> Я, ведь, и на это отвечал выше. В тексте программы написано - "jbf". Система такого слова не находит. На число оно не похоже. Это не строка. Пытаемся искать такой файл - не найден. То же самое для каталога - нету. > Значит, выдаём сообщение об…
|
12
2005-10-05, Balancer: ~~~"Никак" - в том смысле, что не зачем писать то, что уже реализовано :D И, если уж на то пошло: [code]: user_loc loc@ "Server coordinates: " . rot . swap . . ;[/code] В плавающем виде целые печатать не обязательно :D, а манипуляции со стеком в конце…
|
1
2005-10-04, Balancer: ~~~Страница перенесена на http://la2.balancer.ru/wiki/inde x.php/Возможности_JBForth
|
36
2005-10-04, Balancer: ~~~> 1. как узнать для каких значений персонажа в коде предусмотрены изменения Смотреть в коде сервера :) В папке model файлы, типа L2Character.java, L2PcInstance.java и др. Искать функции setXXX(..) > как попросить чтобы туда добавили изменения некоторых…
|
1
2005-10-01, BLaS: ~~~:) забавно у меня уже был int : [code forth] : int 0 + ; [/code] а вот так сработает интересно, число в строку [code forth] : string "" S+ ; [/code]
|
2
2005-10-01, BLaS: ~~~зашибись )
|
5
2005-10-01, Vairus: все понял сенк
|
2
2005-10-01, Balancer: ~~~Кстати, не помню уже когда, но ввёл слово gm_ride. Оно перекрывает вызов слова ride при вызове //ride и выдаёт соответствующий диалог.
|
1
2005-10-01, Balancer: ~~~[b].trade ( "text" "sender" -- )[/b] - соответственно, вывод в торговый канал.
|
1
2005-10-01, Balancer: ~~~Введён аналог команды show под именем [b]pshow[/b]. Разница в том, что pshow требует ещё одного параметра - идентификатора игрока, для которого выводится окно. [code] "Test" player@ target@ pshow [/code] Вывести окно тому, кто выбран твоей целью.
|
0
2005-10-01, Balancer: ~~~[code] "2 2 * ." eval [/code] распечатает "4". [code] 5 "to xxx" eval [/code] полностью эквивалентно [code] 5 to xxx [/code] Соответственно, можно определять новые слова прямо из кода. (Написание программы программой): [code] ": test 123 . ;" eval test [/code]
|
0
2005-10-01, Balancer: ~~~Переменные, описанные как suvalue ("Savable User VALUE-переменные") при выходе пользователя сохраняются в БД автоматически. При старте его - загружаются. Синтаксис и использование идентичны VALUE-переменным, за исключением того, что значение, присваиваемое в описании переменной, устанавливается только один раз, если эта переменная в БД пользователя отсутствует. [code forth] false suvalue jailed? 0 suvalue jail-to-collect 0 suvalue jail-total-collected "0 0 0" suvalue jail-coords-back ... : jail-me ( items_count -- ) int to jail-to-collect jail-to-collect jail-total-collected + to jail-total-collected true to jailed? Эти переменные будут сохраняться на сервере автоматически ... ; [/code]
|
4
2005-09-25, Balancer: ~~~Тьфу, конечно же, //jbf_reload :) Вообще, об этом много на форуме писалось :)
|
2
2005-09-23, Balancer: ~~~[code] //true to event? //event-is-here [/code] Всё, после этого те, кто наберёт ".to_event" окажутся в этом месте. Для отключения: [code] //false to event? [/code]
|
0
2005-09-21, Balancer: ~~~[b]//bm+ [/b] - добавить закладку [b]//bm [/b] - перенестись на выбранное место. Чуть позже добавлю переход по списку (с выбором из меню) и удаление ненужных букмарков.
|
0
2005-09-21, Balancer: ~~~[code forth] : on-skill-1170-target ... ; [/code] Вызывается на каждое применение скилла по каждой из целей. Реализовал, например, на нём базовый Anchor. Но толку очень мало пока. Механизм AI в l2j стал совсем кошмарным и идиотским. Реально из Форта управлять гибко чем-то фиг выходит. На каждый чих нужно дописывать заглушку-переходник. Всё из-за того, что тот, кто разрабатывал систему, помешался на enum'ах. А это кранты для reflection. По крайней мере, я не нашёл ни одного способа получить enum по его имени :-/ Если кто знает - поделитесь. А то пока работа встала.
|
8
2005-09-18, Balancer: ~~~Выложил это решение в SVN :)
|
0
2005-09-18, Balancer: ~~~explode разбивает строку на элементы, разделённые пробелами. Возвращается список элементов. Например, получение двух первых слов из строки любой длины: [code] explode получаем список list> раскладываем список на отдельные элементы в стеке и их число 2 - ndrop сбрасываем из стека n-2 элементов всё, остались только первые два [/code]
|
0
2005-09-17, Balancer: ~~~Например, теперь "/main.f" при подключении подкаталогов указывать не обязательно. Исправлена работа слова Исправлен ndrop А вот в работе value-переменных при их переопределении заметил баг. Точнее сказать не могу, точно не вылавливал.
|
0
2005-09-17, Balancer: ~~~[code] { 1 2 3 2 2 * } [/code] Будет создан список из 4-х элементов, 1, 2, 3 и 4. Слово '{' запоминает состояние стека, а '}' формирует из того, что появилось в стеке, список. Понятное дело, что если внутри будет формирование других списков - то они тоже попадут как элементы нового списка. [code] { { "Player1" 12 } { "Player2" 14 } } " '.' do-list " do-list [/code] Слово [b]do-list ( list "code" -- )[/b] выполняет код "code" для каждого элемента списка.
|
1
2005-09-17, zabbix: ~~~вот спасибо теперь через телнет буду плюшки раздавать :)
|
1
2005-09-17, Balancer: ~~~[b]world[/b] Возвращает объект L2World сервера.
|
0
2005-09-17, Balancer: ~~~Кладёт на стек, соответственно, null :)
|
0
2005-09-17, Balancer: ~~~[code] : find_player ( "name" -- player ) world "Player" get(s) ; Find player by his name ; [/code] Вызов xxx = world.getPlayer(name)
|
0
2005-09-17, Balancer: ~~~Если при обращени к html-файлу NPC с кодом NNNN, находится одно из сабжевых слов, то его вывод дописывается в конец нужного файла, перед тэгом . Позволяет строить динамическую реакцию NPC. Например, дописать строчку эвента только тогда, когда этот эвент активен: [code forth] : npc-7120-dialog-append ' ' . ' Event "Theft of Kamilla" ' . ; [/code] Если будет загружаться этот код, то при обращении к NPC 7120 (Maximilan) внизу его диалога появится соответствующая сточка.
|