|
|
|
|
A.G.F.C.
Регистрация: 04.09.2006
Сообщений: 20
|
|
|
|
|
|
Re: М:Декомпилятор скриптов Готики
Уважаемый Vam!
В очередной раз обращаюсь к тебе, *:) с возможностью наличия ошибки в программе, а именно: При очередной декомпиляции дат-файла, который до этого был удачно скомпилирован мною, без единой ошибки и внимания на начальном уровне безопасности. *::)
Наблюдаются следующие ошибки, которые выдает VGS при остановке процесса компиляции: 1. Story\Dialoge\DIA_DJG_705_Angar_NW.d(513): Ошибка неизвестный идентификатор: *SLF 2. Story\Dialoge\DIA_DJG_714_Jan.d(825): Ошибка неизвестный идентификатор: *SLF 3. Story\Dialoge\DIA_vlk_9696_vornesh.d(970): Ошибка неизвестный идентификатор: *SLF 4. Story\Dialoge\DIA_PAL_201_Ingmar.d(550): Ошибка неизвестный идентификатор: *SLF 5. Story\Dialoge\DIA_SLD_800_Lee.d(2104): Ошибка неизвестный идентификатор: *SLF 6. Story\Dialoge\DIA_SLD_800_Lee.d(2370): Ошибка неизвестный идентификатор: *SLF 7. Story\Dialoge\DIA_sek_6005_darion.d(364): Ошибка неизвестный идентификатор: *SLF 8. Story\Dialoge\DIA_gur_6024_cadar.d(501): Ошибка неизвестный идентификатор: *SLF 9. Story\Dialoge\DIA_tpl_6017_vid.d(266): Ошибка неизвестный идентификатор: *SLF
Привожу блоки функций с ошибкой целиком, т.е. каждый блок функции соответстует указанию на ошибку декомпилятором, номера указаны в том же порядке как и прописаны ошибки.:
Пример 1. func void dia_angar_teachsmith_weapon_itar_tpl_hplus() { * * *if(Npc_HasItems(hero,ItMi_Gold) >= 10000) * * *{ * * * * * *Npc_RemoveInvItems(hero,ItMi_Gold,slf); * * * * * *if(B_TeachPlayerTalentSmith(self,other,WEAPON_ITA R_TPL_HPLUS)) * * * * * *{ * * * * * * * * *AI_Output(self,other,"DIA_Angar_TeachSmith_WEAPON _ItMw_1h_Rapier9_01_ 02"); * * *//(Показывает)Хорошо, смотри внимательно как это делается. * * * * * *}; * * *} * * *else * * *{ * * * * * *Print("Найди 10000 золотых для учебы ..."); * * *}; * * *b_angarsmithchoices(); };
Пример 2. func void dia_jan_teachsmith_weapon_itar_djg_mplus() { * * *if(Npc_HasItems(hero,ItMi_Gold) >= 10000) * * *{ * * * * * *Npc_RemoveInvItems(hero,ItMi_Gold,slf); * * * * * *if(B_TeachPlayerTalentSmith(self,other,WEAPON_ITA R_DJG_MPLUS)) * * * * * *{ * * * * * * * * *AI_Output(self,other,"DIA_Jan_TeachSmith_WEAPON_I tMw_1h_Rapier10_01_0 2"); * * *//(Показывает)Хорошо, смотри внимательно как это делается. * * * * * *}; * * *} * * *else * * *{ * * * * * *Print("Найди 10000 золотых для учебы ..."); * * *}; * * *b_jansmithchoices(); };
Пример 3. func void dia_vornesh_zwork_b_info() { * * *AI_Output(self,other,"DIA_Vornesh_Zwork_B_03_00") ; * * *//Я слышал, ты хочешь отплыть на материк. * * *AI_Output(other,self,"DIA_Vornesh_Zwork_B_15_00") ; * * *//Да, у меня там дела. * * *AI_Output(self,other,"DIA_Vornesh_Zwork_B_03_01") ; * * *//Вот, возьми 10000 монет. Это поможет тебе организовать торговлю на материке. * * *B_GiveInvItems(self,other,ItMi_Gold,slf); * * *B_GivePlayerXP(2500); };
Пример 4. func void dia_ingmar_teachsmith_weapon_itar_pal_mplus() { * * *if(Npc_HasItems(hero,ItMi_Gold) >= 10000) * * *{ * * * * * *Npc_RemoveInvItems(hero,ItMi_Gold,slf); * * * * * *if(B_TeachPlayerTalentSmith(self,other,WEAPON_ITA R_PAL_MPLUS)) * * * * * *{ * * * * * * * * *AI_Output(self,other,"DIA_Ingmar_TeachSmith_WEAPO N_ItMw_1h_Rapier9_01 _02"); * * *//(Показывает)Хорошо, смотри внимательно как это делается. * * * * * *}; * * *} * * *else * * *{ * * * * * *Print("Найди 10000 золотых для учебы ..."); * * *}; * * *b_ingmarsmithchoices(); };
Пример 4. func void dia_lee_kill_mill_info() { * * *AI_Output(other,self,"DIA_Lee_Kill_Mill_15_00"); * * *//Я Грохнул ментов! * * *AI_Output(self,other,"DIA_Lee_Kill_Mill_08_01"); * * *//Молодец! * * *MIS_KILL_MILL = FALSE; * * *B_GivePlayerXP(slf); * * *B_StartOtherRoutine(Torlof,"q6"); * * *B_StartOtherRoutine(Buster,"q6"); * * *B_StartOtherRoutine(Cord,"q6"); * * *B_StartOtherRoutine(shtorus,"q6"); * * *B_StartOtherRoutine(Jarvis,"q6"); * * *B_StartOtherRoutine(Dar,"q6"); * * *B_StartOtherRoutine(Sentenza,"q6"); * * *B_StartOtherRoutine(Fester,"q6"); * * *B_StartOtherRoutine(Raoul,"q6"); * * *B_StartOtherRoutine(khaled,"q6"); * * *B_StartOtherRoutine(soeldner9,"q6"); * * *B_StartOtherRoutine(soeldner10,"q6"); * * *B_StartOtherRoutine(soeldner3,"q6"); * * *B_StartOtherRoutine(soeldner4,"q6"); * * *B_StartOtherRoutine(soeldner5,"q6"); * * *B_StartOtherRoutine(soeldner6,"q6"); * * *B_StartOtherRoutine(soeldner7,"q6"); * * *B_StartOtherRoutine(soeldner8,"q6"); * * *B_StartOtherRoutine(GornNW_nach_DJG,"q6"); * * *djg_bullco_nw.aivar[AIV_PARTYMEMBER] = FALSE; * * *djg_rod_nw.aivar[AIV_PARTYMEMBER] = FALSE; * * *djg_cipher_nw.aivar[AIV_PARTYMEMBER] = FALSE; * * *kurgan_nw.aivar[AIV_PARTYMEMBER] = FALSE; * * *kjorn_nw.aivar[AIV_PARTYMEMBER] = FALSE; * * *godar_nw.aivar[AIV_PARTYMEMBER] = FALSE; * * *hokurn_nw.aivar[AIV_PARTYMEMBER] = FALSE; * * *Torlof.aivar[AIV_PARTYMEMBER] = FALSE; * * *Cord.aivar[AIV_PARTYMEMBER] = FALSE; * * *Buster.aivar[AIV_PARTYMEMBER] = FALSE; * * *Jarvis.aivar[AIV_PARTYMEMBER] = FALSE; * * *Dar.aivar[AIV_PARTYMEMBER] = FALSE; * * *Sentenza.aivar[AIV_PARTYMEMBER] = FALSE; * * *Fester.aivar[AIV_PARTYMEMBER] = FALSE; * * *soeldner3.aivar[AIV_PARTYMEMBER] = FALSE; * * *soeldner4.aivar[AIV_PARTYMEMBER] = FALSE; * * *soeldner5.aivar[AIV_PARTYMEMBER] = FALSE; * * *soeldner6.aivar[AIV_PARTYMEMBER] = FALSE; * * *Raoul.aivar[AIV_PARTYMEMBER] = FALSE; * * *khaled.aivar[AIV_PARTYMEMBER] = FALSE; * * *soeldner7.aivar[AIV_PARTYMEMBER] = FALSE; * * *soeldner8.aivar[AIV_PARTYMEMBER] = FALSE; * * *soeldner9.aivar[AIV_PARTYMEMBER] = FALSE; * * *soeldner10.aivar[AIV_PARTYMEMBER] = FALSE; * * *Lee.aivar[AIV_PARTYMEMBER] = FALSE; * * *shtorus.aivar[AIV_PARTYMEMBER] = FALSE; * * *GornNW_nach_DJG.aivar[AIV_PARTYMEMBER] = FALSE; };
Пример 6. func void dia_lee_buyarmorh_1_info() { * * *AI_Output(other,self,"DIA_Lee_BuyArmorH_15_00_1") ; * * *//Дай мне доспех. * * *if(B_GiveInvItems(other,self,ItMi_Gold,slf)) * * *{ * * * * * *AI_Output(self,other,"DIA_Lee_BuyArmorH_04_01_1") ; * * *//Держи. Очень хорошие доспехи. Они такие же, как и у меня. * * * * * *CreateInvItems(other,itar_sldh,1); * * * * * *AI_EquipArmor(other,itar_sldh); * * * * * *Lee_SldHGiven = TRUE; * * *} * * *else * * *{ * * * * * *AI_Output(self,other,"DIA_Lee_BuyArmorH_04_02_1") ; * * *//Ты же знаешь, как это делается. Сначала золото! * * *}; };
Пример 7. func void dia_darion_teachsmith_weapon_itmw_sek_2haxe_01() { * * *if(Npc_HasItems(hero,ItMi_Gold) >= 10000) * * *{ * * * * * *Npc_RemoveInvItems(hero,ItMi_Gold,slf); * * * * * *if(B_TeachPlayerTalentSmith(self,other,WEAPON_ITM W_SEK_2HAXE_01)) * * * * * *{ * * * * * * * * *AI_Output(self,other,"DIA_DARION_TeachSmith_WEAPO N_ItMw_1h_Rapier7_01 _01"); * * *//Этот топор не доступен никому, только истинному избранному. * * * * * * * * *AI_Output(self,other,"DIA_DARION_TeachSmith_WEAPO N_ItMw_1h_Rapier7_01 _02"); * * *//(Колдует над руками) Теперь твои руки заполнили рецепт, ты должен попытаться создать этот топор. * * * * * * * * *AI_Output(self,other,"DIA_DARION_TeachSmith_WEAPO N_ItMw_1h_Rapier7_01 _03"); * * *//Для изготовления возьми теже ресурсы, но на одну еденицу больше всего, чем в прошлый раз * * * * * *}; * * *} * * *else * * *{ * * * * * *Print("Найди 10000 золотых для учебы ..."); * * *}; * * *b_darionsmithchoices(); };
Пример 8. func void dia_cadar_teachsmith_weapon_itar_guruplus() { * * *if(Npc_HasItems(hero,ItMi_Gold) >= 10000) * * *{ * * * * * *Npc_RemoveInvItems(hero,ItMi_Gold,slf); * * * * * *if(B_TeachPlayerTalentSmith(self,other,WEAPON_ITA R_GURUPLUS)) * * * * * *{ * * * * * * * * *AI_Output(self,other,"DIA_cadar_TeachSmith_WEAPON _ItMw_1h_Rapier9_01_ 02"); * * *//(Показывает)Хорошо, смотри внимательно как это делается. * * * * * *}; * * *} * * *else * * *{ * * * * * *Print("Найди 10000 золотых для учебы ..."); * * *}; * * *b_cadarsmithchoices(); };
Пример 9. func void dia_cadar_teachsmith_weapon_itar_guruplus() { * * *if(Npc_HasItems(hero,ItMi_Gold) >= 10000) * * *{ * * * * * *Npc_RemoveInvItems(hero,ItMi_Gold,slf); * * * * * *if(B_TeachPlayerTalentSmith(self,other,WEAPON_ITA R_GURUPLUS)) * * * * * *{ * * * * * * * * *AI_Output(self,other,"DIA_cadar_TeachSmith_WEAPON _ItMw_1h_Rapier9_01_ 02"); * * *//(Показывает)Хорошо, смотри внимательно как это делается. * * * * * *}; * * *} * * *else * * *{ * * * * * *Print("Найди 10000 золотых для учебы ..."); * * *}; * * *b_cadarsmithchoices(); };
Самое странное в том что везде где стоит ошибка “slf”, должно быть прописано значение равное “10000”. Исходя из этого у меня складывается впечатление, что декомпилятор берет это значение из какого-то другого места, а откуда непонятно???
Вот собственно и все, заранее спасибо… * ;)
|