AGFC
Страница 7 из 65 1234567 8910111213141757 Последняя »

AGFC (http://agfc.ru/index.php)
-   AGFC: Valley of Gothic (http://agfc.ru/forumdisplay.php?f=46)
-   -   М: Скриптинг в Готике (http://agfc.ru/showthread.php?t=1105030050)

14.02.2005 09:31

Re: Скриптинг в Готике
 
2Lokcy:<br>
Цитата:

Люди Помогите ктонить Дайте Рабочую ссылку На MDK
<br>MDK можно скачать здес<br>ь.

14.02.2005 22:13

Re: Скриптинг в Готике
 
Цитата:

Сообщение от Vam link=board=gothic&amp;t=1105030050&amp;start=225#2 40 date=02/14/05, в 08:31:05
<br>2Lokcy:<br>MDK можно скачать здес<br>ь.<br>

<br>У Меня Почему то не качает.

14.02.2005 22:57

Re: Скриптинг в Готике                            
 
2All:<br>Такой вот вопрос.<br>1. Создал я к примеру новый скрипт ГГ и какой-то скрипт NPC. NPC прописал в Startup.d<br>2. В Spacer открыл карту Старого Лагеря, создал StarPoint для ГГ, а также WayPoint для NPC. Карту сохранил с именем MY.zen<br>3. Также в Sparec`e сделал World -&gt; Reparse Script<br>4. При помощи GothicVDFS сделал МОД-файл MY.mod, в который &quot;зашил&quot; GOTHIC.DAT, OUINFO.INF и MY.zen Пути к файлам указаны правильно в моде(т.е. к примеру _work\data\scripts\_compiled для GOTHIC.DAT и OUINFO.INF; _work\data\worlds для MY.zen).<br>5. Создал файл My.ini в котором, кроме всего прочего, также*указал world=My.zen<br>6. Запускаю свой мод - ГГ появляется там где надо, NPC не появляется. При помощи команды insert - появляется и идет к нужному WP.<br><br>Вопрос: почему не появляется NPC.<br><br>P.S. Если Старый Лагерь сохранить не с именем MY.zen, а с именем world.zen(тем самым заменив оригинальный world.zen), а также в My.ini прописать world=world.zen и проделать те же операции, то NPC появляется сразу.

15.02.2005 09:39

Re: Скриптинг в Готике
 
2Vahaber:<br>
Цитата:

Вопрос: почему не появляется NPC.<br><br>P.S. Если Старый Лагерь сохранить не с именем MY.zen, а с именем world.zen(тем самым заменив оригинальный world.zen), а также в My.ini прописать world=world.zen и проделать те же операции, то NPC появляется сразу.
<br><br>Необходимо в startup.d прописать функции инициализации твоего мира: STARTUP_ххх и INIT_ххх, где ххх - имя вновь созданного мира. Эти функции автоматически вызываются ядром системы.<br><br>

15.02.2005 12:44

Re: Скриптинг в Готике
 
2Vam: Так оно и есть<br>2Vahaber: Вот образец:<br>func void startup_my ()<br>{<br>Wld_InsertNpc &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(npcInstance, &quot;WAYPOINT&quot;);<br>};<br>func void init_my ()<br>{<br>B_InitMonsterAttitudes ();<br>B_InitGuildAttitudes();<br>B_InitNpcGlobals ();<br>};

18.02.2005 17:18

Re: Скриптинг в Готике
 
Народ хелп =)!<br>есть в скриптах доспехов и шлемов такая строчка<br>wear = WEAR_TORSO;(доспех)-ASC модель<br>wear = WEAR_HEAD;(Шлем)-3ds модель<br>А как насчет шитов?<br>wear = WEAR_??????;(Щит)-3ds модель(вроде)<br><br>И еще <br>mainflag = ITEM_KAT_ARMOR; что это обозначает? =)

18.02.2005 17:34

Re: Скриптинг в Готике
 
2OverGothic:<br>
Цитата:

mainflag = ITEM_KAT_ARMOR; что это обозначает?
<br>Это флаг категории предмета (броня), указывает в каком месте инвентаря будет лежать этот предмет.<br><br>
Цитата:

wear = WEAR_TORSO;(доспех)-ASC модель<br>wear = WEAR_HEAD;(Шлем)-3ds модель<br>А как насчет шитов?<br>wear = WEAR_??????;(Щит)-3ds модель(вроде)
<br><br>Это флаги части тела, на которой носится (одевается) предмет, модели конкретно к флагам отношения не имеют, щитов в Готике вообще нет, да и шлемов (отдельных) тоже нет, хотя флаг остался. &nbsp;:)<br>

18.02.2005 17:34

Re: Скриптинг в Готике
 
2OverGothic:
Цитата:

mainflag = ITEM_KAT_ARMOR; что это обозначает?
Это означает, что предмет будет выводиься в инвентаре в категорию ARMOR, а сама категория управляется из ini-файла путем перестановки последовательности. По умолчанию первым в инвентаре показывается оружие, потом доспех и т.д.<br><br>
Цитата:

А как насчет шитов?
Никак. Пираньи от них отказались, как и от шлемов.

18.02.2005 17:38

Re: Скриптинг в Готике
 
Шлемы отдельно, сделать реально. А вот на счет щитов, пока не знаю...<br>wear = WEAR_leftarm - должно быть по идее ,но не идет =)<br>Для щитов вроде и анимация не нужна(я не имею ввиду анимацию блокировак и тд), щит просто крепиться к кости Bip01 L Forearm и весит там, также как и оружие(Bip01 R Hand). Следовательно щит должен быть статичен(3ds).

28.02.2005 12:52

Re: Скриптинг в Готике
 
Всем, кто читает тему Уроки скриптологии:<br><br>Просьба после каждого моего поста в теме &quot;Уроки скриптологии&quot; оставлять какой-нибудь один свой пост, в противном случае я буду вынужден прекратить уроки по причине невозможности редактирования каждого нового своего поста. *:( *&gt;:( *:(

28.02.2005 13:14

Re: Скриптинг в Готике
 
2Vam: Попробую ща разобраться.

PA 06.03.2005 18:49

Re: Скриптинг в Готике
 
2Vam:<br><br>Достал доисторическую демку Готики 89 мегов от 02.02.2001 на Game.exe №5 за 2001г. Спасибо Камраду toss.<br><br>Меня она давно интересовала - В ней была регенерация<br>http://static.4players.de/premium/Sc...7-vollbild.jpg<br><br>Еще интересная особенность этой демки - она сделана на рассыпухе - ни одного .vdf файла - модмейкерам настоятельно рекомендую ознакомиться!<br><br>Но вопрос вот в чем, декомпилятор клинит.<br>Модули menu и fight нормально декомпилируются, а gothic выдает ошибку<br>-1- &nbsp; &nbsp; &nbsp;00:01 Fatal:-1 U: &nbsp; PAR: Dat-File is not compatible (Classoffset changed) ! Please reparse ! .... &lt;zParser.cpp,#599&gt;<br><br>Посмотри пожалуйста - выложил как обычно на Яндексе и &nbsp;раскрытый экзешник 1.04d, может что нибудь в нем усмотришь, что позже Пираньи постарались спрятать...<br>

06.03.2005 20:06

Re: Скриптинг в Готике
 
2Pa:<br>
Цитата:

Но вопрос вот в чем, декомпилятор клинит.<br>Модули menu и fight нормально декомпилируются, а gothic выдает ошибку<br>-1- &nbsp; &nbsp; &nbsp;00:01 Fatal:-1 U: &nbsp; PAR: Dat-File is not compatible (Classoffset changed) ! Please reparse ! .... &lt;zParser.cpp,#599&gt;
<br><br>После праздников посмотрю, а такое сообщение декомпилятор выдает когда размер какого-нибудь класса в скриптах отличается от размера класса в экзешнике. Это чисто проверочная вещь, в декомпиляторе оставил на всякий случай, используется только экзешником при загрузке дат файла.

18.03.2005 21:49

Re: Скриптинг в Готике
 
Други и камрады!<br>Может кто разбирался, как задествовать триггеры? Например выскакивающие шипы?<br>Где прописаны, и прописаны ли...

TycoooN 18.03.2005 22:19

Re: Скриптинг в Готике
 
2basilio58: <br>Триггеры устанавливаются в Спейсере, там же обозначаются запускаемые ими функции, которые должны присутствовать в скриптах ::)

18.03.2005 23:59

Re: Скриптинг в Готике
 
Цитата:

Сообщение от TycoooN link=board=gothic&amp;t=1105030050&amp;start=250#2 54 date=03/18/05, в 21:19:20
<br>2basilio58: <br>Триггеры устанавливаются в Спейсере, там же обозначаются запускаемые ими функции, которые должны присутствовать в скриптах ::)<br>

<br><br>Всё очень понятно. В каких именно?

19.03.2005 14:10

Re: Скриптинг в Готике
 
2basilio58:<br>
Цитата:

Всё очень понятно. В каких именно?
<br><br>В основных скриптах Готики (из которых компилируется датник). А каком конкретно файле - неважно, можно создать и новый файл, главное его включить в компиляцию и правильно оформить функцию.

28.03.2005 04:06

Re: Скриптинг в Готике
 
Доброе время суток.<br>Пытаюсь поэкспериментировать со скриптами, но возникает проблемка по организации процесса: если экспериментировать на существующей карте (newworld), то перекомпиляция занимает кучу времени; а если потом понадобятся какие то скрипты , то будет не понятно что моё ,а что не моё. У меня есть маленький .ZEN на нём всё проходило бы шустрее, но<br><br>_вопрос_?:<br>какие файлы из _WORK &nbsp;нужно оставить?<br><br><br>Я пробовал сносить<br>всех ПРС кроме pc_hero.d<br>все диалоги<br>сократил startup.d до <br>func void STARTUP_GLOBAL()<br>{ &nbsp; &nbsp; &nbsp;Game_InitGerman();};<br><br>func void INIT_GLOBAL()<br>{ &nbsp; &nbsp; &nbsp;Game_InitGerman();};<br><br>func void STARTUP_NewWorld ()<br>{};<br><br> &nbsp; &nbsp; &nbsp;func void INIT_NewWorld ()<br> &nbsp; &nbsp; &nbsp;{<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;B_InitMonsterAttitudes ();<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;B_InitGuildAttitudes();<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;B_InitNpcGlobals ();<br> &nbsp; &nbsp; &nbsp;};<br><br>сократил NPC_Globals.d до <br>func void &nbsp;B_InitNpcGlobals ()<br>{ &nbsp; &nbsp; &nbsp;if (Kapitel == 0) &nbsp; &nbsp; &nbsp;{ &nbsp; &nbsp; &nbsp;Kapitel = 1; &nbsp; &nbsp; &nbsp;};};<br>но spaser2.6mod &nbsp;высыпается по ошибке неизвестный идентификатор AIVAR &nbsp;и тд<br>я лазил по функциям, попадались проверки персонажа по имени (не ГГ), намёк на то что этого персонажа теперь и трогать нельзя, или я осмотрелся?<br><br><br>_вопрос_?:<br>какие файлы из _WORK &nbsp;нужно оставить?<br><br>

28.03.2005 09:16

Re: Скриптинг в Готике
 
2b aaz:<br>
Цитата:

какие файлы из _WORK &nbsp;нужно оставить?
<br><br>Вопрос сложный, просто так на него никто не ответит. Если ты хочешь создать мод с нуля, то однозначно в папке Content нужно оставить папку \AI, правда из нее тоже можно много удалить (она почти вся разобрана в Уроках скриптологии, так что смотри сам что тебе нужно, а что нет). По остальному сказать затруднительно, но могу дать совет: Используешь компилятор V2.01 (быстрее и правильнее, чем Sourcer), удалив что-то - компилишь и смотришь на ошибки. Но хочу предупредить, даже если функция нигде из скриптов не вызывается, это не значит, что она не нужна, некоторые функции вызываются только экзешником.

TycoooN 28.03.2005 11:12

Re: Скриптинг в Готике
 
2b aaz: <br>
Цитата:

если экспериментировать на существующей карте (newworld), то перекомпиляция занимает кучу времени
<br>А ты Spacer юзаешь? Если да, то попробуй декомпилятор от Vam'a, он у меня все скрипты аддона компилирует за 15-20 секунд (против 2-3 минут Спейсера) ::)

29.03.2005 14:23

Re: Скриптинг в Готике
 
Пытаюсь собрать каркас скриптов без кусков прошлых адонов вручную, оставить только все функции кои не относиись к конкретным НПС\миссиям...., геморой но не большой. но вот фраза уважаемого VAM Но хочу предупредить, даже если функция нигде из скриптов не вызывается, это не значит, что она не нужна, некоторые функции вызываются только экзешником висит как Домоклов меч, а это гнитёт.<br><br>посему есть вопрос:<br>Люди, те кто делает сейчас(или ранее) мод, а с чего вы начинали?<br>Если у когото есть _начальный_ каркас скриптов поделитесь пожалуйста b_aaz@mail.ru ,заранее спасибо.<br><br>После последней гибили винта потерял файл с описанием где что лежит в готике, и убей бог не помню где брал. Если кто помнит\знает подскажите ссылку\файл<br>Большое спасибо.<br>

TycoooN 29.03.2005 15:37

Re: Скриптинг в Готике
 
2b aaz: <br>Мда, это, кстати, серьёзная проблема, я пытался сделать нечто подобное, но в итоге ограничился только чисткой папок story/dialoge и story/npc ::)<br>

29.03.2005 15:41

Re: Скриптинг в Готике
 
Цитата:

Но хочу предупредить, даже если функция нигде из скриптов не вызывается, это не значит, что она не нужна, некоторые функции вызываются только экзешником.
<br>В связи с этим я думаю, убирать можно только содержимое папок, относящихся конкретно к сюжету готики/эддона - НПС, диалоги, миссии. Предугадать, где может понадобиться какой-то файл из других папок сложно.<br>Но опять же, возникает вопрос - многие базовые функции влючают проверку на какого-нибудь Аллигатора Джека или другого конкретного НПС. Потребует ли использование такой функции наличия соответствующих файлов НПС (BDT_AllogatorJeck_777.d) и диалогов (DIA_AllogatorJeck_777.d)? Т.е. если Джека подтереть хорошенько, обращение к функции ошибку не повлечет?<br><br>2TycoooN: В общем, и я про то же. :) Странно, что этот вопрос не поднимался раньше. В идеале надо бы наметить список файлов с указанием папки, которые удалять нельзя ни в коем случае. Откровенно ненужные можно высмотреть в уроках. И от этого уже плясать.

29.03.2005 16:02

Re: Скриптинг в Готике
 
2Mitrich:<br>
Цитата:

Но опять же, возникает вопрос - многие базовые функции влючают проверку на какого-нибудь Аллигатора Джека или другого конкретного НПС. Потребует ли использование такой функции наличия соответствующих файлов НПС (BDT_AllogatorJeck_777.d) и диалогов (DIA_AllogatorJeck_777.d)? Т.е. если Джека подтереть хорошенько, обращение к функции ошибку не повлечет?
<br><br>Если Джека удалить, то потребует, для полного удаления (к примеру файла Джека) необходимо найти во всех скриптах все объвленные в этом файле имена и удалить в других файлах строчки с ними связанные.

TycoooN 29.03.2005 16:41

Re: Скриптинг в Готике
 
Вообще, имхо можно почистить папку CONTENT/STORY чуть ли не полностью, другое дело, что многие вспомогательные функции, прописанные там могут понадобиться при разработке собственного мода.<br>Нужно просто хорошенько рассмотреть каждую функцию, и определить, относится ли она только к сюжету Г2\Аддона, или же ее можно использовать и в своем моде.<br>Просто все дело в том, что разрабатываемый нашей командой мод базируется как раз на Аддоне, поэтому ничего чистить нам, к счастью, не пришлось :)

29.03.2005 18:56

Re: Скриптинг в Готике
 
Цитата:

Люди, те кто делает сейчас(или ранее) мод, а с чего вы начинали?
<br>Я создавал скрипты на основе скриптов,которые лежали в игре.А вообше это объемная работа,те писать мод в отрыве от игры.

Killer-XXX 31.03.2005 21:40

Re: Скриптинг в Готике
 
2Vam: <br>Такой к тебе вопрос:<br>В основном меню выбора диалога с НПС влияет на положение конкретной фразы опция nr, а что влияет на положение *фраз типа void Info_AddChoice (c_info menu, string text, func fn).<br>А то просто всегда они становятся, не так, как мне хотелось бы, есть ли у них определенный параметр, по которому они выстраиваются?

31.03.2005 21:49

Re: Скриптинг в Готике
 
2Killer-XXX:<br>
Цитата:

что влияет на положение &nbsp;фраз типа void Info_AddChoice
<br><br>Только последовательность вызова этой функции (чем позже вызвана -&gt; тем ниже в меню фраза).

TycoooN 31.03.2005 23:07

Re: Скриптинг в Готике
 
2Vam: <br>То есть, если у нас имеется, скажем отрывок кода:<br><br>
Код:

Info_ClearChoices(someinstance);<br>Info_AddChoice(someinstance,&quot;Да.&quot;,someinstance_yes);<br>Info_AddChoice(someinstance,&quot;Нет.&quot;,someinstance_no);<br>
<br><br>то первой будет отображаться опция &quot;Да.&quot;? Но это не всегда так... ::)<br>

Killer-XXX 01.04.2005 00:28

Re: Скриптинг в Готике
 
Кстати, пишу сюда.<br>Уважаемый Pa нас кое что обещал к 1му апреля.<br>Так что ждем-с. :)<br>

01.04.2005 08:57

Re: Скриптинг в Готике
 
2Killer-XXX:<br>2TycoooN:<br>
Цитата:

что влияет на положение &nbsp;фраз типа void Info_AddChoice
<br><br>Приношу извинения, в предыдущем ответе закралась ошибочка, должно быть так: чем позже функция вызвана -&gt; тем выше в меню фраза. Премного извиняюсь за вмешательство, т.е., работает как стек, первый вариант ложится в самый низ.

Killer-XXX 01.04.2005 21:02

Re: Скриптинг в Готике
 
2Vam:<br>Как я понял, то именно будет влиять, если я вызову func void DIA_Lester_Any_NO() позже остальных, даже если этот вариант будет стоять самым последним, то отобразится он первым, т.к. Ну, а если чисто по-пацански, ф-я и вызвана позже?

02.04.2005 09:38

Re: Скриптинг в Готике
 
2Killer-XXX:<br>
Цитата:

Ну, а если чисто по-пацански, ф-я и вызвана позже?
<br><br>Не понял, что ты хотел сказать в предыдущем посте, должно быть так:<br> &nbsp; &nbsp; &nbsp;Info_AddChoice(CH_Level_niedrig,DIALOG_BACK, CH_Level_niedrig_BACK);<br> &nbsp; &nbsp; &nbsp;Info_AddChoice(CH_Level_niedrig,&quot;Lev el 21 - 25&quot; ,CH_Level21);<br> &nbsp; &nbsp; &nbsp;Info_AddChoice(CH_Level_niedrig,&quot;Lev el 16 - 20&quot; ,CH_Level16);<br> &nbsp; &nbsp; &nbsp;Info_AddChoice(CH_Level_niedrig,&quot;Lev el 11 - 15&quot; ,CH_Level11);<br> &nbsp; &nbsp; &nbsp;Info_AddChoice(CH_Level_niedrig,&quot;Lev el &nbsp;6 - 10&quot; ,CH_Level6);<br> &nbsp; &nbsp; &nbsp;Info_AddChoice(CH_Level_niedrig,&quot;Lev el &nbsp;1 - &nbsp;5&quot; ,CH_Level1);<br><br>Первой в списке будет строка &quot;Level &nbsp;1 - &nbsp;5&quot;, а последней DIALOG_BACK.<br>

TycoooN 02.04.2005 11:42

Re: Скриптинг в Готике
 
2Vam:<br>
Цитата:

2Killer-XXX:<br>Ну, а если чисто по-пацански, ф-я и вызвана позже?<br>Не понял, что ты хотел сказать в предыдущем посте, должно быть так:
<br>Подсказка: [q]Ну, а если чисто по-пацански,[/q] вставил первоапрельский скрипт ;)

Killer-XXX 02.04.2005 20:22

Re: Скриптинг в Готике
 
2Vam:<br>Эт не я, это такие приколы. :)<br>А вообще я имел ввиду, влияет положение самого Info_AddChoice, или положение той ф-и, на которую он ссылается.<br>Но уже понял, надо будет потестировать.

08.04.2005 10:23

Re: Скриптинг в Готике
 
2TycoooN:<br>
Цитата:

// начисление ГГ экспы (уровень цели * 10) (Примечание: Ошибка - вместо self.level должно быть oth.level)<br>Хм, и к чему приводит эта ошибка?
<br><br>Если вызов функции B_MagicHurtNpc(other,self,***); всегда производится с такими аргументами, то ошибки в принципе не будет, но если вызвать функцию с другими аргументами, то будет ошибка (ГГ начислится экспа зависимая не от уровня убитого монстра, а от своего собственного уровня). Если параметры переданы в функцию явно (что мы и имеем), то во избежании ошибок, внутри функции необходимо использовать только параметры переданные через аргументы. Это правильная практика программирования. &nbsp;;)<br>

PA 08.04.2005 12:40

Re: Скриптинг в Готике
 
2Vam:<br>
Цитата:

Если вызов функции B_MagicHurtNpc(other,self,***); всегда производится с такими аргументами, то ошибки в принципе не будет, но если вызвать функцию с другими аргументами, то будет ошибка (ГГ начислится экспа зависимая не от уровня убитого монстра, а от своего собственного уровня). Если параметры переданы в функцию явно (что мы и имеем), то во избежании ошибок, внутри функции необходимо использовать только параметры переданные через аргументы. Это правильная практика программирования. &nbsp;
<br><br>Это же мы встретим при начислении опыта за воровство у некоторых неписей...<br>

TycoooN 08.04.2005 16:18

Re: Скриптинг в Готике
 
2Pa: <br>
Цитата:

Это же мы встретим при начислении опыта за воровство у некоторых неписей...
<br>По-моему, там дело не в этом ::)

16.04.2005 22:15

Re: Скриптинг в Готике
 
func int ZS_AssessQuietSound()<br>{<br> &nbsp; &nbsp; &nbsp;PrintDebugNpc(PD_ZS_FRAME,&quot;ZS_AssessQui etSound&quot;);<br> &nbsp; &nbsp; &nbsp;C_ZSInit();<br> &nbsp; &nbsp; &nbsp;if(self.guild == GIL_MEATBUG)<br> &nbsp; &nbsp; &nbsp;{<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;AI_ContinueRoutine(self);<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return 0;<br> &nbsp; &nbsp; &nbsp;};<br> &nbsp; &nbsp; &nbsp;Npc_PercEnable(self,PERC_ASSESSDAMAGE,ZS_Rea ctToDamage);<br> &nbsp; &nbsp; &nbsp;Npc_PercEnable(self,PERC_ASSESSMAGIC,B_Asses sMagic);<br> &nbsp; &nbsp; &nbsp;Npc_PercEnable(self,PERC_ASSESSSURPRISE,ZS_A ssessSurprise);<br> &nbsp; &nbsp; &nbsp;Npc_PercEnable(self,PERC_ASSESSENEMY,B_Asses sEnemy);<br> &nbsp; &nbsp; &nbsp;Npc_PercEnable(self,PERC_ASSESSFIGHTER,B_Ass essFighter);<br> &nbsp; &nbsp; &nbsp;Npc_PercEnable(self,PERC_ASSESSTHREAT,B_Asse ssFighter);<br> &nbsp; &nbsp; &nbsp;Npc_PercEnable(self,PERC_ASSESSWARN,B_Assess Warn);<br> &nbsp; &nbsp; &nbsp;Npc_PercEnable(self,PERC_ASSESSMURDER,ZS_Ass essMurder);<br> &nbsp; &nbsp; &nbsp;Npc_PercEnable(self,PERC_ASSESSDEFEAT,ZS_Ass essDefeat);<br> &nbsp; &nbsp; &nbsp;Npc_PercEnable(self,PERC_ASSESSFIGHTSOUND,B_ AssessFightSound);<br> &nbsp; &nbsp; &nbsp;Npc_PercEnable(self,PERC_CATCHTHIEF,ZS_Catch Thief);<br> &nbsp; &nbsp; &nbsp;Npc_PercEnable(self,PERC_ASSESSTHEFT,B_Asses sTheft);<br> &nbsp; &nbsp; &nbsp;Npc_PercEnable(self,PERC_ASSESSTALK,B_Refuse Talk);<br> &nbsp; &nbsp; &nbsp;Npc_PercEnable(self,PERC_ASSESSENTERROOM,B_A ssessEnterRoom);<br> &nbsp; &nbsp; &nbsp;Npc_PercEnable(self,PERC_ASSESSUSEMOB,B_Asse ssUseMob);<br> &nbsp; &nbsp; &nbsp;AI_TurnToNPC(self,other);<br>};<br><br>Прави льно ли я понял, что эта функция всегда должна возвращать 0. <br><br>А эта:<br><br>func int ZS_WaitForPassage_Loop()<br>{<br> &nbsp; &nbsp; &nbsp;PrintDebugNpc(PD_ZS_LOOP,&quot;ZS_WaitForPas sage_Loop&quot;);<br> &nbsp; &nbsp; &nbsp;if(Npc_IsWayBlocked(self))<br> &nbsp; &nbsp; &nbsp;{<br> &nbsp; &nbsp; &nbsp;}<br> &nbsp; &nbsp; &nbsp;else<br> &nbsp; &nbsp; &nbsp;{<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PrintDebugNpc(PD_ZS_Check,&quot;...Weg nicht mehr geblockt!&quot;);<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return 1;<br> &nbsp; &nbsp; &nbsp;};<br> &nbsp; &nbsp; &nbsp;AI_Wait(self,0.5);<br>};<br><br>всегда должна вернуть 1?

17.04.2005 12:31

Re: Скриптинг в Готике
 
2Ipse San:<br>
Цитата:

Правильно ли я понял, что эта функция всегда должна возвращать 0.
<br><br>Нет, неправильно, эта функция должна иметь возвращаемый тип void, т.е. ничего не должна возвращать, ошибочно объявление с возвращаемым типом, необходимо в декларации int заменить на void. <br>В этой функции еще строчку return 0; необходимо заменить просто на return;<br><br>
Цитата:

всегда должна вернуть 1?
<br><br>Тоже неверно, она должна возвращать LOOP_CONTINUE;<br><br>О том, что должны возвращать функции обработчиков состояний и как они должны быть объявлены смотреть Уроки скриптологии или в теме Декомпилятор (примерно страницы три назад).


Текущее время: 02:45. Часовой пояс GMT +4.
Страница 7 из 65 1234567 8910111213141757 Последняя »

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot

AGFC: Valley of Gothic © 2004-2022