|
|
15.02.2008, 01:59
|
#1962
|
|
Re: М: Скриптинг в Готике
2okin:
Что-нибудь менее заметное мне поможет? Нету функции, прерывающей общение с предметом без лишних телодвижений?
|
Мхх.. Вверх попробуй нажать. А причем тут тема Скриптинга?
|
|
|
15.02.2008, 11:55
|
#1964
|
|
Re: М: Скриптинг в Готике
2okin:
Так я его хочу скриптово от сундука оторвать
|
Попробуй функции: void AI_StandUp (c_npc self); - если НПС self находится в состоянии анимации, то проигрывается соответствующее движение, если НПС self находится на MOBSI объекте (стул, кровать и т.д.), то он встает. void AI_StandUpQuick (c_npc self); - в отличии от предыдущей функции никаких движений не проигрывается, НПС self сразу переводится в стоячее состояние
|
|
|
17.02.2008, 22:21
|
#1967
|
|
Re: М: Скриптинг в Готике
2terrorblade:
2okin: Попробуй до этого очистить очередь состояний искуственного интеллекта, что-то типо NPC_ClearAIQueue(), не помню точно название, посмотри в уроках Вама...
|
Вы какую траву курили? Какой к Белиару у ГГ искуственный интеллект? ;D
|
|
|
18.02.2008, 00:48
|
#1969
|
|
Re: М: Скриптинг в Готике
2Ukur:
Вы какую траву курили? Какой к Белиару у ГГ искуственный интеллект?
|
2terrorblade:
ЗЫ: И перестань уже нарываться...
|
Ребят, хватит уже. Я не против споров, но давайте более аргументировано и ближе к теме.
|
|
|
18.02.2008, 02:39
|
#1971
|
|
Re: М: Скриптинг в Готике
2terrorblade:
2Ukur: А что, все движения ГГ по твоему рисуются движком от балды?
|
А вы думаете что все движения ГГ, которые в данном случае являются фазами анимации взлома сундука, который управляется в ДАННЫЙ момент игроком и по сути НЕ ИМЕЕТ ИСКУСТВЕННОГО ИНТЕЛЛЕКТА "рисуются" искуственным интеллектом? :) 2terrorblade:
ЗЫ: И перестань уже нарываться...
|
Ну я только поинтересовался :) 2Шаман:
Я не против споров, но давайте более аргументировано и ближе к теме.
|
Аргументы про ИИ выше, которого по идее у ГГ быть не может :) 2terrorblade:
Всё ведь очень просто проверить
|
Ок, ждем результатов использования функции NPC_ClearAIQueue(), для решения "проблемы сундука", т.е. для прерывания ГГ во время взлома оного от 2okin: 2terrorblade:
к чему этот товарищ рещил выкурить трубку войны или как там говориться...
|
Не, ну не хочешь - не делись травой :)
|
|
|
18.02.2008, 12:58
|
#1973
|
|
Re: М: Скриптинг в Готике
2terrorblade:
Ты лучше товарищ скажи мне, как тебе удалось в меню дат указать какой аттрибут нужно выводить вместо силы, потому как порывшись я не нашёл там никакого указания на аттрибут ATR_SRENGTH, там лишь описаня самого оформления строк меню и никакой конкретики....
|
Охх, товарищ! Я ведь писал, что не выносил в меню.дат другой атрибут, а вывел его на игровой экран... но по поводу вывода информации у меня была другая идея, с коей я поделился в асе с 2okin:P.S. Пишу с работы, а после скорее всего буду пьянствовать, так что до после завтра наверное ничем более помочь не смогу.
|
|
|
20.02.2008, 09:44
|
#1976
|
|
Re: М: Скриптинг в Готике
2terrorblade:
const float TRADE_VALUE_MULTIPLIER = 0.15; всегда должен быть конст или движок не запрещает нам его переопределить? и динамически потом менять?
|
Переопределить можно, динамически менять нельзя - загружается движком в память только один раз, далее используется значение из памяти.
|
|
|
24.02.2008, 00:49
|
#1978
|
|
Re: М: Скриптинг в Готике
2FiG:
так... кто может ответить, почему игра вылетает через 2 секунды после запуска (сама игра, всмысле где можно побегать)
|
Ну это ведь вы наскриптовали? :) 2FiG:
если в скрипте непися использовать функцию Mdl_SetModelFatness ? (пробовал mdl_setmodelfatness(self,1,0.5,1); и mdl_setmodelfatness(self,1,0.7,1); ) С чем это может быть связано?
|
Я не пойму, это вопрос или предположение к первой части вопроса? void Mdl_SetModelFatness (c_npc self, float fatness); - установить жирность mesh изображения модели НПС self Примеры: Mdl_SetModelFatness(self,0); - обычное телосложение Mdl_SetModelFatness(self,1); - вмеру упитан Mdl_SetModelFatness(self,2); - хорошо откормлен
|
|
|
24.02.2008, 03:32
|
#1980
|
|
Re: М: Скриптинг в Готике
2terrorblade:
как можно добавить 3ий бар на экран?
|
Стандартный, типа: маны, жизни или времени подводной задержки дыхания - думаю никак. Ну а самодельные, см. примеры других модов. 2terrorblade:
и как сделать чтобы мана всегда отображалась?
|
Можно вывести данные в численном виде на экран, а полоску маны- думаю постоянно никак.
|
|
|
24.02.2008, 12:49
|
#1981
|
|
Re: М: Скриптинг в Готике
2Ukur:
Ну а самодельные, см. примеры других модов.
|
А мож ответишь на прямую, не ссылаясь на других? ;-)
|
|
|
24.02.2008, 22:28
|
#1983
|
|
Re: М: Скриптинг в Готике
Цитата:
Сообщение от FiG link=board=gothic&t=1105030050&start=4044875#40448 75 date=02/23/08, в 21:38:06
так... кто может ответить, почему игра вылетает через 2 секунды после запуска (сама игра, всмысле где можно побегать) если в скрипте непися использовать функцию Mdl_SetModelFatness ? *(пробовал mdl_setmodelfatness(self,1,0.5,1); и mdl_setmodelfatness(self,1,0.7,1); ) С чем это может быть связано?
|
Функция Mdl_SetModelFatness работает *;) Mdl_SetModelFatness (c_npc self, float fatness); //NPC self в % (1 - 100%). А вот почему у тебя - так: mdl_setmodelfatness(self,1,0.7,1);
|
|
|
24.02.2008, 22:45
|
#1984
|
|
Re: М: Скриптинг в Готике
2basilio58:
А вот почему у тебя - так: mdl_setmodelfatness(self,1,0.7,1);
|
Дык, читай по теме, 2FiG: же написал:
ой, я ступил) не set_modelfatness, а set_modelscale(c_npc npc, float x, float y, float z)
|
|
|
|
28.02.2008, 10:13
|
#1988
|
|
Re: М: Скриптинг в Готике
2okin:
Можно как-нибудь посмотреть, какой предмет соответствует четырехзначному ИД? В общем, операция, обратная Hlp_GetInstanceID?
|
Нет, нельзя. Вообще, ситуация с ID очень простая: Всем именам в скриптах при компиляции их присваивается порядковый номер, вот этот порядковый номер для предметов и нпс является их идентификатором (id).
И в какой момент эти самые ИД предметам присваиваются?
|
Уже ответил.
Номера могут в результате каких-либо операций съезжать и соответствовать разным предметам?
|
Только при редактировании скриптов и последующей компиляции (добавление или удаление в скриптах одного имени приведет к изменению всех следующих за ним порядковых номеров (id)).
Например, если создать новый или выкинуть старый - остальные ИД изменятся?
|
Если это делается скриптово, т.е. в игре - новый предмет (НПС) создается, а старый удаляется, то id не изменятся. Если при написании скриптов, то смотри выше.
Нашла какой-то очень странный список этих самых номеров, то ли он съехал, то ли я вообще не понимаю, с чем его едят...
|
И где ж вы такое нашли? *:o Его может создать только компилятор скриптов, но для этого его надо доработать, только нужно ли это? *::)
|
|
|
28.02.2008, 14:52
|
#1989
|
|
Re: М: Скриптинг в Готике
Vam
И где ж вы такое нашли? :o
|
Ет функция в скриптах обнаружилась, в которой предметы вместо инстанций зачем-то прописаны номерами. Посмотрела, что ее интересует из того барахла, что у рокфеллера лежит - получилась какая-то бессмыслица. Что имелось в виду изначально - можно только догадываться. Самое смешное, что она работает, только предметы теперь в ней оказались другие, чем задумывал неизвестный автор... Выглядит забавно! :D
|
|
|
29.02.2008, 00:49
|
#1991
|
|
Re: М: Скриптинг в Готике
2FiG:
а реально ли скриптово удалить воб из мира? (напр. дерево)
|
Реально его переместить в любое место - хоть под землю, или в скалу, используя мувер и скриптовый триггер. Муверы и триггеры вставляются в спейсере, подробнее о спайсере можно глянуть здесь
|
|
|
01.03.2008, 18:38
|
#1993
|
|
Re: М: Скриптинг в Готике
Хотел спросить. 1. Что это за гильдии?
const int GIL_EMPTY_D * * * * * * * * * * * * * * *= 15 * * *; * * *// NICHT VERWENDEN! //----------------------------------------------- const int GIL_PUBLIC * * * * * * * * * * * * * * *= 15 * * *; * * *// fьr цffentliche Portalrдume
const int GIL_SEPERATOR_HUM * * * * * * * * * * * *= 16 * * *;
const int GIL_HUMAN * * * * * * * * * * * * * * *= 1 * * * const int GIL_EMPTY_X * * * * * * * * * * * * * * *= 63 * * *; const int GIL_EMPTY_Y * * * * * * * * * * * * * * *= 64 * * *; const int GIL_EMPTY_Z * * * * * * * * * * * * * * *= 65 * * *; const int GIL_MAX * * * * * * * * * * * * * * * * * *= 66 * * *; * * *// (ehem. 42)
2. Вопрос. При декомпиляции нашлись три ошибки. Я пока дуб дубом и пока не знаю в чём подвох.
Файл *DIA_VLK_413_Bosper
if(Bosper_TrollFurSold == FALSE) * * * * * * * *// ошибка тут { AI_Output(self,other,"DIA_Bosper_SellFur_11_06"); * * *//Was zur Hцlle ist DAS fьr ein Fell? AI_Output(other,self,"DIA_Bosper_SellFur_15_07"); * * *//Das hab ich einem Troll ьber die Ohren gezogen. AI_Output(self,other,"DIA_Bosper_SellFur_11_08"); * * *//Das ... das ist ein halbes Vermцgen wert ... Bosper_TrollFurSold == TRUE; } else { AI_Output(self,other,"DIA_Bosper_SellFur_11_09"); * * *//Schon wieder so ein riesiges Trollfell ... machst du Jagd auf die Viecher? AI_Output(other,self,"DIA_Bosper_SellFur_15_10"); * * *//Wenn mir mal einer begegnet, nutze ich die Gelegenheit ... * * * * * * * * *};
Файл * DIA_SLD_810_Dar
func int DIA_Dar_Kameradenschwein_Condition() { * * *if(Dar_LostAgainstCipher == TRUE) * * *{ * * * * * *TRUEself.aivar[AIV_LastFightComment] == FALSE; * * * * * * * * * // ошибка тут. * * *}; };
func void DIA_Dar_Kameradenschwein_Info()
Файл * * C_CanNpcCollideWithSpell
if(C_NpcIsDown(self)) * * * * * *{ * * * * * * * * *return COLL_DONOTHING; * * * * * *}; * * * * * *if(C_BodyStateContains(self,BS_SWIM) || C_BodyStateContains(self,BS_DIVE)) * * * * * *{ * * * * * * * * *COLL_APPLYDOUBLEDAMAGE; * * * * * * * * * * * * * * * * * * * * * * // ошибка тут * * * * * *}; * * * * * *return COLL_DOEVERYTHING; * * *}; * * *if(spellType == SPL_Fear)
|
|
|
01.03.2008, 19:13
|
#1994
|
|
Re: М: Скриптинг в Готике
2Magmatic:
Bosper_TrollFurSold == TRUE;
|
замени на Bosper_TrollFurSold = TRUE; 2Magmatic:
TRUEself.aivar[AIV_LastFightComment] == FALSE;
|
попробуй self.aivar[AIV_LastFightComment] = FALSE; 2Magmatic:
добавь return COLL_APPLYDOUBLEDAMAGE; 2Magmatic:
2Magmatic:
const int GIL_SEPERATOR_HUM = 16 ;
const int GIL_HUMAN = 1
|
Обобщающие гильдии для людей, применяется например для задания параметров взаимодествия с миром, скриптового сравнения с НЕ людьми :) и пр.. 2Magmatic:
const int GIL_EMPTY_X = 63 ; const int GIL_EMPTY_Y = 64 ; const int GIL_EMPTY_Z = 65 ;
|
const int GIL_EMPTY_D = 15 ; // NICHT VERWENDEN!
|
Дополнительные гильдии для собственных целей модостроителя. 2Magmatic:
const int GIL_MAX = 66 ; // (ehem. 42)
|
Максимальное количество гильдий
|
|
|
02.03.2008, 21:00
|
#1995
|
|
Re: М: Скриптинг в Готике
Скажите, а можно сделать декларацию функции без реализации? То есть реализация идет ниже по тексту. И скомпилировать все это в gothic sourcer?
Cпойлер(щелкните, чтобы прочесть):
[pre]func void a();
func void b() { a(); }
func void a() { ... } [/pre]
Поиск по сайту результатов не дал.
|
|
|
02.03.2008, 21:24
|
#1996
|
|
Re: М: Скриптинг в Готике
2more:
То есть реализация идет ниже по тексту.
|
А зачем? :) Но попробуйте предопределить функцию в файле настроек компилятора RedefinedFunc.dsc
|
|
|
03.03.2008, 09:39
|
#1997
|
|
Re: М: Скриптинг в Готике
2more:
Скажите, а можно сделать декларацию функции без реализации?
|
Нет, нельзя, декларация функции должна содержать тело функции. 2Ukur:
Но попробуйте предопределить функцию в файле настроек компилятора RedefinedFunc.dsc
|
Этот файл здесь можно не трогать, в него записываются только функции с переопределенными аргументами.
|
|
|
03.03.2008, 17:26
|
#1999
|
|
Re: М: Скриптинг в Готике
2more:
Можно конечно попробовать менять порядок файлов в gothic.src.
|
Дык я так и делал очень много раз ;) 2more:
Похоже, это ограничение движка Готики, и напрасно я питаю надежды.
|
Это правило :rip:
|
|
|
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
|
|
Опции темы |
Поиск в этой теме |
|
|
Ваши права в разделе
|
|
|
|
Текущее время: 20:43. Часовой пояс GMT +4.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|