• Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!

Вопросы по скриптингу

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
  • Первое сообщение
  • #1
Прежде чем задавать вопросы, ознакомьтесь с документацией..
1) Читать онлайн
2) Архив с офлайн-версией(chm) во вложении
 

Вложения

  • Vam_tutor.rar
    171,6 KB · Просмотры: 573
Последнее редактирование модератором:

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
в идеале нужно взять скрипты из г2мдк, перевести на рус, ибо декомпилы все эти это дрянь
Без разницы, и там и там дерьма хватает.. *sorry*
Но в Сурсер играть лучше, меньше багов пропустит..
 

Saturas


Модостроитель
Регистрация
11 Фев 2009
Сообщения
2.512
Благодарности
1.334
Баллы
315
Ну дак, смотри чо я предлогаю, взять за основу болванку из г2мдк, скомпилит сорсером, вычистить все баги, и русифицировать.
Просто те скрипты хороши тем что там очень приятно глазу написано, и не так скомкано.
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
Ну дак, смотри чо я предлогаю, взять за основу болванку из г2мдк, скомпилит сорсером, вычистить все баги, и русифицировать.
Просто те скрипты хороши тем что там очень приятно глазу написано, и не так скомкано.
Можно конечно, там было два вида кода, один просто текст размазанный по файлу, другой причесанный..
+ комменты пираний, + можно присобачить комменты Вама и Вса.. Тогда да, имеет смысл но кто будет это делать ?! Я за свои уже 15 лет так и не собрался взяться за это, + у оригинала Г2 нет исходных скриптов, только декомпил, не говоря уже о вагоне альф и демок..
 

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Просто поставить в сорсер проверку на данный тип предупреждений, определив его как ошибку. Хотя никто не запретит им использовать старый соурсер.
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
Просто поставить в сорсер проверку на данный тип предупреждений, определив его как ошибку. Хотя никто не запретит им использовать старый соурсер.
Не вариант, в Спейсере вообще нет проверок, а Сурсер всю проверку строит на основе синтаксиса языка.. и это только один из многих вариантов проверки кода которые в нем используются..
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
Есть ли какие-нибудь ограничения при посылке восприятия с помощью функции Npc_SendSinglePerc? Эксперимент показывает, что ограничение по расстоянию от источника до приёмника, которое имеет место в случае использования функции Npc_SendPassivePerc, здесь не работает. Это означает, что персональные посылки восприятия можно делать и на больших расстояниях. Но нет ли каких-то других ограничений?
 

neromont


Модостроитель
Регистрация
12 Мар 2011
Сообщения
675
Благодарности
662
Баллы
245
В классе CCamSys я так понял эти параметры особой роли не играют:

var float minElevation; // Минимальный угол наклона камеры
var float maxElevation; // Максимальный угол наклона камеры
var float minAzimuth; // Минимальный азимут камеры
var float maxAzimuth; // Максимальный азимут камеры
var float bestRotZ; // Угол поворота относительно оси Z по умолчанию.
var float minRotZ; // Наименьший угол поворота относительно оси Z.
var float maxRotZ;
var int collision; // Отключить просчет коллизии для данного режима. 1 - Включено. 0 - Выключено.

Их изменение ничего не дало. Удаление также ни на что не повлияло. Зачем их тогда устанавливать?
 
Последнее редактирование:

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.407
Благодарности
3.232
Баллы
525
var float minRange; // Минимальное расстояние от камеры до целевого объекта.
var float maxRange; // Максимальное расстояние от камеры до целевого объекта.
Насколько я понимаю, движок просчитывает положение камеры, стремясь придать ей наилучшее положение. Но при этом, в процессе подстройки, она может перемещаться в диапазоне от "мин" до "макс".
 

neromont


Модостроитель
Регистрация
12 Мар 2011
Сообщения
675
Благодарности
662
Баллы
245
Ошибся - эти играют роль. Они определяют на какую минимальную и максимальную дистанцию можно отодвинуть камеру.

var float minRange; // Минимальное расстояние от камеры до целевого объекта.
var float maxRange; // Максимальное расстояние от камеры до целевого объекта.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.636
Баллы
625
играют все.
эти параметры определяются для каждого режима камеры отдельно.
внутри движка идет условная выборка по названию инстанций методами класса zCAICamera.
они определяют "жесткость" следования камеры за персонажем, локальную ротацию, локальное смещение и тд
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.636
Баллы
625
со всей локацией. только я не в курсе юзается ли этот параметр на движке г2, так как в г1 он не задействован насколько я помню
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
со всей локацией. только я не в курсе юзается ли этот параметр на движке г2, так как в г1 она не задействована насколько я помню
В Г2НВ используется вроде, в чистой Г2 хз, если сейчас правильно помню..
 

neromont


Модостроитель
Регистрация
12 Мар 2011
Сообщения
675
Благодарности
662
Баллы
245
Просто я попробовал его изменить, но никакой коллизии со статикой или виртуальными объектами он не обрабатывал.
 

MaGoth

★★★★★★★★★★★
Администратор
Регистрация
7 Янв 2003
Сообщения
19.367
Благодарности
7.815
Баллы
995
Просто я попробовал его изменить, но никакой коллизии со статикой или виртуальными объектами он не обрабатывал.
Значит нужны определенные условия которые не были соблюдены..?
 

neromont


Модостроитель
Регистрация
12 Мар 2011
Сообщения
675
Благодарности
662
Баллы
245
Возможно. Можно бы было посмотреть на реализацию, как это работает, а то параметр проставлен только для прототипа.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.301
Благодарности
4.636
Баллы
625
ну так смотри имя прототипа и сопоставляй его с необходимым режимом.
вообще если тебе нужна нормальная камера, тебе надо в аст. там она полностью программируемая
 

neromont


Модостроитель
Регистрация
12 Мар 2011
Сообщения
675
Благодарности
662
Баллы
245
Вопрос по C_FightAI.

В инстанциях типа INSTANCE FA_ENEMY_PREHIT_49 число отвечает за номер гильдии. В данном случае это ...

const int GIL_ALLIGATOR = 49 ;

Однако в скриптах поведения во время боя для людей указаны разные числа в зависимости от уровня владения оружием:

INSTANCE FA_ENEMY_PREHIT_2 <FAI Covard>
INSTANCE FA_ENEMY_PREHIT_3 <FAI Strong>
INSTANCE FA_ENEMY_PREHIT_4 <FAI Master>
INSTANCE FA_ENEMY_PREHIT_42 <FAI Normal>

Вопрос в следующем.

1. Если цифра отвечает за гильдии, то почему люди разных гильдий могут использовать эти режимы боя?
2. 42 гильдия - это гильдия призванного голема?!? хранится в файле FAI_Human_Normal.d. Причем тут голем?

const int GIL_SUMMONED_GOLEM = 42 ;

P.S. Изменяю вопрос. Напутал я с цифрами. Цифры не соответствуют гильдиям. Тогда как они взаимосвязаны?

Разобрался. Все очень просто :)

Класс C_Npc
var int fight_tactic;

Например FAI_ALLIGATOR.

Значение константы хранится в AI_Constants, а там они уже связываются по нужному номеру.

Все вопросы снимаю, остался только один. Для того чтобы объявить константу связанную с режимами борьбы необходимо использовать приставку FAI_?
 
Последнее редактирование:

Trazege

Участник форума
Регистрация
20 Фев 2008
Сообщения
1.760
Благодарности
1.394
Баллы
340
Можно использовать любое имя...тут решает не оно, а значение этой консты, которое присваивается уже переменной класса. Какая непосредственно задача стоит?
 
Сверху Снизу