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

    Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
    Удачи!
  • Друзья, доброго времени суток! Спешите принять участие в оценке работ на конкурсе "Таинственные миры" 2024!
    Ждем именно вас!

    Ссылка на конкурсную тему - тык
    Ссылка на тему с работами участников- тык

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

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
Ну у меня был вариант касаемо спела превращения - oCSpell::CastSpecificSpell. Посмотри активное заклинание у этих нпс.
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
5.847
Благодарности
5.277
Баллы
910
А что, какие у этого двойника параметры? Покажи edit focus
Если это триггер виноват, может функция написана криво и лезет туда, куда не надо?
А мог ли добавится дубликат после использования превращения? там же вроде используется функция virtual void __thiscall oCNpc::SetAsPlayer(void)

Кстати ты оставил весь скрипт spell_transform?
По моему проверка на игрока не срабатывает в момент превращения
Daedalus:
    if(Npc_IsPlayer(self) && (PLAYERISTRANSFER == TRUE) && (PLAYERISTRANSFERDONE == FALSE))
    {
        b_transferback(self);
    };
Лучше уж
Daedalus:
if(C_NpcIsHero(self) && (PLAYERISTRANSFER == TRUE) && (PLAYERISTRANSFERDONE == FALSE))
    {
        b_transferback(self);
       };
 
Последнее редактирование:

LikerGothic


Модостроитель
Регистрация
11 Фев 2017
Сообщения
1.495
Благодарности
2.113
Баллы
365
Gratt, активное есть, но это не превращение. Боевая руна.
 

Wallerstein

Участник форума
Регистрация
26 Апр 2009
Сообщения
965
Благодарности
23
Баллы
195
Стесняюсь спросить.. напомните пжл, была тема такая, где форумчане в помощь модостроителям придумывали квесты для возможно будущих модов. Можете найти, где искать ее? Не удалили ее еще?
 

Wallerstein

Участник форума
Регистрация
26 Апр 2009
Сообщения
965
Благодарности
23
Баллы
195

Спасибо, но помоему это не совсем то. Та тема была именно о квестах, не об идеях, а о квестах, и о сюжете. Помнится, создавалась она в ответ на Лебедева, который никак не мог для своего мода сюжет придумать.
Ну может эта и есть та тема, которую вы прислали, я честно не помню. В той вроде великое множество всяких квестов было.
 

Test Level

Участник форума
Регистрация
1 Ноя 2011
Сообщения
1.771
Благодарности
557
Баллы
275
Wallerstein, можно проштудировать тему Небесного воина, но вообще, сомневаюсь, что присылалось что-то толковое, т.к. нормальные квесты, либо для себя пишут, либо для нормальных модов, но никак не для Лебедева :D
 

Wallerstein

Участник форума
Регистрация
26 Апр 2009
Сообщения
965
Благодарности
23
Баллы
195
Не для Лебедева, а вопреки (!). То есть тогда Лебедеву пытались доказать, что квесты не сложно придумывать, для этого необходимо включить фантазию и набраться терпения, сесть и писать.И на фоне этого родилась тема с квестами, где любой форумчанин мог что-нибудь придумать и разместить. И поэтому квесты в той теме нормальные, я это помню.
 

Mantrid

Участник форума
Регистрация
31 Янв 2009
Сообщения
199
Благодарности
126
Баллы
200
Стесняюсь спросить.. напомните пжл, была тема такая, где форумчане в помощь модостроителям придумывали квесты для возможно будущих модов.
Немного не то, но я помню, что похожая тема (конкурсная) была на форуме Magic-team:
Конкурс "КВЕСТОписатель" - Форум команды Magic Team (кидать ссылки на этот сайт вроде не запрещено)
 

Raswen

Гражданин Хориниса
Регистрация
18 Фев 2014
Сообщения
1.278
Благодарности
745
Баллы
260

Dimus

★★★★★★★★★
Супермодератор
Регистрация
19 Июл 2010
Сообщения
5.562
Благодарности
4.154
Баллы
915
N1kX, пожалуйста в деталях объясни разницу между функциями Npc_IsPlayer() и C_NpcIsHero(). Если мне не изменяет память, то первая функция может неправильно определять превращённого в зверя игрока.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
Dimus, IsPlayer запрашивает у движка, управляет ли игрок персонажем.
IsHero определяет, является ли инстанция нпс равной pc_hero.
 

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.337
Благодарности
3.182
Баллы
525
Npc_IsPlayer() и C_NpcIsHero()
Дополню. Когда ГГ превратился в монстра с помощью свитка трансформации, функция Npc_IsPlayer возвращает 1 при проверке ссылки C_Npc на ГГ. Функция C_NpcIsHero в этом случае возвращает 0.
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
5.847
Благодарности
5.277
Баллы
910
Ну точнее некуда, как написал Gratt.
Npc_IsPlayer вы
C_NpcIsHero всегда указывает на конкретного персонажа, то есть на PC_HERO, но я не использую её, вместо этого везде для главного героя делаю вот так
if (self.id == 0)
Проще некуда.
Слета характеристик после превращения и с 1000 попытки не поймал
Но злоупотреблять не стоит. Это касается в основном предметов, которые могут быть экипированными на именно на герое. Например НПС не даются бонусы от оружия, если они есть.

Тогда стоит посмотреть глубже в движке, почему иногда Npc_IsPlayer может выдать 0, после превращения. Может криво возвращается управление? Было замечено, что даже Npc_SetToFistMode(self); перенеслось на главного героя сломав все оверлеи.

В Г1 есть заклинание control, интересно, там тоже есть баг, когда ГГ берет в управление другого НПС и возвращается обратно?
 
Последнее редактирование:

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.337
Благодарности
3.182
Баллы
525
В Г1 есть заклинание control, интересно, там тоже есть баг, когда ГГ берет в управление другого НПС и возвращается обратно?
Я с багами не сталкивался. Если ты имеешь в виду баги, описанные выше.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
N1kX, хз что там с превращением, там при возвращении облика делается сброс состояний персонажа. Если что-то вызывает проблемы, то это оно.
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
5.847
Благодарности
5.277
Баллы
910
Ну я давно курил у немцев и там пишут, что иногда функция возвращает 0 после сейф/лоад или смены мира в чужом облике. (в форме животного)
Это кстати тоже для размышления. Может ли в этот момент создаваться двойник PC_HERO?

Хм, а что заклинание превращения тяжело закодировано только под определенные гильдии?

oCSpell::CastSpecificSpell {
transform if id 47..58 (info = guild)
}
oCAIHuman::CheckActiveSpells {
transform back on KEY_ENTER if IsSpellActive(47..58)
}
oCTriggerChangeLevel::TriggerTarget {
transform back if IsSpellActive(47..58)
}
 
Последнее редактирование:

ElderGamer


Модостроитель
Регистрация
16 Апр 2008
Сообщения
4.337
Благодарности
3.182
Баллы
525
или смены мира в чужом облике. (в форме животного)
А такое разве возможно? В Г1, вроде бы, стоит защита. ГГ сначала превращается "в себя", и только потом у него появляется возможность перейти в другую локацию. Это, если входить в область триггера смены уровня естественным путём.
 

Gratt


Модостроитель
Регистрация
14 Ноя 2014
Сообщения
3.281
Благодарности
4.581
Баллы
625
N1kX, а в облике разве пускает в триггер и даёт сохраняться? При переходе между мирами для player задаётся условие, что тот не должен писаться в сейв. Вряд ли это делается и для сохраненной формы. Поэтому да, скорее всего это может задублировать hero.
 

N1kX


Модостроитель
Регистрация
13 Ноя 2009
Сообщения
5.847
Благодарности
5.277
Баллы
910
Я проверил нет не дает. В форме сейф выключен (Не поможет даже quicksave).
После перехода границу триггера смены уровня, гг отбрасывает немного назад и движок сам возвращает в изначальную форму.

Хотя выше я дополнил и сам увидел, что движок это делает
oCTriggerChangeLevel::TriggerTarget {
transform back if IsSpellActive(47..58)
}
 
Последнее редактирование:
Сверху Снизу