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

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

@HellRatz, в смысле? Что-то типа такого?

local s_box = alife():story_object( my_super_uniq_story_id )
local box   = level.object_by_id( s_box.id )
db.actor:iterate_inventory(
  function( npc, item )
    db.actor:trasfer_item( item, box )
  end,
  db.actor
)

По памяти писал. Никаких проверок, типа у нашли-ли мы этот ящик и т.п., нет, а стоит добавить.

  • Спасибо 1
Ссылка на комментарий

 

 

  dsh писал(а):
Что-то типа такого?

Возможно. Надо проверять. Если при выполнении этой функции все предметы из рюкзака просто перелетают в именной ящик который точно есть, то да, оно самое.

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

@HellRatz

function nah_shmotki(actor, npc)
-- news_manager.send_tip(db.actor, "Определили схрон", nil, nil, 10000)
inv_box_1 = level_object_by_sid (99984)
out_object = actor
    in_object  = inv_box_1
if in_object then
-- news_manager.send_tip(db.actor, "Кидаем барахло", nil, nil, 20000)
end
actor:inventory_for_each(transfer_object_item)
end
  • Спасибо 1
Ссылка на комментарий

Здравствуйте. ТЧ. НС 2016
Есть ли возможность заспавнить именной ПДА Меченого из скрытой секции(который был у него на старте), если он был удален или выброшен ? Допустим, вернуть его невозможно, тогда вот что: можно как-то скриптом в нет-пакет заспавненного актеру левого скрытого ПДА любого непися записать характер ГГ ?

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

Обитаю в деревне новичков. За медузами хожу к ЧАЭС.

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

Забежал на форум спустя пол года - вдруг интересно стало.
Один и тот же НПЦ, при неизменяемых параметрах спавна (т.е прописал спавн непися и больше файлы игры не трогал) появляется то в одном месте, то в другом. Причем такая "аномальщина" замечена только для тех, у кого точки walk\look находятся на территории бара(именно подвал).

Быть может, у кого догадки есть? Просто спустя пол года от релиза Эпилога мне вдруг интересно стало, где я накосячил(

Не соответствует правилам.

Ссылка на комментарий
@CRAZY_STALKER666, возможно, проблема в аи-сетке. Попробуй поменять координаты walk и look, перенеси их наверх и посмотри, что получится.
Ссылка на комментарий

 

 

  dsh писал(а):
в момент спауна ящик в онлайне был?
Нет, но если придти к ящику сразу, то предмет в нём будет, а если после разговора, из которого вызывается спавн в ящик предмета, сохраниться и выйти из игры, а потом загрузится, то предмета в ящике не будет.
Ссылка на комментарий
@Graff46, ящики, которые находятся в спавне, всегда в онлайне, т.к. у них нет флагов перехода в оффлайн в object_flags. Чтобы пофиксить - после спавна предмета и выхода его в онлайн сделай трансфер этого предмета из ящика в тот же ящик. Типа box:transfer_item(item, box). Не так давно, где-то в этой теме или в ковырялке ТЧ, это уже обсуждалось. И даже специальную функцию для спавнa в онлайновые ящики приводили. Изменено пользователем naxac
  • Полезно 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

Ссылка на комментарий
  naxac писал(а):

сделай трансфер этого предмета из ящика в тот же ящик. Типа box:transfer_item(item, box)

Не помогло, но потратив 2 дня на парсинг тематических форумов я нашёл, то что нужно ящик перевести в оффлайн, а потом в онлайн, для перезаписи его нэт-пакетов. Вот рабочий код:
  Показать

 

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

Забавный эффект наблюдаю:

 

При входе актора в онлайн удаляется пачка объектов.

Через некоторое время срабатывает

function my_obj_binder:net_spawn( data )
	if not object_binder.net_spawn( self, data ) then return false end
	local obj = sim:object( data.id )
	if obj then ...
	else error() -- разумеется, это и срабатывает
это так должно быть ? Изменено пользователем Dennis_Chikin
Ссылка на комментарий

@Dennis_Chikin, 2017, отладчик и исходники, исходники и отладчик :)

Такое может быть, например, если вызвать аборт не из акторных скриптов. Движок его отловит, объект удалит, но игру не покрашит. В результате появляются биндеры без объектов.

В логе ничего похожего нет?

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

Не, тупо, for i = 1, 65535 do

if ... then alife():release( obj, true )end

end

 

а потом начинает отрабатывать net_spawn() всего удаленного.

Ссылка на комментарий
@Dennis_Chikin, я в некоторых случаях замечал, что движок как бы запланировал вывод в онлайн какие-то объекты и будет пытаться это делать, даже если их удалить после этого и до их net_spawn-а. Вот такое у меня ощущение осталось. Подробно не разбирался. Просто принял к сведению, что возможны чудеса.
  • Полезно 1
Ссылка на комментарий

Кто шарит в логике, подскажите, как тут дописать правильно, чтобы в сообщении указывалось имя NPC, а не писалось "Сообщение".

[sr_idle@20]
on_game_timer = 10000 | sr_idle@30 %+sad_artefuck_ready =send_tip(sad_artefact_upgr_ready:sad_atr_trader) -sad_atr_trader_go_kitchen%
send_tip - понятно, что это функция в xr_effects.script

 

Есть даже такой комментарий:

 

--[[
send_tip(news_id:sender:sender_id)
		1. news_id
		2. sender*
		3. sender_id*
		* - not necessary
--]]
news_id - это текст сообщения, т.е. string id. В моей логике имя sad_artefact_upgr_ready

sender - это иконка в секции tips_icons news_manager.script. В моей логике имя sad_atr_trader

sender_id - а это заголовок сообщения, story_id NPC.

 

story_id моего персонажа прописан в файле по пути: gamedata\configs\creatures\spawn_sections_sad.ltx

 

И выглядит так:

 

[sad_atr_trader]:stalker
$spawn                     = "respawn\sad_atr_trader"
character_profile     = sad_atr_trader
story_id = sad_atr_trader
Т.е. в логике я указал как:

[sr_idle@20]
on_game_timer = 10000 | sr_idle@30 %+sad_artefuck_ready =send_tip(sad_artefact_upgr_ready:sad_atr_trader:sad_atr_trader) -sad_atr_trader_go_kitchen%
Дело в том, что хоть story_id и указан, заголовок все также остается как "Сообщение".

 

 

UPD:

Я все-таки думаю, что story_id читается, но не отображается. Потому что, если указать другое имя, не являющееся story_id - игра вылетит.

Думаю, дело в функции send_tip в news_manager.script. Там не прописано отображение имени.

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

 

UPD2:

Проблема решена на форуме ap-pro: http://ap-pro.ru/forum/114-90122-1

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

Discord-сервер modfaq.ru: https://discord.gg/9j42BXwB

Ссылка на комментарий
  12.06.2017 в 10:18, Stalker Nest сказал:

Как мне начать понимать в скриптах? С какой литературой нужно ознакомиться?

Официальная "литература". Ну и конечно желание, и терпение. Без него далеко не уедешь.

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

Всем привет. Пытаюсь заставить актора зависнуть в воздухе. По нажатию клавиши получаю координаты позиции и телепортирую на апдейте в это тучку с помощью db.actor:set_actor_position. Актора начинает трясти, как в воздухе так и на земле. Пробовал вместо апдейта использовать fastcall, но его еще больше начинает трясти и даже раздваивает.

Видео

 

. Почему так происходит ?

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

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

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

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

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

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

Войти

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

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

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