Показать сообщение отдельно
Старый 28.04.2007, 21:43   #1620
Innos-vs-Beliar

AGFC
Гость
 
Сообщений: n/a

По умолчанию Re: М: Скриптинг в Готике

Хелло. У меня тут проблема. Создал инстанцию где НПС учит ГГ силе и ловкости. Проблема тут только - Когда нажимаю у себя +1 Сила или +1 Ловкость, то всё нормально - всмысле очков не хватает и так далее. А вот если на +5 нажать то у меня улучшается навык, даже если очков не хватает. Плюс жуткий глюк. После такого приёма у меня в инфе где Очки обучения вместо "0" очков опыта где-то "434564644646..." вот столько. Выглядит страшно!

Вот скрипт-инстанция:
Код:
 instance Info_DARLOC_TEACHME(C_Info){ * * *npc = non_5_darloc; * * *nr = 3; * * *condition = Info_darloc_teachme_condition; * * *information = Info_darloc_teachme_info; * * *permanent = 1; * * *description = "Обучи меня.";};func int Info_darloc_teachme_condition(){ * * *if((DARLOC_TEACH == TRUE) && Npc_KnowsInfo(hero,dia_darloc_youcanteachme)) * * *{ * * * * * *return 1; * * *};};var int darloc_merke_str;var int darloc_merke_dex;func void Info_darloc_teachme_info(){ * * *AI_Output(hero,self,"Info_darloc_Teach_15_00"); * * *//Обучи меня. * * *DARLOC_MERKE_STR = hero.attribute[ATR_STRENGTH]; * * *DARLOC_MERKE_DEX = hero.attribute[ATR_DEXTERITY]; * * *Info_ClearChoices(Info_darloc_teachme); * * *Info_AddChoice(Info_darloc_teachme,DIALOG_BACK,Info_darloc_teachme_back); * * *Info_AddChoice(Info_darloc_teachme,B_BuildLearnString(NAME_LearnStrength_5,5 * LPCOST_ATTRIBUTE_STRENGTH,0),Info_Darloc_TeachMe_str_5); * * *Info_AddChoice(Info_darloc_teachme,B_BuildLearnString(NAME_LearnStrength_1,LPCOST_ATTRIBUTE_STRENGTH,0),Info_Darloc_TeachMe_str_1); * * *Info_AddChoice(Info_darloc_teachme,B_BuildLearnString(NAME_LearnDexterity_5,5 * LPCOST_ATTRIBUTE_DEXTERITY,0),Info_Darloc_TeachMe_dex_5); * * *Info_AddChoice(Info_darloc_teachme,B_BuildLearnString(NAME_LearnDexterity_1,LPCOST_ATTRIBUTE_DEXTERITY,0),Info_Darloc_TeachMe_dex_1);};func void Info_darloc_teachme_back(){ * * *if(DARLOC_MERKE_STR < hero.attribute[ATR_STRENGTH]) * * *{ * * * * * *AI_Output(self,hero,"Info_darloc_teachme_BACK_11_00"); * * *//Твои мускулы окрепли! * * *}; * * *if(DARLOC_MERKE_DEX < hero.attribute[ATR_DEXTERITY]) * * *{ * * * * * *AI_Output(self,hero,"Info_darloc_teachme_BACK_11_01"); * * *//Ты стал более проворнее и ловче. * * *}; * * *AI_Output(self,hero,"Info_darloc_teachme_BACK_11_02"); * * *//Заходи еще, тебе нужно окрепнуть. * * *Info_ClearChoices(Info_darloc_teachme);};func void Info_Darloc_TeachMe_STR_1(){ * * *B_BuyAttributePoints (hero, ATR_STRENGTH, LPCOST_ATTRIBUTE_STRENGTH); * * *Info_ClearChoices (Info_Darloc_TeachMe); * * *Info_AddChoice (Info_Darloc_TeachMe, DIALOG_BACK, Info_Darloc_TeachMe_BACK); * * *Info_AddChoice (Info_Darloc_TeachMe, B_BuildLearnString (NAME_LearnStrength_5, 5 * LPCOST_ATTRIBUTE_STRENGTH, 0), Info_Darloc_TeachMe_STR_5); * * *Info_AddChoice (Info_Darloc_TeachMe, B_BuildLearnString (NAME_LearnStrength_1, LPCOST_ATTRIBUTE_STRENGTH, 0), Info_Darloc_TeachMe_STR_1); * * *Info_AddChoice (Info_Darloc_TeachMe, B_BuildLearnString (NAME_LearnDexterity_5, 5 * LPCOST_ATTRIBUTE_DEXTERITY, 0), Info_Darloc_TeachMe_DEX_5); * * *Info_AddChoice (Info_Darloc_TeachMe, B_BuildLearnString (NAME_LearnDexterity_1, LPCOST_ATTRIBUTE_DEXTERITY, 0), Info_Darloc_TeachMe_DEX_1);};func void Info_Darloc_TeachMe_STR_5(){ * * *B_BuyAttributePoints (hero, ATR_STRENGTH, 5 * LPCOST_ATTRIBUTE_STRENGTH); * * *Info_ClearChoices (Info_Darloc_TeachMe); * * *Info_AddChoice (Info_Darloc_TeachMe, DIALOG_BACK, Info_Darloc_TeachMe_BACK); * * *Info_AddChoice (Info_Darloc_TeachMe, B_BuildLearnString (NAME_LearnStrength_5, 5 * LPCOST_ATTRIBUTE_STRENGTH, 0), Info_Darloc_TeachMe_STR_5); * * *Info_AddChoice (Info_Darloc_TeachMe, B_BuildLearnString (NAME_LearnStrength_1, LPCOST_ATTRIBUTE_STRENGTH, 0), Info_Darloc_TeachMe_STR_1); * * *Info_AddChoice (Info_Darloc_TeachMe, B_BuildLearnString (NAME_LearnDexterity_5, 5 * LPCOST_ATTRIBUTE_DEXTERITY, 0), Info_Darloc_TeachMe_DEX_5); * * *Info_AddChoice (Info_Darloc_TeachMe, B_BuildLearnString (NAME_LearnDexterity_1, LPCOST_ATTRIBUTE_DEXTERITY, 0), Info_Darloc_TeachMe_DEX_1);};func void Info_Darloc_TeachMe_DEX_1(){ * * *B_BuyAttributePoints (hero, ATR_DEXTERITY, LPCOST_ATTRIBUTE_DEXTERITY); * * *Info_ClearChoices (Info_Darloc_TeachMe); * * *Info_AddChoice (Info_Darloc_TeachMe, DIALOG_BACK, Info_Darloc_TeachMe_BACK); * * *Info_AddChoice (Info_Darloc_TeachMe, B_BuildLearnString (NAME_LearnStrength_5, 5 * LPCOST_ATTRIBUTE_STRENGTH, 0), Info_Darloc_TeachMe_STR_5); * * *Info_AddChoice (Info_Darloc_TeachMe, B_BuildLearnString (NAME_LearnStrength_1, LPCOST_ATTRIBUTE_STRENGTH, 0), Info_Darloc_TeachMe_STR_1); * * *Info_AddChoice (Info_Darloc_TeachMe, B_BuildLearnString (NAME_LearnDexterity_5, 5 * LPCOST_ATTRIBUTE_DEXTERITY, 0), Info_Darloc_TeachMe_DEX_5); * * *Info_AddChoice (Info_Darloc_TeachMe, B_BuildLearnString (NAME_LearnDexterity_1, LPCOST_ATTRIBUTE_DEXTERITY, 0), Info_Darloc_TeachMe_DEX_1);};func void Info_Darloc_TeachMe_DEX_5(){ * * *B_BuyAttributePoints (hero, ATR_DEXTERITY, 5 * LPCOST_ATTRIBUTE_DEXTERITY); * * *Info_ClearChoices (Info_Darloc_TeachMe); * * *Info_AddChoice (Info_Darloc_TeachMe, DIALOG_BACK, Info_Darloc_TeachMe_BACK); * * *Info_AddChoice (Info_Darloc_TeachMe, B_BuildLearnString (NAME_LearnStrength_5, 5 * LPCOST_ATTRIBUTE_STRENGTH, 0), Info_Darloc_TeachMe_STR_5); * * *Info_AddChoice (Info_Darloc_TeachMe, B_BuildLearnString (NAME_LearnStrength_1, LPCOST_ATTRIBUTE_STRENGTH, 0), Info_Darloc_TeachMe_STR_1); * * *Info_AddChoice (Info_Darloc_TeachMe, B_BuildLearnString (NAME_LearnDexterity_5, 5 * LPCOST_ATTRIBUTE_DEXTERITY, 0), Info_Darloc_TeachMe_DEX_5); * * *Info_AddChoice (Info_Darloc_TeachMe, B_BuildLearnString (NAME_LearnDexterity_1, LPCOST_ATTRIBUTE_DEXTERITY, 0), Info_Darloc_TeachMe_DEX_1);};
Ответить с цитированием