Перейти к содержанию

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

 
 
1 час назад, AziatkaVictor сказал:

Daauga (или как правильно пишется, не помню)

DaaGuda

1 час назад, AziatkaVictor сказал:

у меня он жаловался на кривые thm, но вылета не было.

Вылет SDK с логом (Pos<=Size) && (Pos>=0), происходит если в бинарные поля THM были внесены правки текстовым редактором. Вылет 32 битного компилятора может быть если у текстуры одного размера, THM от текстуры другого, у 64 битного компилятора вылет происходит только после обработки всех текстур с указанием всех "не правильных" THM в логе. Но сам SDK с текстурами у которых такие THM не вылетает и в логе на них не ругается.

Так же компиляторы вылетают и при недостающих THM.

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

EaRLNb6.gif
AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

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


Ссылка на сообщение
Поделиться на другие сайты
 

AziatkaVictor Вроде же в configs\scripts\название локации\smart есть логика нпс, там может быть параметр gather_items_enabled     и     help_wounded_enabled - вот первое это подбор, а второе - это помощь нпс. Надо сделать так: gather_items_enabled = false      и       help_wounded_enabled = false

А combat_ignore_cond = false    или    combat_ignore_keep_when_attacked = false    это для стрельбы вроде (если игнорить надо стрельбу - то вместо false надо писать true)

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

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


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, AziatkaVictor сказал:

Может кто подсказать, есть квест, где НПС занимает анимпоинт и должен игнорировать абсолютно ВСЁ, что происходит вокруг

Вот читаю вопросы и удивляюсь. Вы как-будто первый раз Сталкер увидели.

Возьмите Скадовск. Там ВСЕМ ключевым персонажам абсолютно ПЛЕВАТЬ на ВСЁ что происходит вокруг. Все они стоят или сидят в анимпоинтах.

Неужели трудно подсмотреть их логику в оригинале игры?

 

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

Терпение... И все получится.

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


Ссылка на сообщение
Поделиться на другие сайты
 

Как добавить новые анимации перезарядки для новых оружий для НПС? Как это сделали в X-ray multiplayer extension.

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


Ссылка на сообщение
Поделиться на другие сайты
 

Как выдать игроку детектор "Велес" через скрипт?

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


Ссылка на сообщение
Поделиться на другие сайты
 
2 часа назад, xorda сказал:

Как выдать игроку детектор "Велес" через скрипт?

В dialogs_имения локации.script нужно прописать во эту функцию

function give_skotch_detector (first_speaker, second_speaker)
    dialogs.relocate_item_section(second_speaker, "detector_elite", "in") 
end

skotch- имя эсклюзивного нпса у тебя наверно дугое имя экс. нпса который выдаст тебе детектор любой который ты пропишеш.

  • Спасибо 1

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


Ссылка на сообщение
Поделиться на другие сайты
 
4 часа назад, liner сказал:

Как добавить

Курите файлы ActorAnimations. Работа с анимациями ГГ там. В том файле и можно добавить неполную перезарядку, если речь о ней. У нпс уже по аналогичным текстам поиск ведем.

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


image.png.489a34a67081676c25779ea216ba3788.png


 

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


Ссылка на сообщение
Поделиться на другие сайты
 

Siderous mod 2.2 +Atmosfear 3 (адаптация под SGM 2.2). 
Вопрос такой: При выбросе..
1. Резко меняется небо. Происходит резкий переход на другой скайбокс, другой секции погоды, но не на скайбокс начала выброса (из Atmosfear 3).
2. Далее всё как обычно (как и в Atmosfear 3): звук сирены, предупреждение сталкеров...
3. Далее начинается выброс и идёт оранжево-красная волна (как и в Atmosfear 3).

При этом скайбоксы секции погоды не меняются. Солнце или луна стоят на небе (в Atmosfear 3 они всегда "убегают" перед началом выброса). В итоге до конца выброса, скайбоксы из папки gamedata\textures\sky\af3_blowout\..   так и не подгружаются.

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

Записал коротенький фрагмент. Там видно, как солнце начинает перемещаться (согласно Atmosfear 3) и потом резко оставливается чуть правее. В итоге скайбоксы выброса не подгружаются.

Спойлер

 

 

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

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


Ссылка на сообщение
Поделиться на другие сайты
 

подскажите, как проиграть звук через какое-то время с помощью функции, которая запускается через диалог?

function actor_pda1() 
local snd = sound_object([[new\pda_tip]]) 
snd:play_no_feedback(db.actor,sound_object.s2d, 0, vector():set(0, 0, 0), 2.0) 
end 
по идее, вот эта функция должна выполнять свою задачу, но когда я меняю число 0, на какое-либо другое, то звук просто не приходит
ставил в милисекундах, например 0.02 (20 сек), ставил просто число 20
в обоих случаях звук не проигрывается
когда там стоит 0, то звук приходит мгновенно

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


Ссылка на сообщение
Поделиться на другие сайты
 

Как в GUI реализовать работоспособность такого компонента как SpinNum? Это компонент где вверх-вниз листаются числа

ss_user_11-30-21_14-20-57_(jupiter_underground).jpg

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

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


Ссылка на сообщение
Поделиться на другие сайты
 

detooxe у меня нормально в play_no_feedback проигрывался с задержкой (но пробовал только целые числа)


Дополнено 1 минуту спустя

Paradox27kms видел в файлах sgm 2 geonezis, но не помню где использовалось (и задействовано ли было в игре), там посмотрите для примера

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

В беге за рассветом приближаешь свой закат

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


Ссылка на сообщение
Поделиться на другие сайты
 

Всем привет! Можно ли создавать партиклы не только в SDK, есть что поудобнее?

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


Ссылка на сообщение
Поделиться на другие сайты
 

vader_33 Благодарю, гляну.


Дополнено 8 минуты спустя

vader_33 Там встроен стандартный Повелитель Зоны но там главное значение в скрипет tonumber а это на сколько я знаю денюжка в инвентаре ГГ.

function god_dialog:OnButton_load_clicked()
local sec = self.file_data:GetText()
local dis = tonumber(self.spin_spawn:GetText())
local dir 
local pos 

if tostring(sec)=="nil" or tostring(sec)=="" then return end


if db.actor~=nil then
dir = db.actor:direction()
pos = db.actor:position()
end

if mode == "item" then
	if (db.actor ~= nil) then     
            if tonumber(self.spin_spawn:GetText())==0 then
		alife():create(sec, db.actor:position(), 0, 0, db.actor:id())
            else
		pos = pos:add(dir:mul(dis))
 		alife():create(sec, pos, db.actor:level_vertex_id(), db.actor:game_vertex_id())
            end
	end
end

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

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

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


Ссылка на сообщение
Поделиться на другие сайты
 

Paradox27kms tonumber превращает строку в число, к деньгам актора отношения не имеет


В беге за рассветом приближаешь свой закат

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


Ссылка на сообщение
Поделиться на другие сайты
 

vader_33 Пробовал таким способом - не сработало

function ui_mm_mod:OnSpinWarmup()
         local num = tonumber(self.spin_warmup:GetText())
         if tonumber(self.spin_warmup:GetText())==1 then
         self:HideDialog()
         end
end

 

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


Ссылка на сообщение
Поделиться на другие сайты
 

Привет всем. Такие проблемы:

1) Как узнать координаты экрана в игре, чтобы прописать их для ui?

2) Подскажите скрипт для чего-то по типу субтитров. Нужно чтобы текст появлялся снизу на нужное время. 

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


Ссылка на сообщение
Поделиться на другие сайты
 

Emmis 1. Координаты? Ширину и высоту? device().width и device().height

2. Можно через AddCustomStatic добавлять текст, потом убирать (для примера - cs_radiation_danger в bind_stalker.script)

Paradox27kms без понятия, спиннумом не пользовался никогда

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

В беге за рассветом приближаешь свой закат

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


Ссылка на сообщение
Поделиться на другие сайты
 

vader_33 плохо(


Дополнено 3 минуты спустя

Emmis Насчет координат то на глаз пишешь и тестишь игру каждый раз

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


Ссылка на сообщение
Поделиться на другие сайты
 

Paradox27kms спросите на амк в ковырялке, может кто использовал


В беге за рассветом приближаешь свой закат

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


Ссылка на сообщение
Поделиться на другие сайты
 

vader_33 Да я уже сам разобрался... а как реализовать чтобы при сохранении сейв удалялся?

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


Ссылка на сообщение
Поделиться на другие сайты
 

Emmis 

1. Вообще всегда используется разрешение 1024х768, просто представь область такого размера и пиши, откуда начинать отчет и какой должен быть размер и определённого блока. Например, начать с х=10, у=10, то есть смещаешь начало на 10 пикселей относительно верхнего левого угла, а потом задаешь ширину и высоту. Ну и потом адаптируй под 16 на 9, но тут уже надо помучаться.

2. Я делал вот так:

Спойлер

Создал кастом в файле "ui_custom_msgs.xml":


<subtitle_text x="400" y="720" width="209" height="18">
    <text font="letterica16" align="c" vert_align="c" r="255" g="255" b="255"></text>
</subtitle_text>

<subtitle_name x="400" y="700" width="209" height="18">
    <text font="letterica18" align="c" vert_align="c" color="ui_7"></text>
</subtitle_name>

Написал функцию в "xr_effects.script":


function create_subtitles(actor, npc, p)
	if (p[1]) and (p[2]) then
		local hud = get_hud()

		if (hud:GetCustomStatic('subtitle_name') ~= nil) then
			hud:RemoveCustomStatic('subtitle_name', true)
		end

		if (hud:GetCustomStatic('subtitle_text') ~= nil) then
			hud:RemoveCustomStatic('subtitle_text', true)
		end

		hud:AddCustomStatic('subtitle_name', true)
		hud:AddCustomStatic('subtitle_text', true)

		local subtitle_name = hud:GetCustomStatic('subtitle_name')
		local subtitle_text = hud:GetCustomStatic('subtitle_text')

		local str_name = game.translate_string(p[1]) or "NameError"
		local str_text = game.translate_string(p[2]) or "TextError"

		subtitle_name:wnd():TextControl():SetText(str_name)
		subtitle_text:wnd():TextControl():SetText(str_text)
	end
end

function clear_subtitles()
	local hud = get_hud()

	if (hud:GetCustomStatic('subtitle_name') ~= nil) then
		hud:RemoveCustomStatic('subtitle_name', true)
	end

	if (hud:GetCustomStatic('subtitle_text') ~= nil) then
		hud:RemoveCustomStatic('subtitle_text', true)
	end
end

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


[sr_idle@1]
on_info = %create_subtitles(title:text)% sr_idle@2

[sr_idle@2]
on_game_timer = 40 | %create_subtitles(title2:text2)% sr_idle@nil

[sr_idle@nil]
on_game_timer = 40 | %clear_subtitles()% nil

А если ты делаешь озвучку, то еще проще, потому что модно использовать сигнал, когда звук заканчиваеться, как аналог для on_game_timer, точнее как более грамотное решение.

Может конечно решение кривое, но у меня работает.

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


Ссылка на сообщение
Поделиться на другие сайты
 

Как создать телепорт в sdk?

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


Ссылка на сообщение
Поделиться на другие сайты
 

Paradox27kms последний сейв? Так например. Если сразу после сохранения - наверно надо на таймер вешать

Спойлер

	local fs = getFS()
	local flist = fs:file_list_open_ex("$game_saves$", bit_or(FS.FS_ListFiles, FS.FS_ClampExt), "*.scop")
	local f_cnt = flist:Size()  
	flist:Sort(FS.FS_sort_by_modif_down) 
		if f_cnt > 0 then
			local file = flist:GetAt(0)
			local sv_name = file:NameFull()
			
			local sav = fs:update_path("$game_saves$",sv_name..".scop")
			fs:file_delete(sav)				
			local tx = fs:update_path("$game_saves$",sv_name..".dds")		
			fs:file_delete(tx)
		end

 

 

Изменено пользователем vader_33
  • Лайк 1

В беге за рассветом приближаешь свой закат

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


Ссылка на сообщение
Поделиться на другие сайты
 

vader_33 Можно ли как-то по скрипту сделать бекап сохранений либо просто перенести их в другую папку которую например тоже по скрипту создаётся?

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


Ссылка на сообщение
Поделиться на другие сайты
 
23 часа назад, Pepel сказал:

Как создать телепорт в sdk?

Вот  как создать телепорт в sdk 

 

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


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   2 пользователя онлайн