|
|
08.11.2005, 22:26
|
#1041
|
|
Re: Скриптинг в Готике
2Stel1:
Zspy пишет 00:23 Fatal:-1 U: PAR: Process stopped - 33 error(s) .... <zParser.cpp,#599>
|
Пиши все синии сообщения, эта надпись означает, что у тебя 33 ошибки, требующие внимания. Вот хотел спросить, вот к примеру в диалоги я пишу: Diego_NW.aivar[AIV_IgnoresArmor] = TRUE; Но вот если я хочу что бы не только Диего игнорировал доспех а все НПС, как прописывать тогда?
|
|
|
09.11.2005, 16:13
|
#1044
|
|
|
|
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
|
|
|
|
Re: Скриптинг в Готике
2TSYLin: Ну на всех думаю нельзя сделать. Нада у Vam'а спросить, он скажеть нам точно.
2marazmus: Я отношусь к таким мазохистам, т.к. я все\почти все внимания поправил, когда делал патч для Г1 Руссобит. :)
|
|
|
09.11.2005, 16:35
|
#1045
|
|
|
|
|
A.G.F.C.
Регистрация: 02.09.2005
Сообщений: 6
|
|
|
|
|
|
Re: Скриптинг в Готике
Цитата:
Сообщение от Killer-XXX link=board=gothic&t=1105030050&start=1000#1043 date=11/09/05, в 15:13:20
2marazmus: Я отношусь к таким мазохистам, т.к. я все\почти все внимания поправил, когда делал патч для Г1 Руссобит. :)
|
Это отразилось как-то на конечном результате - понизило/убрало глюки и т.п.? Если это _действительно_ влияет на результат, то придется мне, похоже, потратить еще время на правку "зеленых" вниманий. Или, может, кто еще возьмется - потом я выложу правленые файлы заново. По вышеприведенной ссылке есть только "зеленые" внимания, синих и красных ошибок нет, все нормально компилируется. А если это не сильно помогает, то не вижу смысла "мучить" скриптеров еще и правкой вниманий :). Добавление от 11/09/05, в 15:46:44
Цитата:
Сообщение от TSYLin link=board=gothic&t=1105030050&start=1000#1040 date=11/08/05, в 21:26:28
Вот хотел спросить, вот к примеру в диалоги я пишу:
|
* * *Diego_NW.aivar[AIV_IgnoresArmor] = TRUE;
|
Но вот если я хочу что бы не только Диего игнорировал доспех а все НПС, как прописывать тогда?
|
Если пишешь _именно в диалоге_, то самый легкий способ - динамическое присвоение через self. То есть, к примеру, пишем просто в теле нужного диалога - [pre]self.aivar[AIV_IgnoresArmor] = true;[/pre] Второй способ - тоже "диалоговый". Создаем диалог-заглушку, с флагом important, без хитрых условий, короче, чтобы он отрабатывал когда нам нужно. В теле диалога не пишем функций AI_Output - за счет этого непись не будет "дергать" ГГ с разговором, а просто "отработает" тело диалога молча; *а прописываем в теле диалога нужный нам [pre]self.aivar[AIV_IgnoresArmor] = true;[/pre] и еще что-нибудь, что надо. Логическое развитие этой идеи - прописать функцию, которая "делает" [pre]self.aivar[AIV_IgnoresArmor] = true;[/pre] в обработчики восприятий - кому это надо, людям и/или монстрам. Тогда вообще проблем нет - как только непись увидел ГГ, сразу все срабатывает как надо. Ну и переменные всякие можно завести, к примеру, чтобы броня игнорировалась не всегда, а когда нужно по сюжету/условиям - не мне здесь учить, короче. *:) p.s. Вариант "в лоб" - прописать все в скрипты неписей. А их под 400 штук, так что способ с диалогом или с обработчиками восприятий куда менее затратен чисто технически. :)
|
|
|
09.11.2005, 17:13
|
#1046
|
|
Re: Скриптинг в Готике
2Killer-XXX:
Я отношусь к таким мазохистам, т.к. я все\почти все внимания поправил, когда делал патч для Г1 Руссобит.
|
Я тоже :) Последние несколько месяцев собираю свой мод для Г1 только GothicSourcer v2.12. А odin68 вроде бы как уже проделал это с пиратскими скриптами Г2а... Мазохисты-скриптологи всех стран соединяйтесь! :)
|
|
|
09.11.2005, 21:51
|
#1049
|
|
Re: Скриптинг в Готике
2Stel1:
У меня после архивации скрипты весят 4,5 метра. А у тебя 900 кило. Лучше дай датник.
|
Скрипты действительно весят 900 кило. 2Муравьёв-Апостол:
Архив просто битый,надо было проверить прежде чем закачивать.
|
Скорее архив запортился при заливке на сервак.
|
|
|
09.11.2005, 21:59
|
#1050
|
|
|
|
|
A.G.F.C.
Регистрация: 02.09.2005
Сообщений: 6
|
|
|
|
|
|
Re: Скриптинг в Готике
Цитата:
Сообщение от FreeSergey link=board=gothic&t=1105030050&start=1000#1048 date=11/09/05, в 20:51:11
2Stel1: Скрипты действительно весят 900 кило.
|
Да, это на самом деле так. Просто пакуй в архив только файлы *.D и *.src Еще в Винраре ставишь type = solid, тогда все жмется до 900 килограмм.
2Муравьёв-Апостол: Скорее архив запортился при заливке на сервак.
|
Да, так и есть, завтра перезалью. p.s. Хоть бы кто спасибо сказал (бурчит под нос)...
|
|
|
10.11.2005, 02:45
|
#1051
|
|
Re: Скриптинг в Готике
Доброго всем времени суток! Декомпилировал скрипты пиратки, поправил почти все "зеленые" предупреждения (осталось штук 15). Если это вообще актуально, лежит здесь, весит около 900 Кб. Вообще же хотел спросить, удавалось ли кому заставить правильно работать восстановление жизни и маны? Вариант с летающим подзарядником показался мне странным, решил сосредоточиться на атрибутах. Выяснил ряд интересных моментов. Так, если attribute[ATR_REGENERATEHP] == 0, восстановление маны почему-то не работает. Так надо, или у меня одного такой глюк? Собственно, никто не мешает установить обе переменные, отвечающие за регенерацию маны и жизни. Создал пару функций, прописал их вызов в instance облачения темных искусств (не суть важно, мне так было проще тестировать); внутри устроил присвоение некоторых значений соответствующим атрибутам. К слову, сначала присваивал некоторое значение атрибуту attribute[ATR_REGENERATEMANA], и только потом - attribute[ATR_REGENERATEHP]. Решил проверить, как будет реагировать движок на разные последовательности таких событий, как надевание робы (equip), получение персонажем повреждений (damage) и расходование маны (cast). Обнаружил две последовательности, когда жизнь не восстанавливалась: damage->cast->equip и equip->cast->damage. Решил перед установкой переменных, отвечающих за регенерацию, вставить некий шаманский кусок кода, немного уменьшающий attribute[ATR_MANA]. Функция, вызываемая при надевании, стала выглядеть так: func void Equip_ITAR_Xardas() { if(self.attribute[ATR_MANA_MAX] < 1) { self.attribute[ATR_MANA_MAX] = 1; }; if(self.attribute[ATR_MANA] > self.attribute[ATR_MANA_MAX]) { self.attribute[ATR_MANA] = self.attribute[ATR_MANA_MAX]; }; Npc_ChangeAttribute(self,ATR_MANA,-1); if(self.attribute[ATR_MANA] < 0) { self.attribute[ATR_MANA] = 0; }; Npc_ChangeAttribute(self,ATR_REGENERATEMANA,2); Npc_ChangeAttribute(self,ATR_REGENERATEHP,14); }; Тесты с порядком получения повреждений, расходования маны и надевания робы все работают. Следующий тест - а что если прокачать ману, а потом одеть робу. И здесь меня ждало разочарование. Мана не восстанавливается. По крайней мере, до получения героем телесных повреждений. Очередной шаманский кусок кода, повреждающий здоровье персонажа, не приносит никакого эффекта. Кстати, если наоборот, сначала надеть робу, а потом качать ману, то все работает замечательно. Вообще, может это у меня версия Готики такая? Или это все-таки глубинный глюк движка? Тогда как с ним бороться? Вообще, почему все начинает работать после получения персонажем повреждений?
|
|
|
10.11.2005, 08:35
|
#1052
|
|
|
|
|
A.G.F.C.
Регистрация: 02.09.2005
Сообщений: 6
|
|
|
|
|
|
Re: Скриптинг в Готике
Цитата:
Сообщение от marazmus link=board=gothic&t=1105030050&start=1000#1042 date=11/09/05, в 07:28:54
Вот здесь:
|
http://marazmus.worldofgothic.ru/_decompiled_akella.rar
|
лежат декомпилированные и протестированные на синие и красные ошибки скрипты от Акеллы. Все замечательно компилируется и собирается в датник. Кому надо, забирайте. Архив RAR, размер 932 725 байт. Ссылка прямая, можно скачать даунлоадером.
|
p.s. Мазохисты могут заняться правкой "зеленых" предупреждений. :) p.p.s. Надеюсь, домен проживет долго, поэтому, если надо еще кому-то будет, могу пока данный архив не удалять подольше.
|
Архив перезалил, проверил - все распаковывается нормально. Размер тот же.
|
|
|
10.11.2005, 14:40
|
#1053
|
|
|
|
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
|
|
|
|
Re: Скриптинг в Готике
2Sergius256:Итак, по порядку:
Декомпилировал скрипты пиратки, поправил почти все "зеленые" предупреждения (осталось штук 15).
|
15? Откуда такая уверенность? Наскока я знаю, то Декомпилятор допустим покажет 20 сообщений, ты поправишь 10, а он покажет опять 20 (если они будут, конечно). Теперь про твой код:
if(self.attribute[ATR_MANA] > self.attribute[ATR_MANA_MAX]) { self.attribute[ATR_MANA] = self.attribute[ATR_MANA_MAX]; };
|
Этот кусок кода вообще бред какой то, мана не может быть больше максимальной, да еще и строго.
Npc_ChangeAttribute(self,ATR_MANA,-1); if(self.attribute[ATR_MANA] < 0) { self.attribute[ATR_MANA] = 0; };
|
Аналогично. Зачем тебе сделать отрицательной, а потом сделать 0? Сразу нельзя?
Npc_ChangeAttribute(self,ATR_REGENERATEMANA,2); Npc_ChangeAttribute(self,ATR_REGENERATEHP,14);
|
Расскажешь откуда ты взял какие значения присваивать этим аттрибутам? Вообще, ИМХО, они могут быть TRUE\FALSE, т.е. восстанавливать или не восстанавливать. Может я чего то не знаю или пропустил?
|
|
|
10.11.2005, 15:14
|
#1054
|
|
Re: Скриптинг в Готике
Декомпилятор показывает 50 сообщений. А уверенность, что ошибок не более 15 от того, что все диалоги правил вручную... Реальная польза от этого если и будет, то скорее всего будет выражаться в меньшем "раздувании" процесса Gothic2.exe в памяти со временем. Кусок кода выполняет простую функцию - отнимает 1 маны у персонажа. Первое условие: если игрок "продал" всю ману идолу Белиара, подарить ему 1 маны. Иначе и отнимать-то нечего. Второе условие - проверка фантастической ситуации, когда мана больше максимальной. Да, мне такое не встречалось ни разу. Но решил лишний раз перестраховаться. Потом просто отнимаем 1 маны, и все. А если мана и так была равна 0? Здесь срабатывает 3-е условие. Т.е., после этого куска кода мана в любом случае уменьшается на 1, но не становится отрицательной, плюс остается возможность ее восстановления. Да, наверное, можно все это повыбрасывать. Но пока *вообще восстановление работает не без глюков, так что оптимизация - в перспективе.
Расскажешь откуда ты взял какие значения присваивать этим аттрибутам?
|
"Уроки скриптологии", страница 3, пост №71. Правда, там написано "регенерация жизни (маны) в секунду", а на самом деле - количество секунд, необходимое на восстановление 1 пункта жизни/маны.
|
|
|
10.11.2005, 16:30
|
#1055
|
|
Re: Скриптинг в Готике
marazmus чего то твой архив опять не хочет распаковываться. Всё таже ошибка. Может это сервак галимый. Напиши чем архивировал и какой версией. Или попробуй мне на email кинуть а я уже выложу и дам ссылку. vitalik902@yandex.ruне ругайся
|
|
|
10.11.2005, 16:59
|
#1056
|
|
|
|
|
A.G.F.C.
Регистрация: 02.09.2005
Сообщений: 6
|
|
|
|
|
|
Re: Скриптинг в Готике
Цитата:
Сообщение от Stel1 link=board=gothic&t=1105030050&start=1050#1054 date=11/10/05, в 15:30:21
marazmus чего то твой архив опять не хочет распаковываться. Всё таже ошибка. Может это сервак галимый. Напиши чем архивировал и какой версией. Или попробуй мне на email кинуть а я уже выложу и дам ссылку. vitalik902@yandex.ru
|
Когда я вчера закачал файл на фтп, специально скачал его оттуда заново и проверил - все прекрасно распаковывается. Винрар нужен версии не ниже 3. Я паковал версией 3.40. Если не можешь обновиться до новой версии, положил на фтп еще один файл, но в exe-файле - самораспаковывающийся архив. Ссылка: marazmus.worldofgothic.ru/_decompiled_akella.exe Размер 1 007 477 байт. Сразу скачал сам и протестировал - ошибок нет. Дальше я тебе не помощник - или руки кривые / не тем качаешь, или что. Тебе бескорыстно помогают, а ты ругаешься - что за приколы, не пойму? p.s. С каких это пор платные хостинги стали "галимыми"? Вместе со мной этим фтп пользуется еще несколько человек, пока нареканий не было. p.p.s. Лови на e-mail еще тогда, выслал.
|
|
|
11.11.2005, 20:35
|
#1059
|
|
|
|
|
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
|
|
|
|
|
|
Re: Скриптинг в Готике
2marazmus:
Вот здесь: marazmus.worldofgothic.ru/vam_tutor.rar лежат уроки Vam'a, собранные в один файл Tycoon. Почитай пожалуйста, не поленись.
|
Гм. Архив битый ;D Вот тут последняя версия.
|
|
|
11.11.2005, 22:36
|
#1060
|
|
|
|
|
A.G.F.C.
Регистрация: 02.09.2005
Сообщений: 6
|
|
|
|
|
|
Re: Скриптинг в Готике
Цитата:
Сообщение от Юрий Валерьевич link=board=gothic&t=1105030050&start=1050#1058 date=11/11/05, в 19:35:47
2marazmus: Гм. Архив битый ;D
|
Я надеюсь, что это просто шутка. :) - в ответ. Потому что сейчас только лично скачали проверил - все распаковывается замечательно просто. Ок, отныне все буду паковать в exe-файлы с 10% информации для восстановления.
Вот тут последняя версия.
|
CHM-файл иногда удобнее, не спорю. Прочитает ли человек это все - вот в чем вопрос. :( Добавление от 11/11/05, в 21:56:26
Ок, перезалил в exe-файл. marazmus.worldofgothic.ru/vam_tutor.exe
|
|
|
12.11.2005, 15:30
|
#1061
|
|
Re: Скриптинг в Готике
Прошу обьяснить следующие ситуацию, вот предположим я хочу создать дереянный, или стеклянный, или гляняный меч, модели у меня есть и всё что надо тоже, а вот теперь обьясните мнеи какой практический эффект, то есть в игре будет, если заменить скриптово матирал меча на Дерево (MAT_WOOD) , Стекло (MAT_GLAS) , Глину (MAT_CLAY)?
|
|
|
12.11.2005, 18:07
|
#1062
|
|
|
|
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
|
|
|
|
Re: Скриптинг в Готике
2TSYLin: ИМХО никакого :) Я так думаю, что если меч упустить, может он ударится об землю другим звуком? Да и звучать при атака-блок по другому будет? Более ничего на ум не приходит, прочности нету.
|
|
|
13.11.2005, 02:33
|
#1064
|
|
|
|
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
|
|
|
|
Re: Скриптинг в Готике
2TSYLin: Разницы нету, компилятор одинаково понимает 1\TRUE и 0\FALSE. Да, все переменные по умолчанию FALSE.
|
|
|
13.11.2005, 21:03
|
#1065
|
|
|
|
|
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
|
|
|
|
|
|
Re: Скриптинг в Готике
2TSYLin: TRUE и FALSE - константы, объявленные в файле content\AI\AI_Intern\AI_Constants.d следующим образом:
Код:
const int TRUE = 1;const int FALSE = 0;
Так что писать TRUE или 1 - абсолютно без разницы.
|
|
|
14.11.2005, 14:47
|
#1072
|
|
|
|
|
Регистрация: 19.06.2004
Адрес: г. Белая Калитва.
Сообщений: 204
|
|
|
|
|
|
Re: Скриптинг в Готике
2TSYLin: Что ты имеешь ввиду под оператором? Только флаг ставишь другой и все, остальное как у доспехов.
|
|
|
14.11.2005, 16:43
|
#1073
|
|
|
|
|
Регистрация: 15.04.2004
Адрес: Санкт-Петербург
Сообщений: 372
|
|
|
|
|
|
Re: Скриптинг в Готике
2TSYLin:
Дело в том что мне надо написать ф-цию во втором файле компиляции (по порядку) а если писать TRUE то компилятор выдаст ошибку т. к. AI\AI_Intern\AI_Constants.d компилируется позже!
|
А для чего тебе обязательно компилировать свой скрипт на такой ранней стадии? Это так принципиально?
|
|
|
14.11.2005, 22:35
|
#1074
|
|
Re: Скриптинг в Готике
2Юрий Валерьевич:
А для чего тебе обязательно компилировать свой скрипт на такой ранней стадии? Это так принципиально?
|
Да, в константах есть константа (тафтология) отвечающая за цены продажи, мне надо сделать ф-цию как раз на эту константу, то есть предположем что какая-нибудь переменная истина, то и константа другая, простор я боюсь что могут быть глюки, при более поздних упоминаниях этой константы.
|
|
|
16.11.2005, 15:02
|
#1077
|
|
Re: Скриптинг в Готике
2Killer-XXX:
Расскажешь откуда ты взял какие значения присваивать этим аттрибутам? Вообще, ИМХО, они могут быть TRUE\FALSE, т.е. восстанавливать или не восстанавливать.
|
ATR_REGENERATE... отражают число секунд, через которые восстанавливается 1 единица параметра, это абсолютно точно. Так как число целое, то регенерацию быстрее 1 ед в сек сделать таким способом видимо нельзя. Когда маны прилично, это слишком медленно. Я уже пытался спрашивать по поводу перезарядника, достаточно просто, чтобы на него не происходило нацеливания, телепортировать его вместе с собой рунами несложно, но мой вопрос (как обойти или заставить работать нерабочий noFocus) почему-то проигнорировали.
|
|
|
17.11.2005, 09:46
|
#1079
|
|
Re: Скриптинг в Готике
2TSYLin:
если у ГГ 100 маны то за одну секунду у меня восстанавливается по 40!
|
А вот это для меня новость. Я задавал прямо в параметрах pc_hero, начинал игру с разными параметрами и точно восстанавливал по 1 в секунду, либо по 1 в n секунд, в зависимости от параметра. Выяснишь - сообщи, буду благодарен.
|
|
|
Здесь присутствуют: 28 (пользователей: 0 , гостей: 28)
|
|
Опции темы |
Поиск в этой теме |
|
|
Ваши права в разделе
|
|
|
|
Текущее время: 15:36. Часовой пояс GMT +4.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|