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

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


Svoboда

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

@Sla-Sla, для тега text статика укажи параметр complex_mode="1". Но если описание будет слишком большое, то оно вылезет за нижнюю границу статика. Как вариант, можно вручную разбить текст на строки нужной ширины и сформировать из них список.

  • Спасибо 1
  • Полезно 1

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


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

@Sla-Sla, заполняй таблицы так:

local tPistolClasses = {
[clsid.wpn_hpsa] = true,
[clsid.wpn_pm] = true,
[clsid.wpn_fort] = true,
[clsid.wpn_usp45] = true,
[clsid.wpn_walther] = true
}

а видимость устанавливай так:

 self.btn_slot_1:Show( tPistolClasses[obj:clsid()]~=nil )
  • Спасибо 1
  • Нравится 1

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


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

Конечно неправильно. Посмотри в lua_help или class_registrator.script как они зарегистрированы.

cs_register	(object_factory, "CWeaponHPSA",		"se_item.se_weapon_magazined",		"WP_HPSA",	"wpn_hpsa_s")

Поэтому нужно писать clsid.wpn_hpsa_s и т.д.

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


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

@CRAZY_STALKER666, метод seek с аргументом "end" переводит позицию чтения в конец файла и возвращает размер файла.

function fsize (file)
  local current = file:seek()      -- получаем текущую позицию
  local size = file:seek("end")    -- получаем размер файла
  file:seek("set", current)        -- восстанавливаем позицию
  return size
end
 
-- пример
print(fsize(io.open("C:\\test_file.txt")))
Изменено пользователем Charsi
  • Спасибо 1

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


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

@CRAZY_STALKER666dvl_killer_sold_2_w_l? У тебя только dvl_killer_sold_2_w_w и dvl_killer_sold_2_l_l.

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

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


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

@HellRatz, в мотиваторе на обновлении подсказки такую же проверку сделай с переопределением текста подсказки. И на net_spawn тоже всё это добавить нужно, чтобы после перезагрузки уровня применялось.

  • Спасибо 1

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


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

@Faustle , в окно главного меню добавил скроллвью и в него две кнопки - всё работает.

	self.scroll = xml:InitScrollView("scroll", self) -- скролл
	self.btn1 = xml:Init3tButton("btn1", nil) --кнопка1
	self:Register (self.btn1, "btn1")
	self.btn2 = xml:Init3tButton("btn2", nil) --кнопка2
	self:Register (self.btn2, "btn2")
	self.scroll:AddWindow(self.btn1, true) -- добавляем кнопки в скролл
	self.scroll:AddWindow(self.btn2, true)
	self:AddCallback("btn1", ui_events.BUTTON_CLICKED, function() log("bnt1_down") end) -- ставим колбеки
	self:AddCallback("btn2", ui_events.BUTTON_CLICKED, function() log("bnt2_down") end)

 

  • Нравится 1

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


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

@Norman Eisenherz

local actor_alive = true
function on_actor_update()
...
	if actor_alive and not act:alive() then
		actor_alive = false
		news_manager.send_tip(...)

Но лучше для гибели актора использовать специальный callback.death, как в xr_motivator.script для НПС.

  • Согласен 1

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


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

@Mr.Srears, статья написана для ТЧ и при адаптации под ЗП нужно знать, что в ЗП слоты нумеруются иначе и метод give_game_news имеет другой набор аргуметов. Кроме того, в ЗП в биндере актора для события use_object уже установлен колбек self.use_inventory_item, поэтому тело функции actor_binder:repair_outfit_start из статьи нужно добавить в actor_binder:use_inventory_item(obj).

  • Полезно 1

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


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

В ТЧ оружие в слотах 1,2, костюм - 6. В ЗП на единицу больше, соответственно 2,3 и 7.

Поэтому нужно писать

    repair_item_in_slot(2)
    repair_item_in_slot(3)
    repair_item_in_slot(7)
    repair_item_in_slot(12) -- добавим починку шлема

Вместо

db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(83,470,83,47), 1000, 5000)

следует написать

db.actor:give_game_news("st_tip",news_text, "ui_iconsTotal_grouping", 1000, 5000)

Тут "st_tip" это заголовок сообщения, а "ui_iconsTotal_grouping" идентификатор текстуры. Их можно на свои заменить.

1000 и 5000 время до показа сообщения и длительность показа в миллисекундах.

  • Спасибо 1
  • Согласен 1
  • Полезно 1

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


Ссылка на сообщение
7 часов назад, dPlayer сказал:

как выдать поршень при подборе предмета в чистом поле без задания

Создай предмет на классе II_DOC и в его свойстве Info portion можешь указать нужный поршень.

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


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

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