Случайная подборка модов
Новый Арсенал 6. Революция
3.5
Хроники Кайдана. Вторая серия
4.0
Another Zone Mod. Пролог
4.2
Хроники Кайдана
3.6
Hibernation Evil - Эпизод I
2.8
Боевая подготовка 2
3.6
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: FanG, Аdmin, FantomICW, Overfirst  
[CoP] Модострой: вопросница
Российская Федерация  Overfirst
Воскресенье, 31.12.2017, 13:17 | Сообщение # 1
Статус:
Бывалый:
Сообщений: 1081
Награды: 19
Регистрация: 11.06.2015

[CoP] Модострой: вопросница

Тема посвящена моддингу на платформе Зов Припяти.

Соседние темы: Тень Чернобыля / Чистое небо.


  • Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.

  • Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.

  • Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).

  • Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
  •   Злобная реклама
    Воскресенье, 31.12.2017, 13:17
    Статус:
    Сообщений: 666
    Регистрация: 11.06.2015
    Российская Федерация  Neptun
    Суббота, 19.05.2018, 11:18 | Сообщение # 991
    Связной
    Статус:
    Бывалый:
    Сообщений: 672
    Награды: 9
    Регистрация: 25.03.2012

    Smilоdоn, это значит, что НПС побежит после того, как достигнет этой точки.
    Чтобы НПС сразу побежал, пропиши в его активной логике:
    def_state_moving = sprint
    В этом случае в way можешь вообще ничего не прописывать.
    Цитата Smilоdоn ()
    вообще все флаги не работают

    Флаг это вот: p0:flags = 0x1
    Он нужен, если нужно, чтобы НПС смотрел куда-то.
      Злобная реклама
    Суббота, 19.05.2018, 11:18
    Статус:
    Сообщений: 666
    Регистрация: 25.03.2012
    Украина  _S_k_i_F_
    Суббота, 19.05.2018, 11:42 | Сообщение # 992
    Золотой Обоз
    Статус:
    Опытный:
    Сообщений: 1311
    Награды: 9
    Регистрация: 09.08.2015

    makdm, что-то все равно не получается. Попробую объяснить что нужно: ГГ выдает НПС 4 ПДА одновременно, а НПС должен через каждые 3 часа отправлять ГГ смску. А во время сна, даже если спал больше 12 часов (т.е. должны все 4 смс прийти) приходит только одна. Вот и нужно во время сна все таймеры искусственно увеличить.
    В ui_sleep_dialog в dream_callback()
    Код
    local timer = hours*3600
        if has_alife_info("tp_actor_give_zvonar_grif_pda") and not has_alife_info("tp_zvonar_unlock_grif_pda_compl") then
      otstypnik_dialogs.force_grif_pda_timer(timer)
        end
        
        if has_alife_info("tp_actor_give_zvonar_provodnik_vasil_pda") and not has_alife_info("tp_zvonar_unlock_provodnik_vasil_pda_compl") then
      otstypnik_dialogs.force_vasil_pda_timer(timer)
        end
        
        if has_alife_info("tp_actor_give_zvonar_killer_ydav_pda") and not has_alife_info("tp_zvonar_unlock_killer_ydav_pda_compl") then
      otstypnik_dialogs.force_ydav_pda_timer(timer)
        end
        
        if has_alife_info("tp_actor_give_zvonar_monolitovec_pda") and not has_alife_info("tp_zvonar_unlock_monolitovec_pda_compl") then
      otstypnik_dialogs.force_monolitovec_pda_timer(timer)
        end

    Потом функция для апдейта
    Код
    function zvonar_unlocking_pda()
        if has_alife_info("tp_actor_give_zvonar_grif_pda") and not has_alife_info("tp_zvonar_unlock_grif_pda_compl") and not has_alife_info("tp_zvonar_unlock_one_pda") then
      give_info("tp_zvonar_unlock_one_pda")
      if grif_pda_timer == nil then
       grif_pda_timer = game.get_game_time()
      end
        end
        if grif_pda_timer ~= nil then    
      if game.get_game_time():diffSec(grif_pda_timer) > 10800 then
       grif_pda_timer = nil
       give_info("tp_zvonar_unlock_grif_pda")
       give_info("tp_zvonar_unlock_grif_pda_compl")
       disable_info("tp_zvonar_unlock_one_pda")
       xr_effects.send_message(nil,nil,{"ПДА Грифа взломан. Можешь забирать.","tp_zvonar","tp_zvonar",7000})
      end
        end
        if has_alife_info("tp_actor_give_zvonar_provodnik_vasil_pda") and not has_alife_info("tp_zvonar_unlock_provodnik_vasil_pda_compl") and not has_alife_info("tp_zvonar_unlock_one_pda") then
      give_info("tp_zvonar_unlock_one_pda")
      if vasil_pda_timer == nil then
       vasil_pda_timer = game.get_game_time()
      end
        end
        if vasil_pda_timer ~= nil then
      if game.get_game_time():diffSec(vasil_pda_timer) > 10800 then
       vasil_pda_timer = nil
       give_info("tp_zvonar_unlock_provodnik_vasil_pda")
       give_info("tp_zvonar_unlock_provodnik_vasil_pda_compl")
       disable_info("tp_zvonar_unlock_one_pda")
       xr_effects.send_message(nil,nil,{"ПДА Василя взломан. Можешь забирать.","tp_zvonar","tp_zvonar",7000})
      end
        end
        if has_alife_info("tp_actor_give_zvonar_killer_ydav_pda") and not has_alife_info("tp_zvonar_unlock_killer_ydav_pda_compl") and not has_alife_info("tp_zvonar_unlock_one_pda") then
      give_info("tp_zvonar_unlock_one_pda")
      if ydav_pda_timer == nil then
       ydav_pda_timer = game.get_game_time()
      end
        end
        if ydav_pda_timer ~= nil then
      if game.get_game_time():diffSec(ydav_pda_timer) > 10800 then
       ydav_pda_timer = nil
       give_info("tp_zvonar_unlock_killer_ydav_pda")
       give_info("tp_zvonar_unlock_killer_ydav_pda_compl")
       disable_info("tp_zvonar_unlock_one_pda")
       xr_effects.send_message(nil,nil,{"ПДА Удава взломан. Можешь забирать.","tp_zvonar","tp_zvonar",7000})
      end
        end
        if has_alife_info("tp_actor_give_zvonar_monolitovec_pda") and not has_alife_info("tp_zvonar_unlock_monolitovec_pda_compl") and not has_alife_info("tp_zvonar_unlock_one_pda") then
      give_info("tp_zvonar_unlock_one_pda")
      if monolitovec_pda_timer == nil then
       monolitovec_pda_timer = game.get_game_time()
      end
        end
        if monolitovec_pda_timer ~= nil then
      if game.get_game_time():diffSec(monolitovec_pda_timer) > 10800 then
       monolitovec_pda_timer = nil
       give_info("tp_zvonar_unlock_monolitovec_pda")
       give_info("tp_zvonar_unlock_monolitovec_pda_compl")
       disable_info("tp_zvonar_unlock_one_pda")
       xr_effects.send_message(nil,nil,{"ПДА монолитовца взломан. Можешь забирать.","tp_zvonar","tp_zvonar",7000})
      end
        end
    end

    И вот сама функция в которой надо увеличить таймер
    Код
    function force_grif_pda_timer(timer)
        if grif_pda_timer ~= nil then
      local t = game.CTime()
      local Y, M, D, h, m, s, ms = 0, 0, 0, 0, 0, 0, 0
      t:set( Y + 2000, M, D, h, m, grif_pda_timer + timer, ms)
      grif_pda_timer = game.get_game_time():diffSec(t)
        end    
    end
      Злобная реклама
    Суббота, 19.05.2018, 11:42
    Статус:
    Сообщений: 666
    Регистрация: 09.08.2015
    Российская Федерация  atanda
    Суббота, 19.05.2018, 17:18 | Сообщение # 993
    Статус:
    Бывалый:
    Сообщений: 672
    Награды: 7
    Регистрация: 12.07.2017

    Цитата _S_k_i_F_ ()
    Но игра вылетала

    Ты пытаешься к объекту, не имеющему перегруженное сложение, прибавить число!
      Злобная реклама
    Суббота, 19.05.2018, 17:18
    Статус:
    Сообщений: 666
    Регистрация: 12.07.2017
    Российская Федерация  DarkSatellite
    Воскресенье, 20.05.2018, 08:49 | Сообщение # 994
    Статус:
    Новичок:
    Сообщений: 269
    Награды: 2
    Регистрация: 25.08.2014

    Подскажите, пожалуйста... Имеются два THM
    В первом строки:
                   Ђ?  ?   НМL= act\act_face_01_bump    
    Во втором:
                  Ђ?    " НМL= act\act_face_01_bump    
    В первом, как видно, знаки:   и знак ? Во втором их нет.
    Что означают эти знаки?
    Сообщение отредактировал DarkSatellite - Воскресенье, 20.05.2018, 09:00
      Злобная реклама
    Воскресенье, 20.05.2018, 08:49
    Статус:
    Сообщений: 666
    Регистрация: 25.08.2014
    Украина  скат
    Воскресенье, 20.05.2018, 09:02 | Сообщение # 995
    Статус:
    Бывалый:
    Сообщений: 942
    Награды: 9
    Регистрация: 16.01.2014

    DarkSatellite, biggrin Отличая в сдк надо смотреть а не в блокноте. Ты бы еще китайские иероглифы тут выложил, наверняка тебя бы кто то понял.
      Злобная реклама
    Воскресенье, 20.05.2018, 09:02
    Статус:
    Сообщений: 666
    Регистрация: 16.01.2014
    Российская Федерация  DarkSatellite
    Воскресенье, 20.05.2018, 09:07 | Сообщение # 996
    Статус:
    Новичок:
    Сообщений: 269
    Награды: 2
    Регистрация: 25.08.2014

    biggrin скат, а подробнее... Как там посмотреть?
      Злобная реклама
    Воскресенье, 20.05.2018, 09:07
    Статус:
    Сообщений: 666
    Регистрация: 25.08.2014
    Российская Федерация  makdm
    Воскресенье, 20.05.2018, 10:15 | Сообщение # 997
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    _S_k_i_F_, если я правильно понял то, что ты хочешь сделать, то схема написания скрипта должна быть такой:

      Злобная реклама
    Воскресенье, 20.05.2018, 10:15
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Украина  скат
    Воскресенье, 20.05.2018, 11:12 | Сообщение # 998
    Статус:
    Бывалый:
    Сообщений: 942
    Награды: 9
    Регистрация: 16.01.2014

    DarkSatellite, Закинь thm первую в сдк на свое место (по префиксу узнаешь папку куда закидывать). Текстуру к которой она принадлежит переведи в тга, закинь в папку импорт. Запусти АЕ. Нажми чек нев текстуры, увидишь окно и все настройки thm-ки. Сфоткай окно или запомни. Повтори все с второй thm, сравни скрины в итоге. Увидишь в чем отличая.
      Злобная реклама
    Воскресенье, 20.05.2018, 11:12
    Статус:
    Сообщений: 666
    Регистрация: 16.01.2014
    Украина  _S_k_i_F_
    Воскресенье, 20.05.2018, 11:42 | Сообщение # 999
    Золотой Обоз
    Статус:
    Опытный:
    Сообщений: 1311
    Награды: 9
    Регистрация: 09.08.2015

    makdm, я опять не совсем точно выразился - надо было уточнить - можно 4 сразу, а можно и по одному, по два, по три. Вот в чем ерунда. Я думал что единственный вариант это увеличить значение самого таймера.
      Злобная реклама
    Воскресенье, 20.05.2018, 11:42
    Статус:
    Сообщений: 666
    Регистрация: 09.08.2015
    Российская Федерация  makdm
    Воскресенье, 20.05.2018, 13:09 | Сообщение # 1000
    Время Альянса
    Статус:
    Опытный:
    Сообщений: 1787
    Награды: 19
    Регистрация: 22.11.2012

    Цитата _S_k_i_F_ ()
    я опять не совсем точно выразился

    Куда уж точнее:
    Цитата _S_k_i_F_ ()
    ГГ выдает НПС 4 ПДА одновременно


    Смотри файл bind_stalker.script
    Два таймера, которые включаются в разное время и каждый ведет свой отсчет:
    check_detective_achievement() и check_mutant_hunter_achievement()

    Делаешь по аналогии хоть со стопицот ПДА.
      Злобная реклама
    Воскресенье, 20.05.2018, 13:09
    Статус:
    Сообщений: 666
    Регистрация: 22.11.2012
    Российская Федерация  PROforum
    Воскресенье, 20.05.2018, 13:50 | Сообщение # 1001
    Статус:
    Отмычка:
    Сообщений: 140
    Награды: 4
    Регистрация: 27.09.2015

    Подскажите, за что отвечает эта функция в xr_statistic.script:
    Код
    str = package:r_stringZ()
        if(str~="nil") then
      actor_statistic.favorite_weapon_sect = str
        end
        weapons_table = {}
        local n = package:r_u8()
        for i = 1,n do
      local k = package:r_stringZ()
      local v = package:r_float()
      weapons_table[k] = v
        end

    И может ли из за неё работать не правильно эта функция (или наоборот), тоже из xr_statistic.script:
    Код
    weapons_table = {
             "wpn_abakan"   = 0,
             "wpn_ak74"   = 0,
             "wpn_ak74u"   = 0,
             "wpn_beretta"   = 0,
             "wpn_bm16"   = 0,
             "wpn_colt1911"  = 0,
             "wpn_desert_eagle"   = 0,
             "grenade_f1"    = 0,
             "wpn_fn2000"   = 0,
             "wpn_fort"   = 0,
             "wpn_g36"    = 0,
             "wpn_gauss"   = 0,
             "wpn_groza"   = 0,
             "wpn_hpsa"   = 0,
             "wpn_knife"   = 0,
             "wpn_l85"    = 0,
             "wpn_lr300"   = 0,
             "wpn_mp5"    = 0,
             "wpn_pb"    = 0,
             "wpn_pkm"    = 0,
             "wpn_pm"    = 0,
             "wpn_protecta"  = 0,
             "wpn_rg-6"    = 0,
             "grenade_rgd5"   = 0,
             "wpn_rpg7"   = 0,
             "wpn_sig220"   = 0,
             "wpn_sig550"   = 0,
             "wpn_spas12"   = 0,
             "wpn_svd"    = 0,
             "wpn_svu"    = 0,
             "wpn_toz34"   = 0,
             "wpn_usp45"   = 0,
             "wpn_val"    = 0,
             "wpn_vintorez"  = 0,
             "wpn_walther"   = 0,
             "wpn_wincheaster1300"    = 0,
             "wpn_pm_actor"   = 0,
             "wpn_fort_snag"   = 0,
             "wpn_sig220_nimble"   = 0,
             "wpn_usp_nimble"   = 0,
             "wpn_desert_eagle_nimble"   = 0,
             "wpn_wincheaster1300_trapper"   = 0,
             "wpn_spas12_nimble"   = 0,
             "wpn_protecta_nimble"   = 0,
             "wpn_ak74u_snag"   = 0,
             "wpn_mp5_nimble"   = 0,
             "wpn_sig550_luckygun"   = 0,
             "wpn_groza_nimble"   = 0,
             "wpn_vintorez_nimble"   = 0,
             "wpn_svu_nimble"   = 0,
             "wpn_svd_nimble"   = 0,
             "wpn_g36_nimble"   = 0,
             "wpn_fn2000_nimble"   = 0,
             "wpn_pkm_zulus"   = 0,
        }

    function set_best_weapon( hit_amount )
        local active_item = db.actor:active_item()
        if active_item then
      local section = active_item:section()
      if weapons_table[ section ] then
       weapons_table[ section ] = weapons_table[ section ] + hit_amount
      local amount = 0
      for k,v in pairs( weapons_table ) do
       if( v > amount ) then
        amount = v
        actor_statistic.favorite_weapon_sect = k
        end
       end
      end
        end
    end
      Злобная реклама
    Воскресенье, 20.05.2018, 13:50
    Статус:
    Сообщений: 666
    Регистрация: 27.09.2015
    Российская Федерация  denis2000
    Воскресенье, 20.05.2018, 16:01 | Сообщение # 1002
    Время Альянса
    Статус:
    Ветеран:
    Сообщений: 4070
    Награды: 16
    Регистрация: 19.07.2013

    Цитата PROforum ()
    за что отвечает эта функция в xr_statistic.script

    За загрузку ранее сохраненной в сейв-файл таблицы стволов.
    Цитата PROforum ()
    И может ли из за неё работать не правильно эта функция (или наоборот)

    Функции взаимосвязаны.
      Злобная реклама
    Воскресенье, 20.05.2018, 16:01
    Статус:
    Сообщений: 666
    Регистрация: 19.07.2013
    Азербайджан  Hoperise
    Воскресенье, 20.05.2018, 16:11 | Сообщение # 1003
    Статус:
    Опытный:
    Сообщений: 1722
    Награды: 10
    Регистрация: 26.10.2016

    Здравствуйте! Возник вопрос чистый ЗП: возможно ли классу оружия, костюмов и шлемов добавить кнопку, допустим, использовать, как брустеры? Или все это делается только правкой движка? Не подскажите ли скрипт, который заменял бы оружие после гибели нпс на другой предмет, например, на цветок?
      Злобная реклама
    Воскресенье, 20.05.2018, 16:11
    Статус:
    Сообщений: 666
    Регистрация: 26.10.2016
    Антарктика  keepthisarea
    Воскресенье, 20.05.2018, 16:42 | Сообщение # 1004
    Статус:
    Зевака:
    Сообщений: 2
    Награды: 0
    Регистрация: 13.05.2018

    Добрый вечер. У меня проблема с распаковкой all.spawn'a. Может вопрос оффтопный и нубский но по поиску в теме я ответа не нашёл. Несмотря на все танцы с бубнами (активперл установлен, ацдц настроен), при декомпиляции файла лог в cmd ссылается на невозможность использовать 'defined(@array)' в 146 строчке ini_file.pm. Без понятия, что с этим делать. Всё на скрине.
    Прикрепления: 5280983.png (15.6 Kb)
      Злобная реклама
    Воскресенье, 20.05.2018, 16:42
    Статус:
    Сообщений: 666
    Регистрация: 13.05.2018
    Украина  AngryWolf
    Воскресенье, 20.05.2018, 21:42 | Сообщение # 1005
    Статус:
    Гость:
    Сообщений: 55
    Награды: 1
    Регистрация: 16.11.2017

    Подскажите пожалуйста, как правильно написать команду в скрипте, чтобы при использовании конкретных предметов, в инвентаре появился другой предмет.
      Злобная реклама
    Воскресенье, 20.05.2018, 21:42
    Статус:
    Сообщений: 666
    Регистрация: 16.11.2017
    Поиск: