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

[SoC] Ковыряемся в файлах


Halford

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

Привет всем!

Подскажите как можно получить имя объекта по его story_id?

Такая конструкция не работает...

local text
local obj = alife():story_object( 12345 )
if obj then
text = "..obj.."
news_manager.send_tip(db.actor, text, nil, nil, 30000)
end
end

 

Есть хабар - пойдёт базар :az1000106:

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


Ссылка на сообщение

@naxac, @makdm, Спасибо, то что надо!

Код сработал - Воронин теперь зелёный. В морду дал разок и успокоился :)

Добавил вывод инфо, если объект не существует

local text = "Помирились!"


local sobj = alife():story_object(507)
local lobj = sobj~=nil and level.object_by_id(sobj.id) or nil
if lobj then
lobj:set_relation(game_object.friend, db.actor)
else text = "Нет такого NPC"

end

news_manager.send_tip(db.actor, text, nil, nil, 30000)

end

 

 

@Samber13, Твой способ не сработал, у долга и так отношение к ГГ хорошие были, только Воронин испытывал личную неприязнь.

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

Есть хабар - пойдёт базар :az1000106:

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


Ссылка на сообщение

@Eugen81, увы, не работает.

запускает демо, а выключать не хочет

 

Вопрос по ОП-2

Как таймер установить?

amk.start_timer("test1", 120.0, "") - не работает

amk.start_timer("test1", 120, "") - не работает

amk.start_timer("test1", 120) - не работает

on_timer = 5000 - не работает

 

function teleport()
   news_manager.send_tip(db.actor, "timer", nil, "nano", 3000)
   on_timer = 5000
   news_manager.send_tip(db.actor, "timer 5000", nil, "nano", 3000)
end

 

 

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

Есть хабар - пойдёт базар :az1000106:

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


Ссылка на сообщение

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

 

Имеется биндер, в нём переменная initialized изначально false

function mobile_binder:__init( obj ) super( obj )
        self.object      = obj
	self.initialized = false

Далее переменная становится true

function mobile_binder:update( delta )
	object_binder.update( self, delta )

	-- инициализация
	if (self.initialized) then
		_fp_manager.update()
		self:CreateSpawnProperties()
	else
	    self:DelChangerTeleport()
	    self.initialized = true
	end
	

Как проверить её во внешнем скрипте

	if (mobile_binder.initialized) = true then
		news_manager.send_tip(db.actor, "Существует!", nil, "nano", 5000)
--		_bind_mobile.mobile_binder:MmOpenMenu()                        -- вызов метода того-же скрипта, в котором переменная
	else
		news_manager.send_tip(db.actor, "Не существует!!!", nil, "nano", 5000)
	end

Вылет, причина: внешний скрипт - nil

 

 

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

Есть хабар - пойдёт базар :az1000106:

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


Ссылка на сообщение

Приветствую всех!
У актора в инвентаре некий предмет (варианты: съедобный, несъедобный), на предмет повешен биндер.
Требуется отследить использование предмета и выполнить действия.
Можно отследить потерю предмета (съел) аналогично ручным телепортам, либо (для несъедобного предмета) назначить кнопку в hotkeys.script с выдачей поршня и выполнением действий при наличии поршня
Можно повесить предмет на пояс или в слот
Вопрос: есть ли другие варианты использования предмета (желательно съел - действие), или это всё что доступно?
 
Все равно это читать ни кто не будет, видимо, из принципа, но на всякий случай:

http://www.amk-team.ru/forum/index.php?showtopic=13054
Или надо что-то другое ? dc

 

То что надо, извините за мою невнимательность :blush: ...

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

Есть хабар - пойдёт базар :az1000106:

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


Ссылка на сообщение

Из ОП-2

 

 

db.actor:iterate_inventory(
	function(dummy,item)
		section = item:section()
		if not protected_items.is_grab_body_item_keep(item:section()) then
			if условие then
				db.actor:transfer_item(level.object_by_id(item:id()), box)
			end
		end
	end
	,db.actor)

 

 

Как проверить, что данный итем не находится в слоте?

  • Полезно 1

Есть хабар - пойдёт базар :az1000106:

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


Ссылка на сообщение

@gam, @naxac, Спасибо, помогло! :)  Ещё вопросик:

Возможно ли скриптово одеть на актора броню, или только выложить всю броню в ящик, например, и взять нужную и при этом актор оденет её?

Второй вариант удалить броню по айди в слоте 6, потом заспавнить нужную (при этом кондицию придется менять)...

  • Полезно 1

Есть хабар - пойдёт базар :az1000106:

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


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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