Новости Моддеры Oblivion Remastered нашли способ внедрения абсолютно любых скриптов
  • 76
  • 0
Сообщество моддинга Oblivion Remastered (ORM) переживает настоящий расцвет. После долгих месяцев работы, энтузиасты научили игру работать с мощным скриптовым языком Lua, открыв перед создателями...
Новости Tainted Grail: The Fall of Avalon — Польская «Skyrim» теперь официально
  • 1.270
  • 24
23 мая 2025 после двух лет успешного раннего доступа в Steam польская студия Questline наконец представила свою фэнтези-RPG в полной версии. Tainted Grail: The Fall of Avalon доступна на ПК...
Новости CD Projekt RED представила юбилейный трейлер к 10-летию The Witcher 3: Wild Hunt
  • 941
  • 0
Польская студия CD Projekt Red порадовала поклонников франшизы «Ведьмак», выпустив особый видеообзор в честь десятилетия культовой RPG «Ведьмак 3: Дикая Охота». Что показали в трейлере...
Важно 9 мая - День Победы - 80-летия Великой Победы!
  • 1.836
  • 5
Поздравляю всех, кому искренне небезразличен этот день! С днём Великой Победы!

Решено Список мест для сейвов и ловушек на сундках.

Статус
Закрыта

vavi

Наемник
Участник форума
Регистрация
13 Июл 2022
Сообщения
553
Реакции
83
Баллы
63
Лучшие ответы
2
#1
Готовлю небольшой челлендж для своего следующего прохождения. Хочу выставить ограничения на сейвы (в определённых местах) и ловушки включить.
На сколько я помню, ловушки всегда на одних и тех же сундуках, просто срабатывать могут по-разному. (Где-то нежить призовётся, где-то ядом жахнет)
Всё это с 40% аснк, как в соседнем треде посоветовали.
 

Beleriand

Паладин
Пользователь VIP
Участник форума
Регистрация
9 Сен 2021
Сообщения
4.417
Реакции
2.299
Баллы
401
Лучшие ответы
353
#2
есть кольцо от Скипа (в Яркендаре), его надеваешь, и никакие ловушки на сундуках не срабатывают (даже тот что в ратуше на 2 этаже). И когда у тебя 500+ здоровья, то ни одна ловушка тебя не шотнет.
а по точкам сохранения не подскажу, нигде не видел такого списка
 

~𝔻𝕒𝕣𝕜𝕊𝕚𝕕𝕖~

Живая легенда
Почётный пользователь
Участник форума
Регистрация
17 Мар 2022
Сообщения
7.932
Реакции
4.574
Баллы
582
Лучшие ответы
269
#3
Я ни разу не играл с ограниченными сохранениями, но полагаю, что как минимум в точках телепорта они будут.

По ловушкам. Они в строго определённых сундуках, но могут и не прокнуть. По видам ловушек - их виды могут меняться на конкретном сундуке, но обратил внимание, что ловушки с призывом всегда на одних и тех же сундуках, но сам призыв может отличаться - могут заспавниться скелеты-дохлиши, в может и демоническая нежить.

Что касаемо ограничений по сохранению - как по мне это ненужная душка. Если у тебя есть привычка сохраняться перед каждым мобом, то ты и здесь продолжишь это делать, только с кучей беготни.
 

Blackmail01

Наемник
Участник форума
Регистрация
27 Дек 2019
Сообщения
902
Реакции
896
Баллы
186
Лучшие ответы
49
#4
По точкам сохранения данные есть в скриптах. Многие из них с определёнными условиями. Например, в лагере охотников можно сохраняться после вступления к ним. Может кто захочет гайд по точкам этим написать. Функция rx_cansavenofree
Я точно не. Я даже против ограничений всяческих по сохранениям. Что только растягивает игровой процесс.
 

Vorfol

Труженик
Участник форума
Регистрация
26 Май 2020
Сообщения
404
Реакции
100
Баллы
64
Лучшие ответы
22
#5
есть кольцо от Скипа (в Яркендаре), его надеваешь, и никакие ловушки на сундуках не срабатывают (даже тот что в ратуше на 2 этаже). И когда у тебя 500+ здоровья, то ни одна ловушка тебя не шотнет.
а по точкам сохранения не подскажу, нигде не видел такого списка
точно знаю сундуки в Яркендаре могут 700+ вдарить. я был удивлён немало
 

Beleriand

Паладин
Пользователь VIP
Участник форума
Регистрация
9 Сен 2021
Сообщения
4.417
Реакции
2.299
Баллы
401
Лучшие ответы
353
#6
точно знаю сундуки в Яркендаре могут 700+ вдарить. я был удивлён немало
если бы видео записал с подтверждением, то было бы неплохо... я тестировал на разных сундуках, больше 500 мгновенного урона не получал нигде (постепенный урон яда не считается)
так или иначе в Яркендаре получаем кольцо с защитой от ловушек
 

Blackmail01

Наемник
Участник форума
Регистрация
27 Дек 2019
Сообщения
902
Реакции
896
Баллы
186
Лучшие ответы
49
#7
если бы видео записал с подтверждением, то было бы неплохо... я тестировал на разных сундуках, больше 500 мгновенного урона не получал нигде (постепенный урон яда не считается)
так или иначе в Яркендаре получаем кольцо с защитой от ловушек
Чисто теоретически магическая ловушка может на 700 урона вдарить. Но это практически невозможно. Нужно чтобы случайное число от 0 до 600 выпало 600. И магическая защита ГГ была = 0. И сундук должен быть самый жирный. Иначе меньше урона.
Код:
func void activate_trap(var int chesttype, var int traptype) {
    var int trapchance;
    var int dexunchance;
    var int trapon;
    var int damagebasic;
    var int magicvisualfx;
    var int spawnnecrom;
    var int sbmode_damage;

    if (rx_avanfistring) {
        return;
    };
    if (trapstatus == true) {
        if (hero.attribute[atr_dexterity] /*5*/ > 100) {
            dexunchance = ((talentcount_picklock * 2) + 10) + (hero.attribute[atr_dexterity] /*5*/ - 100);
        }
        else {
            dexunchance = (talentcount_picklock * 2) + 10;
        };
        if (((chesttype == 0) || (chesttype == 1)) || (chesttype == 2)) {
            trapon = false;
        };
        if (chesttype == 3) {
            if (dexunchance < 600) {
                trapchance = 600 - dexunchance;
            }
            else {
                trapchance = 1;
            };
            if (hlp_random(1000) < trapchance) {
                trapon = true;
            }
            else {
                trapon = false;
            };
        }
        else if (chesttype == 4) {
            if (dexunchance < 750) {
                trapchance = 750 - dexunchance;
            }
            else {
                trapchance = 1;
            };
            if (hlp_random(1000) < trapchance) {
                trapon = true;
            }
            else {
                trapon = false;
            };
        }
        else if (chesttype == 5) {
            if (dexunchance < 900) {
                trapchance = 900 - dexunchance;
            }
            else {
                trapchance = 1;
            };
            if (hlp_random(1000) < trapchance) {
                trapon = true;
            }
            else {
                trapon = false;
            };
        }
        else if (chesttype == 6) {
            if (dexunchance < 1000) {
                trapchance = 1000 - dexunchance;
            }
            else {
                trapchance = 1;
            };
            if (hlp_random(1000) < trapchance) {
                trapon = true;
            }
            else {
                trapon = false;
            };
        };
        if (trapon == true) {
            if (traptype == 1) {
                sbmode_damage = (5 - sbmode) * 15;
                if (sbmode_damage < 1) {
                    sbmode_damage = 1;
                };
                damagebasic = 150 + (hlp_random(sbmode_damage) * chesttype);
                if (resistpoisonknow == false) {
                    if (hero.attribute[atr_hitpoints] /*0*/ > (damagebasic + 1)) {
                        ai_printred("В сундуке была ядовитая ловушка!");
                        npc_changeattribute(hero, atr_hitpoints, -damagebasic);
                        rx_poisonhero();
                        rx_playeffect("SPELLFX_INCOVATION_GREEN", hero);
                        rx_playeffect("SPELLFX_BLOODDEAD1", hero);
                    }
                    else {
                        if (rx_nexthitignore) {
                            rx_useprotectpotion();
                            return;
                        };
                        ai_stopprocessinfos(hero);
                        hero.aivar[4] = false;
                        player_mobsi_production = mobsi_none;
                        npc_changeattribute(hero, atr_hitpoints, -hero.attribute[atr_hitpoints_max] /*1*/);
                        ai_printred("В сундуке была ядовитая ловушка!");
                        rx_poisonhero();
                        rx_playeffect("SPELLFX_INCOVATION_GREEN", hero);
                        rx_playeffect("SPELLFX_BLOODDEAD1", hero);
                        ai_drawweapon(hero);
                        ai_removeweapon(hero);
                    };
                };
            }
            else if (traptype == 2) {
                sbmode_damage = (5 - sbmode) * 20;
                if (sbmode_damage < 1) {
                    sbmode_damage = 1;
                };
                damagebasic = 100 + (hlp_random(sbmode_damage) * chesttype);
                if (damagebasic > hero.protection[prot_fire] /*3*/) {
                    damagebasic = damagebasic - hero.protection[prot_fire] /*3*/;
                }
                else {
                    damagebasic = 100;
                };
                if (hero.attribute[atr_hitpoints] /*0*/ > (damagebasic + 1)) {
                    npc_changeattribute(hero, atr_hitpoints, -damagebasic);
                    ai_playani(hero, "S_FIRE_VICTIM");
                    rx_playeffect("SPELLFX_BLOODDEAD1", hero);
                    ai_stopfx(hero, "VOB_MAGICBURN");
                    npc_stopani(hero, "S_FIRE_VICTIM");
                }
                else {
                    if (rx_nexthitignore) {
                        rx_useprotectpotion();
                        return;
                    };
                    ai_stopprocessinfos(hero);
                    hero.aivar[4] = false;
                    player_mobsi_production = mobsi_none;
                    b_say(hero, hero, "$Dead");
                    npc_changeattribute(hero, atr_hitpoints, -hero.attribute[atr_hitpoints_max] /*1*/);
                    ai_playani(hero, "S_FIRE_VICTIM");
                    ai_drawweapon(hero);
                    ai_removeweapon(hero);
                    ai_stopfx(hero, "VOB_MAGICBURN");
                    npc_stopani(hero, "S_FIRE_VICTIM");
                };
            }
            else if (traptype == 3) {
                sbmode_damage = (5 - sbmode) * 25;
                if (sbmode_damage < 1) {
                    sbmode_damage = 1;
                };
                damagebasic = 100 + (hlp_random(sbmode_damage) * chesttype);
                if (damagebasic > hero.protection[prot_magic] /*5*/) {
                    damagebasic = damagebasic - hero.protection[prot_magic] /*5*/;
                }
                else {
                    damagebasic = 100;
                };
                if (hero.attribute[atr_hitpoints] /*0*/ > (damagebasic + 1)) {
                    npc_changeattribute(hero, atr_hitpoints, -damagebasic);
                }
                else {
                    if (rx_nexthitignore) {
                        rx_useprotectpotion();
                        return;
                    };
                    ai_stopprocessinfos(hero);
                    hero.aivar[4] = false;
                    player_mobsi_production = mobsi_none;
                    b_say(hero, hero, "$Dead");
                    npc_changeattribute(hero, atr_hitpoints, -hero.attribute[atr_hitpoints_max] /*1*/);
                    ai_drawweapon(hero);
                    ai_removeweapon(hero);
                };
                magicvisualfx = hlp_random(4);
                if (magicvisualfx == 0) {
                    rx_playeffect("spellFX_BELIARSRAGE", hero);
                    rx_playeffect("SPELLFX_BELIARSRAGE_TARGET_CLOUD", hero);
                    rx_playeffect("SPELLFX_BELIARSRAGE_COLLIDE", hero);
                    rx_playeffect("SPELLFX_BLOODDEAD1", hero);
                }
                else if (magicvisualfx == 1) {
                    rx_playeffect("SPELLFX_ICECUBE", hero);
                    rx_playeffect("SPELLFX_ICESHIELD_COLLIDE", hero);
                    rx_playeffect("SPELLFX_BLOODDEAD1", hero);
                }
                else if (magicvisualfx == 2) {
                    rx_playeffect("SPELLFX_FEAR", hero);
                    rx_playeffect("SPELLFX_FEAR_WINGS", hero);
                    rx_playeffect("SPELLFX_FEAR_WINGS2", hero);
                    rx_playeffect("SPELLFX_FEAR_GROUND", hero);
                    rx_playeffect("SPELLFX_BLOODDEAD1", hero);
                }
                else {
                    if (magicvisualfx == 3) {
                        rx_playeffect("SPELLFX_SKULL_COLLIDEFX", hero);
                        rx_playeffect("SPELLFX_GREENTENTACLE_TARGET", hero);
                        rx_playeffect("SPELLFX_BREATHOFDEATH_TARGET", hero);
                        rx_playeffect("SPELLFX_BLOODDEAD1", hero);
                    };
                };
            }
            else {
                if (traptype == 4) {
                    sbmode_damage = (5 - sbmode) * 5;
                    if (sbmode_damage < 1) {
                        sbmode_damage = 1;
                    };
                    spawnnecrom = sbmode_damage + (hlp_random(sbmode_damage) * chesttype);
                    if (spawnnecrom >= 90) {
                        rx_saveparservars();
                        wld_spawnnpcrange(hero, demonlord /*44265*/, 1, 500.0);
                        rx_restoreparservars();
                    }
                    else if (spawnnecrom >= 80) {
                        rx_saveparservars();
                        wld_spawnnpcrange(hero, demon /*44217*/, 1, 500.0);
                        rx_restoreparservars();
                    }
                    else if (spawnnecrom >= 70) {
                        rx_saveparservars();
                        wld_spawnnpcrange(hero, skeleton_warrior_dark /*45122*/, 2, 500.0);
                        rx_restoreparservars();
                    }
                    else if (spawnnecrom >= 60) {
                        rx_saveparservars();
                        wld_spawnnpcrange(hero, skeleton_warrior /*45115*/, 2, 500.0);
                        rx_restoreparservars();
                    }
                    else if (spawnnecrom >= 50) {
                        rx_saveparservars();
                        wld_spawnnpcrange(hero, skeleton_dark /*45104*/, 2, 500.0);
                        rx_restoreparservars();
                    }
                    else if (spawnnecrom >= 40) {
                        rx_saveparservars();
                        wld_spawnnpcrange(hero, skeleton /*45090*/, 2, 500.0);
                        rx_restoreparservars();
                    }
                    else if (spawnnecrom >= 30) {
                        rx_saveparservars();
                        wld_spawnnpcrange(hero, lesser_skeleton_dark /*45089*/, 2, 500.0);
                        rx_restoreparservars();
                    }
                    else if (spawnnecrom >= 20) {
                        rx_saveparservars();
                        wld_spawnnpcrange(hero, lesser_skeleton /*45087*/, 2, 500.0);
                        rx_restoreparservars();
                    }
                    else if (spawnnecrom >= 10) {
                        rx_saveparservars();
                        wld_spawnnpcrange(hero, gobbo_skeleton /*44638*/, 2, 500.0);
                        rx_restoreparservars();
                    }
                    else {
                        rx_saveparservars();
                        wld_spawnnpcrange(hero, gobbo_skeleton /*44638*/, 1, 500.0);
                        rx_restoreparservars();
                    };
                    rx_playeffect("SPELLFX_SKULL_COLLIDEFX", hero);
                    snd_play("MFX_FEAR_CAST");
                    rx_playeffect("FX_EarthQuake", hero);
                };
            };
        };
    };
};
 

romuka

Наемник
Участник форума
Регистрация
24 Июн 2017
Сообщения
674
Реакции
310
Баллы
151
Лучшие ответы
101
#8

Scout92

Герой
Команда форума
Модератор раздела
Почётный пользователь
Участник форума
Регистрация
14 Ноя 2016
Сообщения
5.450
Реакции
1.874
Баллы
571
Лучшие ответы
581
#9
Я кстати тут вспомнил, что есть список мест сохранения, правда он на АБ. Но вроде в НБ +- также, просто ещё новые кое-где добавили для удобства. Например, в Храме Спящего перед финальным боссом и на Идорате где-то. А то раньше вообще приходилось постоянно в начало бегать и обратно - кайф.
 
Последнее редактирование:
Статус
Закрыта
Сверху Снизу