Теги форумов: Forth, программирование

Фильтр: Java, JBForth
Теги : Forth, Java, JBForth, программирование
 
Тема
1
2005-10-01, BLaS: забавно у меня уже был int : code forth : int 0 + ; а вот так сработает интересно, число в строку code forth : string "" S+ ;
2
2005-10-01, BLaS: зашибись )
5
2005-10-01, Vairus: все понял сенк
2
2005-10-01, Balancer: Кстати, не помню уже когда, но ввёл слово gm_ride. Оно перекрывает вызов слова ride при вызове //ride и выдаёт соответствующий диалог.
1
2005-10-01, Balancer: .trade ( "text" "sender" — ) - соответственно, вывод в торговый канал.
1
2005-10-01, Balancer: Введён аналог команды show под именем pshow . Разница в том, что pshow требует ещё одного параметра - идентификатора игрока, для которого выводится окно. code text "Test" player@ target@ pshow Вывести окно тому, кто выбран твоей целью.
0
2005-10-01, Balancer: code text "2 2 * ." eval распечатает "4". code text 5 "to xxx" eval полностью эквивалентно code text 5 to xxx Соответственно, можно определять новые слова прямо из кода. (Написание программы программой): code text ": test 123 . ;" eval test
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?    Эти переменные будут сохраняться на сервере автоматически  ... ;
4
2005-09-25, Balancer: Тьфу, конечно же, //jbf_reload Вообще, об этом много на форуме писалось
2
2005-09-23, Balancer: code text //true to event? //event-is-here Всё, после этого те, кто наберёт ".to_event" окажутся в этом месте. Для отключения: code text //false to event?
0
2005-09-21, Balancer: //bm+ <имя места> - добавить закладку //bm <имя места> - перенестись на выбранное место. Чуть позже добавлю переход по списку (с выбором из меню) и удаление ненужных букмарков.
0
2005-09-21, Balancer: code forth : on-skill-1170-target  ... ; Вызывается на каждое применение скилла по каждой из целей. Реализовал, например, на нём базовый Anchor. Но толку очень мало пока. Механизм AI в l2j стал совсем кошмарным и идиотским. Реально из Форта управлять гибко чем-то фиг выходит. На каждый чих нужно дописывать заглушку-переходник. Всё из-за того, что тот, кто разрабатывал систему, помешался на enum'ах. А это кранты для reflection. По крайней мере, я не нашёл ни одного способа получить enum по его имени :-/ Если кто знает - поделитесь. А то пока работа встала.
8
2005-09-18, Balancer: Выложил это решение в SVN
0
2005-09-18, Balancer: explode разбивает строку на элементы, разделённые пробелами. Возвращается список элементов. Например, получение двух первых слов из строки любой длины: code text explode  получаем список list>  раскладываем список на отдельные элементы в стеке и их число 2 - ndrop  сбрасываем из стека n-2 элементов  всё, остались только первые два
0
2005-09-17, Balancer: Например, теперь "/main.f" при подключении подкаталогов указывать не обязательно. Исправлена работа слова <> Исправлен ndrop А вот в работе value-переменных при их переопределении заметил баг. Точнее сказать не могу, точно не вылавливал.
0
2005-09-17, Balancer: code text {  1  2  3  2 2 * } Будет создан список из 4-х элементов, 1, 2, 3 и 4. Слово '{' запоминает состояние стека, а '}' формирует из того, что появилось в стеке, список. Понятное дело, что если внутри будет формирование других списков - то они тоже попадут как элементы нового списка. code text { { "Player1" 12 } { "Player2" 14 } }   " '.' do-list " do-list Слово do-list ( list "code" — ) выполняет код "code" для каждого элемента списка.
1
2005-09-17, zabbix: вот спасибо теперь через телнет буду плюшки раздавать
1
2005-09-17, Balancer: world Возвращает объект L2World сервера.
0
2005-09-17, Balancer: Кладёт на стек, соответственно, null
0
2005-09-17, Balancer: code text : find_player  ( "name" -- player )       world "Player" get(s) ;  Find player by his name ; Вызов xxx = world.getPlayer(name)
0
2005-09-17, Balancer: Если при обращени к html-файлу NPC с кодом NNNN, находится одно из сабжевых слов, то его вывод дописывается в конец нужного файла, перед тэгом </body>. Позволяет строить динамическую реакцию NPC. Например, дописать строчку эвента только тогда, когда этот эвент активен: code forth : npc-7120-dialog-append     ' ' .     '<a action="bypass -h jbf_event_theft-of-kamilla_7120& quot;>Event "Theft of Kamilla"</a> ' . ; Если будет загружаться этот код, то при обращении к NPC 7120 (Maximilan) внизу его диалога появится соответствующая сточка.
0
2005-09-17, Balancer: Не проверено точно, но теперь нераспознанные админ-команды обрабатываются хитрее. Если при вызове //command parameters находится слово gm_command , то оно вызывается без проверки доступа. Все проверки должно делать это слово. Если же такого слова нет, то тогда, как и раньше, выполняется Форт-код, если у игрока достаточный (GM_USE_FORTH) уровень доступа. Позволяет вводить новые админ-команды на Форте с тонким различием уровня доступа и переписывать старые команды. Полное тестирование будет чуть позже.
6
2005-09-17, TD_ALECS: Так, а у тебя написано дверь 2 её 12345678 или это не то ? Так, а будете реализовывать на Форте открываение дверей именно кланом.
0
2005-09-16, Balancer: Попробую тут собрать некоторое обобщение, а то не все знают, что к чему, и прикреплю эту тему Опять же, тут же можно делать заказы-хотелки. JBForth умеет: - Создавать, удалять, проверять наличие любых предметов или денег в инвентаре пользователя. - Проверять/изменять любые property любого объекта обращения к которым идет через getXxx()/setXxx(). Правда, не до всех объектов есть ещё доступ. - Телепортировать игрока, как по абсолютным координатам так и по относительным - Формировать HTML-диалоги - Вызывать слова на гибель NPC - Открывать/закрывать двери - Производить определённые операции на входе/выходе игрока, а при запуске сервера даже дважды - до начала всех инициализаций и после них. - Выполнять отложенный на произволное время вызов слова (таймерные задачи) - Выполнять определённый код для всех игроков сервера - Выполнять SQL-запросы - Обеспечивать посадку/ссаживание игрока с ездового животного - Переименовывать игрока - Выполнять визуальный эффект того или иного скилла - Проигрывать музыку клиента…
7
2005-09-16, Balancer: zabbix: а его проэксплоитить низя? выбрать непися, и байпасснуть слово из хелпа?   Нет. Я уже писал, что из bypass вызывать Форт-слова прямо сейчас нельзя. Не очень удобно, но такова жизнь. Точнее - кривь идеологии корейцев Было описано тут: Unknown…
Смотри также

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru