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

Рекомендуемые сообщения

 
 

А вот как сделать выброс по-требованию? Переходим на локацию, входим в триггер, что ему прописать для начала выброса? 


Эх, Самара- городок, ветер северный, отожрал я себе пузо, как беременный.:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Ayden start_surge

  • Жму руку 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

подскажите как сделать что бы отметки на карте в пда (скадовск, лесопилка и т.д) появлялись по условию а не сразу, гуглил, гуглил, ненагуглил.

 

Изменено пользователем Pavel2000

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Pavel2000 посмотри SGM 2.2, там есть, когда гг подходит к ним.

  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Найти то я нашёл, только я не понимаю как правильно прописать ту функцию которая там используется в апдейт


Дополнено 14 минуты спустя
Спойлер

function fill_primary_objects()
	for k,v in pairs(primary_objects_tbl) do
		local obj_id = get_story_object_id(v.target)
                --/ SGM in
		if obj_id and has_alife_info(v.target) then
		   level.map_add_object_spot(obj_id, "primary_object", v.hint)
		end
                --/ SGM out
	end
	change_anomalies_names()
	fill_sleep_zones()
end

 

Спойлер

--/ SGM in
function check_and_found_pda_areas()
   for k,v in pairs(primary_objects_tbl) do
      if dont_has_alife_info(v.target) then
         local obj_id = get_story_object_id(v.target)
         if obj_id and db.storage[obj_id] and db.storage[obj_id].object then
            local n_dist=100
            if level.name()=="darkvalley" then
               n_dist=50
            elseif level.name()=="agroprom" then
               n_dist=60
            elseif level.name()=="military" then
               n_dist=70
            elseif level.name()=="escape" then
               n_dist=50
            elseif level.name()=="marsh" then
               n_dist=90
            elseif level.name()=="red_forest" then
               n_dist=65
            end
            if db.storage[obj_id].object:position():distance_to(db.actor:position())<=n_dist then
               give_info(v.target)
               news_manager.send_tip(db.actor,game.translate_string(v.hint),0,"founded_area",5000,nil,game.translate_string("st_revealled_area"))
               fill_primary_objects()
            end
         end
      end
   end
end
--/ SGM out

 

Спойлер

function update_main()
   update_update()
end
function update_update()
   dunin_ammo.on_update()
   ui_mod_elements.allspawn_editor_update()
   if check_seconds(2) then
      ui_mod_elements.mp3_update()
   end
   if check_seconds(4) then
      ui_mod_pda.pda_update()
   end
   if check_seconds(5) then
      if check_ui_worked(true) then
         pda.check_and_found_pda_areas()
      end
   end
  -- отрывок кода --

 

Спойлер

function sigerous_mod_main()
   sigerous_mod_loader()
end
function sigerous_mod_loader()
   save_manager:update()
   battery_manager:update()
   if check_seconds(3) then
      blackday_manager:initialize()
      blackday_manager:update()
   end
   sgm_container.container_main()
   if check_seconds(3) then
      sgm_cleaners.cleaners_main()
   end
   if check_seconds(1) then
      sgm_distance.distance_main()
   end
   sgm_effects.effects_main()
   if check_seconds(2) then
      sgm_reward.reward_main()
   end
   hud_manager:update()
   if check_seconds(4) then
      sgm_utils.utils_main_1()
   end
   if check_seconds(1) then
      sgm_utils.utils_main_2()
   end
   sgm_inventory.inventory_main()
   sgm_options.options_main()
   if check_seconds(1) then
      sgm_message.message_main()
   end
   sgm_queue.queue_main()
   if check_seconds(1) then
      sgm_tasks.task_main()
   end
   if check_seconds(3) then
      sgm_offline.offline_main()
   end
   sgm_variables.variables_main()
   if check_seconds(5) then
      sgm_spawner.spawner_main()
   end
   if check_seconds(30) then
      sgm_utilizator.utilizator_main()
   end
   if check_seconds(3) then
      sgm_respawn.respawn_main()
   end
   sgm_modules.module_actor(db.actor)
   if check_seconds(30) then
      sgm_mechanics.mechanics_main()
   end
   sgm_update.update_main()
   sgm_timers.timers_main()
end

 

Спойлер

        --/ SGM in
        if mod_update() then
           sgm_loader.sigerous_mod_main()
        end
        --/ SGM out

 

Получается такая вот цепочка

check_and_found_pda_areas->update_update->update_main->sigerous_mod_loader->sigerous_mod_main

но тут появляется "mod_update"

Спойлер

function mod_update()
   return sgm_flags.bool_mod_update==nil or sgm_flags.bool_mod_update==true
end

 

помогите сократить эту цепочку пожалуйста. почитал про калбэки но так и не понял. Типо почему в сгм так много нагорожено промежуточных функций

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

как сделать так, чтоб неписи просто ходили туда сюда по заскриптованному кругу, как сторожи

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

sosiska23, на форуме есть поиск, нужна логика walker.


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

Pavel2000, можно упростить до выдачи инфопоршня при посещении рестриктора игроком, просто выдавая его в `sr_idle` через метод `on_actor_inside`. Особо не шарю по логикам, но суть будет ясна.

Спойлер

image.png.daa93d82a41cc663e746e1e3e0ca7d11.pngimage.png.91f24491014da256a3e43ab1af8ef1b5.png

 

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, Pavel2000 сказал:

я не понимаю как правильно прописать ту функцию которая там используется в апдейт

Так тупо и пропиши ее в апдейт.

1 час назад, Pavel2000 сказал:

Типо почему в сгм так много нагорожено промежуточных функций

Это характерно для кода GeJorge: от гениальности до, как так можно писать - один шаг.

PS: А вообще ровно такую задачу я реализовывал в Поиск укрытий от выброса

  • Мастер! 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Почему так? Я про полоски, где-то есть где-то нет

20241117_150656.jpg

20241117_150632.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Вопрос. Где можно откопать билдовскую лабу X-18?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Народ, кто знает как на карте сделать пометки точек интереса как в оригинальном ЗП? Ну то есть условный кружок на АТП поставить. А то все метки на одних аномалиях, а так и карта кажется пустоватой.
Для справки: мод "Legends Returns" на платформе ЗП.

Изменено пользователем Валера Казак

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   2 пользователя онлайн