|
Re: М: Скриптинг в Готике
Добрый день. Возникла проблема при компиляции скрипта такого рода - сначала была ошибка неизвестного concatTex,объявил,теперь ошибка не возвращает значение MILWEAPONTAKE1Left.
Cпойлер(щелкните, чтобы прочесть):
var int concatText; // грубейшая ошибка в типе переменной - должно быть string!
instance DIA_MIL_6_WEAPONTAKE1(C_Info) { * * *nr = 3; * * *condition = DIA_MIL_6_WEAPONTAKE1_Condition; * * *information = DIA_MIL_6_WEAPONTAKE1_Info; * * *permanent = TRUE; * * *description = "Нужен меч?"; };
func int DIA_MIL_6_WEAPONTAKE1_Condition() { * * *if((MIS_MIL_WEAPONTAKE1 == LOG_Running) && (Npc_HasItems(self,ItMw_1H_Common_01) == 0) && (Npc_HasItems(other,ItMw_1H_Common_01) >= 1)) * * *{ * * * * * *return TRUE; * * *}; * * *return FALSE; };
func void DIA_MIL_6_WEAPONTAKE1_Info() { * * *AI_Output(other,self,"DIA_MIL_6_WEAPONTAKE_15_00" ); * * *//Нужен меч? * * *AI_Output(self,other,"DIA_MIL_6_WEAPONTAKE_06_01" ); * * *//Конечно, давай *его сюда. Кто же откажется от такого подарка судьбы. * * *B_GiveInvItems(other,self,ItMw_1H_Common_01,1); * * *MILWEAPONTAKE1 = MILWEAPONTAKE1 + 1; * * *AI_EquipBestMeleeWeapon(self); * * *MILWEAPONTAKE1Left = (MIL_POPULARY - MILWEAPONTAKE1); * * *concatText = ConcatStrings("Осталось мечей ",IntToString(MILWEAPONTAKE1Left)); * * *PrintScreen(concatText,-1,45,FONT_Screen,5); };
func void B_AssignAmbientInfos_MIL_6(var C_Npc slf) { * * *dia_mil_6_exit.npc = Hlp_GetInstanceID(slf); * * *dia_mil_6_join.npc = Hlp_GetInstanceID(slf); * * *dia_mil_6_people.npc = Hlp_GetInstanceID(slf); * * *dia_mil_6_location.npc = Hlp_GetInstanceID(slf); * * *dia_mil_6_standard.npc = Hlp_GetInstanceID(slf); * * *DIA_MIL_6_WEAPONTAKE1.npc = Hlp_GetInstanceID(slf); };
А вот етот скрипт работает
Cпойлер(щелкните, чтобы прочесть):
instance DIA_Wambo_WEAPONTAKE1(C_Info) { * * *npc = Mil_316_Wambo; * * *nr = 3; * * *condition = DIA_Wambo_WEAPONTAKE1_Condition; * * *information = DIA_Wambo_WEAPONTAKE1_Info; * * *permanent = TRUE; * * *description = "Нужен меч?"; };
func int DIA_Wambo_WEAPONTAKE1_Condition() { * * *if((MIS_MIL_WEAPONTAKE1 == LOG_Running) && (Npc_HasItems(self,ItMw_1H_Common_01) == 0) && (Npc_HasItems(other,ItMw_1H_Common_01) >= 1)) * * *{ * * * * * *return TRUE; * * *}; * * *return FALSE; };
func void DIA_Wambo_WEAPONTAKE1_Info() { * * *AI_Output(other,self,"DIA_Wambo_WEAPONTAKE_15_00" ); * * *//Нужен меч? * * *AI_Output(self,other,"DIA_Wambo_WEAPONTAKE_06_01" ); * * *//Конечно, давай его сюда. Кто же откажется от такой стали. * * *B_GiveInvItems(other,self,ItMw_1H_Common_01,1); * * *MILWEAPONTAKE1 = MILWEAPONTAKE1 + 1; * * *AI_EquipBestMeleeWeapon(self); * * *MILWEAPONTAKE1Left = (MIL_POPULARY - MILWEAPONTAKE1); * * *concatText = ConcatStrings("Осталось мечей",IntToString(MILWEAPONTAKE1Left)); * * *PrintScreen(concatText,-1,45,FONT_Screen,5); };
|