проблема с реализацией квеста.

 
+
-
edit
 

Balancer

администратор
★★★★★
MorbidAngel> 2Balancer А где можно посмотреть полный список уже описаных слов, операторов, а то на вики ДАЛЕКо не все?

К сожалению, пока только в исходниках :) Благо, и исходники JBForth, и слова, определённые на Форте доступны всем. Исключение - слова L2F-расширений JBF, написанные на Java. Они есть только у тех, у кого есть исходники. При написании слов я старался давать их краткие описания.

Если кто-то возьмётся расширить Wiki - я только за :)
 
+
-
edit
 

Balancer

администратор
★★★★★
MorbidAngel> непись будит смотреть не в твою сторону, а в ту-же что и ты.

Да. Я не помню, сколько в h-единицах будет 180 градусов. Не уверен, что 360 градусов - это точно 65536. Но если так, то 180 градусов - это 32768 (там отличия если и есть, то небольшие, нам не принципиально). Значит, чтобы повернуть чара на 180 градусов, достаточно добавть 32768 и взять остаток от деления на 65536:
code forth
  1. 32768 + 65536 MOD
 
+
-
edit
 

Balancer

администратор
★★★★★
Кстати, не забывайте, что тестировать работу Форта можно прямо из телнета:
code text
  1. telnet localhost 1903
  2. Trying 127.0.0.1...
  3. Connected to localhost.
  4. Escape character is '^]'.
  5. Welcome To The L2J Telnet Session.
  6. Please Insert Your Password!
  7. Password: ***
  8. Password Correct!
  9. [L2J]
  10. 1 32768 + 65536 MOD .
  11. 32769
  12.  
  13. 32769 32768 + 65536 MOD .
  14. 1
  15.  
  16. 1234 32768 + 65536 MOD .
  17. 34002
 
UA MorbidAngel #19.12.2006 13:00
+
-
edit
 

MorbidAngel

разработчик L2J Fortress

MorbidAngel>> непись будит смотреть не в твою сторону, а в ту-же что и ты.
Balancer> Да. Я не помню, сколько в h-единицах будет 180 градусов. Не уверен, что 360 градусов - это точно 65536. Но если так, то 180 градусов - это 32768 (там отличия если и есть, то небольшие, нам не принципиально). Значит, чтобы повернуть чара на 180 градусов, достаточно добавть 32768 и взять остаток от деления на 65536:

А при инкрементации угла поворот происходит по часовой стрелке или против??
 
+
-
edit
 

Balancer

администратор
★★★★★
code forth
  1. "
  2. {
  3. { 5122 [ xM ] [ yM 100 + ] [ zM ] [ HeadingM ] 60 false }
  4. { 5122 [ xM 100 + ] [ yM ] [ zM ] [ HeadingM ] 60 false }
  5. { 5122 [ xM ] [ yM 100 - ] [ zM ] [ HeadingM ] 60 false }
  6. { 5122 [ xM 100 - ] [ yM ] [ zM ] [ HeadingM ] 60 false }
  7. } to fairys-spawnlist" parse eval


Это то же самое, что просто:
code forth
  1. {
  2. { 5122 xM yM 100 +  zM  HeadingM 60 false }
  3. { 5122 xM 100 +  yM   zM   HeadingM  60 false }
  4. { 5122  xM   yM 100 -   zM   HeadingM  60 false }
  5. { 5122  xM 100 -   yM   zM   HeadingM  60 false }
  6. } to fairys-spawnlist


:)
 
+
-
edit
 

Balancer

администратор
★★★★★
MorbidAngel> А при инкрементации угла поворот происходит по часовой стрелке или против??

Кажется, по часовой. Но в нашем случае это не важно, так как поворот на 180 градусов всё равно через какую сторону делать :)

...

Хотя, если тебе нужно, чтобы персонаж всегда смотрел в момент спавна лицом на тебя, находясь в любой точке, то тут нужно уже именно углы считать. Тут мне уже клиент нужен, чтобы поиграть. Хотя, кажется, где-то уже код подобный был.
 
UA MorbidAngel #19.12.2006 14:05
+
-
edit
 

MorbidAngel

разработчик L2J Fortress

Покопался по реализованным квестам.....
Все их реализации на основе класса JQuest. Этот клас описан гдето на форте или это жава класс и его методы можно посмотреть только имея исходники?
 
+
-
edit
 

Balancer

администратор
★★★★★
Стандартные квесты - это Jython.
 
+
-
edit
 

Diamond

втянувшийся

Balancer: насчет parse eval это я ему насоветовал, незнал что внутри списков можно переменные использовать :)
 
+
-
edit
 

Balancer

администратор
★★★★★
Megawolf> Balancer: насчет parse eval это я ему насоветовал, незнал что внутри списков можно переменные использовать :)

Я в этом топике уже писал, как работают слова { ... }. Открывающаяся скобка запоминает уровень стека, а закрывающаяся - делает список из всех добавившихся элементов. Каким образом они туда попали - не важно :) Всё, что между этими скобками - обычный Форт-код.
 

Murkt

Pythoneer

В L2Character было специальное HeadingTo(...), или как-то так. Там уже вся математика есть, просто дать ему объект, в сторону которого будет смотреть, и оно само повернётся.
[team Їжачки - сумні падлюки]  
+
-
edit
 

Balancer

администратор
★★★★★
Murkt> В L2Character было специальное HeadingTo(...)

А, ну да. Как бы б его не я писал даже :D
 

Murkt

Pythoneer

Murkt>> В L2Character было специальное HeadingTo(...)
Balancer> А, ну да. Как бы б его не я писал даже :D

Но-но! Я писал :) Когда надо было сделать, чтоб чар поворачивался к своей цели в момент атаки. Как раз где-то около года назад.
[team Їжачки - сумні падлюки]  
UA MorbidAngel #20.12.2006 16:24
+
-
edit
 

MorbidAngel

разработчик L2J Fortress

DeathDemona> [code forth]
DeathDemona> : test
DeathDemona> step@ 1 = if
DeathDemona> 1 1046 items_add
DeathDemona> 2 step!
DeathDemona> then
DeathDemona> ;
DeathDemona> : on-npc-629-die
DeathDemona> ['] test killer exec-for
DeathDemona> ;
DeathDemona> ['] on-npc-629-die 629 npc-die+!
DeathDemona> previous definitions
DeathDemona> [/code forth]

А разве здесь небудит слово test отрабатывать 2 раза?? Или старый стиль слова: "on-npc-XXX-die" уже несрабатывает при смерти неписи с ид ХХХ??
 
+
-
edit
 

Balancer

администратор
★★★★★
Может, и дважды будет. Я уже просто не помню, сносил я поддержку старого стиля или нет :)
 
DK DeathDemona #20.12.2006 23:02
+
-
edit
 

DeathDemona

новичок
нет , один раз срабатывает , походу :)
P.S. Ув. Балансер что-то я тебя никак не могу в джаббере найти , воспользуюсь планом Б - email :)
 
AD Реклама Google — средство выживания форумов :)
+
-
edit
 

Balancer

администратор
★★★★★
Меня как раз в Jabber'е два дня нет. Вчера было корпоративное отмечание НГ, а сегодня - на работе комп глючил. Позавчера же был, хотя и не весь день.
 

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