AGFC

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

29.05.2005 11:06

Re: Скриптинг в Готике
 
2Zaraza123: Достал уже... От темы - отлучен.<br>Изучи сначала внимательно уроки скриптологии. Когда выучишь и сдашь экзамен Vam'у, тогда поговорим о допуске тебя в эту тему.

29.05.2005 14:37

Re: Скриптинг в Готике
 
2Killer-XXX:<br>Вот фрагмент скрипта моего нпс,где гг неотдает меч,нпс нападает на гг,после чего говорит:&quot;Ну *как *тебе *мой *меч?&quot;<br>Делал все при помощи спейсера:<br>__________________________________________________ __________<br><br>// гг не отдает меч <br>func void None_666_Diman_bringSword_Yes () <br>{<br>AI_Output( other, self, &quot;None_666_Diman_bringSword_Info_8_06&quot; ); //Я так не думаю. <br>AI_Output( self, other, &quot;None_666_Diman_bringSword_Info_8_07&quot; ); // Тогда получи!?! <br>AI_StopProcessInfos (self); <br>b_attack(self,other,AR_NONE,1);// NPC атакует гг<br>}; <br><br>instance None_666_Diman_FightWin(C_Info)<br>{<br> npc * * * * *= *None_666_Diman;<br> nr * * * * * = *50;<br> condition * *= *None_666_Diman_FightWin_Condition;<br> information *= *None_666_Diman_FightWin_Info;<br> important * *= *TRUE;<br>};<br><br><br>func int None_666_Diman_FightWin_Condition()<br>{<br> if(self.aivar[AIV_LastFightAgainstPlayer] == FIGHT_WON)<br> {<br> * return *TRUE;<br> };<br>};<br><br>func *void *None_666_Diman_FightWin_Info()<br>{<br> AI_Output(self,other,&quot;None_666_Diman_FightWin _info_8_00&quot;); *//Ну *как *тебе *мой *меч? *<br>};<br>__________________________________________________ __________<br><br>Все работает :)

30.05.2005 16:03

Re: Скриптинг в Готике
 
Несколько постов назад я прочитал,что можно конвертировать брони из Готики1 во 2,но где нужно прописывать скрипты брони?<br><br>Добавление от 05/30/05, в 16:23:48 <hr class="hr_agfc">Я скачал с World of Githic брони для Готики1.После этого я перннёс брони в Готику2 Аддон и решил несколько бронь закомпелировать(const int VALUE_TPL_ARMOR_L = 1350;и<br>const int VALUE_TPL_ARMOR_H = 2100;), прописал в папке IT_Armor(Gothic II\_work\Data\Scripts\Content\Items) следующее :<br>const int VALUE_TPL_ARMOR_L = 1350;<br>const int VALUE_TPL_ARMOR_H = 2100;<br>и<br>/************************************************** ****************************************/<br>INSTANCE VLK_ARMOR_L(C_Item)<br>{<br> &nbsp; &nbsp; &nbsp;name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;&quot;Leichte Buddlerhose&quot;;<br><br> &nbsp; &nbsp; &nbsp;mainflag &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;ITEM_KAT_ARMOR;<br> &nbsp; &nbsp; &nbsp;flags &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;0;<br><br> &nbsp; &nbsp; &nbsp;protection [PROT_EDGE] &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;10;<br> &nbsp; &nbsp; &nbsp;protection [PROT_BLUNT] = &nbsp; &nbsp; &nbsp;10;<br> &nbsp; &nbsp; &nbsp;protection [PROT_POINT] = &nbsp; &nbsp; &nbsp;0;<br> &nbsp; &nbsp; &nbsp;protection [PROT_FIRE] &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;5;<br> &nbsp; &nbsp; &nbsp;protection [PROT_MAGIC] = &nbsp; &nbsp; &nbsp;0;<br><br> &nbsp; &nbsp; &nbsp;value &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;VALUE_VLK_ARMOR_L;<br><br> &nbsp; &nbsp; &nbsp;wear &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;WEAR_TORSO;<br> <br> &nbsp; &nbsp; &nbsp;visual &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;&quot;vlkl.3ds&quot;;<br> &nbsp; &nbsp; &nbsp;visual_change &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;&quot;Hum_VLKL_ARMOR.asc&quot;;<br> &nbsp; &nbsp; &nbsp;visual_skin &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;0;<br> &nbsp; &nbsp; &nbsp;material &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;MAT_LEATHER;<br><br> &nbsp; &nbsp; &nbsp;description &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;name;<br> &nbsp; &nbsp; &nbsp;//TEXT[0] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;&quot;&quot;;<br> &nbsp; &nbsp; &nbsp;TEXT[1] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;NAME_Prot_Edge; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;COUNT[1] &nbsp; &nbsp; &nbsp;= protection &nbsp; &nbsp; &nbsp;[PROT_EDGE];<br> &nbsp; &nbsp; &nbsp;TEXT[2] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;NAME_Prot_Point; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;COUNT[2] &nbsp; &nbsp; &nbsp;= protection &nbsp; &nbsp; &nbsp;[PROT_POINT];<br> &nbsp; &nbsp; &nbsp;TEXT[3] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;NAME_Prot_Fire; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;COUNT[3] &nbsp; &nbsp; &nbsp;= protection &nbsp; &nbsp; &nbsp;[PROT_FIRE];<br> &nbsp; &nbsp; &nbsp;TEXT[4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;NAME_Prot_Magic; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;COUNT[4] &nbsp; &nbsp; &nbsp;= protection &nbsp; &nbsp; &nbsp;[PROT_MAGIC];<br> &nbsp; &nbsp; &nbsp;TEXT[5] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;NAME_Value; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;COUNT[5] &nbsp; &nbsp; &nbsp;= value;<br>};<br>/************************************************** ****************************************/<br>INSTANCE STT_ARMOR_H(C_Item)<br>{<br> &nbsp; &nbsp; &nbsp;name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;&quot;Schattenrьstung&quot;;<br><br> &nbsp; &nbsp; &nbsp;mainflag &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;ITEM_KAT_ARMOR;<br> &nbsp; &nbsp; &nbsp;flags &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;0;<br><br> &nbsp; &nbsp; &nbsp;protection [PROT_EDGE] &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;40;<br> &nbsp; &nbsp; &nbsp;protection [PROT_BLUNT] = &nbsp; &nbsp; &nbsp;40;<br> &nbsp; &nbsp; &nbsp;protection [PROT_POINT] = &nbsp; &nbsp; &nbsp;5;<br> &nbsp; &nbsp; &nbsp;protection [PROT_FIRE] &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;20;<br> &nbsp; &nbsp; &nbsp;protection [PROT_MAGIC] = &nbsp; &nbsp; &nbsp;0;<br><br> &nbsp; &nbsp; &nbsp;value &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;VALUE_STT_ARMOR_H;<br><br> &nbsp; &nbsp; &nbsp;wear &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;WEAR_TORSO;<br><br> &nbsp; &nbsp; &nbsp;visual &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;&quot;stth.3ds&quot;;<br> &nbsp; &nbsp; &nbsp;visual_change &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;&quot;Hum_STTS_ARMOR.asc&quot;;<br> &nbsp; &nbsp; &nbsp;visual_skin &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;0;<br> &nbsp; &nbsp; &nbsp;material &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;MAT_LEATHER;<br><br> &nbsp; &nbsp; &nbsp;description &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;name;<br> &nbsp; &nbsp; &nbsp;//TEXT[0] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;&quot;&quot;;<br> &nbsp; &nbsp; &nbsp;TEXT[1] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;NAME_Prot_Edge; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;COUNT[1] &nbsp; &nbsp; &nbsp;= protection &nbsp; &nbsp; &nbsp;[PROT_EDGE];<br> &nbsp; &nbsp; &nbsp;TEXT[2] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;NAME_Prot_Point; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;COUNT[2] &nbsp; &nbsp; &nbsp;= protection &nbsp; &nbsp; &nbsp;[PROT_POINT];<br> &nbsp; &nbsp; &nbsp;TEXT[3] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;NAME_Prot_Fire; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;COUNT[3] &nbsp; &nbsp; &nbsp;= protection &nbsp; &nbsp; &nbsp;[PROT_FIRE];<br> &nbsp; &nbsp; &nbsp;TEXT[4] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;NAME_Prot_Magic; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;COUNT[4] &nbsp; &nbsp; &nbsp;= protection &nbsp; &nbsp; &nbsp;[PROT_MAGIC];<br> &nbsp; &nbsp; &nbsp;TEXT[5] &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= &nbsp; &nbsp; &nbsp;NAME_Value; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;COUNT[5] &nbsp; &nbsp; &nbsp;= value;<br>};<br>Но когда начал компелировать,Спайсер выдаёт ошибку.Чтоя я сделал не правильно.<br>

Killer-XXX 30.05.2005 18:17

Re: Скриптинг в Готике
 
2Bliz@rd: <br>Вероятно у тебя нигже не прописаны переменные:<br>VALUE_VLK_ARMOR_L и VALUE_STT_ARMOR_H. Добавить их.<br>З.Ы. В следующий раз указывай ошибку из компилятора.

30.05.2005 23:00

Re: Скриптинг в Готике
 
Прописал VALUE_VLK_ARMOR_L и VALUE_STT_ARMOR_H.В спайсере закомпелировал.Ошибок не было,но когда я вхожу в игру и дохожу до того места где стоит мой NPC(c бронёй из Готики1)игра вылетает.Кто-нибудь может написать пример вставке какой-нибудь брони из Готики1 во 2? <br><br>Добавление от 05/30/05, в 23:20:55 <hr class="hr_agfc">Хотел уточнить что я изменил :<br>const int VALUE_TPL_ARMOR_L = 1350;<br>const int VALUE_TPL_ARMOR_H = 2100;<br>на<br>const int VALUE_VLK_ARMOR_L =1350;<br>const int VALUE_STT_ARMOR_H =2100;<br>Только после этого спайсер не выдавал ошибки.<br>И ещё где нужно прописывать (VALUE_VLK_ARMOR_L и VALUE_STT_ARMOR_H)?<br>Может быть после этого игра не будет вылетать.

02.06.2005 17:54

Re: Скриптинг в Готике
 
После того что я привёл выше я после этого ещё распаковал папку Anims(C:\Program Files\Gothic II\Data\ Anims) потом добавил 2 броньки(приведены выше) и запоковал обратно.Потом закомпелировал в спайсере.Ошибок не было.Когда захожу в игру и дохожу до того места где стоит мой NPC с новой бронькой игра не вылетела,но все <br>остальные броньки включая которые я и внёс стали глючить.Они <br>как-бы пропали на половину(как-будто какие-то не доделанные. <br>Кто знает из-за чего это так произошло?<br><br>Добавление от 06/02/05, в 18:14:29 <hr class="hr_agfc">Может быть я не правильно вставляю броню в скриптах NPC? вот напрмер<br>// ------ visuals ----- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br> &nbsp; &nbsp; &nbsp;B_SetNpcVisual &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(self, MALE, &quot;Hum_Head_Bald&quot;, Face_N_Mordrag, BodyTex_N, ITAR_MIL_L); &nbsp; &nbsp; &nbsp;<br> &nbsp; &nbsp; &nbsp;Mdl_SetModelFatness &nbsp; &nbsp; &nbsp;(self,0);<br> &nbsp; &nbsp; &nbsp;Mdl_ApplyOverlayMds &nbsp; &nbsp; &nbsp;(self, &quot;Humans_Militia.mds&quot;); <br>нужно только изменить ITAR_MIL_L на TPL_ARMOR_L .Я правильно понял?<br>И ещё хотел уточнить когдя я попробывал всё сделать снова то все брони кроме тех которые я вставил были нормальные.Только та бронька которую я вставил в принципе такая-же ка в Готики1,но без рисунков<br>(какаято однлтоная).В чем ошибка?

02.06.2005 19:13

Re: Скриптинг в Готике
 
2Bliz@rd: <br>Скачай Ruestungsmodsmall-1.0a с ВорлдОфГотик и погляди там, это как раз тот мод где часть доспехов экспортирована из Г1 ( мой альфа перевод на Яндексе )

02.06.2005 19:53

Re: Скриптинг в Готике
 
2Bliz@rd:<br><br>В папке Items\IT_Addon_Armor.d в конце дописываем(на примере брони рудного барона):<br>------------------------------------------------------------<br>INSTANCE ITAR_Magic_Armor (C_Item)<br><br> * * *name ** * * * * * * * *= * * *&quot;Магическая Броня&quot;;<br> * * * *mainflag ** * * * * *= * * *ITEM_KAT_ARMOR;<br> * * *flags ** * * * * * * * *= * * *200;<br> * * *protection [PROT_EDGE] * * *= * * *200;<br> * * *protection [PROT_BLUNT] = ** * *200;<br> * * *protection [PROT_POINT] = ** * *200;<br> * * *protection [PROT_FIRE] ** * *= ** * *200;<br> * * *protection [PROT_MAGIC] = ** * *200;<br> * * *value ** * * * * *= * * *VALUE_ITAR_OreBaron_Addon;<br> * * *wear ** * * * * *= * * *WEAR_TORSO;<br> * * *visual ** * * * * *= * * *&quot;ItAr_CHAOS_ADDON.3ds&quot;;//отображение на земле *и в инвентаре<br> * * *visual_change ** * *= * * *&quot;Hum_Magie_Armor.asc&quot;;//на гг<br> * * *visual_skin ** * *= * * *0;<br> * * *material * * * *= * * *MAT_LEATHER;<br> * * *description * * *= * * *name;<br> * * *TEXT[1] * * * * * *= * * *NAME_Prot_Edge; * * * * * * * * *<br> * * *COUNT[1] * * *= ** * *protection * * *[PROT_EDGE];<br> * * *TEXT[2] * * * * * *= * * *NAME_Prot_Point; * * * * * *<br> * * *COUNT[2] * * *= ** * *protection * * *[PROT_POINT];<br> * * *TEXT[3] ** * *= * * *NAME_Prot_Fire; * * * * * * * * *<br> * * *COUNT[3] * * *= ** * *protection * * *[PROT_FIRE];<br> * * *TEXT[4] * * * * * *= * * *NAME_Prot_Magic; * * * * * *<br> * * *COUNT[4] * * *= ** * *protection * * *[PROT_MAGIC];<br> * * *TEXT[5] * * * * * *= * * *NAME_Value; * * * * * * * * *<br> * * *COUNT[5] * * *= ** * *value;<br><br>------------------------------------------------------------<br>В папку Textures\_compiled всавляем HUM_MAGIE_ARMOR_V0-C.TEX(взято из Готики 1).<br>Компилируем при помощи спейсера,все.(Необходим gmdk-asc_armor.rar,можно скачать с WoG). :)<br><br>P.S.:Есессено проверял у себя ;)

03.06.2005 17:36

Re: Скриптинг в Готике
 
gmdk-asc_armor.rar нужно скачать с сайта World of Gothic в разделе<br>Editing для Готики 2,которая весит 63 мега?

03.06.2005 18:06

Re: Скриптинг в Готике
 
2Bliz@rd:<br><br>gmdk-asc_armor.rar нужно скачать с сайта World of Gothic в разделе<br>Editing для Готики 2,которая весит 63 мега?<br><br>Да нет,он весит 1.5 mb -&gt;Вот.<br>Можно использовать любой скрипт брони,только изменить Itar_Name(где Name твое название) и visual_change(из архива любой *.asc),и бросить в папку Textures\_compiled текстуру этой *.asc,это ты не сделал,поэтому текстура доспеха была расплывчатая(черный,серый цвета).<br>

03.06.2005 21:33

Re: Скриптинг в Готике
 
Пытался делать по твоему примеру,только вствить броню(TPL_ARMOR_L).Вот что я делал:<br>1) В папке Items\IT_Addon_Armor.d прописал после const int VALUE_ITAR_Bloodwyn_Addon &nbsp;* * *= 1300; <br>следуещее:const int VALUE_TPL_ARMOR_L * *= 1350;а внизу:<br>INSTANCE TPL_ARMOR_L(C_Item)<br>{<br> * * *name &nbsp;* * * * * * * * * * * * * * *= * * *&quot;Leichte Templerrьstung&quot;;<br><br> * * *mainflag &nbsp;* * * * * * * * * * * *= * * *ITEM_KAT_ARMOR;<br> * * *flags &nbsp;* * * * * * * * * * * * * * *= * * *0;<br><br> * * *protection [PROT_EDGE] * * *= * * *45;<br> * * *protection [PROT_BLUNT] = &nbsp;* * *45;<br> * * *protection [PROT_POINT] = &nbsp;* * *5;<br> * * *protection [PROT_FIRE] &nbsp;* * *= &nbsp;* * *20;<br> * * *protection [PROT_MAGIC] = &nbsp;* * *0;<br><br> * * *value &nbsp;* * * * * * * * * * * * * * *= * * *VALUE_TPL_ARMOR_L;<br><br> * * *wear &nbsp;* * * * * * * * * * * * * * *= * * *WEAR_TORSO;<br><br> * * *visual &nbsp;* * * * * * * * * * * * * * *= * * *&quot;tpll.3ds&quot;;<br> * * *visual_change &nbsp;* * * * * * * * *= * * *&quot;Hum_TPLL_ARMOR.asc&quot;;<br> * * *visual_skin &nbsp;* * * * * * * * *= * * *0;<br> * * *material &nbsp;* * * * * * * * * * * *= * * *MAT_LEATHER;<br><br> * * *description * * * * * * * * * * * *= * * *name;<br> * * *//TEXT[0] * * * * * * * * * * * *= * * *&quot;&quot;;<br> * * *TEXT[1] * * * * * * * * * * * * * * *= * * *NAME_Prot_Edge; * * * * * * * * *COUNT[1] * * *= protection * * *[PROT_EDGE];<br> * * *TEXT[2] * * * * * * * * * * * * * * *= * * *NAME_Prot_Point; * * * * * *COUNT[2] * * *= protection * * *[PROT_POINT];<br> * * *TEXT[3] &nbsp;* * * * * * * * * * * *= * * *NAME_Prot_Fire; * * * * * * * * *COUNT[3] * * *= protection * * *[PROT_FIRE];<br> * * *TEXT[4] * * * * * * * * * * * * * * *= * * *NAME_Prot_Magic; * * * * * *COUNT[4] * * *= protection * * *[PROT_MAGIC];<br> * * *TEXT[5] * * * * * * * * * * * * * * *= * * *NAME_Value; * * * * * * * * * * * *COUNT[5] * * *= value;<br>};<br>Потом перенёс в папку C:\Program Files\Gothic II\_work\Data\Textures\_compiled следуещее:HUM_TPLL_ARMOR_V0-C.(взял из Готики 1)сохранил.<br>Закомпелировал в спайсере.Всё без ошибок.<br>Потом скриптах NPC прописал:<br>там где // ------ visuals ------<br>дописал TPL_ARMOR_L<br>и где Mdl_ApplyOverlayMds прописал (self, &quot;tpll.3ds&quot;); <br>Закомпелировал.Без ошибок.Но когда захожу в игру броня из Готики 1 опять какя-то недоделаная.<br>Если можешь укажи где не правильно?<br>И ты ещё говорил что нужно скачат (gmdk-asc_armor.rar),а куда нужно вставить броньки?<br><br>Добавление от 06/03/05, в 21:53:18 <hr class="hr_agfc">Отозвать запрос(нашёл свою ошибку).

03.06.2005 22:27

Re: Скриптинг в Готике
 
2Bliz@rd:<br>http://forums.gothic.ag/photos/XyylPex.full.jpg2Bliz@rd:<br>Вот:<br>const int VALUE_TPL_ARMOR_L * *= 1350;<br>INSTANCE Itar_TPL_ARMOR_L(C_Item)<br>{<br> * * name * * * * * * * * * *= *&quot;Легкая броня Тамплиера&quot;;<br> * * mainflag * * * * * * * *= * ITEM_KAT_ARMOR;<br> * * flags * * * * * * * * * = * *0;<br> * * protection [PROT_EDGE] *= * 45;<br> * * protection [PROT_BLUNT] = * 45;<br> * * protection [PROT_POINT] = * *5;<br> * * protection [PROT_FIRE] *= * 20;<br> * * protection [PROT_MAGIC] = * *0;<br> * * value * * * * *= VALUE_TPL_ARMOR_L;<br> * * wear * * * * * = WEAR_TORSO;<br> * * visual * * * * = &quot;ItAr_CorAngar.3ds&quot;;<br> * * visual_change *= &quot;Hum_TPLL_ARMOR.asc&quot;;<br> * * visual_skin * *= 0;<br> * * material * * * = MAT_LEATHER;<br> * * description * *= name; * * * * * * <br> * * TEXT[1] * * * *= NAME_Prot_Edge; * * * * * * * * *<br> * * COUNT[1] * * * = protection [PROT_EDGE];<br> * * TEXT[2] * * * *= NAME_Prot_Point; * * * * * <br> * * COUNT[2] * * * = protection *[PROT_POINT];<br> * * TEXT[3] * * * *= NAME_Prot_Fire; * * * * * * * *<br> * * COUNT[3] * * * = protection * [PROT_FIRE];<br> * * TEXT[4] * * * *= NAME_Prot_Magic; * * * * * <br> * * COUNT[4] * * * = protection * [PROT_MAGIC];<br> * * TEXT[5] * * * *= NAME_Value; * * * * * * * * * * * *<br> * * COUNT[5] * * * = value;<br>};<br><br>там где // ------ visuals ------<br>B_SetNpcVisual (self, MALE, &quot;Hum_Head_Bald&quot;, Face_N_Bartholo, BodyTex_N,Itar_TPL_ARMOR_L);<br>и где Mdl_ApplyOverlayMds прописал (self, &quot;tpll.3ds&quot;);<br>Это внешняя анимация нпс надо:<br>Mdl_ApplyOverlayMds * * *(self, &quot;xxx&quot;);<br>xxx-Humans_Arrogance.mds;<br> * *Humans_Mage.mds;<br> * *Humans_Militia.mds;<br> * *Humans_Relaxed.mds;<br> * *Humans_Tired.mds;<br><br>И ты ещё говорил что нужно скачат (gmdk-asc_armor.rar),а куда нужно вставить броньки?<br><br>У меня g2mdk-small,После разархивации gmdk-asc_armor.rar бросаю содержимое папки gmdk-asc_armor в папку Gothic II :)<br>Надеюсь теперь все понятно ;)<br>

04.06.2005 15:57

Re: Скриптинг в Готике
 
Спосибо тебе теперь я научился вставлять броньки:<br>Только когда я воспользовался твоим пример,спайсер выдавал ошибку:TPL_Armor_L,<br>но когда я исправил вместо ItAr_TPL_ARMOR_L(C_Item) на TPL_ARMOR_L(C_Item).Всё стало нормально.<br>Ещё хотел задать вопрос: когда вставляешь NPC где нибудь в городе,монастыре понятно.А если я например хочу вставить<br>его где-нибудь в лесу где нет других NPC,то где в статупе нужно прописывать своего NPC?

07.06.2005 16:30

Re: Скриптинг в Готике
 
У меня возникло несколько вопросов:<br>1)Допустим я в своём моде создал новую гильдию(Например Сопротивленцы).Создал диалоги к ним,присоединяюсь доют там новую броню,но как сделать когда &nbsp;заходишь в &quot;B&quot;,чтобы она там отображалась?И как сделать,чтобы к Сопртивленцам относились другии гильдии(например нетрально,враждебно)? <br>2)Где новую гильдию нужно прописывать?<br>3)Как сделать,чтобы напрмер я создал NPC ,а он ко мне присоединился и ходил со мной?<br><br>Добавление от 06/07/05, в 16:50:11 <hr class="hr_agfc">Хочу создать мод,в моде хочу сделать ещё несколько гильдий.Подскажите где и что нужно прописывать,чтобы содать новые гильдии?

07.06.2005 19:47

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

2)Где новую гильдию нужно прописывать?
<br>Все гильдии делятся на две группы: люди и монстры. Правила оформления гильдий для этих групп разные. Разделителем между ними является константа GIL_SEPERATOR_HUM.<br>1. Гильдии людей. Создать новую полноценную гильдию людей нельзя, можно только переименовать любую из 16 заданных гильдий людей под свои нужды, причем переименовывать (использовать) гильдии GIL_NONE, GIL_HUMAN и GIL_PUBLIC нельзя, возникнут конфликты в существующей AI. Взаимотношения между гильдиями людей задаются таблицей (файл ..AI\Human\Guilds.d), менять размер таблицы нельзя, задан экзешником.<br>2. Гильдии монстров. Создать новую гильдию здесь также нельзя (константа GIL_MAX = 66 не может меняться, т.к. является размерностью массивов в классе C_GILVALUES). Можно переименовать существующие или использовать несколько &quot;пустых&quot; гильдий. Взаимоотношения между гильдиями монстров, людей и монстров задаются в файле ..AI\Monster\B_Monster\B_SetMonsterAttitude.d.<br> <br>
Цитата:

Подскажите где и что нужно прописывать,чтобы содать новые гильдии?
<br>1. Регистрация в файле .._intern\Constants.d<br>2. Взаимоотношения - уже указал.<br>3. Спецпараметры - файл ..\AI\AI_Intern\Species.d<br>4. Общий совет: если меняем какую либо гильдию (например GIL_OUT) на свою, то ищем по всем скриптам эту константу и смотрим, подходят ли эти условия под вашу гильдию, если да, то переименовываем, если нет, то удаляем старое и дописываем новые условия.<br><br>
Цитата:

3)Как сделать,чтобы напрмер я создал NPC ,а он ко мне присоединился и ходил со мной?
<br>НПС необходимо перевести в состояние ZS_Follow_Player.<br><br>PS: Все упоминаемые файлы рассмотрены в Уроках скриптологии.

07.06.2005 21:39

Re: Скриптинг в Готике
 
Я пытался заменить Gil_OUT на Gil_Templer.<br>Вот что я делал:<br>1)изменил Gil_OUT на Gil_Templer в следующих паках:_intern\Constants,потом &nbsp;Guilds,B_AssignAmbientInfos\B_AssignAmbientI nfos,дальше B_Human\B_AssessFightSound и B_Monster\B_SetMonsterAttitude.<br>2)Вставил Gil_Templer в скрипт своего NPC.<br>3)Закомпелировал,спайсер выдавал ошибки у NPC связанных Gil_OUT.(Что теперь нужно менять у NPC,звязанных с Gil_OUT на другую гильдию)?И ещё когда зашёл в игру и спомощью марвина вселился в NPC(с новой гильдией) то у него вместо Темплера было написано<br>Lardbewohner.Не знаешь почму,может быть что-то не правильно сделал?Если есть ошибка можешь указать?А если можешь напиши пример?

07.06.2005 21:59

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

3)Закомпелировал,спайсер выдавал ошибки у NPC связанных Gil_OUT.(Что теперь нужно менять у NPC,звязанных с Gil_OUT на другую гильдию)?
<br>После замены Gil_OUT на твою гильдию нигде больше в скриптах не должно встречаться имя Gil_OUT. Обрати внимание на пункт 4 моего предыдущего сообщения. Учти, что теперь Gil_OUT больше нет, НПС присоединяем к другой гильдии или вновь созданной.<br><br>
Цитата:

И ещё когда зашёл в игру и спомощью марвина вселился в NPC(с новой гильдией) то у него вместо Темплера было написано<br>Lardbewohner.Не знаешь почму,может быть что-то не правильно сделал?
<br>Текстовое описание гильдий смотри в файле ..\Story\Text.d в константе TXT_GUILDS нужно поменять название гильдии под твоим номером.

08.06.2005 13:14

Re: Скриптинг в Готике
 
Спосибо,как поменять название гильдий у людей научился,но ты ещё говорил,что можно добавить свою гильдию используя несколько &quot;пустых&quot; гильдий&quot;(у животных).Как их использовать и как сделат чтобы гильдия людей(напрмер маги,паладины,наёмники) впускали(в город,в верхнюю часть города,в монастырь),короче относились так же уважительно как напрмер к магу?

08.06.2005 13:48

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

можно добавить свою гильдию используя несколько &quot;пустых&quot; гильдий&quot;(у животных).Как их использовать
<br>Аналогично людским гильдиям, например, вместо GIL_Empty_A записываем свою гильдию животных, а дальше всё аналогично (хотя по скриптам искать старое название смысла нет, оно нигде не используется), можно поступить следующим образом: ищем, например имя GIL_MOLERAT (а лучше той гильдии, которая по поведению ближе к вновь создаваемой) и создаем аналогичные куски кода для новой гильдии.<br><br>
Цитата:

как сделат чтобы гильдия людей(напрмер маги,паладины,наёмники) впускали(в город,в верхнюю часть города,в монастырь),короче относились так же уважительно как напрмер к магу?
<br>Об этом я уже сказал, повторю - Взаимотношения между гильдиями людей задаются таблицей (файл ..AI\Human\Guilds.d). Смотри пост №223 стр.9 Уроки скриптологии.

08.06.2005 15:11

Re: Скриптинг в Готике
 
Не мог бы ты написать несколько примеров касательно диалогов:<br>1)Например NPC,которого я созал отвёл меня от башни Ксардаса до Города.<br>2)Чтобы мой NPC присоединился и ходил со мной.<br>Я пытался делать на примере Ларса но ничего не получилось.Напиши очень нужно?

TycoooN 08.06.2005 15:57

Re: Скриптинг в Готике
 
2Bliz@rd: <br>Слушай, тебя уже один раз отлучили от темы, так ты мало того, что создал бота, так еще и ничуть не изменил манеру поведения: все так же не хочешь ничего делать сам.<br><br>
Цитата:

Я пытался делать на примере Ларса
<br>Значит, плохо пытался.<br>Напиши, что ты делал, и мы скажем, где ошибка, а писать тут никто ничего за тебя не будет.

08.06.2005 19:15

Re: Скриптинг в Готике
 
Подскажите пожалуста, делал всё по подсказке из другой темы но ничего не получается, я дал Эстебану ключ от его же сундука, и руководство по сборке супер топора, вот:<br>instance BDT_1083_Addon_Esteban(Npc_Default)<br>instance BDT_1083_Addon_Esteban(Npc_Default)<br>{<br> &nbsp; &nbsp; &nbsp;name[0] = &quot;Эстебан&quot;;<br> &nbsp; &nbsp; &nbsp;guild = GIL_BDT;<br> &nbsp; &nbsp; &nbsp;id = 1083;<br> &nbsp; &nbsp; &nbsp;voice = 7;<br> &nbsp; &nbsp; &nbsp;flags = 0;<br> &nbsp; &nbsp; &nbsp;npcType = NPCTYPE_BL_MAIN;<br> &nbsp; &nbsp; &nbsp;aivar[AIV_StoryBandit_Esteban] = TRUE;<br> &nbsp; &nbsp; &nbsp;aivar[AIV_StoryBandit] = TRUE;<br> &nbsp; &nbsp; &nbsp;aivar[AIV_NewsOverride] = TRUE;<br> &nbsp; &nbsp; &nbsp;B_SetAttributesToChapter(self,3);<br> &nbsp; &nbsp; &nbsp;fight_tactic = FAI_HUMAN_STRONG;<br> &nbsp; &nbsp; &nbsp;EquipItem(self,ItMw_1h_Sld_Axe);<br> &nbsp; &nbsp; &nbsp;B_CreateAmbientInv(self);<br> &nbsp; &nbsp; &nbsp;B_CreateAmbientInv(self,ITKE_Addon_Esteban_0 1);<br> &nbsp; &nbsp; &nbsp;B_CreateAmbientInv(self,ItWr_Addon_AxtAnleit ung);<br> &nbsp; &nbsp; &nbsp;CreateInvItems(self,ItMi_Addon_Stone_01,5);< br> &nbsp; &nbsp; &nbsp;B_SetNpcVisual(self,MALE,&quot;Hum_Head_Thie f&quot;,Face_L_ToughBart_Quentin,BodyTex_L,ItAr_BD T_H);<br> &nbsp; &nbsp; &nbsp;Mdl_SetModelFatness(self,0);<br> &nbsp; &nbsp; &nbsp;Mdl_ApplyOverlayMds(self,&quot;Humans_Arroga nce.mds&quot;);<br> &nbsp; &nbsp; &nbsp;B_GiveNpcTalents(self);<br> &nbsp; &nbsp; &nbsp;B_SetFightSkills(self,50);<br> &nbsp; &nbsp; &nbsp;daily_routine = Rtn_Start_1083;<br>};<br><br>Явно чёто не так.<br>Заранее спасибо.

08.06.2005 19:57

Re: Скриптинг в Готике
 
В папке Dialoge прописал следующее:<br>// ************************************************** **********<br>// &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; EXIT <br>// ************************************************** **********<br>INSTANCE DIA_Chic_Kap1_EXIT(C_INFO)<br>{<br> &nbsp; &nbsp; &nbsp;npc &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= NONE_666_Chic;<br> &nbsp; &nbsp; &nbsp;nr &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 999;<br> &nbsp; &nbsp; &nbsp;condition &nbsp; &nbsp; &nbsp;= DIA_Chic_Kap1_EXIT_Condition;<br> &nbsp; &nbsp; &nbsp;information &nbsp; &nbsp; &nbsp;= DIA_Chic_Kap1_EXIT_Info;<br> &nbsp; &nbsp; &nbsp;permanent &nbsp; &nbsp; &nbsp;= TRUE;<br> &nbsp; &nbsp; &nbsp;description = DIALOG_ENDE;<br>}; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br>FUNC INT DIA_Chic_Kap1_EXIT_Condition()<br>{<br> &nbsp; &nbsp; &nbsp;if (Kapitel == 1)<br> &nbsp; &nbsp; &nbsp;{<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return TRUE;<br> &nbsp; &nbsp; &nbsp;}; &nbsp; &nbsp; &nbsp;<br>};<br>FUNC VOID DIA_Chic_Kap1_EXIT_Info()<br>{ &nbsp; &nbsp; &nbsp;<br> &nbsp; &nbsp; &nbsp;AI_StopProcessInfos &nbsp; &nbsp; &nbsp;(self);<br>};<br><br>// ************************************************** **********<br>// &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PICK POCKET<br>// ************************************************** **********<br><br>INSTANCE DIA_Chic_PICKPOCKET (C_INFO)<br>{<br> &nbsp; &nbsp; &nbsp;npc &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= NONE_666_Chic;<br> &nbsp; &nbsp; &nbsp;nr &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 900;<br> &nbsp; &nbsp; &nbsp;condition &nbsp; &nbsp; &nbsp;= DIA_Chic_PICKPOCKET_Condition;<br> &nbsp; &nbsp; &nbsp;information &nbsp; &nbsp; &nbsp;= DIA_Chic_PICKPOCKET_Info;<br> &nbsp; &nbsp; &nbsp;permanent &nbsp; &nbsp; &nbsp;= TRUE;<br> &nbsp; &nbsp; &nbsp;description = Pickpocket_100;<br>}; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br><br>FUNC INT DIA_Chic_PICKPOCKET_Condition()<br>{<br> &nbsp; &nbsp; &nbsp;C_Beklauen (95, 350);<br>};<br> <br>FUNC VOID DIA_Chic_PICKPOCKET_Info()<br>{ &nbsp; &nbsp; &nbsp;<br> &nbsp; &nbsp; &nbsp;Info_ClearChoices &nbsp; &nbsp; &nbsp;(DIA_Chic_PICKPOCKET);<br> &nbsp; &nbsp; &nbsp;Info_AddChoice &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(DIA_Chic_PICKPOCKET, DIALOG_BACK &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;,DIA_Chic_PICKPOCKET_BACK);<br> &nbsp; &nbsp; &nbsp;Info_AddChoice &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(DIA_Chic_PICKPOCKET, DIALOG_PICKPOCKET &nbsp; &nbsp; &nbsp;,DIA_Chic_PICKPOCKET_DoIt);<br>};<br><br>fun c void DIA_Chic_PICKPOCKET_DoIt()<br>{<br> &nbsp; &nbsp; &nbsp;B_Beklauen ();<br> &nbsp; &nbsp; &nbsp;Info_ClearChoices (DIA_Chic_PICKPOCKET);<br>};<br> &nbsp; &nbsp; &nbsp;<br>func void DIA_Chic_PICKPOCKET_BACK()<br>{<br> &nbsp; &nbsp; &nbsp;Info_ClearChoices (DIA_Chic_PICKPOCKET);<br>};_PICKPOCKET (C_INFO)<br>{<br> &nbsp; &nbsp; &nbsp;npc &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= NONE_666_Chic;<br> &nbsp; &nbsp; &nbsp;nr &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 900;<br> &nbsp; &nbsp; &nbsp;condition &nbsp; &nbsp; &nbsp;= DIA_Chic_PICKPOCKET_Condition;<br> &nbsp; &nbsp; &nbsp;information &nbsp; &nbsp; &nbsp;= DIA_Chic_PICKPOCKET_Info;<br> &nbsp; &nbsp; &nbsp;permanent &nbsp; &nbsp; &nbsp;= TRUE;<br> &nbsp; &nbsp; &nbsp;description = Pickpocket_100;<br>}; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br><br>FUNC INT DIA_Chic_PICKPOCKET_Condition()<br>{<br> &nbsp; &nbsp; &nbsp;C_Beklauen (95, 350);<br>};<br> <br>FUNC VOID DIA_Chic_PICKPOCKET_Info()<br>{ &nbsp; &nbsp; &nbsp;<br> &nbsp; &nbsp; &nbsp;Info_ClearChoices &nbsp; &nbsp; &nbsp;(DIA_Chic_PICKPOCKET);<br> &nbsp; &nbsp; &nbsp;Info_AddChoice &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(DIA_Chic_PICKPOCKET, DIALOG_BACK &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;,DIA_Chic_PICKPOCKET_BACK);<br> &nbsp; &nbsp; &nbsp;Info_AddChoice &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(DIA_Chic_PICKPOCKET, DIALOG_PICKPOCKET &nbsp; &nbsp; &nbsp;,DIA_Chic_PICKPOCKET_DoIt);<br>};<br><br>fun c void DIA_Chic_PICKPOCKET_DoIt()<br>{<br> &nbsp; &nbsp; &nbsp;B_Beklauen ();<br> &nbsp; &nbsp; &nbsp;Info_ClearChoices (DIA_Chic_PICKPOCKET);<br>};<br> &nbsp; &nbsp; &nbsp;<br>func void DIA_Chic_PICKPOCKET_BACK()<br>{<br> &nbsp; &nbsp; &nbsp;Info_ClearChoices (DIA_Chic_PICKPOCKET);<br>};<br><br>instance &nbsp;DIA_Chic_Forest (C_INFO)<br>{<br> &nbsp; &nbsp; &nbsp;npc &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = &nbsp; &nbsp; &nbsp;NONE_666_Chic;<br> &nbsp; &nbsp; &nbsp;nr &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = &nbsp; &nbsp; &nbsp;9;<br> &nbsp; &nbsp; &nbsp;condition &nbsp; &nbsp; &nbsp; = &nbsp; &nbsp; &nbsp;DIA_Chic_Forest_Condition;<br> &nbsp; &nbsp; &nbsp;information &nbsp; &nbsp; &nbsp; = &nbsp; &nbsp; &nbsp;DIA_Chic_Forest_Info;<br><br> &nbsp; &nbsp; &nbsp;description &nbsp; &nbsp; &nbsp; = &nbsp; &nbsp; &nbsp;&quot;Ты можешь помочь мне дайти до усадьбы &nbsp;Онара? &quot;;<br><br>};<br><br>func void DIA_Chic_Forest_info ()<br>{<br> &nbsp; &nbsp; &nbsp;AI_Output (other, self, &quot;DIA_Chic_RangerHelp_Forest_15_00&quot;); //Ты можешь помочь мне дайти до усадьбы &nbsp;Онара?<br> &nbsp; &nbsp; &nbsp;AI_Output (self, other, &quot;DIA_Chic_RangerHelp_Forest_09_01&quot;); //Хорошо?<br> &nbsp; &nbsp; &nbsp;<br>}; &nbsp; &nbsp; &nbsp;<br>instance DIA_Chic_GoNow (C_INFO)<br>{<br> &nbsp; &nbsp; &nbsp; npc &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = &nbsp; &nbsp; &nbsp; NONE_666_Chic;<br> &nbsp; &nbsp; &nbsp; nr &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = &nbsp; &nbsp; &nbsp; 10;<br> &nbsp; &nbsp; &nbsp; condition &nbsp; &nbsp; &nbsp; = &nbsp; &nbsp; &nbsp; DIA_Chic_GoNow_Condition;<br> &nbsp; &nbsp; &nbsp; information &nbsp; &nbsp; &nbsp; = &nbsp; &nbsp; &nbsp; DIA_Chic_GoNow_Info;<br> &nbsp; &nbsp; &nbsp; permanent = TRUE;<br> &nbsp; &nbsp; &nbsp; description &nbsp; &nbsp; &nbsp; = &nbsp; &nbsp; &nbsp; &quot; Okay, пошли. &quot;;<br>};<br>func void DIA_Chic_GoNow_Onar ()<br>{<br> &nbsp; &nbsp; &nbsp; AI_Output &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (other, self, &quot;DIA_Zaraza_GoNow_Onar_15_00&quot;); // К Onars двор.<br> &nbsp; &nbsp; &nbsp; ChicGuide_ZuOnar = TRUE;<br> &nbsp; &nbsp; &nbsp; Npc_ExchangeRoutine (self, &quot;GUIDE&quot;);<br> &nbsp; &nbsp; &nbsp; DIA_Chic_GoNow_GoingConditions (); <br>};<br><br>func void DIA_Chic_GoNow_warte ()<br>{<br> &nbsp; &nbsp; &nbsp; Info_ClearChoices &nbsp; &nbsp; &nbsp; (DIA_Zaraza_GoNow);<br>};<br>Cохранил.Закомпелиров ал в спайсере,он выдаёт несколько(около 5) ошибок.Что я сделал не правильно?Делал по примеру Ларса(многое мог сделать не правильно).

08.06.2005 22:01

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

делал всё по подсказке из другой темы но ничего не получается
<br>Где ты нашел такую функцию B_CreateAmbientInv(self,ITKE_Addon_Esteban_01); с двумя аргументами? Нужно использовать функцию CreateInvItem.<br><br>Добавление от 06/08/05, в 22:09:46 <hr class="hr_agfc">2Bliz@rd:<br>
Цитата:

Cохранил.Закомпелировал в спайсере,он выдаёт несколько(около 5) ошибок.Что я сделал не правильно?Делал по примеру Ларса(многое мог сделать не правильно).
<br>Ищи и исправляй ошибки, что ты хочешь? Думаешь привел кусок кода и в нем все твои ошибки? Да они могут быть в любом месте, если не можешь разобраться с ошибками в Спейсере, используй Декомпилятор, там все ошибки расписаны подробно с указанием номера строки. И на будущее, если хочешь помощи в поиске ошибок, то приводи сообщение об ошибке и кусок кода, на который указывает ошибка. Учись, учись и учись!

TycoooN 08.06.2005 22:42

Re: Скриптинг в Готике
 
2Bliz@rd: <br>У тебя в файле НПС
Код:

NONE_666_Chic
должна быть прописана функция
Код:

Rtn_Guide_666()
<br>Она там есть?

09.06.2005 10:26

Re: Скриптинг в Готике
 
Вот скрипт моего диалога(поговорить с Грегом):<br><br>instance None_999_Leo_AskForSword (C_INFO)<br>{<br>npc = None_668_Leo;<br>condition = None_668_Leo_AskForSword_Condition;<br>information = None_668_Leo_AskForSword_Info;<br>important = TRUE; <br>permanent = FALSE;<br>description = &quot;&quot;; <br>}; <br><br>FUNC int None_668_Leo_AskForSword_Condition()<br>{<br>if (hero.level &gt;= 0) <br>{<br>return TRUE; <br>};<br>return FALSE; <br>}; <br><br>func void None_668_Leo_AskForSword_Info()<br>{<br>AI_Output ( self, other, &quot;None_668_Leo_AskForSword_Info_8_01&quot;) ; // Эй, ты занят ? <br><br>Info_ClearChoices (None_668_Leo_AskForSword);<br>Info_AddChoice (None_668_Leo_AskForSword, &quot;Нет, а что?&quot;,<br>None_668_Leo_AskForSword_Yes);<br>I nfo_AddChoice (None_668_Leo_AskForSword, &quot;Боюсь, что да&quot;,<br>None_668_Leo_AskForSword_No); <br>}; <br><br>Func void None_668_Leo_AskForSword_No () <br>{<br>AI_Output(other,self, &quot;None_668_Leo_AskForSword_Info_8_02&quot;) ; // Я занят... <br>AI_Output(self,other, &quot;None_668_Leo_AskForSword_Info_8_03&quot;) ; //(Перебивает)Ну и вали отсюда... <br>AI_StopProcessInfos (self); <br>}; <br> <br>func void None_668_Leo_AskForSword_Yes () <br>{<br>AI_Output(other,self,&quot;None_668_Leo_A skForSword_Info_8_04&quot;); // Да,вроде,нет.<br>AI_Output(self,other,&quot;None_6 68_Leo_AskForSword_Info_8_05&quot;); // Тогда принеси мне Нужно чтобы ты поговорил с Грегом.<br><br>Log_CreateTopic (GunthersSword,LOG_MISSION);<br>Log_SetTopicStatus (GunthersSword,LOG_SUCCESS);<br>B_LogEntry(Gunther sSword, &quot;Лео попросил меня поговорить с Грегом&quot;); <br>AI_StopProcessInfos (self); <br>}; <br><br><br><br>// ************************ EXIT **************************<br>instance None_668_Leo_AskForSword_Exit (C_INFO)<br>{<br>npc = None_668_Leo;<br>condition = None_668_Leo_AskForSword_Exit_Condition; <br>information = None_668_Leo_AskForSword_Exit_Info;<br>important = 0;<br>permanent = 1; <br>description = &quot;конец&quot;; <br>}; <br><br>FUNC int None_668_Leo_AskForSword_Exit_Condition() <br>{<br>return 1; <br>}; <br><br>FUNC VOID None_668_Leo_AskForSword_Exit_Info() <br>{<br>AI_StopProcessInfos ( self ); <br>}; <br><br>instance None_668_Leo_BringSword (C_INFO) <br>{<br>npc = None_668_Leo;<br>condition = None_668_Leo_bringSword_Condition; <br>information = None_668_Leo_bringSword_Info; <br>important = FALSE; <br>permanent = TRUE; <br><br>description = &quot;Я поговорил с ним?&quot;; <br>}; <br><br>FUNC int None_668_Leo_bringSword_Condition() <br>{ <br><br>if (Npc_KnowsInfo ( hero, None_668_Leo_AskForSword) <br>&amp;! int_GotSword &amp;&amp; Npc_HasItems (other, PlayerTalkedToGreg) &gt;= 1) <br>{<br>return TRUE;<br>};<br>return FALSE;<br>}; <br><br>func void None_668_Leo_bringSword_Info()<br><br>{ <br>Info_ClearChoices (None_668_Leo_bringSword); <br><br>Info_AddChoice &nbsp;(None_668_Leo_bringSword, <br>&quot;Я поговорил, но он просил ничего не говорить тебе&quot;, <br>None_999_Leo_bringSword_Yes); <br> <br>Info_AddChoice &nbsp;(None_668_Leo_bringSword, <br>&quot;Он всё рассказал.&quot;, <br>None_668_Leo_bringSword_No); <br>}; &nbsp;<br><br><br>func void None_668_Leo_bringSword_Yes () <br>{<br>AI_Output( other, self, &quot;None_668_Leo_bringSword_Info_8_06&quot;); //Я так не думаю. <br>AI_Output( self, other, &quot;None_668_Leo_bringSword_Info_8_07&quot;); // Тогда получи!?! <br>AI_StopProcessInfos (self); <br>AI_StartState( self, ZS_Attack, 0, &quot;&quot;); <br>}; <br><br>func void None_668_Leo_bringSword_No () <br>{<br>AI_Output ( other, self, &quot;None_999_Leo_bringSword_Info_8_08&quot;); // Да я поговорил и он мне всё рассказал. <br>AI_Output ( self, other, &quot;None_999_Leo_bringSword_Info_8_09&quot;); // Великолепно, а это мой подарок тебе - Яблоко.(смеется)<br><br>B_LogEntry (GunthersSword, &quot;&quot;);<br><br>other.exp = other.exp + 100; <br>other.lp = other.lp + 2; <br>b_giveinvitems(other,self, ItFo_Fish,1);<br>b_giveinvitems(self,other,ItFo_Ap ple,1);<br>AI_StopProcessInfos (self); <br>}; <br>Потом в паке Story_Globals прописал var int PlayerTalkedToGreg;Спайсер выдавал ошибку NONE_668_Leo_AskForSword.<br>Что я сделад н6е правильно?<br>Делал по примеру принести меч.И ещё там где написано B_LogEntry (GunthersSword, &quot;&quot;);что нужно написать?<br>

09.06.2005 11:06

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

И ещё там где написано B_LogEntry (GunthersSword, &quot;&quot;);что нужно написать?
<br>Написать нужно текст, который появится в дневнике в теме GunthersSword.<br><br>
Цитата:

Потом в паке Story_Globals прописал var int PlayerTalkedToGreg;Спайсер выдавал ошибку NONE_668_Leo_AskForSword.<br>Что я сделад н6е правильно?
<br>А сам-то текст ошибки какой? Если этот скрипт делал отдельным файлом, то включил ли его в компиляцию?<br><br>Есть ещё ошибка: Npc_HasItems(other,PlayerTalkedToGreg) - вторым аргументом здесь должна быть ссылка на предмет и функция возвращает кол-во таких предметов у НПС, а у тебя кокой-то var int PlayerTalkedToGreg.<br><br>ЗЫ: Когда пишешь скрипт нужно понимать назначение каждого слова, иначе ничего толкового не выйдет.

09.06.2005 18:02

Re: Скриптинг в Готике
 
В моём скрипте я изменил там где B_LogEntry стало B_LogEntry (GunthersSword, &quot;Поговорить с Грегом&quot;);А вместо Npc_HasItems (other, PlayerTalkedToSkip) &gt;= 1) что нужно поставить в моём случае? И ещё в папке Story_Globals поставил в конце <br>const string GregforLeo = &quot;Поговоритиь с Грегом&quot;;<br>var int int_GotGreg <br>это правильно?

09.06.2005 18:15

Re: Скриптинг в Готике
 
2Bliz@rd:<br>А вместо Npc_HasItems (other, PlayerTalkedToSkip) &gt;= 1) что нужно поставить в моём случае?<br><br>Вот это неправильно, надо ,например:Npc_HasItems (other,ItFo_Cheese)&gt;=1,при квестах это проверка на нужный предмет,если его нету,то и миссию завершить нельзя.<br>PS:Тебе столько раз объясняли, уххх :)

10.06.2005 08:35

Re: Скриптинг в Готике
 
2Vam: <br>Камрад есть вопрос! Можно ли в готике 2 сделать, чтоб непись до разговора с ней называлась, например стража, а как поговоришь с ним (и он представится), то назывался уже Пабло?<br>Я с таким встречался в Готике 1! Кажется, когда первый раз видишь Таррока(орка-раба в Новой шахте), то написано Орк-раб!, а после разговора уже Таррок!<br><br>Если это возможно, то приведи пример функции пожалуйста! Заранее спасибо!

TycoooN 10.06.2005 09:05

Re: Скриптинг в Готике
 
2Jeene: <br>А простое
Код:

self.name[0] = &quot;Пабло&quot;
во время разговора не работает?

10.06.2005 13:08

Re: Скриптинг в Готике
 
Я немного изменил скрипт:<br><br>instance None_668_Leo_AskForSword (C_INFO)<br>{<br>npc = None_668_Leo;<br>condition = None_668_Leo_AskForSword_Condition;<br>information = None_668_Leo_AskForSword_Info;<br>important = TRUE; <br>permanent = FALSE;<br>description = &quot;&quot;; <br>}; <br><br>FUNC int None_668_Leo_AskForSword_Condition()<br>{<br>if (hero.level &gt;= 0) <br>{<br>return TRUE; <br>};<br>return FALSE; <br>}; <br><br>func void None_668_Leo_AskForSword_Info()<br>{<br>AI_Output ( self, other, &quot;None_668_Leo_AskForSword_Info_8_01&quot;) ; // Эй, ты занят ? <br><br>Info_ClearChoices (None_668_Leo_AskForSword);<br>Info_AddChoice (None_668_Leo_AskForSword, &quot;Нет, а что?&quot;,<br>None_668_Leo_AskForSword_Yes);<br>I nfo_AddChoice (None_668_Leo_AskForSword, &quot;Боюсь, что да&quot;,<br>None_668_Leo_AskForSword_No); <br>}; <br><br>Func void None_668_Leo_AskForSword_No () <br>{<br>AI_Output(other,self, &quot;None_668_Leo_AskForSword_Info_8_02&quot;) ; // Я занят... <br>AI_Output(self,other, &quot;None_668_Leo_AskForSword_Info_8_03&quot;) ; //(Перебивает)Ну и вали отсюда... <br>AI_StopProcessInfos (self); <br>}; <br> <br>func void None_668_Leo_AskForSword_Yes () <br>{<br>AI_Output(other,self,&quot;None_668_Leo_A skForSword_Info_8_04&quot;); // Да,вроде,нет.<br>AI_Output(self,other,&quot;None_6 68_Leo_AskForSword_Info_8_05&quot;); // Тогда принеси мне Нужно чтобы ты поговорил с Грегом.<br><br>Log_CreateTopic (GunthersSword,LOG_MISSION);<br>Log_SetTopicStatus (GunthersSword,LOG_SUCCESS);<br>B_LogEntry(Gunther sSword, &quot;Лео попросил меня поговорить с Грегом&quot;); <br>AI_StopProcessInfos (self); <br>}; <br><br><br><br>// ************************ EXIT **************************<br>instance None_668_Leo_AskForSword_Exit (C_INFO)<br>{<br>npc = None_668_Leo;<br>condition = None_668_Leo_AskForSword_Exit_Condition; <br>information = None_668_Leo_AskForSword_Exit_Info;<br>important = 0;<br>permanent = 1; <br>description = &quot;конец&quot;; <br>}; <br><br>FUNC int None_668_Leo_AskForSword_Exit_Condition() <br>{<br>return 1; <br>}; <br><br>FUNC VOID None_668_Leo_AskForSword_Exit_Info() <br>{<br>AI_StopProcessInfos ( self ); <br>}; <br><br>instance None_668_Leo_BringSword (C_INFO) <br>{<br>npc = None_668_Leo;<br>condition = None_668_Leo_bringSword_Condition; <br>information = None_668_Leo_bringSword_Info; <br>important = FALSE; <br>permanent = TRUE; <br><br>description = &quot;Я поговорил с ним?&quot;; <br>}; <br><br>FUNC int None_668_Leo_bringSword_Condition() <br>{ <br><br>if (Npc_KnowsInfo ( hero, None_668_Leo_AskForSword) <br>{<br>return TRUE;<br>};<br>return FALSE;<br>}; <br><br>func void None_668_Leo_bringSword_Info()<br><br>{ <br>Info_ClearChoices (None_668_Leo_bringSword); <br><br>Info_AddChoice &nbsp;(None_668_Leo_bringSword, <br>&quot;Я поговорил, но он просил ничего не говорить тебе&quot;, <br>None_668_Leo_bringSword_Yes); <br> <br>Info_AddChoice &nbsp;(None_668_Leo_bringSword, <br>&quot;Он всё рассказал.&quot;, <br>None_668_Leo_bringSword_No); <br>}; &nbsp;<br><br><br>func void None_668_Leo_bringSword_Yes () <br>{<br>AI_Output( other, self, &quot;None_668_Leo_bringSword_Info_8_06&quot;); //Я так не думаю. <br>AI_Output( self, other, &quot;None_668_Leo_bringSword_Info_8_07&quot;); // Тогда получи!?! <br>AI_StopProcessInfos (self); <br>AI_StartState( self, ZS_Attack, 0, &quot;&quot;); <br>}; <br><br>func void None_668_Leo_bringSword_No () <br>{<br>AI_Output ( other, self, &quot;None_668_Leo_bringSword_Info_8_08&quot;); // Да я поговорил и он мне всё рассказал. <br>AI_Output ( self, other, &quot;None_668_Leo_bringSword_Info_8_09&quot;); // Великолепно, а это мой подарок тебе - Яблоко.(смеется)<br><br>B_LogEntry (GunthersSword, &quot;Поговорить с Грегом&quot;);<br><br>other.exp = other.exp + 100; <br>other.lp = other.lp + 2; <br>b_giveinvitems(self,other,ItFo_Apple,1);<br>AI _StopProcessInfos (self); <br>}; <br>А в Story_Globals прописал const string GunthersSword = &quot;Поговорить с Грегом&quot;;<br>var int int_GotSword;<br>Закомпелировал.Выдал одну ошибку U:PAR:Missing')'(line 87).С чем связана эта ошибка?<br>И ещё когда захожу в игру и на чинаю говорить с NPC то сразу появляется только выбор (Я занят и Да,вроде,нет).И запись в дневнике появляется.Всё.Разговоров никаких нету.Почему?

10.06.2005 13:22

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

А простое self.name[0] = &quot;Пабло&quot; во время разговора не работает?
А где его прописывать? В смысле перед какой строчкой?

10.06.2005 14:12

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

Закомпелировал.Выдал одну ошибку UAR:Missing')'(line 87).С чем связана эта ошибка?
<br>Кол-во открывающих скобок и закрывающих в одном выражении должно быть равно, а у тебя if (Npc_KnowsInfo ( hero, None_668_Leo_AskForSword), две открывающие и одна закрывающая.<br><br>
Цитата:

И ещё когда захожу в игру и на чинаю говорить с NPC то сразу появляется только выбор (Я занят и Да,вроде,нет).И запись в дневнике появляется.Всё.Разговоров никаких нету.Почему?
<br>А как ты хотел, при любой ошибке датник не создается, так что у тебя получилось, неизвестно.

10.06.2005 14:18

Re: Скриптинг в Готике
 
2Bliz@rd:<br>И ещё когда захожу в игру и на чинаю говорить с NPC то сразу появляется только выбор (Я занят и Да,вроде,нет).И запись в дневнике появляется.Всё.Разговоров никаких нету.Почему?<br><br>Потому что надо спейсером получить после апдейта новый OU.bin and Ou.csl,смотри тему Русская дока по Spacer II

TycoooN 11.06.2005 09:44

Re: Скриптинг в Готике
 
2Bliz@rd: <br>[q]Выдал одну ошибку U:PAR:Missing')'(line 87)[/q]<br>Ты что, невменяемый? Там английским языком написано
Код:

U:PAR:Пропущено')'(линия 87)
. Неужели это не понятно?!<br>
Цитата:

Потому что надо спейсером получить после апдейта новый OU.bin and Ou.csl,смотри тему Русская дока по Spacer II
<br>Потому что надо юзать декомпилятор от Vam'a ;D :lol:<br><br>2Jeene:<br>
Цитата:

А где его прописывать? В смысле перед какой строчкой?
<br>Ну дык где угодно во время разговора. Как вариант, перед первым
Код:

AI_Output()

11.06.2005 10:08

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

Ну дык где угодно во время разговора. Как вариант, перед первым AI_Output()
Спасибо, все работает!

13.06.2005 15:31

Re: Скриптинг в Готике
 
Вот мой скрипт (Убить Вино):<br>instance None_666_Leo_AskForSword (C_INFO)<br>{<br>npc = None_666_Leo;<br>condition = None_666_Leo_AskForSword_Condition;<br>information = None_666_Leo_AskForSword_Info;<br>important = TRUE; <br>permanent = FALSE;<br>description = &quot;&quot;; <br>}; <br><br>FUNC int None_666_Leo_AskForSword_Condition()<br>{<br>if (hero.level &gt;= 0) <br>{<br>return TRUE; <br>};<br>return FALSE; <br>}; <br><br>func void None_666_Leo_AskForSword_Info()<br>{<br>AI_Output ( self, other, &quot;None_666_Leo_AskForSword_Info_8_01&quot;) ; // Эй, ты занят ? <br><br>Info_ClearChoices (None_666_Leo_AskForSword);<br>Info_AddChoice (None_666_Leo_AskForSword, &quot;Нет, а что?&quot;,<br>None_666_Leo_AskForSword_Yes);<br>I nfo_AddChoice (None_666_Leo_AskForSword, &quot;Боюсь, что да&quot;,<br>None_666_Leo_AskForSword_No); <br>}; <br><br>Func void None_666_Leo_AskForSword_No () <br>{<br>AI_Output(other,self, &quot;None_666_Leo_AskForSword_Info_8_02&quot;) ; // Я занят... <br>AI_Output(self,other, &quot;None_666_Leo_AskForSword_Info_8_03&quot;) ; //(Перебивает)Ну и вали отсюда... <br>AI_StopProcessInfos (self); <br>}; <br> <br>func void None_666_Leo_AskForSword_Yes () <br>{<br>AI_Output(other,self,&quot;None_666_Leo_A skForSword_Info_8_04&quot;); // Да,вроде,нет.<br>AI_Output(self,other,&quot;None_6 66_Leo_AskForSword_Info_8_05&quot;); // Тогда убей 'Вино'.<br><br>Log_CreateTopic (TOPIC_KillVino, LOG_MISSION);<br>Log_SetTopicStatus (TOPIC_KillVino, LOG_RUNNING);<br>B_LogEntry(TOPIC_KillVino, &quot;Зараза попросил меня убить 'Вино'); <br>AI_StopProcessInfos (self); <br>}; <br><br><br><br>// ************************ EXIT **************************<br>instance None_666_Leo_AskForSword_Exit (C_INFO)<br>{<br>npc = None_666_Leo;<br>condition = None_666_Leo_AskForSword_Exit_Condition; <br>information = None_666_Leo_AskForSword_Exit_Info;<br>important = 0;<br>permanent = 1; <br>description = &quot;конец&quot;; <br>}; <br><br>FUNC int None_666_Leo_AskForSword_Exit_Condition() <br>{<br>return 1; <br>}; <br><br>FUNC VOID None_666_Leo_AskForSword_Exit_Info() <br>{<br>AI_StopProcessInfos ( self ); <br>}; <br>INSTANCE DIA_Leo_VinoDead &nbsp; (C_INFO)<br>{<br> &nbsp; &nbsp; &nbsp;npc &nbsp; &nbsp; &nbsp; &nbsp; = NONE_666_Leo;<br> &nbsp; &nbsp; &nbsp;nr &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 8;<br> &nbsp; &nbsp; &nbsp;condition &nbsp; = DIA_Leo_HoshDead_Condition;<br> &nbsp; &nbsp; &nbsp;information = DIA_Leo_HoshDead_Info;<br> &nbsp; &nbsp; &nbsp;permanent &nbsp; = FALSE;<br> &nbsp; &nbsp; &nbsp;description = &quot;мертв!&quot;;<br>};<br><br>FUNC INT DIA_Leo_VinoDead_Condition()<br>{<br> &nbsp; &nbsp; &nbsp;if &nbsp; &nbsp; &nbsp;(Npc_IsDead (Vino))<br> &nbsp; &nbsp; &nbsp;&amp;&amp; &nbsp; &nbsp; &nbsp;(MIS_KillVino == LOG_RUNNING)<br> &nbsp; &nbsp; &nbsp;{<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return TRUE;<br> &nbsp; &nbsp; &nbsp;}; &nbsp; &nbsp; &nbsp;<br>};<br><br>FUNC VOID DIA_Leo_VinoDead_Info()<br>{<br> &nbsp; &nbsp; &nbsp;AI_Output (other,self ,&quot;DIA_Leo_VinoDead_8_06&quot;); //мертв!<br> &nbsp; &nbsp; &nbsp;AI_Output (self ,other,&quot;DIA_Leo_VinoDead_8_07&quot;); //Вероятно, мы имеем, все же, еще шанс.<br> &nbsp; &nbsp; &nbsp;AI_Output (self ,other,&quot;DIA_Leo_VinoDead_8_08&quot;); //Я думаю, это даст нам отсрочку от минимум одной недели.<br> &nbsp; &nbsp; &nbsp;<br> &nbsp; &nbsp; &nbsp;MIS_KillVino = LOG_SUCCESS;<br> &nbsp; &nbsp; &nbsp;<br>};<br>То что я написал это правильно?И ещё что нужно прописывать в папке<br>Story_Globals касательно моего диалога?

13.06.2005 15:45

Re: Скриптинг в Готике
 
Объясните чё не так:<br>instance ITAR_DHT(C_Item)<br>{<br> &nbsp; &nbsp; &nbsp;name = &quot;Доспехи из чушии легендарного ящера&quot;;<br> &nbsp; &nbsp; &nbsp;mainflag = ITEM_KAT_ARMOR;<br> &nbsp; &nbsp; &nbsp;flags = 0;<br> &nbsp; &nbsp; &nbsp;protection[PROT_EDGE] = 70;<br> &nbsp; &nbsp; &nbsp;protection[PROT_BLUNT] = 70;<br> &nbsp; &nbsp; &nbsp;protection[PROT_POINT] = 70;<br> &nbsp; &nbsp; &nbsp;protection[PROT_FIRE] = 0;<br> &nbsp; &nbsp; &nbsp;protection[PROT_MAGIC] = 0;<br> &nbsp; &nbsp; &nbsp;value = VALUE_ITAR_Thorus_Addon;<br> &nbsp; &nbsp; &nbsp;wear = WEAR_TORSO;<br> &nbsp; &nbsp; &nbsp;visual = &quot;ItAr_Thorus_ADDON.3ds&quot;;<br> &nbsp; &nbsp; &nbsp;visual_change = &quot;Armor_DHT.asc&quot;;<br> &nbsp; &nbsp; &nbsp;visual_skin = 0;<br> &nbsp; &nbsp; &nbsp;material = MAT_LEATHER;<br> &nbsp; &nbsp; &nbsp;description = name;<br> &nbsp; &nbsp; &nbsp;text[1] = NAME_Prot_Edge;<br> &nbsp; &nbsp; &nbsp;count[1] = protection[PROT_EDGE];<br> &nbsp; &nbsp; &nbsp;text[2] = NAME_Prot_Point;<br> &nbsp; &nbsp; &nbsp;count[2] = protection[PROT_POINT];<br> &nbsp; &nbsp; &nbsp;text[3] = NAME_Prot_Fire;<br> &nbsp; &nbsp; &nbsp;count[3] = protection[PROT_FIRE];<br> &nbsp; &nbsp; &nbsp;text[4] = NAME_Prot_Magic;<br> &nbsp; &nbsp; &nbsp;count[4] = protection[PROT_MAGIC];<br> &nbsp; &nbsp; &nbsp;text[5] = NAME_Value;<br> &nbsp; &nbsp; &nbsp;count[5] = value;<br>};<br><br>Аск файл я делал из доспехов Торуса, только изменил текстуру.<br>Но вот оптекается 3Д-модель доспехов из ползунов.

13.06.2005 17:12

Re: Скриптинг в Готике
 
2TSYLin:<br>Аск файл я делал из доспехов Торуса, только изменил текстуру.<br>Но вот оптекается 3Д-модель доспехов из ползунов.<br>Но эта аск не доспех ползунов Armor_DHT.asc,а вот это она <br>Armor_Djg_Crawler.asc.Поэто может она оптекается,если я правильно понял.<br>


Текущее время: 23:07. Часовой пояс GMT +4.

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

AGFC: Valley of Gothic © 2004-2022