1. Уважаемые гости и новички, приветствуем Вас на нашем форуме
    Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, сыграть в увлекательные ФРПГ, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
    Скрыть объявление
  2. Форум аддона "Возвращение" 2.0:
    — Обсудить игру, почитать о прохождениях и/или разрешить свои вопросы по игре вы можете в одной из тем одноименного форума. Посетить...
    — Прочитать историю изменения и/или скачать последнюю версию аддона "Возвращение", вы можете на страницах наших ресурсов. Скачать...
    Скрыть объявление

Не стесняюсь спросить....

Тема в разделе "Модостроение", создана пользователем Каталонец, 24 мар 2008.

Модераторы: Marvіn, MEG@VOLT
  1. lorddemonik1

    lorddemonik1 Участник форума

    Регистрация:
    15 мар 2012
    Сообщения:
    289
    Благодарности:
    110
    Баллы:
    210
    Пол:
    Мужской
    Ловил такой же баг, когда кто-то переименовал инстанцию отмычки.
    Открыть спойлер
    ItKE_lockpick

    Вот такое название должно быть, любое отличие и гг говорит что нет отмычки

    З.ы Это для Г2, для первой части не уверен
     
  2. gggg12345678!

    gggg12345678! Участник форума

    Регистрация:
    6 янв 2016
    Сообщения:
    190
    Благодарности:
    78
    Баллы:
    80
    Пол:
    Мужской
    Самое забавное, у меня название инстанции такое же:)
     
  3. lorddemonik1

    lorddemonik1 Участник форума

    Регистрация:
    15 мар 2012
    Сообщения:
    289
    Благодарности:
    110
    Баллы:
    210
    Пол:
    Мужской
    Можешь скрипты дать?
     
  4. gggg12345678!

    gggg12345678! Участник форума

    Регистрация:
    6 янв 2016
    Сообщения:
    190
    Благодарности:
    78
    Баллы:
    80
    Пол:
    Мужской
    Да, конечно.
    Открыть спойлер

    Вообще с осени не заходил в ГС, так что ничего не помню). А вообще, я, кажется, понял в чем проблема..
     
  5. lorddemonik1

    lorddemonik1 Участник форума

    Регистрация:
    15 мар 2012
    Сообщения:
    289
    Благодарности:
    110
    Баллы:
    210
    Пол:
    Мужской
    Вопрос решился, хз как это проверяет игра.
    Проверил, и правда заработало.
    Смотри, файл Constants.d
    Консты талантов
    Открыть спойлер

    const int NPC_TALENT_UNKNOWN = 0;
    const int NPC_TALENT_1H = 1;
    const int NPC_TALENT_2H = 2;
    const int NPC_TALENT_BOW = 3;
    const int NPC_TALENT_CROSSBOW = 4;
    const int NPC_TALENT_SHIELD = 5;
    const int NPC_TALENT_MAGE = 7;
    const int NPC_TALENT_SNEAK = 8;
    const int NPC_TALENT_REGENERATE = 9;
    const int NPC_TALENT_PICKLOCK = 10;
    const int NPC_TALENT_ACROBAT = 11;
    const int NPC_TALENT_PICKPOCKET = 12;
    const int NPC_TALENT_SMITH = 13;
    const int NPC_TALENT_RUNES = 14;
    const int NPC_TALENT_ALCHEMY = 15;
    const int NPC_TALENT_TAKEANIMALTROPHY = 16;
    const int NPC_TALENT_FOREIGNLANGUAGE = 17;
    const int NPC_TALENT_WISPDETECTOR = 18;
    const int NPC_TALENT_MakeArrows = 19;
    const int NPC_TALENT_MakeScrolls = 20;
    const int NPC_TALENT_E = 21;
    const int NPC_TALENT_MAX = 22;


    Поменяй
    const int NPC_TALENT_PICKLOCK = 10;
    на
    const int NPC_TALENT_PICKLOCK = 5;
    Игра реагирует на номер, как только оно становиться КАК И БЫЛО обратно = 5 отмычки работают

    З.ы Если менял другие таланты, проверь и их
     
    gggg12345678! поблагодарил.
  6. gggg12345678!

    gggg12345678! Участник форума

    Регистрация:
    6 янв 2016
    Сообщения:
    190
    Благодарности:
    78
    Баллы:
    80
    Пол:
    Мужской
    Да, все работает. Благодарю))
     
  7. Ulgamecid

    Ulgamecid Участник форума

    Регистрация:
    5 дек 2014
    Сообщения:
    11
    Благодарности:
    1
    Баллы:
    75
    Пол:
    Мужской
    Поздравляю всех с прошедшими праздниками!!!
    Выявил интересный баг, на который раньше не обращал внимание.
    Начинаю новую игру и вижу что все НПС держат оружие как новички, не смотря на то что у них навык владения ближним или дальним по 60,80 а порой и по 100 %.
    Сохраняюсь, загружаю сейв и у них все нормализуется... что бы это могло быть?!
     
  8. MEG@VOLT

    MEG@VOLT ★★★★★★★★★
    ТехАдмин

    Регистрация:
    24 мар 2006
    Сообщения:
    1.796
    Благодарности:
    873
    Баллы:
    470
    это глюк игры. Я так и не смог его поправить, либо давал неписю полный комплект мастера, либо оставлял как есть.
     
  9. Ulgamecid

    Ulgamecid Участник форума

    Регистрация:
    5 дек 2014
    Сообщения:
    11
    Благодарности:
    1
    Баллы:
    75
    Пол:
    Мужской
    Кхм... Я так и думал. В стимовской версии Г2 такого нет кстати, а вот в пиратке такое явление значит считается нормой.. спасибо за ответ.
     
  10. Orc Hunter

    Orc Hunter Участник форума

    Регистрация:
    12 окт 2013
    Сообщения:
    468
    Благодарности:
    344
    Баллы:
    170
    Пол:
    Мужской
    Есть ли возможность сделать так, чтобы определенный предмет по мере приближения к нему гг начинал светиться?
     
  11. lorddemonik1

    lorddemonik1 Участник форума

    Регистрация:
    15 мар 2012
    Сообщения:
    289
    Благодарности:
    110
    Баллы:
    210
    Пол:
    Мужской
    Могу предложить только триггер с зоной, при входе в которую на место/предмет будет проигрываться эффект/вылезать из земли воб

    Ну или при наличии глобального триггера (вывод времени на экран например), можно приделать к нему реакцию на дистанцию по отношению персонажа к воду с предметом
     
    Последнее редактирование: 13 янв 2018
  12. Gratt

    Gratt
    Модостроитель

    Регистрация:
    14 ноя 2014
    Сообщения:
    1.018
    Благодарности:
    1.116
    Баллы:
    190
    Пол:
    Мужской
    твой вопрос на 90% ответ. зачем тебе расширители, если ты не в состоянии реализовать пару строк кода?
     
  13. Orc Hunter

    Orc Hunter Участник форума

    Регистрация:
    12 окт 2013
    Сообщения:
    468
    Благодарности:
    344
    Баллы:
    170
    Пол:
    Мужской
    Я пробовал, но ничего не срабатывает. К сведению я писал без расширителей такие функции, которые до меня ни кто так не смог реализовать. Но ведь у каждого может что-то не получиться.
     
  14. Gratt

    Gratt
    Модостроитель

    Регистрация:
    14 ноя 2014
    Сообщения:
    1.018
    Благодарности:
    1.116
    Баллы:
    190
    Пол:
    Мужской
    скажи это тем, кто из принципов не кодит расширители.. они тебя побьют за то что хлеб у них отнимаешь :D

    тз поставь четкое
     
  15. D36

    D36
    Модостроитель

    Регистрация:
    3 дек 2014
    Сообщения:
    780
    Благодарности:
    779
    Баллы:
    155
    Пол:
    Женский
    Интересует правильный способ добавления новых моделей или скинов орков в Г1. Хочется добавить, например, элитного орка, или шаманов с новыми текстурами.
     
  16. alex_draven

    alex_draven
    Модостроитель

    Регистрация:
    13 сен 2007
    Сообщения:
    1.569
    Благодарности:
    1.901
    Баллы:
    360
    Пол:
    Мужской
    В папку anims кидаем меш орка из Готики 2 в формате ASC (исключительно тушу). В папку textures кидаем текстуры в формате TGA, соответствующие данному мешу. Прописываем орка в скриптах, компилируем. Запускаем игру, вставляем через консоль нового орка. Смотрим, что все корректно отображается. Выходим из игры, забираем скомпилированный материал из папок _compiled. Пакуем в xxx.MOD.
    По-моему, сама модель орка в двух играх ничем не отличается принципиально ни по составу костей, ни по составу слотов, поэтому такой способ должен работать без проблем.
     
    D36 поблагодарил.
  17. lorddemonik1

    lorddemonik1 Участник форума

    Регистрация:
    15 мар 2012
    Сообщения:
    289
    Благодарности:
    110
    Баллы:
    210
    Пол:
    Мужской
    Смотри файл по B_AddFightSkill лежит Story/B_Story
    Когда баг присутствует, файл выглядит вот так:
    Открыть спойлер


    Код:
    func void B_AddFightSkill(var C_Npc slf,var int talent,var int percent)
    {
        if(talent == NPC_TALENT_1H)
        {
            slf.HitChance[NPC_TALENT_1H] = slf.HitChance[NPC_TALENT_1H] + percent;
            if(slf.HitChance[NPC_TALENT_1H] >= 0)
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_1H,0);
            };
            if(slf.HitChance[NPC_TALENT_1H] >= 30)
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_1H,1);
            };
            if(slf.HitChance[NPC_TALENT_1H] >= 60)
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_1H,2);
            };
        };
        if(talent == NPC_TALENT_2H)
        {
            slf.HitChance[NPC_TALENT_2H] = slf.HitChance[NPC_TALENT_2H] + percent;
            if(slf.HitChance[NPC_TALENT_1H] >= 0)
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_2H,0);
            };
            if(slf.HitChance[NPC_TALENT_2H] >= 30)
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_2H,1);
            };
            if(slf.HitChance[NPC_TALENT_2H] >= 60)
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_2H,2);
            };
        };
        if(talent == NPC_TALENT_BOW)
        {
            slf.HitChance[NPC_TALENT_BOW] = slf.HitChance[NPC_TALENT_BOW] + percent;
            if(slf.HitChance[NPC_TALENT_BOW] >= 0)
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_BOW,0);
            };
            if(slf.HitChance[NPC_TALENT_BOW] >= 30)
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_BOW,1);
            };
            if(slf.HitChance[NPC_TALENT_BOW] >= 60)
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_BOW,2);
            };
        };
        if(talent == NPC_TALENT_CROSSBOW)
        {
            slf.HitChance[NPC_TALENT_CROSSBOW] = slf.HitChance[NPC_TALENT_CROSSBOW] + percent;
            if(slf.HitChance[NPC_TALENT_CROSSBOW] >= 0)
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_CROSSBOW,0);
            };
            if(slf.HitChance[NPC_TALENT_CROSSBOW] >= 30)
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_CROSSBOW,1);
            };
            if(slf.HitChance[NPC_TALENT_CROSSBOW] >= 60)
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_CROSSBOW,2);
            };
        };
    };

    Думаю проблема в том, что не указано присваивать анимацию атаки, а после Сейв/Лоад игра основываясь на процентах присваивает сама. Лечится указанием анимации. Файл в итоге приобретает вот такую форму:
    Открыть спойлер


    Код:
    func void B_AddFightSkill(var C_Npc slf,var int talent,var int percent)
    {
        if(talent == NPC_TALENT_1H)
        {
            slf.HitChance[NPC_TALENT_1H] += percent;
            if(slf.HitChance[NPC_TALENT_1H] > 100)
            {
                slf.HitChance[NPC_TALENT_1H] = 100;
            };
            if(slf.HitChance[NPC_TALENT_1H] >= 60)
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_1H,2);
                Mdl_ApplyOverlayMds(slf,"humans_1hST2.mds");
            }
            else if(slf.HitChance[NPC_TALENT_1H] >= 30)
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_1H,1);
                Mdl_ApplyOverlayMds(slf,"humans_1hST1.mds");
            }
            else
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_1H,0);
                Mdl_RemoveOverlayMds(slf,"humans_1hST1.MDS");
                Mdl_RemoveOverlayMds(slf,"humans_1hST2.MDS");
            };
        };
        if(talent == NPC_TALENT_2H)
        {
            slf.HitChance[NPC_TALENT_2H] += percent;
            if(slf.HitChance[NPC_TALENT_2H] > 100)
            {
                slf.HitChance[NPC_TALENT_2H] = 100;
            };
            if(slf.HitChance[NPC_TALENT_2H] >= 60)
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_2H,2);
                Mdl_ApplyOverlayMds(slf,"humans_2hST2.mds");
            }
            else if(slf.HitChance[NPC_TALENT_2H] >= 30)
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_2H,1);
                Mdl_ApplyOverlayMds(slf,"humans_2hST1.mds");
            }
            else
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_2H,0);
                Mdl_RemoveOverlayMds(slf,"humans_2hST1.MDS");
                Mdl_RemoveOverlayMds(slf,"humans_2hST2.MDS");
            };
        };
        if(talent == NPC_TALENT_BOW)
        {
            slf.HitChance[NPC_TALENT_BOW] += percent;
            if(slf.HitChance[NPC_TALENT_BOW] > 100)
            {
                slf.HitChance[NPC_TALENT_BOW] = 100;
            };
            if(slf.HitChance[NPC_TALENT_BOW] >= 60)
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_BOW,2);
                Mdl_ApplyOverlayMds(slf,"humans_bowT2.mds");
            }
            else if(slf.HitChance[NPC_TALENT_BOW] >= 30)
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_BOW,1);
                Mdl_ApplyOverlayMds(slf,"humans_bowT1.mds");
            }
            else
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_BOW,0);
                Mdl_RemoveOverlayMds(slf,"humans_bowT1.MDS");
                Mdl_RemoveOverlayMds(slf,"humans_bowT2.MDS");
            };
        };
        if(talent == NPC_TALENT_CROSSBOW)
        {
            slf.HitChance[NPC_TALENT_CROSSBOW] += percent;
            if(slf.HitChance[NPC_TALENT_CROSSBOW] > 100)
            {
                slf.HitChance[NPC_TALENT_CROSSBOW] = 100;
            };
            if(slf.HitChance[NPC_TALENT_CROSSBOW] >= 60)
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_CROSSBOW,2);
                Mdl_ApplyOverlayMds(slf,"humans_cbowT2.mds");
            }
            else if(slf.HitChance[NPC_TALENT_CROSSBOW] >= 30)
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_CROSSBOW,1);
                Mdl_ApplyOverlayMds(slf,"humans_cbowT1.mds");
            }
            else
            {
                Npc_SetTalentSkill(slf,NPC_TALENT_CROSSBOW,0);
                Mdl_RemoveOverlayMds(slf,"humans_cbowT1.MDS");
                Mdl_RemoveOverlayMds(slf,"humans_cbowT2.MDS");
            };
        };
    };

    Пробовал на 3 разных модах, где появлялся сей баг. В итоге все работает. В дальнейшем вроде ничего не сломалось
     
    Kreol Nekr, MEG@VOLT и Ulgamecid поблагодарили.
  18. MaGoth

    MaGoth ★★★★★★★★★★★
    Администратор

    Регистрация:
    7 янв 2005
    Сообщения:
    14.399
    Благодарности:
    6.517
    Баллы:
    740
    Пол:
    Мужской
    Еще, фаю надо прописывать для них и что-то с гильдиями думать, или айварами..
     
  19. Ulgamecid

    Ulgamecid Участник форума

    Регистрация:
    5 дек 2014
    Сообщения:
    11
    Благодарности:
    1
    Баллы:
    75
    Пол:
    Мужской

    СПАСИБО!!!! Реально помогло!! Этот баг покоя не давал!!! Плюсую!!!
     
    lorddemonik1 поблагодарил.
  20. Kreol Nekr

    Kreol Nekr Участник форума

    Регистрация:
    21 ноя 2014
    Сообщения:
    231
    Благодарности:
    107
    Баллы:
    100
    Пол:
    Мужской
    Ну, да, у меня все правильно... Проверил хоть да вроде и не сталкивался с таким, надо будет запомнить...
     
Модераторы: Marvіn, MEG@VOLT

Поделиться этой страницей