Тема |
---|
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…
|
0
2005-09-16, Balancer: get(i) ( n object1 "Function" — object2 ) Вызывает метод getFunction(Integer) для объекта object, передав ему параметр n. Результат возвращается как object2. Пример: door-id doors-table "Door" get(i) - аналог xxx = DoorTable.getDoor(door_id); в Java.
|
2
2005-08-22, Rockman: awarm: class@ возвращает цифровое значение. Назначать его не надо он прописан в сервере. player@ class@ . выдаст 35 Вот что пишет на это: Unknown word class@ Так я с самого начала пробовал. Причем если писать: 35 player@ class! то класс игрока…
|
2
2005-08-18, awarm: блин. ну в on-player-start.f напиши проверку. player@ "admin" = if / что-ты там с ним хочешь делать then типа такой. не проверял, но типа такого
|
53
2005-08-11, vini: awarm: ну лично я не тестил людские профы, но наверно на след. неделе займусь. у меня тут тоже с этим проблеммы. как будет готово, выложу где-нибудь оттестированные квесты отдельным файлом я могу предоставить место до 1 гига и распространение для…
|
0
2005-08-07, garri_il: Бал скажи можно реализовать телепорт клана в замок на форте с проверкои принадлежности данного клана к захва4енному замку ?
|
18
2005-08-07, Balancer: Таймерный стек - локальный на каждого юзера, но общий для всех задач. Вообще - да, не сообразил сразу, для таймерных задач нужно заводить свой стек.
|
22
2005-07-28, garri_il: [quote|Balancer:]Кстати, для админа может быть полезна команда "jm" ( j ump by m ap), которая переносит по координатам карты : //45.5 50.2 jm Глянул по карте, куда тебе нужно, и прыгнул туда :)[/quote] kleva
|
4
2005-07-18, awarm: Оно-то так, но мне очень не хочется еще в чужих файлах копаться и разбираться в логике. А так - сделал все что надо и почистил за собой. упрощается разработка на порядок
|
6
2005-07-18, Balancer: awarm: теперь-бы еще то-же самое, но при выходе игрока Еже ли не было замечено - сразу же и сделал. Только отписать забыл
|
0
2005-07-17, Balancer: Слова loc>map ( x_loc y_loc — x_map y_map) и map>loc ( x_map y_map — x_loc y_loc) служат для преобразования внутриигровых координат в координаты карты и наоборот. Слово jm ( map_x map_y — ) телепортирует администратора в точку, заданную координатами map_x и map_y карты. Пример: //55.3 40 jm
|
0
2005-07-17, Balancer: Формат вызова: code forth ... DO ... ... LOOP ... Перед словом DO на стек кладутся конечное и начальное значение цикла. Эти числа при выполнении слова DO снимаются со стека (и кладутся на стек возврата - но это в стандарте не оговаривается) Тело цикла выполняется хотя бы один раз. Слово LOOP увеличивает на единицу переменную цикла, сверяет с конечным значением, и если занчения точно равны - завершает цикл. Иначе - повторяется тело цикла. Если изначально стартове значения равны, то цикл получается бесконечным (реально - до переполнения целочисленной переменной, до тех пор, пока переменная цикла и конечное значение не сравняются). Для избегания зацикливания, при возможном наличии на входе равных переменных, есть слово ?DO - полный аналог DO, за исключением дополнительной проверки. Если числа на старте равны, то цикл не выполняется ни разу. Для работы с шагом цикла отличным от +1 существует слово +LOOP Ему на вход требуется положить на стек шаг цикла. Шаг цикла может быть и…
|
1
2005-07-15, Balancer: code forth : npc-clan-test player@ "ClanId" p@ 0= if "no-clan.html" show exit then "have-clan.html" show…
|
4
2005-07-14, Balancer: Про переменные из Jython не думал. Но - мысль. Вот переменные игрока - как раз в квестовой таблице БД сохранять собирался. Кстати, юзеровские переменные-то физически реализованы уже. Только их сохранение/загрузку написать нужно ... Да, если до переменных…
|
1
2005-07-14, Balancer: Сделал. Сейчас обновлю L2JRU. Проверяется последовательностью player@ "ClanLeader" p? Слово p? аналогично p@, но читает Object не через getProperyName, а 0/-1 (традиционные boolean в Форте) через isContition. Можно определить одним словом: : clan-leader?…
|
1
2005-07-14, Balancer: В текущей реализации - нет. Периодических процессов нет, есть только задержанные. Объявления - сделать можно, но в нынешней версии они не будут сохраняться при рестарте сервера. Ключевые моменты - переменные VARIABLE - глобальные на весь сервер. Можно…
|
1
2005-07-10, Forbec: А в С1 офф, когда антарас уходит в мир иной - молния сверкает И интересно былоб посмотреть как в С3 цвет неба меняется Это конечно не скилы, но всё же
|
0
2005-07-05, _BoBkA_: vse eventi u menja estj =] tolko vot kak ih zapustitj neznaju =] nikto ne podskazhet ? i kakie eventi uzhe estj ? privedite plz ih opisanie i komandu kak zapustitj sootvetstvenno eventu =] Budu o4enj priznatelen =]
|
17
2005-07-04, Balancer: Никакого чуда Как уже говорил, клиенту часто сносит башку, когда координаты игрока оказываются за пределами мира. Я как-то делал на этот счёт проверку в своей старой сборке, но в нынешних этого снова нет Были глюки с координатами, когда мне некоторым…
|
23
2005-07-03, Balancer: А посмотреть в HTML-файл сложно? Там просто испорчен HTML-вид ссылки. Сделано было специально на время эвента, чтобы народ не мог на халяву на вайверне залететь в зону, куда иначе можно только с боем прорваться Поскольку я играю сразу с локальной копии…
|
1
2005-07-02, Balancer: L2JRU тоже обновил
|
0
2005-07-01, Balancer: Сабж реализован достаточно давно. Если какой-то класс имеет свойство, к которому есть доступ по setProperty() и getProperty(), то эти функции можно вызывать из JBF: code forth player@ "Name" p@ . Напечатать имя текущего игрока (по "Name" p@ будет вызвана функция getName()) code forth "NewName" player@ "Name" p! Установить новое имя (это не полноценное переименование, это только установка нового имени в памяти игры).
|