Новости В Of Ash and Steel начался закрытый плейтест
  • 6.452
  • 11
Разработчики "Русской Готики" объявили о старте закрытого плейтеста. Если вы оставляли заявку на участие, не забудьте проверить электронную почту или посмотреть свою библиотеку - возможно игра уже...
С Днём России!
  • 6.598
  • 6
Дорогие друзья! Поздравляю вас с Днём России! Этот праздник напоминает нам о богатой истории и культуре нашей страны, о её величии и непоколебимом духе народа! Желаю вам крепкого здоровья...
Новости Анонсирован Atomic Heart II
Новости Анонсирован ремастер Final Fantasy Tactics
  • 4.593
  • 2
Культовая пошаговая тактическая RPG от Square Enix получит второе дыхание. На проходящей выставке State of Play, где анонсируются игры для Play Station, состоялся анонс ремастера Final Fantasy...

В процессе Как часто можно проваливать кражу у одного и того же персонажа без последствий?

мистор лис

Труженик
Участник форума
Регистрация
8 Май 2023
Сообщения
446
Реакции
182
Баллы
71
Лучшие ответы
11
#1
Вот меня за руку поймали, я риторикой отговорился, через сколько я смогу ещё раз у того же нпс попробовать украсть и отговориться, если опять провалюсь? Ровно через 24 часа? Или ровно как полночь пройдет? Или несколько дней? Сложность уукс+гб+ди
 

~𝔻𝕒𝕣𝕜𝕊𝕚𝕕𝕖~

Хранитель мира
Почётный пользователь
Участник форума
Регистрация
17 Мар 2022
Сообщения
9.508
Реакции
5.614
Баллы
712
Лучшие ответы
347
#2
На следующий игровой день.
 
Автор
Автор
М

мистор лис

Труженик
Участник форума
Регистрация
8 Май 2023
Сообщения
446
Реакции
182
Баллы
71
Лучшие ответы
11
#3

Blackmail01

Гвардеец
Команда форума
Редактор раздела
Участник форума
Регистрация
27 Дек 2019
Сообщения
1.386
Реакции
1.365
Баллы
261
Лучшие ответы
76
#4
@мистор лис, Так и есть. Новый день считается.

Малоизвестный факт - за всю игру успешно отговориться можно не более 800 раз.
Все следующие будут провалом. Но фактически это число вряд-ли достижимо.
 
Последнее редактирование:

~𝔻𝕒𝕣𝕜𝕊𝕚𝕕𝕖~

Хранитель мира
Почётный пользователь
Участник форума
Регистрация
17 Мар 2022
Сообщения
9.508
Реакции
5.614
Баллы
712
Лучшие ответы
347
#5
Малоизвестный факт - за всю игру успешно отговориться можно не более 800 раз.
Все следующие будут провалом.
Хм, интересно, не знал про это, спасибо. Чтобы риторику не фармили наверное поставили кап.
 

Modron

Наемник
Участник форума
Регистрация
22 Июл 2021
Сообщения
515
Реакции
171
Баллы
89
Лучшие ответы
14
#6
@мистор лис, Так и есть. Новый день считается.

Малоизвестный факт - за всю игру успешно отговориться можно не более 800 раз.
Все следующие будут провалом. Но фактически это число вряд-ли достижимо.
Это у одного НПС? То есть позже он уже не поверит?
 

Blackmail01

Гвардеец
Команда форума
Редактор раздела
Участник форума
Регистрация
27 Дек 2019
Сообщения
1.386
Реакции
1.365
Баллы
261
Лучшие ответы
76
#7
@Modron, У всех вместе. И то ложную инфу вкинул.
При детальном рассмотрении счётчик успешных отговорок до 800 поднимается и - больше нигде не учитывается и не задействуется. Видать остатки былого кода.
Не ошибается тот кто не ошибается.:P
Смотрите сами:
C:
instance dia_assigntalkchief(c_info) {
    nr = 1;
    condition = dia_assigntalkchief_condition;
    information = dia_assigntalkchief_info;
    permanent = true;
    important = true;
};

func int dia_assigntalkchief_condition() {
    if (rx_getnpcvar(self, var_caught_thief) == true) {
        return true;
    };
    return false;
};

func void dia_assigntalkchief_info() {
    var int daynow;

    daynow = wld_getday();
    if (self.voice == 12) {
        ai_output(self, other, "DIA_AssignTalkChief_01_00"); //Вонючий вор!
    }
    else if (self.voice == 10) {
        ai_output(self, other, "DIA_AssignTalkChief_01_01"); //Ты, грязный вор!
    }
    else if (self.voice == 1) {
        ai_output(self, other, "DIA_AssignTalkChief_01_02"); //Ты, грязный ворюга!
    }
    else if (self.voice == 14) {
        ai_output(self, other, "DIA_AssignTalkChief_01_03"); //Ты, грязный ворюга!
    }
    else if (self.voice == 7) {
        ai_output(self, other, "DIA_AssignTalkChief_01_04"); //Грязный воришка!
    }
    else if (self.voice == 4) {
        ai_output(self, other, "DIA_AssignTalkChief_01_05"); //Ты, грязный вор!
    }
    else if ((self.voice == 16) || (self.voice == 17)) {
        ai_output(self, other, "DIA_AssignTalkChief_01_07"); //Ах ты вор!
    }
    else {
        ai_output(self, other, "DIA_AssignTalkChief_01_06"); //Грязный ворюга!
    };
    if ((self.voice == 16) || (self.voice == 17)) {
    }
    else {
        ai_output(self, other, "DIA_AssignTalkChief_01_08"); //Неужели ты думал, что я не замечу твоего воровства?!
    };
    info_clearchoices(dia_assigntalkchief);
    info_addchoice(dia_assigntalkchief, "Ну, укуси меня!", dia_assigntalkchief_biteme);
    info_addchoice(dia_assigntalkchief, "Может, забудем об этом?", dia_assigntalkchief_helpyou);
    if (rx_getnpcvar(self, aivrx_day_thief) < daynow) {
        info_addchoice(dia_assigntalkchief, "О чем ты? Не понимаю... (Риторика)", dia_assigntalkchief_knowrhetorika);
    };
};

func void dia_assigntalkchief_biteme() {
    hero_canescapefromgotcha = false;
    hero_paypricefromgotcha = false;
    rx_setnpcvar(self, var_caught_thief, false);
    ai_output(other, self, "DIA_AssignTalkChief_BiteMe_01_00"); //Ну, укуси меня!
    if ((self.voice == 16) || (self.voice == 17)) {
        if (self.voice == 16) {
            ai_output(self, other, "DIA_AssignTalkChief_BiteMe_F1_01_01"); //Ты об этом пожалеешь!
        }
        else {
            ai_output(self, other, "DIA_AssignTalkChief_BiteMe_F2_01_01"); //Ты об этом пожалеешь!
        };
    }
    else {
        ai_output(self, other, "DIA_AssignTalkChief_BiteMe_01_01"); //Ты об этом пожалеешь!
    };
    ai_stopprocessinfos(self);
    b_attack(self, other, ar_theft, 1);
};

func void dia_assigntalkchief_helpyou() {
    var int payrand;

    payrand = hlp_random(100);
    hero_canescapefromgotcha = false;
    ai_output(other, self, "DIA_AssignTalkChief_HelpYou_01_01"); //Может, забудем об этом?
    if (payrand >= 75) {
        hero_paypricefromgotcha = 200;
    }
    else if (payrand >= 50) {
        hero_paypricefromgotcha = 100;
    }
    else if (payrand >= 25) {
        hero_paypricefromgotcha = 50;
    }
    else {
        hero_paypricefromgotcha = false;
    };
    if ((self.guild == gil_pal) || (self.guild == gil_kdf)) {
        ai_output(self, other, "DIA_AssignTalkChief_HelpYou_01_02"); //Слуга Инноса не имеет дел с ворами, вроде тебя!
        ai_output(self, other, "DIA_AssignTalkChief_HelpYou_01_03"); //Так что теперь поздно просить прощения.
        ai_stopprocessinfos(self);
        b_attack(self, other, ar_theft, 1);
    }
    else if (self.guild == gil_kdw) {
        ai_output(self, other, "DIA_AssignTalkChief_HelpYou_01_04"); //Слуга Аданоса не станет иметь дел с ворами!
        ai_output(self, other, "DIA_AssignTalkChief_HelpYou_01_05"); //Так что теперь поздно просить прощения.
        ai_stopprocessinfos(self);
        b_attack(self, other, ar_theft, 1);
    }
    else if (hero_paypricefromgotcha == false) {
        if ((self.voice == 16) || (self.voice == 17)) {
            if (self.voice == 16) {
                ai_output(self, other, "DIA_AssignTalkChief_HelpYou_F1_01_06"); //Забудь об этом, ублюдок!
                ai_output(self, other, "DIA_AssignTalkChief_HelpYou_F1_01_07"); //Ты еще пожалеешь, что связался со мной.
            }
            else {
                ai_output(self, other, "DIA_AssignTalkChief_HelpYou_F2_01_06"); //Забудь об этом, ублюдок!
                ai_output(self, other, "DIA_AssignTalkChief_HelpYou_F2_01_07"); //Ты еще пожалеешь, что связался со мной.
            };
        }
        else {
            ai_output(self, other, "DIA_AssignTalkChief_HelpYou_01_06"); //Забудь об этом, ублюдок!
            ai_output(self, other, "DIA_AssignTalkChief_HelpYou_01_07"); //Ты еще пожалеешь, что связался со мной.
        };
        ai_stopprocessinfos(self);
        b_attack(self, other, ar_theft, 1);
    }
    else {
        if ((self.voice == 16) || (self.voice == 17)) {
            if (self.voice == 16) {
                ai_output(self, other, "DIA_AssignTalkChief_HelpYou_F1_01_08"); //Хммм...(в раздумьях) Ну хорошо. Я согласна.
                ai_output(self, other, "DIA_AssignTalkChief_HelpYou_F1_01_09"); //Но тебе придется заплатить за свою дерзость.
            }
            else {
                ai_output(self, other, "DIA_AssignTalkChief_HelpYou_F2_01_08"); //Хммм...(в раздумьях) Ну хорошо. Я согласна.
                ai_output(self, other, "DIA_AssignTalkChief_HelpYou_F2_01_09"); //Но тебе придется заплатить за свою дерзость.
            };
        }
        else {
            ai_output(self, other, "DIA_AssignTalkChief_HelpYou_01_08"); //Хммм...(в раздумьях) Ну хорошо. Я согласен.
            ai_output(self, other, "DIA_AssignTalkChief_HelpYou_01_09"); //Но тебе придется заплатить за свою дерзость.
        };
        ai_output(other, self, "DIA_AssignTalkChief_HelpYou_01_10"); //И сколько?
        b_say_gold(self, other, hero_paypricefromgotcha);
        info_clearchoices(dia_assigntalkchief);
        if (npc_hasitems(other, itmi_gold) >= hero_paypricefromgotcha) {
            info_addchoice(dia_assigntalkchief, "Ладно! Держи свое золото.", dia_assigntalkchief_dealpay);
        };
        info_addchoice(dia_assigntalkchief, "Забудь об этом.", dia_assigntalkchief_nopay);
    };
};

func void dia_assigntalkchief_dealpay() {
    ai_output(other, self, "DIA_AssignTalkChief_DealPay_01_01"); //Ладно! Держи свое золото.
    b_giveinvitems(other, self, itmi_gold, hero_paypricefromgotcha);
    if ((self.voice == 16) || (self.voice == 17)) {
        if (self.voice == 16) {
            ai_output(self, other, "DIA_AssignTalkChief_DealPay_F1_01_02"); //Вот и славно. Считай, что я ничего не видела.
        }
        else {
            ai_output(self, other, "DIA_AssignTalkChief_DealPay_F2_01_02"); //Вот и славно. Считай, что я ничего не видела.
        };
    }
    else {
        ai_output(self, other, "DIA_AssignTalkChief_DealPay_01_02"); //Вот и славно. Считай, что я ничего не видел.
    };
    hero_paypricefromgotcha = false;
    rx_setnpcvar(self, var_caught_thief, false);
    ai_stopprocessinfos(self);
};

func void dia_assigntalkchief_nopay() {
    ai_output(other, self, "DIA_AssignTalkChief_NoPay_01_01"); //Забудь об этом.
    if ((self.voice == 16) || (self.voice == 17)) {
        if (self.voice == 16) {
            ai_output(self, other, "DIA_AssignTalkChief_NoPay_F1_01_02"); //Ну как хочешь! Тогда не обижайся.
        }
        else {
            ai_output(self, other, "DIA_AssignTalkChief_NoPay_F2_01_02"); //Ну как хочешь! Тогда не обижайся.
        };
    }
    else {
        ai_output(self, other, "DIA_AssignTalkChief_NoPay_01_02"); //Ну как хочешь! Тогда не обижайся.
    };
    hero_paypricefromgotcha = false;
    ai_stopprocessinfos(self);
    b_attack(self, other, ar_theft, 1);
};

func void dia_assigntalkchief_knowrhetorika() {
    ai_output(other, self, "DIA_AssignTalkChief_KnowRhetorika_01_01"); //О чем ты? Не понимаю...
    if ((self.voice == 16) || (self.voice == 17)) {
        if (self.voice == 16) {
            ai_output(self, other, "DIA_AssignTalkChief_KnowRhetorika_F1_01_02"); //Немыслимо! Тебя поймали за руку, а у тебя все еще хватает наглости отрицать это!
        }
        else {
            ai_output(self, other, "DIA_AssignTalkChief_KnowRhetorika_F2_01_02"); //Немыслимо! Тебя поймали за руку, а у тебя все еще хватает наглости отрицать это!
        };
    }
    else {
        ai_output(self, other, "DIA_AssignTalkChief_KnowRhetorika_01_02"); //Немыслимо! Тебя поймали за руку, а у тебя все еще хватает наглости отрицать это!
    };
    ai_output(other, self, "DIA_AssignTalkChief_KnowRhetorika_01_03"); //Я не собирался у тебя ничего красть! Тебе это показалось.
    if ((self.voice == 16) || (self.voice == 17)) {
        if (self.voice == 16) {
            ai_output(self, other, "DIA_AssignTalkChief_KnowRhetorika_F1_01_04"); //И ты наивно полагаешь, что я поверю в эту чушь?!
        }
        else {
            ai_output(self, other, "DIA_AssignTalkChief_KnowRhetorika_F2_01_04"); //И ты наивно полагаешь, что я поверю в эту чушь?!
        };
    }
    else {
        ai_output(self, other, "DIA_AssignTalkChief_KnowRhetorika_01_04"); //И ты наивно полагаешь, что я поверю в эту чушь?!
    };
    info_clearchoices(dia_assigntalkchief);
    info_addchoice(dia_assigntalkchief, "(попытаться убедить)", dia_assigntalkchief_tellme);
};

func void dia_assigntalkchief_tellme() {
    var int rhetorikarand;
    var int rhetoricsuccessful;
    var int thiefchance;
    var int rchance;
    var int scoutbonus;

    thiefchance = rx_getthieftchance(hero, self);
    if (rx_isleg()) {
        rchance = 100 - thiefchance;
        if (rchance < 30) {
            rchance = 30;
        };
        rhetorikarand = hlp_random(rchance);
    }
    else {
        rhetorikarand = hlp_random(50);
    };
    if (rx_isscout() && rx_scoutbook_rhit) {
        scoutbonus += 30;
    };
    if (rx_isvampire() && rx_vamp_skill_charm) {
        scoutbonus += 30;
    };
    ai_output(other, self, "DIA_AssignTalkChief_TellMe_01_01"); //Ну как, теперь веришь?
    rx_setnpcvar(self, aivrx_day_thief, wld_getday());
    if ((rhetorikskillvalue[1] + scoutbonus) > rhetorikarand) {
        rhetoricsuccessful = true;
    }
    else {
        rhetoricsuccessful = false;
    };
    if (rhetoricsuccessful) {
        hero_canescapefromgotcha = false;
        hero_paypricefromgotcha = false;
        rx_setnpcvar(self, var_caught_thief, false);
        temprhetlearnsuccess += 1;
        if (rhetoricnumberofexcuses < 800) {
            rhetoricnumberofexcuses += 1;
        };
        if (temprhetlearnsuccess >= 15) {
            rx_giverhit(1);
            temprhetlearnsuccess = false;
        };
        if ((self.voice == 16) || (self.voice == 17)) {
            if (self.voice == 16) {
                ai_output(self, other, "DIA_AssignTalkChief_TellMe_F1_01_02"); //Ладно, ладно... Считай, что убедил меня! Пожалуй, мне действительно все это лишь показалось.
            }
            else {
                ai_output(self, other, "DIA_AssignTalkChief_TellMe_F2_01_02"); //Ладно, ладно... Считай, что убедил меня! Пожалуй, мне действительно все это лишь показалось.
            };
        }
        else {
            ai_output(self, other, "DIA_AssignTalkChief_TellMe_01_02"); //Ладно, ладно... Считай, что убедил меня! Пожалуй, мне действительно все это лишь показалось.
        };
        ai_output(other, self, "DIA_AssignTalkChief_TellMe_01_03"); //Само собой.
        info_clearchoices(dia_assigntalkchief);
    }
    else {
        temprhetlearnfail += 1;
        if (temprhetlearnfail >= 20) {
            rx_giverhit(1);
            temprhetlearnfail = false;
        };
        if ((self.voice == 16) || (self.voice == 17)) {
            if (self.voice == 16) {
                ai_output(self, other, "DIA_AssignTalkChief_TellMe_F1_01_04"); //Нет! Ты абсолютно не убедил меня в правоте своих слов.
            }
            else {
                ai_output(self, other, "DIA_AssignTalkChief_TellMe_F2_01_04"); //Нет! Ты абсолютно не убедил меня в правоте своих слов.
            };
        }
        else {
            ai_output(self, other, "DIA_AssignTalkChief_TellMe_01_04"); //Нет! Ты абсолютно не убедил меня в правоте своих слов.
        };
        ai_output(other, self, "DIA_AssignTalkChief_TellMe_01_05"); //Что же, очень жаль.
        info_clearchoices(dia_assigntalkchief);
        info_addchoice(dia_assigntalkchief, "Ну, укуси меня!", dia_assigntalkchief_biteme);
        info_addchoice(dia_assigntalkchief, "Может, тогда как-нибудь уладим это недоразумение?", dia_assigntalkchief_helpyou);
    };
};
 

tilil2670

Командор
Участник форума
Регистрация
25 Авг 2022
Сообщения
3.073
Реакции
850
Баллы
204
Лучшие ответы
34
#8
Сверху Снизу