Перейти к содержанию

Gnomee123

Сталкеры
  • Публикаций

    339
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Gnomee123


  1. Платить за саму возможность скачать мод не разрешают GSC, но я не против добровольных донатов разработчикам. Если бы GSC не были против, я не вижу ничего такого, чтобы разработчик предлагал купить мод. Лучше всего было бы, если бы GSC поступали как Valve и лицензировали продажу избранных модов.


  2. av661194 
    Так, нужен файл level_script.cpp
    Нужно найти:

    void g_change_community_goodwill(LPCSTR _community, int _entity_id, int val)
    {
    	 CHARACTER_COMMUNITY	c;
    	 c.set					(_community);
    	RELATION_REGISTRY().ChangeCommunityGoodwill(c.index(), u16(_entity_id), val);
    }

    После этой функции вставить так:

    void g_change_community_goodwill(LPCSTR _community, int _entity_id, int val)
    {
    	 CHARACTER_COMMUNITY	c;
    	 c.set					(_community);
    	RELATION_REGISTRY().ChangeCommunityGoodwill(c.index(), u16(_entity_id), val);
    }
    
    int g_get_personal_goodwill(int _who_id, int _to_whom_id) { return RELATION_REGISTRY().GetGoodwill(u16(_who_id), u16(_to_whom_id)); }
    void g_set_personal_goodwill(int _who_id, int _to_whom_id, int _amount) { RELATION_REGISTRY().SetGoodwill(u16(_who_id), u16(_to_whom_id), _amount); }
    void g_change_personal_goodwill(int _who_id, int _to_whom_id, int _amount)
    {
    	CHARACTER_GOODWILL gw = RELATION_REGISTRY().GetGoodwill(u16(_who_id), u16(_to_whom_id));
    	RELATION_REGISTRY().SetGoodwill(u16(_who_id), u16(_to_whom_id), gw + _amount);
    }

    Это сами функции. get возвращает числовое значение личного отношения, set позволяет установить числовое значение личного отношения, change изменить на _amount.
    Потом нужно экспортировать эти функции для использования в скриптах.
    Находим:
     

    module(L,"relation_registry")
    	[
    		def("community_goodwill",				&g_community_goodwill),
    		def("set_community_goodwill",			&g_set_community_goodwill),
    		def("change_community_goodwill",		&g_change_community_goodwill)
    	];

    Добавляем наши функции:
     

    module(L,"relation_registry")
    	[
    		def("community_goodwill",				&g_community_goodwill),
    		def("set_community_goodwill",			&g_set_community_goodwill),
    		def("change_community_goodwill",		&g_change_community_goodwill),
    		def("get_personal_goodwill", &g_get_personal_goodwill),
    		def("set_personal_goodwill", &g_set_personal_goodwill),
    		def("change_personal_goodwill", &g_change_personal_goodwill)
    	];

    Собираем движок.
    Теперь можно вызывать эти функции через

    relation_registry.get_personal_goodwill (who, to_who)
    relation_registry.set_personal_goodwill (who, to_who, number)
    relation_registry.change_personal_goodwill (who, to_who, number)
    Должно работать.

    • Лайк 1
    • Жму руку 1
    • Спасибо 1

  3. del


    Дополнено 9 минуты спустя

    av661194 Если говорить о прям оригинальном ТЧ без движковых изменений, то не знаю, может и есть способ. Но в оригинальном движке есть методы, позволяющие узнать и изменить отношение НПС к игроку или другому НПС вне зависимости, НПС в офлайне или в онлайне. Эти методы просто не экспортированы, чтобы их можно было использовать из скриптов. Если вы не против внесения изменений в движок, то это очень легко сделать. Я ради интереса попробовал и сделал на основе движка огср, вроде в сети были исходники и оригинального движка, по идее и на нём должно работать. Там буквально внести изменения в один файл и собрать движок.


  4. Mawrak 
    Спасибо. 
    1. Странное дело, я второй раз там пробежал и квест засчитался. Буду смотреть почему так может быть. В патче я вносил мелкое исправление в это задание, может поэтому там что-то и сломалось, когда не начали новую игру.
    2. В целом залезть можно в каждое из мест и мне самому такое нравится. На металлической штуке предполагалось брать тайник, стоя на решётке снизу под рюкзаком, а не забираться наверх. Грузовик и в правду нужно догадаться, как залезть, у меня самого с первого раза не всегда выходило, там нужно сначала с разбегу на приоткрытую дверь кабины запрыгнуть. А на крышу фермы можно залезть с трактора. Но возможно что то сделаю попроще, или в кпк одного из сталкеров напишу, как забираться в сложные места.
    3. Целиком согласен. В квесте с учёным я планирую раскрыть это получше.
    А в all.spawn вообще чинилось только то, что, военный из лабы куда-то уходил, как я понимаю, в смарт к сталкерам на ферме

    • Лайк 1

  5. Mawrak Спасибо. Конец доделывал за пару часов, поэтому вышло слишком сумбурно. Мне самому не нравится как в конце всё объяснено.
    Хочу спросить пару вещей. 
    1. Какой квест не обновился, когда ты выбрался со старой базы бандитов?
    2. В какие места было трудно забраться?
    3. Ты встретил в лаборатории военного?
    Я хочу основательно всё доработать и выпустить обновление, поэтому и спрашиваю по этим моментам.

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек. Оставаясь на сайте, вы подтверждаете свое согласие на их использование. Политика конфиденциальности | Условия использования