Новости Релиз Of Ash and Steel состоится 6 ноября
  • 704
  • 0
Of Ash and Steel: атмосферный экшен выходит 6 ноября 6 ноября станет важной датой для поклонников сложных и атмосферных игр - именно в этот день состоится релиз долгожданного проекта Of Ash and...
Новости В Of Ash and Steel начался закрытый плейтест
  • 8.730
  • 12
Разработчики "Русской Готики" объявили о старте закрытого плейтеста. Если вы оставляли заявку на участие, не забудьте проверить электронную почту или посмотреть свою библиотеку - возможно игра уже...
С Днём России!
  • 7.592
  • 6
Дорогие друзья! Поздравляю вас с Днём России! Этот праздник напоминает нам о богатой истории и культуре нашей страны, о её величии и непоколебимом духе народа! Желаю вам крепкого здоровья...
Новости Анонсирован Atomic Heart II

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

мистор лис🌸

Наемник
Участник форума
Регистрация
8 Май 2023
Сообщения
662
Реакции
317
Баллы
102
Лучшие ответы
12
#1
Вот меня за руку поймали, я риторикой отговорился, через сколько я смогу ещё раз у того же нпс попробовать украсть и отговориться, если опять провалюсь? Ровно через 24 часа? Или ровно как полночь пройдет? Или несколько дней? Сложность уукс+гб+ди
 
Автор
Автор
мистор лис🌸

мистор лис🌸

Наемник
Участник форума
Регистрация
8 Май 2023
Сообщения
662
Реакции
317
Баллы
102
Лучшие ответы
12
#3

Blackmail01

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

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

~𝔻𝕒𝕣𝕜𝕊𝕚𝕕𝕖~

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

Modron

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

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

Blackmail01

Гвардеец
Команда форума
Редактор раздела
Пользователь VIP
Участник форума
Регистрация
27 Дек 2019
Сообщения
1.473
Реакции
1.467
Баллы
261
Лучшие ответы
78
#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.290
Реакции
922
Баллы
204
Лучшие ответы
34
#8
Сверху Снизу