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

Скриптование


Svoboда

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

ferrari314,

3. Еще по всей локации разбросан предмет bolt. как сделать чтобы они все удалялись (по типу уборщика оружия даже можно).

Параметр destroy_time в конфиге болта не катит? Или "bolt" новый предмет с одинаковым именем с болтом? (чему я сомневаюсь)

 

засовывать скрипт надо в биндер актера, в функцию использования..

Нужно еще сам колбек юза добавить для начала.

Telegram-канал RayTwitty Space

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


Ссылка на сообщение
Привет всем! Вот в ЗП есть 4 хот-кея...Они являются слотами? Можно как-нибудь отследить, что в них находится (аптечка, антирад и т.д.)? Благодарю.

 

function item_in_fast_slot(slot_id)
local section = get_console():get_string("slot_"..slot_id)
if section then
return db.actor:object(section)
end
end

Проверяет есть ли в слоте быстрого использования предмет. В функцию передавать номер слота (1-4). На всякий случай добавил проверку наличия секции (вроде предмета в слоте может и не быть?).

 

З.Ы. если нужно конкретный итем проверять, то можно чуть переделать функцию.

Изменено пользователем Shadows
  • Нравится 1

Telegram-канал RayTwitty Space

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


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

Magnus1,

local sactor = alife():actor() --получаем серверный объект актера

local cactor = level.object_by_id(sactor.id) --по его ID получаем клиентский объект актера

Зачем же такие извращения? db.actor разве не катит?

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

Telegram-канал RayTwitty Space

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


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

Вопрос касательно источников света (hanging_lamp).

В ТЧ существуют методы отслеживания "смерти" лампочки? Как показали эксперименты, колбек на смерть не пашет (соотв. и установка on_death, ph_on_death в логике тоже), метод alive() тоже ничего не дает, а свойство health в биндере выдает вообще отрицательное значение ._.

 

Может быть кто-нибудь сталкивался с таким и знает решение проблемы?

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

Telegram-канал RayTwitty Space

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


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

а AddDialogToRender нечто подобное добавлению обычного кастом статика, в итоге добавленное окно все равно прячется под движковое.

AddDialogToRender как раз таки ставит поверх всего, игнорируя даже движковые окна (торговли, диалога и т.д.). По крайней мере так в ТЧ. Изменено пользователем Shadows

Telegram-канал RayTwitty Space

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


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

@Viнt@rь,в ЗП выпилили этот метод.

Когда я ковырял под ЗП, тоже, внезапно столкнулся с фактом его отсутствия и был ошеломлен. Придется плясать с бубном либо лезть в движок и восстанавливать.

Telegram-канал RayTwitty Space

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


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

И еще есть такой вопрос, правда кода для примера нету. Как сделать скриптовое меню аля ТСС для ЧН\ЗП? Тама используется насколько помню метод Init. Есть аналог какой? 

Оригинальное меню такое-же скриптовое как и билдовское. Просто в билдовском вместо "шняги" (CUIMMShniaga) используются обычные кнопки.

 

 

Кстати где можно глянуть переименованные функции? Сравнение ТЧ\ЧН с ЗП.

http://www.amk-team.ru/forum/index.php?showtopic=7450&p=515301

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

Telegram-канал RayTwitty Space

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


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

Прошу помочь с вопросом. Совсем запуталься. В случае, если мы скриптово заспавним у ГГ предмет и после также скриптово его сьедим, сработает ли коллбек юзания у ГГ или нет?

Скорее всего нет, т.к. на момент спавна предмет еще будет в оффлайне.

Ставь колбек на выход в онлайн, после чего кушай. Ну и колбек на юз тогда сработает конечно.

Telegram-канал RayTwitty Space

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


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

, кстати, в оригинальном модуле LuaXml.lua, тов. Charsi модифицировал функцию поиска тегов. Смысл в том, что раньше надо было искать субтег последовательно:

local xfile = xml.load("test.xml")
local xscene = xfile:find("scene"):find("camera")
а теперь, как в сталке можно через двоеточие:

local xscene = xfile:find("scene:camera")
Изменено пользователем Shadows

Telegram-канал RayTwitty Space

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


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

Класс недоэкспортирован в ТЧ, следовательно работать - никак. В ЗП - можно.

Кривая инфа из луа_хелпа - не показатель. Все методы есть и в ТЧ, юзай метод SetProgressPos для изменения значения прогресс-бара.
  • Спасибо 1

Telegram-канал RayTwitty Space

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


Ссылка на сообщение
@mumie, в конфиге прогресс-бара есть атрибуты min и max. Соответственно диапазон и равен этим параметрам.

Telegram-канал RayTwitty Space

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


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

сделать серию подвидов, внешне неотличимых, но с разным переносимым весом

какие артефакты находятся на поясе ГГ, читать их конфиги, и если в них найдется строчка отвечающая за переносимый вес

Вместо 100500 модификаций костюмов актор элементарно с самого начала загружается невидимым балластом, например. А потом балласт убирается.

На дворе 2014 год, а люди до сих пор подобные вещи делают через "переспавн костюмов" и невидимый "баласт" :rofl2: 

 

X-Ray extensions и методы get_actor_max_weight/set_actor_max_weight, get_actor_max_walk_weight/set_actor_max_walk_weight и get_inventory_weight в помощь.

 

З.Ы. а еще лучше скачать исходники и сделать сразу как надо.

Изменено пользователем Shadows
  • Согласен 1

Telegram-канал RayTwitty Space

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


Ссылка на сообщение
Нужно узнать почти сразу же - мёртв ли сталкер после метода obj:kill(obj). Метод obj:alive() не предлагать, пробовал - метод говорит что сталкер всё ещё жив.


local bAlive = true

function MobKill(obj)

obj:kill(obj)

bAlive = false

end

 

function aaa()

if not bAlive then

...

end

end

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

Telegram-канал RayTwitty Space

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


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

@Max_Raf, вроде кроме метода alive в скрипты ничего не экспортировано по этой теме. Так что остается либо такой костыль, либо если смогешь, то меняй в памяти какой-нибудь байт у этого объекта, а потом его читай где надо.

 

З.Ы. health == 0 кстати пробовал?

 

 

 

чтобы оно осталось даже если игра будет перезагружена.

Так ведь после перезагрузки, если объект будет мертв, то и alive вернет фальс.

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

Telegram-канал RayTwitty Space

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


Ссылка на сообщение
obj.just_killed = true

Разве новые свойства таким образом можно задавать?

 

Why not ? Ни чем не отличается от self.what_you_know = something из себя. dc

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

Telegram-канал RayTwitty Space

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


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

if outfit and outfit:section() == "my_super_duper_outfit" then db.actor.power = db.actor.power + 0.1 end

power это же свойство. Получается к уже прибавленному 0.1, будет прибавляться текущее значение выносливости. Надо писать db.actor.power = 0.1.

Telegram-канал RayTwitty Space

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


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

while a < 65535 do

if anoms_onoff_buffer[a] then

А если просто по этой таблице итерироваться, зачем while? Насколько я понял, в таблице лежат айдишники аномалий, который ушли в оффлайн - вот только их и надо переводить обратно. Хотя, конечно вопрос был не в этом и вопрос интересный... Попробуй посмотреть, как сделано управление кострами в последнем OGSE - там совершенно точно они прямо перед ГГ разжигались.

Telegram-канал RayTwitty Space

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


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

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