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

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

Stalk15, нужно seq анимацию.

Создаём текст на картинке с альфаканлом в разных вариациях цвета и с помощью seq меняем.

Или просто текст? Тогда надо менять цвет самого текста. Тока как бы это скриптом сделать.

Ссылка на комментарий
Я пробовал удалять и тут же спавнить через скрипт прямо во время игры (скрипт работает при определенных условия через биндер) но эт не выход ведь если играть с снимаемым прицелом то он не спавнить на калаше к примеру!
Я не силён в нет-пакетах, но в профилях некоторых неписей видел способ присоединения апгрейдов которые можно снять.

ЗЫ: Игры нет под рукой, так что посмотри сам профиля наёмников и свободовцев на милитари. У них эта фича чаще всего встречается.

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

кровоSTALKER я этот вопрос задаю не первый раз и все путают! Надо чтоб спавнился с снимаемым апгрейдом в руках у ГГ!!! У неписей это все ясно тут ничего сложного, но вот с ГГ!!!

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

От общего количества восклицаний на см2 тебе быстрее не ответят. Спроси у Кирага (Kirag) - он знает.

Ссылка на комментарий
как заспавнить к примеру калаш с надетым но снимаемым прицелом через скрипт в руках или в инвентарь к ГГ?

Заспаунить отдельно калаш и отдельно прицел в инвентаре не вариант? А потом нацепить его вручную.

Ты ведь заменяешь один калаш на другой (точнее, такой же, но с другим описанием, хотя тут не важно). Ну и что мешает выполнить проверку, есть ли на удаляемом объекте прицел, и если есть, то заспаунить новый калаш и прицел к нему.

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

Возможно ли сделать Ранг для каждой группировки?

Что имею в виду:

Допустим у вояк ранги: рядовой, лейтенант, капитан, генерал и т.п. и так же у Долга.

А у Одиночек: новичок, опытный, Мастер.. и т.п....

Реально или нет?

 

87728-stalker.gif
Ссылка на комментарий

Stalk15,

Не помню есть ли какой метод для этого,поэтому опишу как сделать по другому.

есть переменная которая каждый апдейт наращивается на 1

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

Теперь если первая переменная равна 1500,то третья переменная равна true.

Короче что-то вроде этого:

 

если not переменная3 то
переменная1=переменная1+1
если переменная1==1500 то
  переменная3=true
  переменная1=0
энд
энд
если переменная3 то
переменная2=переменная2-1 
если переменная2==0 то
   переменная3=false
   переменная2=500
энд
  выводим_текст
энд

 

:)

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

Knight мне нужно чтоб в при определенных условиях (они уже написаны и работают) при перезараядке (это уже тоже написано) через скрипт удалялся (это тоже все сделано) калаш с одетым (но снимаемым прицелом) а за место него спавнился другой, но уже с одетым прицелом, но снимаемым, чтоб это перемена старого калаша на новый не была заметна!

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

Byurrer,

Это только через нетпакеты. Там у ствола есть флажки, которые отвечают за надетость каждого аддона.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

malandrinus спасибо, понял, но вот еще вопрос правда я его уже задавал ... о веж!

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

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

На движке ТЧ - только подменой секции оружия на такую же, но с другим прописанным худом.

На движке ЗП - уже реализовано ПЫС'ами.

Ссылка на комментарий
TREWKO, я конечно не malandrinus :), но могу посоветовать посмотреть в lua_help.script методы слотов :)(если они там описаны :)) Изменено пользователем меченый(стрелок)
Ссылка на комментарий

Подскажите, как в эту функцию:

local start_timer_hud = false
local TimerHud
function testim()
local  hud = get_hud()
local wpn = db.actor:active_item()
local function timer_hud(seconds)
   TimerHud = time_global() + 1000*seconds
end 
      if isWeapon(wpn) then 
        if wpn:get_ammo_in_magazine() <= 5 then
          if not start_timer_hud then
            timer_hud(7)  -- взводим таймер паузы перед показом надписи на 1 секунду
           start_timer_hud = true
           end
      if TimerHud and TimerHud<time_global() then 
        hud:AddCustomStatic("testsss", true)
         hud:GetCustomStatic("testsss"):wnd():SetTextST("st_malo_patons")
           hud:GetCustomStatic("testsss").m_endTime = time_global()/1000 + 1  -- убираем статик на  худе через 3 секунды -в том случае, если ствол был перезаряжен.
            end 
          else
start_timer_hud = false
TimerHud = nil 
end
end
end

 

Добавить это:

        if wpn:get_ammo_in_magazine() > 5 then
      hud:RemoveCustomStatic("testsss")
            end
end

 

Пробовал так:

local start_timer_hud = false
local TimerHud
function testim()
local  hud = get_hud()
local wpn = db.actor:active_item()
local function timer_hud(seconds)
   TimerHud = time_global() + 1000*seconds
end 
      if isWeapon(wpn) then 
        if wpn:get_ammo_in_magazine() <= 5 then
          if not start_timer_hud then
            timer_hud(7)  -- взводим таймер паузы перед показом надписи на 1 секунду
           start_timer_hud = true
           end
      if TimerHud and TimerHud<time_global() then 
        hud:AddCustomStatic("testsss", true)
         hud:GetCustomStatic("testsss"):wnd():SetTextST("st_malo_patons")
            end 
          else
start_timer_hud = false
TimerHud = nil 
end
        if wpn:get_ammo_in_magazine() > 5 then
      hud:RemoveCustomStatic("testsss")
            end
end
end

 

Но так вылетает.Не подскажете, как надо правильно?

 

---------------------------------------------------------------------------------------------

кровоSTALKER

Второй енд так, от балды поставил:)

Так тоже вылетает.

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

local start_timer_hud = false
local TimerHud
function testim()
local  hud = get_hud()
local wpn = db.actor:active_item()
local function timer_hud(seconds)
   TimerHud = time_global() + 1000*seconds
end
      if isWeapon(wpn) then
        if wpn:get_ammo_in_magazine() <= 5 then
          if not start_timer_hud then
            timer_hud(7)  -- взводим таймер паузы перед показом надписи на 1 секунду
           start_timer_hud = true
           end
      if TimerHud and TimerHud<time_global() then
        hud:AddCustomStatic("testsss", true)
         hud:GetCustomStatic("testsss"):wnd():SetTextST("st_malo_patons")
           hud:GetCustomStatic("testsss").m_endTime = time_global()/1000 + 1  -- убираем статик на  худе через 3 секунды -в том случае, если ствол был перезаряжен.
            end
          else
start_timer_hud = false
TimerHud = nil
end
end
if wpn:get_ammo_in_magazine() > 5 then
      hud:RemoveCustomStatic("testsss")
            end
end
end

 

Добавлено через 1 мин.:

if wpn:get_ammo_in_magazine() > 5 then
      hud:RemoveCustomStatic("testsss")
            end
end

А разве тут нужен второй энд?

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

Возможно ли и есть ли вообще смысл как-то оптимизировать этот скрипт:

local outfitsec
local pow
local snd_volume
local gltimer
local outfit
local timer = 0
local snd_g = sound_object("actor\\breath_gas")
local snd_n = sound_object("actor\\breath_no")
local cyc = 4000 -- max цикл
local pow_lim = 1600 -- min цикл

function update()
outfit = db.actor:get_current_outfit()
if outfit ~= nil then outfitsec = outfit:section() end
if outfit ~= nil 
	and outfitsec ~= "novice_outfit" 
	and outfitsec ~= "bandit_outfit" 
	and outfitsec ~= "shram_outfit" 
	and outfitsec ~= "cs_light_outfit" 
	and outfitsec ~= "svoboda_heavy_outfit" 
	and outfitsec ~= "specops_outfit" 
then
	pow = db.actor.power*cyc
	if pow < pow_lim then pow = pow_lim end

	snd_volume = 1.25-db.actor.power
	if snd_volume > 1 then snd_volume = 1 end
	snd_g.volume = snd_volume

	if timer == 0 then timer = time_global() + pow end
	gltimer = time_global()
	if gltimer > timer then
		snd_g:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d)
		timer = 0
	end

else
	pow = db.actor.power*cyc
	if pow < pow_lim then pow = pow_lim end

	snd_volume = 0.9-db.actor.power
	if snd_volume > 0.9 then snd_volume = 0.9 end
	snd_n.volume = snd_volume

	if timer == 0 then timer = time_global() + pow end
	gltimer = time_global()
	if gltimer > timer then
		snd_n:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d)
		timer = 0
	end
end
end

 

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

Byurrer, в оружии прописываешь свой конфиг:

;Пример для конфига абакана
[wpn_abakan_ruki_exo]:wpn_abakan
hud                          = wpn_abakan_exo_hud
[wpn_abakan_exo_hud]
visual                      = weapons\abakan\название_твоего_худа_рук.ogf

При надевании экзоскелета выбрасываем обычный абакан, и спауним в рюкзак такой же, но с другим худом рук:

function exo_hud()
local armor = db.actor:item_in_slot(6) --Слот брони
local weapon = db.actor:item_in_slot(2) --Слот оружия

if db.actor:active_slot()==2 and weapon then
local tmp
if armor then
tmp = armor:section()
else
tmp = "none"
end

if (string.find(tmp, "exo" )) and weapon:section()=="wpn_abakan" then --если надели экзу и у нас в руках абакан, то...
db.actor:drop_item(weapon) and not has_alife_info("exo_used") then --выбрасываем абакан и проверяем наличие инфопоршна-затычки...
alife():create("wpn_abakan_ruki_exo", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) --спауним абакан с худом рук экзы в инвентарь актора
alife():release(weapon) --удаляем выброшенный обычный абакан
db.actor:give_info_portion("exo_used")
news_manager.send_tip(db.actor,"Худ изменён.",nil,nil,10000)
end
end

 

И всё это на апдэйт в бинд сталкер.

ЗЫ: На всякий - прогони через луа чекер.

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

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

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

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

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

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

Войти

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

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

×
×
  • Создать...