Новости Большое интервью с HotA Crew - часть 2
  • 1.088
  • 0
HotA Crew о Кронверке и будущих обновлениях (часть 2) Какие герои будут вести армии Кронверка? Герои-воины зовутся Вожди, маги — Старейшины. Их параметры и способности подчеркнут сильные стороны...
Новости Большое интервью с HotA Crew - часть 1
  • 914
  • 0
HotA Crew о Кронверке и будущих обновлениях Важно: весь контент по Кронверку и системе событий находится в разработке, и может ещё поменяться. Итак, следующим городом будет Кронверк. Почему...
С Новым 2025 годом!
  • 2.585
  • 18
Вот и завершается этот год - местами странный, местами крутой, но точно запоминающийся, полный неожиданностей и ярких моментов. Мы благодарны вам за то, что вы были рядом, за все наши совместные...
Новости В Heroes of Might and Magic 3 теперь можно поиграть в веб-браузере
  • 1.364
  • 3
Совсем недавно энтузиасты из России смогли портировать игру HoMM3 в браузер. Причем веб-версия позволяет пройти все сюжетные компании и даже поиграть по сети. Чтобы сыграть в классику необходимо...

Вопросы по скриптингу в Готике

3will

Новичок
Регистрация
12 Июл 2019
Сообщения
1
Реакции
0
Баллы
0
Лучшие ответы
0
Доброго времени суток. Подскажите как изменить количество lp за обучения охотничьих навыков в готике 2 классик?
 

Kor.Angar

Гвардеец
Команда форума
Редактор раздела
Модостроитель
Тестировщик
 
Участник форума
Регистрация
2 Июн 2019
Сообщения
1.480
Реакции
659
Баллы
250
Лучшие ответы
44
Доброго времени суток. Подскажите как изменить количество lp за обучения охотничьих навыков в готике 2 классик?
распакую файл из архива и положи в папку авторан
 

Вложения

Milaskus

Постоялец
Участник форума
Регистрация
13 Авг 2020
Сообщения
61
Реакции
70
Баллы
20
Лучшие ответы
0
Здравствуйте.
Подскажите пожалуйста, как добавить в строку нпс (ловкость +1 "50 золотых") цену за навык/аттрибут.
Пробовал разные варианты, включая просто написать в ковычках (B_BuildLearnString(PRINT_LearnDEX5,"тест",B_GetLearnCostAttribute(other,ATR_DEXTERITY) * 5))

func void DIA_Lares_TEACH_BACK()
{
if(other.attribute[ATR_DEXTERITY] > Lares_MerkeDEX)
{
AI_Output(self,other,"DIA_Lares_TEACH_BACK_09_00"); //Ты уже стал более ловким.
};
if(other.attribute[ATR_STRENGTH] > Lares_MerkeSTR)
{
AI_Output(self,other,"DIA_Addon_Lares_TEACH_BACK_Add_09_00"); //(оценивающе) Очень хорошо. Ты стал сильнее.
};
Info_ClearChoices(DIA_Lares_TEACH);
};

func void DIA_Lares_TEACH_1()
{
AI_Output(other,self,"DIA_Lares_TEACH_1_15_00"); //Учи меня.
if ((Npc_HasItems(other,ItMi_Gold) >= 100) && (hero.lp > 0))
{
B_TeachAttributePoints(self,other,ATR_DEXTERITY,1,T_MED);
B_GiveInvItems(other,self,ItMi_Gold,100);
Info_ClearChoices(DIA_Lares_TEACH);
Info_AddChoice(DIA_Lares_TEACH,Dialog_Back,DIA_Lares_TEACH_BACK);
Info_AddChoice(DIA_Lares_TEACH,B_BuildLearnString(PRINT_LearnDEX1,B_GetLearnCostAttribute(other,ATR_DEXTERITY)),DIA_Lares_TEACH_1);
Info_AddChoice(DIA_Lares_TEACH,B_BuildLearnString(PRINT_LearnDEX5,B_GetLearnCostAttribute(other,ATR_DEXTERITY) * 5),DIA_Lares_TEACH_5);
Info_AddChoice(DIA_Lares_TEACH,B_BuildLearnString(PRINT_LearnSTR1,B_GetLearnCostAttribute(other,ATR_STRENGTH)),DIA_Lares_TEACHSTR_1);
Info_AddChoice(DIA_Lares_TEACH,B_BuildLearnString(PRINT_LearnSTR5,B_GetLearnCostAttribute(other,ATR_STRENGTH) * 5),DIA_Lares_TEACHSTR_5);
}
else if ((Npc_HasItems(other,ItMi_Gold) >= 100) && (hero.lp < 1))
{
AI_Output(self,other,"DIA_Lares_TEACH_1_09_09"); //Приходи как будешь готов.
Info_AddChoice(DIA_Lares_TEACH,Dialog_Back,DIA_Lares_TEACH_BACK);
};
};
Но не понял что писать в
func string B_BuildLearnString(var string text,var int kosten)
{
var string concatText;
concatText = ConcatStrings(text,PRINT_Kosten);
concatText = ConcatStrings(concatText,IntToString(kosten));
concatText = ConcatStrings(concatText,PRINT_LP);
// concatText = ConcatStrings(concatText,PRINT_PRICE_30_1LP);
return concatText;
};
 

Вложения

V.I.

Постоялец
Участник форума
Регистрация
24 Июл 2016
Сообщения
87
Реакции
30
Баллы
31
Лучшие ответы
2
Ага, ты давал кому-нибудь свой мод потестировать, с каким-то кол-м диалогов? Попробуй, узнаешь о себе много нового ;D Ну а если нет, то молодец. Сложно сохранять внимание, во время написания скриптов думаешь не об орфографии, пунктуации или же правильном расположении слов в предложении :D
Общался я как то с профессиональными программерами. Узнал много нового.
Например, что в среднем на проект кодится всего две строчки в день. И это норматив такой, :)))

Это не значит, что в день написали две строчки, и ничего не делают. Это значит, что помимо кодинга есть дизайн, отладка, тестирование, согласование и т.п.

Но с учетом "двух строк в день", вопрос о качестве кода, и о количестве ошибок, воспринимается иначе.

"Куда ж ты несешься на скорости 250 км в час? Притормози, а то приедешь..." (поспешишь - людей насмешишь)
 

Chode McBlob

Житель города
Участник форума
Регистрация
18 Сен 2024
Сообщения
176
Реакции
51
Баллы
37
Лучшие ответы
1
Общался я как то с профессиональными программерами. Узнал много нового.
Например, что в среднем на проект кодится всего две строчки в день. И это норматив такой, :)))

Это не значит, что в день написали две строчки, и ничего не делают. Это значит, что помимо кодинга есть дизайн, отладка, тестирование, согласование и т.п.

Но с учетом "двух строк в день", вопрос о качестве кода, и о количестве ошибок, воспринимается иначе.

"Куда ж ты несешься на скорости 250 км в час? Притормози, а то приедешь..." (поспешишь - людей насмешишь)
У меня бы были такие программеры гнал бы в шею. Для дизайна есть дизайнеры, для тестирования есть qa, для согласования есть начальство, которое все согласует с дизайнерами и тимлидами/сеньорами. И хреновый код пишут программеры, если они свои две строчки полдня отлаживают.
 

Kor.Angar

Гвардеец
Команда форума
Редактор раздела
Модостроитель
Тестировщик
 
Участник форума
Регистрация
2 Июн 2019
Сообщения
1.480
Реакции
659
Баллы
250
Лучшие ответы
44
@Milaskus,

Код:
func string B_BuildLearnStringNew(var int ATR,var int xyz)
{
    var int kosten;
    kosten = B_GetLearnCostAttribute(other,ATR) * xyz;  

    var string concatText;
   
    if      (atr == ATR_STRENGTH)   { concatText = PRINT_LearnSTR }
    else if (atr == ATR_DEXTERITY)  { concatText = PRINT_LearnDEX }
    else if (atr == ATR_MANA)       { concatText = PRINT_LearnMANA_MAX }
    else if (atr == ATR_MANA_MAX)   { concatText = PRINT_LearnMANA_MAX }
    else /*if (atr ==)*/            { concatText = "неизвестный атрибут" };
   
    concatText = ConcatStrings(concatText,IntToString(xyz));     // Сила +5
    concatText = ConcatStrings(concatText,PRINT_Kosten);            // Сила +5. Стоит:
    concatText = ConcatStrings(concatText,IntToString(kosten));     // Сила +5. Стоит: 10
    concatText = ConcatStrings(concatText,PRINT_LP);                // Сила +5. Стоит: 10 LP
    concatText = ConcatStrings(concatText,"(");                     // Сила +5. Стоит: 10 LP(
    concatText = ConcatStrings(concatText,IntToString(kosten* 30)); // Сила +5. Стоит: 10 LP(300
    concatText = ConcatStrings(concatText,PRINT_BiffGold);          // Сила +5. Стоит: 10 LP(300 Gold
    concatText = ConcatStrings(concatText,").");                    // Сила +5. Стоит: 10 LP(300 Gold).
   
    return concatText;
};
...
Info_AddChoice(DIA_Lares_TEACH,B_BuildLearnStringNew(ATR_STRENGTH, 5),DIA_Lares_TEACHSTR_5);
...
 

Milaskus

Постоялец
Участник форума
Регистрация
13 Авг 2020
Сообщения
61
Реакции
70
Баллы
20
Лучшие ответы
0
@Milaskus,

Код:
func string B_BuildLearnStringNew(var int ATR,var int xyz)
{
    var int kosten;
    kosten = B_GetLearnCostAttribute(other,ATR) * xyz; 

    var string concatText;
  
    if      (atr == ATR_STRENGTH)   { concatText = PRINT_LearnSTR }
    else if (atr == ATR_DEXTERITY)  { concatText = PRINT_LearnDEX }
    else if (atr == ATR_MANA)       { concatText = PRINT_LearnMANA_MAX }
    else if (atr == ATR_MANA_MAX)   { concatText = PRINT_LearnMANA_MAX }
    else /*if (atr ==)*/            { concatText = "неизвестный атрибут" };
  
    concatText = ConcatStrings(concatText,IntToString(xyz));     // Сила +5
    concatText = ConcatStrings(concatText,PRINT_Kosten);            // Сила +5. Стоит:
    concatText = ConcatStrings(concatText,IntToString(kosten));     // Сила +5. Стоит: 10
    concatText = ConcatStrings(concatText,PRINT_LP);                // Сила +5. Стоит: 10 LP
    concatText = ConcatStrings(concatText,"(");                     // Сила +5. Стоит: 10 LP(
    concatText = ConcatStrings(concatText,IntToString(kosten* 30)); // Сила +5. Стоит: 10 LP(300
    concatText = ConcatStrings(concatText,PRINT_BiffGold);          // Сила +5. Стоит: 10 LP(300 Gold
    concatText = ConcatStrings(concatText,").");                    // Сила +5. Стоит: 10 LP(300 Gold).
  
    return concatText;
};
...
Info_AddChoice(DIA_Lares_TEACH,B_BuildLearnStringNew(ATR_STRENGTH, 5),DIA_Lares_TEACHSTR_5);
...
Спасибо, буду пробовать.
 

V.I.

Постоялец
Участник форума
Регистрация
24 Июл 2016
Сообщения
87
Реакции
30
Баллы
31
Лучшие ответы
2
У меня бы были такие программеры гнал бы в шею. Для дизайна есть дизайнеры, для тестирования есть qa, для согласования есть начальство, которое все согласует с дизайнерами и тимлидами/сеньорами. И хреновый код пишут программеры, если они свои две строчки полдня отлаживают.
Думаю, туда где работают такие программеры, тебя не возьмут, даже за деньги. Вот так ляпнешь какую-нибудь глупость, не подумавши, - и сразу в утиль. А может, и до собеседования не дойдет - игрушечников обычно к серьезным продуктам подпускают.

Я что, где-то писал, что кодеры сами все делают? Зачем ты выдумываешь? Чтобы типа поумничать, попутно обосрав других, про кого ничего не знаешь? До самого не дошло, что надо количество строк кода умножить на количество разработчиков и поделить на время проекта в днях?

При этом существует множество различного ПО, которое применяется в коммерческих целях. Знаешь, что как отнесется руководитель крупного бизнеса к своему директору по ИТ, если тот принесет ему программу, по качеству сравнимую с "возвраткой"?
 

Chode McBlob

Житель города
Участник форума
Регистрация
18 Сен 2024
Сообщения
176
Реакции
51
Баллы
37
Лучшие ответы
1
Это не значит, что в день написали две строчки, и ничего не делают. Это значит, что помимо кодинга есть дизайн, отладка, тестирование, согласование и т.п.
Это что?
Изначально было написано, что общался с программерами
И, если речь идет именно о коде, то не стоит в умножить/поделить учитывать время дизайнеров и т.д.
 
Сверху Снизу