Перейти к контенту

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

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

можно взять список сейвов, отсортировать их по дате и первый, всегда будет самый свежий.

Попробовал, повесил на сейв в биндере, но возвращается предыдущий файл, видимо не успевает записаться новый сейв, остается только таймеры велосипедить...

function test ()
local f = getFS()	
	local flist = f:file_list_open_ex("$game_saves$",bit_or(FS.FS_ListFiles,FS.FS_RootOnly),"*.sav")
	flist:Sort(FS.FS_sort_by_modif_down)
	local file = flist:GetAt(it)	
	file = file:NameFull() or 'none'
	get_console():execute(file)
end

Почему-то не вылетело, хотя it не объявлено...

Изменено пользователем Graff46
Ссылка на комментарий
50 minutes ago, Graff46 said:

но возвращается предыдущий файл

Попробуй не прямо из save это делать, а запускать какой-либо таймер, который это сделает на следующем апдейте.

 

А, ну да, ты об этом и написал. Почему велосипедить. Вполне нормальное решение. Таймеры, конечно, нормальные нужно иметь. Но их по любому иметь нужно, как и менеджер событий. Я бы вот так сделал:

 

...
dsh.exec_on_update(
  function()
    -- тут что-нибудь, если нужно
    rename_last_save()
    -- тут еще что-нибудь
  end
)

или еще проще, если ничего лишнего не нужно

dsh.exec_on_update( my_script.rename_last_save )

 

Изменено пользователем dsh
Ссылка на комментарий

Насчёт порчи артов... 

С помощью этой функции:

function degrad_art(obj)
    if obj:section() == "af_medusa" then
        obj:set_condition(0.5)
        -- alife():release(alife():object(obj:id()))
    end
end

баловался с состоянием арта - всё работает.

Но вот как это реализовать в игре? Денис говорил, что через net_packet можно не меняя движок это сделать. 

Скачал DSH, нашёл там полный скрипт порчи: dsh_art_degrad.script. Где он подключается?

Важнейшая задача цивилизации - научить человека мыслить.

Ссылка на комментарий
Только что, Graff46 сказал:

отчасти xr_combat.script

что значит отчасти?

Ссылка на комментарий
Только что, alexsimm сказал:

что значит отчасти?

А что значит " какие файлы отвечают за поведение неписей в режиме боя? "? Поведене НПС в боёвке широкое понятие... хр_комбат отвечает за тип боя кемперский, монолитовский и еще какой то... Вот это почитайте... Ну или пишите конкретней чего хотите, часть параметров НПС типа меткости, глазастости и тд -  в конфигах записано.

Изменено пользователем Graff46
Ссылка на комментарий
30 минут назад, Graff46 сказал:

Ну или пишите конкретней чего хотите,

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

Ссылка на комментарий
13 минут назад, Graff46 сказал:

В основном это движковое всё, но посмотрите xr_combat и xr_danger...

Реально через скрипты изменить поведение неписей в режиме боя, допустим, не двигаться на цель,а спрятаться  или обойти другим путём?

Ссылка на комментарий
5 минут назад, buffy сказал:

Не утверждаю, но по-моему в огсе это сделано.

мне не нравится, когда неписи как бараны идут по одному пути на тебя и дохнут в одном месте. это поправимо?

Ссылка на комментарий

Это - вообще в первую очередь от локации зависит. Если укрытий нет - непись прятаться не будет. Второе - конфиги оружия.

Ссылка на комментарий
17 минут назад, Dennis_Chikin сказал:

Это - вообще в первую очередь от локации зависит. Если укрытий нет - непись прятаться не будет. Второе - конфиги оружия.

укрытия есть, было бы желание

Ссылка на комментарий

Однако...

 

делаем раз:

function amk_particle:stop()
    self.give_dmg = false
    if self.particle:playing() then self.particle:stop_deffered() end
    if self.snd and self.snd:playing() then self.snd:stop() end
end

 

делаем два:

function amk_particle:__finalize()
    log( "log", "finalize: %s ...", self.p_name )
    if self.particle.playing and self.particle:playing() then self.particle:stop() end
    t_particles[self.p_id] = nil
    log( "log", "finalize: %s, ok", self.p_name )
end

 

результат:

! ALife simulator has not been started yet
* Log file has been saved successfully!
stack trace:

0023:0583DAD0 xrGame.dll
0023:00E77041 xrLUA.dll, luabind::detail::get_class_name()
0023:00E7E918 xrLUA.dll, luabind::detail::class_rep::function_dispatcher()

 

Я думал, alife(), как и прочие партиклы, должны дестроиться ПОСЛЕ того, как отработали все "пседооопшные" дела...

 

Ну и авторы скрипта, видимо, тоже...

 

Изменено пользователем Dennis_Chikin
Ссылка на комментарий
В 14.03.2018 в 20:49, dimka02 сказал:

Возможноли как-то сохранить/загрузить название секции оружия находящегося в слоте ?

Да, в псторе.

Если вы о сейвах.

Изменено пользователем Graff46
  • Спасибо 1
Ссылка на комментарий

Давно практики не было, подкскажите, как более лаконично получить все артефакты на текущем уровне? Платформа cop.

Ссылка на комментарий

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

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...