Новости CD Projekt RED представила юбилейный трейлер к 10-летию The Witcher 3: Wild Hunt
  • 629
  • 0
Польская студия CD Projekt Red порадовала поклонников франшизы «Ведьмак», выпустив особый видеообзор в честь десятилетия культовой RPG «Ведьмак 3: Дикая Охота». Что показали в трейлере...
Важно 9 мая - День Победы - 80-летия Великой Победы!
  • 1.566
  • 5
Поздравляю всех, кому искренне небезразличен этот день! С днём Великой Победы!
Новости Анонс The Elder Scrolls VI уже этим летом?
  • 1.092
  • 2
По данным инсайдера eXtas1s, Bethesda может впервые показать The Elder Scrolls VI летом 2025 года Обсуждается возможность анонса игры на одной из крупных презентаций Xbox - в июне или августе...
Новости Of Ash and Steel: разработка в цифрах
  • 986
  • 2
На днях авторы игры Of Ash and Steel поблагодарили игроков за поддержку и положительные отклики, а также поделились цифрами во время разработки. В игре будут: 300+ квестов; 30 000+ строк...

В процессе Харад крысит ржавое оружие.

Blackmail01

Наемник
Пользователь VIP
Участник форума
Регистрация
27 Дек 2019
Сообщения
852
Реакции
837
Баллы
186
Лучшие ответы
41
#1
Если ГГ ученик Харада ему можно сдавать ржавые мечи. Он всегда забирает все имеющиеся и выдаёт по 1 заготовке за каждые 4 штуки.
Если количество ржавого оружия не делится нацело на 4, то увы. Нет разницы сдать 4 меча или 7, получишь одну заготовку за это дело.
Меньше четырёх он просто примет в обмен на благодарность.
Предлагаю чтобы он "запоминал" количество мечей не в зачёт и учитывал при следующем обмене.
 

Beleriand

Паладин
Участник форума
Регистрация
9 Сен 2021
Сообщения
4.364
Реакции
2.257
Баллы
401
Лучшие ответы
345
#2
ну или чтобы забирал только кол-во кратное 4
 

~𝔻𝕒𝕣𝕜𝕊𝕚𝕕𝕖~

Живая легенда
Почётный пользователь
Участник форума
Регистрация
17 Мар 2022
Сообщения
7.699
Реакции
4.447
Баллы
582
Лучшие ответы
258
#3
Кстати, да. Тоже обратил внимание на странный размен.
 

Scout92

Герой
Команда форума
Модератор раздела
Почётный пользователь
Участник форума
Регистрация
14 Ноя 2016
Сообщения
5.060
Реакции
1.710
Баллы
571
Лучшие ответы
572
#4
Не крысит, а отдает % Ликеру. :)
 
Автор
Автор
Blackmail01

Blackmail01

Наемник
Пользователь VIP
Участник форума
Регистрация
27 Дек 2019
Сообщения
852
Реакции
837
Баллы
186
Лучшие ответы
41
#5
@Liker если лень самому делать можешь этот:
Код:
var int HaradRustWMem;
func void dia_harad_haradbuymiscweap_info() {
    var c_item equipweap;
    var int misc_01;
    var int misc_02;
    var int misc_03;
    var int misc_04;
    var int misc_all;
    var int misc_temp;
    var int price_all;

    price_all = 2;
    ai_output(other, self, "DIA_Harad_HaradBuyMiscWeap_01_00"); //Я принес тебе ржавое оружие.
    ai_output(self, other, "DIA_Harad_HaradBuyMiscWeap_01_01"); //Хорошо!
    ai_output(self, other, "DIA_Harad_HaradBuyMiscWeap_01_03"); //Давай посмотрим, что тут у тебя...
    misc_01 = npc_hasitems(other, itmw_1h_misc_sword);
    misc_02 = npc_hasitems(other, itmw_1h_misc_gsword);
    misc_03 = npc_hasitems(other, itmw_1h_misc_axe);
    misc_04 = npc_hasitems(other, itmw_2h_sword_m_01);
    misc_all = ((misc_01 + misc_02) + misc_03) + misc_04 + HaradRustWMem;
    if (misc_all < 4){
        HaradRustWMem = misc_all;
    };
    misc_temp = (misc_all / 4);
    misc_temp = misc_temp * 4;
    if (misc_all >= misc_temp){
        HaradRustWMem = misc_all - misc_temp;
    };
    b_giveinvitemswithremove(hero, self, itmw_1h_misc_sword, npc_hasitems(hero, itmw_1h_misc_sword));
    b_giveinvitemswithremove(hero, self, itmw_1h_misc_gsword, npc_hasitems(hero, itmw_1h_misc_gsword));
    b_giveinvitemswithremove(hero, self, itmw_1h_misc_axe, npc_hasitems(hero, itmw_1h_misc_axe));
    b_giveinvitemswithremove(hero, self, itmw_2h_sword_m_01, npc_hasitems(hero, itmw_2h_sword_m_01));
    ai_playani(self, "T_YES");
    ai_output(self, other, "DIA_Harad_HaradBuyMiscWeap_01_04"); //Ну что же, неплохо.
    b_giveinvitems(self, other, itmiswordraw, misc_all / 4);
    ai_output(self, other, "DIA_Harad_HaradBuyMiscWeap_01_06"); //Если будет что-нибудь еще - приноси мне.
};
Что не делится на 4 запоминается и учитывается при следующей сдаче.

Код:
// Глобальная переменная для хранения "остатка" ржавого оружия между диалогами
var int HaradRustWMem;

// Диалоговая функция торговли ржавым оружием с NPC
func void dia_harad_haradbuymiscweap_info()
{
    // Объявление переменных:
    var c_item equipweap;        // Неиспользуемая переменная (возможно, остаток старого кода)
    var int misc_01;             // Счетчик мечей
    var int misc_02;             // Счетчик больших мечей
    var int misc_03;             // Счетчик топоров
    var int misc_04;             // Счетчик двуручных мечей
    var int misc_all;            // Общее количество оружия
    var int misc_temp;           // Временная переменная для расчетов
    var int price_all;           // Неиспользуемая переменная (возможно, планировалась для расчета цены)

    price_all = 2; // Неиспользуемое значение (возможно, заглушка)

    // Диалог с NPC
    ai_output(other, self, "DIA_Harad_HaradBuyMiscWeap_01_00"); // Игрок: "Я принес тебе ржавое оружие."
    ai_output(self, other, "DIA_Harad_HaradBuyMiscWeap_01_01"); // NPC: "Хорошо!"
    ai_output(self, other, "DIA_Harad_HaradBuyMiscWeap_01_03"); // NPC: "Давай посмотрим, что тут у тебя..."

    // Подсчет каждого типа оружия в инвентаре игрока
    misc_01 = npc_hasitems(other, itmw_1h_misc_sword);  // 1H ржавый меч
    misc_02 = npc_hasitems(other, itmw_1h_misc_gsword); // 1H ржавый большой меч
    misc_03 = npc_hasitems(other, itmw_1h_misc_axe);    // 1H ржавый топор
    misc_04 = npc_hasitems(other, itmw_2h_sword_m_01);  // 2H ржавый меч
    
    // Суммируем все найденное оружие + остаток с прошлого раза
    misc_all = ((misc_01 + misc_02) + misc_03) + misc_04 + HaradRustWMem;
    
    // Система накопления "неполных наборов":
    // Если общее количество меньше 4 - сохраняем в память для следующего раза
    if (misc_all < 4) {
        HaradRustWMem = misc_all;
    };
    
    // Расчет целых наборов (каждые 4 единицы оружия = 1 новый предмет)
    misc_temp = (misc_all / 4);    // Целое число наборов (деление нацело)
    misc_temp = misc_temp * 4;     // Общее кол-во оружия в полных наборах
    
    // Обновляем память - сохраняем остаток, который не вошел в наборы
    if (misc_all >= misc_temp) {
        HaradRustWMem = misc_all - misc_temp;
    };
    
    // Забираем ВСЕ ржавое оружие у игрока
    b_giveinvitemswithremove(hero, self, itmw_1h_misc_sword, npc_hasitems(hero, itmw_1h_misc_sword));
    b_giveinvitemswithremove(hero, self, itmw_1h_misc_gsword, npc_hasitems(hero, itmw_1h_misc_gsword));
    b_giveinvitemswithremove(hero, self, itmw_1h_misc_axe, npc_hasitems(hero, itmw_1h_misc_axe));
    b_giveinvitemswithremove(hero, self, itmw_2h_sword_m_01, npc_hasitems(hero, itmw_2h_sword_m_01));
    
    // Анимация и реакция NPC
    ai_playani(self, "T_YES"); // Проигрываем анимацию согласия
    ai_output(self, other, "DIA_Harad_HaradBuyMiscWeap_01_04"); // NPC: "Ну что же, неплохо."
    
    // Выдаем игроку награду: сырье для мечей (1 единица за каждые 4 единицы оружия)
    b_giveinvitems(self, other, itmiswordraw, misc_all / 4);
    
    // Прощальная реплика NPC
    ai_output(self, other, "DIA_Harad_HaradBuyMiscWeap_01_06"); // NPC: "Если будет что-нибудь еще - приноси мне."
};
 
Сверху Снизу