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

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

 
 
8 часов назад, denis2000 сказал:

WildAx КМБ Урок 26а


1. Вам нужно задавать вопрос в соотвествующей теме!
2. В ЗП это делает движок.
 

 

news_manager.send_tip(db.actor,"Получены деньги "..tostring(bringed_money),0,"kingpin",4000,nil)

Хочу подкорректировать текст, чтобы после "Получены деньги" Н-ое кол-во денег, писало "руб." Как это правильно вставить? Скриптами ещё не занимался, вот только планирую начать.

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


Ссылка на сообщение
Поделиться на другие сайты
 
news_manager.send_tip(db.actor, "Получены деньги: " .. tostring(bringed_money) .. " руб.", 0, "kingpin", 4000, nil)

Раз уж начал, первый совет: не делай локализацию непосредственно в скрипте, а используй систему перевода строк!

 

 

  • Лайк 1
  • Жму руку 1

c01570bf2e07524.png

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


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

news_manager.send_tip(db.actor, "Получены деньги: " .. tostring(bringed_money) .. " руб.", 0, "kingpin", 4000, nil)

Раз уж начал, первый совет: не делай локализацию непосредственно в скрипте, а используй систему перевода строк!

 

 

Спасибо за ответ. На счёт скрипта, я их ещё не трогал, взял готовый от автора постами выше, как только начну вникать работу с ними, учту все советы ?

 

Глупый вопрос, в игре несколько визуалов комбеза новичка под одним кодом "novice_outfit", в игре у торгаша визуально выбор происходит рандомно? кожаный плащ бандита и куртка с джинсами сталкера новичка. Хотелось бы их разделить.

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

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


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

в игре несколько визуалов комбеза новичка под одним кодом "novice_outfit"

В оригинальной игре один костюм с таким названием.  И у него, разумеется, только один визуал.  Тут надо прояснить, что имеете в виду.  Есть визуал самого костюма, лежащего на земле.  Есть визуал ГГ от 3-го лица в этом костюме.  Но у любого костюма только один визуал одного типа.  Конкретно этому костюму прописан визуал ГГ в плаще.  Можно сменить его на визуал в куртке.  Но два визуала сделать нельзя. 

Можно сделать отдельный костюм с отдельным визуалом.  Куртка и плащ, например.  Это реализовано в паках от Газика.

  • Лайк 1

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


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

В оригинальной игре один костюм с таким названием.  И у него, разумеется, только один визуал.  Тут надо прояснить, что имеете в виду.  Есть визуал самого костюма, лежащего на земле.  Есть визуал ГГ от 3-го лица в этом костюме.  Но у любого костюма только один визуал одного типа.  Конкретно этому костюму прописан визуал ГГ в плаще.  Можно сменить его на визуал в куртке.  Но два визуала сделать нельзя. 

Можно сделать отдельный костюм с отдельным визуалом.  Куртка и плащ, например.  Это реализовано в паках от Газика.

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


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

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

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


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

Не могу найти ничего по этому поводу. Вообще. А проблема серьезная, это ж прям косяк, который никто(?) не поправил ни в одном моде за 14 лет(еще с ТЧ). Как сделать, чтобы оружие попавшее в руки нпс меняло свой кондишн всего 1 раз. Чтобы выбив ружье, например, в плохом состоянии ты не пошел с этим же ружьем к другому нпс и не починил его просто скинув нпсу в руки. Единственное, что я смог сделать это отключить охоту за оружием, т.е они за стволами теперь не ходят и не обращают на них внимания, но только если оружие не на пути или не брошено прям в руки главным героем. Можно в m_stalker вместимость их инвентарей порезать, чтобы они просто не могли взять новое оружие вообще, но это не самый удовлетворяющий меня вариант, ибо часть лута в них в таком случае может не появлятся(не вмещатся), а рассчитать сколько кг хватит всем нпс как-то сложно. Это надо под каждый профиль inv_max_weight высчитывать оглядываясь на количество лута в рюкзаке. Делать, чтобы у всех нпс было убитое оружие, блин, тоже не хочется. Ограничивать по рангу тоже не хочется. НПС должны ходить со всем оружием и не менять его состояние каждый раз, когда оно попадает к ним в инвентарь. Должны делать это 1 раз. Почему это не таааак.

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

76561198152189716.png

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


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

Вы на ТЧ и делаете... в ЗП нет такой проблемы..


Группа мода в VK
Мод делался и тестировался на железе
i5-11400, 32Гб ОЗУ, Radeon RX580  Разрешение 2560 х 1440.  ВСЕ на максималке

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


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

Policai Ну как это нет такой проблемы. Заснял видео даже. ЗП, самая последняя версия в стим.

А это видео чуть подольше, но лучше соответствует написанному выше

Наблюдаем за мкой. Я ее подобрал в одном кондишне, отнес другому нпс и вкинув в него починил и обзавелся патронами. 

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

76561198152189716.png

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


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

как изменить иконку сообщения?

Текущая иконка в этом скрипте под именем "kingpin". Список иконок для сообщений через скрипт news_manager.script представлен в этом самом скрипте в таблице tips_icons. Естественно список иконок можно менять.


ian98 Пробуйте так, в скрипте death_manager.script замените оригинальную функцию на такую:
 

function set_weapon_drop_condition(item)
	local condition  = (math.random(40)+40)/100
	if condition < item:condition() then
		item:set_condition(condition)	
	end
end

Или такую:
 

function set_weapon_drop_condition(item)
	local condition  = (math.random(40)+40)/100
	if item:condition() > 0.99 then
		item:set_condition(condition)	
	end
end

В первом случае устанавливается случайное состояние выпадающего ствола, только тогда, когда оно меньше текущего. Во втором случае только если ствол в идеальном состоянии (создан при спавне НПС).

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

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


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

В файлах spawn_section..  под некоторыми профилями стоит custom_data = scripts/люьоеназвание.ltx. Если посмотреть эти кастом даты, то можно понять, что это логика слегка правленная под какие-то сценки. Вот. Меня конкретно интересует секция(?) [meet] и строка в ней trade_enabled = false - запрет на торговлю. Раз такая строка существует, то становится ясно, что по дефолту там стоит true. В обшем, был бы рад понять где и как вместо true поставить false, чтобы потом разрешать торговать по своему усмотрению прописывая trade_enabled = true


76561198152189716.png

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


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

ian98, смотрите в файле xr_meet.script

  • Мастер! 1

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


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

Stgs гляну. Иногда поражаюсь своей несообразительности. Я даже не пытался поискать что-то с meet связанное...

Да, в xr_meet.script прямо русским языком написано Устанавливаем дефолты. Дальше находим def.trade_enable и прописываем false. Полностью отключает трейд. Спасибо за наводку.

Не полностью. Нужна помощь. При выполнение определенных условий трейд возвращается. Это, возможно, как-то связано с xr_logic, но я там кроме слова кондлист ничего не разобрал... 
Изменено пользователем ian98
Сложные слова(

76561198152189716.png

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


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

Ковырялся сидел в конфиге погоды, по гайду пытался настроить, ничего путного не вышло. Мне нужен плотный туман. Подскажите что по чём пожалуйста ?

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


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

итакисяк ичерез косяк, но своего добился. Насколько это грамотно не могу сказать, будут ли приколы не знаю, но пока все работает как надо - полностью отключенный трейд для всех, за исключением особых персонажей. Сделал я это вот так:

Спойлер

	if xr_wounded.is_wounded(self.npc) then
		self.trade_enable = false
	else
		local trade_enable = xr_logic.pick_section_from_condlist(db.actor, self.npc, self.a.trade_enable)
		--printf("npc [%s] self %s *** %s", self.npc:name(), tostring(self.trade_enable), tostring(trade_enable))
		if self.trade_enable ~= trade_enable then
			if trade_enable == "true1" then 
				self.npc:enable_trade()
			else
				self.npc:disable_trade()
			end
			self.trade_enable = trade_enable
		end
	end
end

 

Теперь вписывая уже в configs\scripts trade_enable = true1 получаем нпц, с которым можно поторговать. Все остальные не умеют.

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

76561198152189716.png

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


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

WildAx Здаров. Если я тебя правильно понял, тогда по пути --> gamedata\configs\weathers\ во всех файлах ищешь строки

fog_density        =    0.9   --> туман
rain_density    =    0.05    --> дождь.

Может быть и так   rain_density = 1.0 ; = 1.0 ;     =     0.0

и меняешь значения на свои,  0 --> мин. Максимальное значение не знаю, потому что оно, может быть больше единицы.

Есть ещё 

fog_distance    =    350
fog_color        =    0.21, 0.21, 0.27

rain_distance    =    350
rain_color        =    0.21, 0.21, 0.27

но с ними я не игрался.

Лучше это делать не стандартным блокнотом, а Notepad++ пользуясь поиском и заменой (значок бинокля)

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

                                                                       Прямой дороги тебе, сталкер. Мимо аномалий, через артефакты...
                                                                                                          4-4.gif
                                                    Я всегда хотел отвечать людям добром, но жизнь научала отвечать взаимностью...

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


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

Кратко: помогите. В чем предположительно может скрываться проблема?

Спойлер

FATAL ERROR
 
[error]Expression    : fatal error
[error]Function      : lua_pcall_failed
[error]File          : c:\xray\forward frontier\public build\src\layers\xrrender\resourcemanager_scripting.cpp
[error]Line          : 101
[error]Description   : <no expression>
[error]Arguments     : LUA error: ....r. call of pripyat\gamedata\scripts\xr_motivator.script:161: attempt to index local 'smart_task' (a nil value)
 

stack trace:

 

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


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

--******************************* Телепорт на первую точку пути работы смарттеррейна...*****************************
	local se_obj = alife():object(self.object:id())
	if se_obj ~= nil then
		if db.spawned_vertex_by_id[se_obj.id] ~= nil then
			self.object:set_npc_position(level.vertex_position(db.spawned_vertex_by_id[se_obj.id]))
			db.spawned_vertex_by_id[se_obj.id] = nil
		elseif db.offline_objects[se_obj.id] ~= nil and db.offline_objects[se_obj.id].level_vertex_id ~= nil then
			printf("changing position for object[%s] from %s to %s : level vertex [%s] to [%s]", se_obj:name(), vec_to_str(se_obj.position), vec_to_str(level.vertex_position(db.offline_objects[se_obj.id].level_vertex_id)), tostring(se_obj.m_level_vertex_id), tostring(db.offline_objects[se_obj.id].level_vertex_id))
			self.object:set_npc_position(level.vertex_position(db.offline_objects[se_obj.id].level_vertex_id))
		elseif se_obj.m_smart_terrain_id ~= 65535 then
			local smart_terrain = alife():object(se_obj.m_smart_terrain_id)
			if smart_terrain.arriving_npc[se_obj.id] == nil then
				local smart_task = smart_terrain.job_data[smart_terrain.npc_info[se_obj.id].job_id].alife_task
				self.object:set_npc_position(smart_task:position())
			end
		end
	end
--******************************************************************************************************************

 

Крим предпложительно в xr_motivator.script 161 строчка что-то со смарт таском a nil value пустота или чет типо того, чего быть там не должно. Ну, об этом лог говорит) ес че


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

Мне бы хотелось перенести некоторые свойства брони на автомат, а именно максимально переносимый вес, чтобы автомат был нам абузой в рюкзаке и разгружал рюкзак находясь в слоте для оружия по примеру с экзоскелетом. Банально скопировав отвечающие за эти свойства строчки желаемого результата не получил. Не знаю как быть. Вот эти строчки я пытался вставлять.

additional_inventory_weight		= 30
additional_inventory_weight2	= 30

 

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

76561198152189716.png

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


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

Банально скопировав отвечающие за эти свойства строчки желаемого результата не получил. Не знаю как быть.

У оружия нет  таких параметров - additional_inventory_weight.  Поэтому прописывать их бесполезно.  Чтобы эти строки читались, нужно править движок игры.

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


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

К Как заставить симуляционных НПС (и не только) пользоваться боевыми смарткаверами во время боя?

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


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

Как заставить симуляционных НПС (и не только) пользоваться боевыми смарткаверами во время боя?

Те, которые под эксклюзивной, прямо писАть переход на логику smartcover при наличии врага.

Те, которые симуляционные, то в файле gulag_general.script, по аналогиии с animpoint. Правда придется прописать условие ( _precondition_function ) для перехода в логику smartcover и проставить соответствующий приоритет.

 


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

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


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

  Здоровеньки були, здрасти. Рисую худ (перерисовываю оригинал) и вот возникла проблемка:
миникарту нарисовал с тенью, не проблема. Проблема возникла с тенями под полосками
заметности и слышимости. Создал ui_actor_hint_wnd_b.dds (1024х1024) самой тени с учетом сдвига.
Создал ui_actor_hint_wnd_b.xml с координатами текстур. СПОЙЛЕР 1.  
   В motion_icon.xml продублировал оригинальные строки со своими x="20" y="20" (просто для пробы), строки
с 2 по 8-ю. СПОЙЛЕР 2.
   Хотелось бы, чтобы полоски выводились с тенями синхронно, примерно так СПОЙЛЕР 3.

P.S. Я не программер, поэтому желательно разъяснить по пальцам. Это просьба. Если кому понадобится, могу дать исходники для исправления.

Спойлер

<w>
    <file name="ui\ui_actor_hint_wnd_b">
    
        <texture id="ui_inGame2_Radar_blue_bar_b" x="544" y="239" width="204" height="204" />
        <texture id="ui_inGame2_Radar_green_bar_b" x="753" y="239" width="204" height="204" />

    </file>
</w>
 

 

Спойлер

<window>
    <window rel_size="1.25" width="10" height="10" alignment="c"/>
    <luminosity_progress x="20" y="20" width="10" height="10" alignment="c" stretch="1" sector_count="24" clockwise="1" begin_angle="-0.227" end_angle="0.835" blend="0">
        <texture>ui_inGame2_Radar_green_bar_b</texture>
    </luminosity_progress>
    <noise_progress x="10" y="20" width="20" height="10" stretch="1" alignment="c" sector_count="24" clockwise="0" begin_angle="3.365" end_angle="4.37" blend="0">
        <texture>ui_inGame2_Radar_blue_bar_b</texture>
    </noise_progress>
    <window rel_size="1.25" width="10" height="10" alignment="c"/>
    <luminosity_progress x="10" y="10" width="10" height="10" alignment="c" stretch="1" sector_count="24" clockwise="1" begin_angle="-0.227" end_angle="0.835" blend="0">
        <texture>ui_inGame2_Radar_green_bar</texture>
    </luminosity_progress>
    <noise_progress x="10" y="10" width="10" height="10" stretch="1" alignment="c" sector_count="24" clockwise="0" begin_angle="3.365" end_angle="4.37" blend="0">
        <texture>ui_inGame2_Radar_blue_bar</texture>
    </noise_progress>
</window>
 

Спойлер

1.thumb.jpg.1a7417f23f46fca574371ab0a405ecaa.jpg

 


                                                                       Прямой дороги тебе, сталкер. Мимо аномалий, через артефакты...
                                                                                                          4-4.gif
                                                    Я всегда хотел отвечать людям добром, но жизнь научала отвечать взаимностью...

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


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

Существуют ли clsidы брони? Если да, то где их можно найти? У меня не получается в гугле. Подозреваю, что их просто нет в природе, ну или никто из новичков не интересовался, а все опытные и так все знали всегда. 


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

Еще интересно, можно ли настроить кнопку ВЗЯТЬ ВСЕ. Чтобы гг брал все за исключением некоторых предметов? Должно быть не оч сложно, если возможно, знать бы где искать.

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

76561198152189716.png

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


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

Существуют ли clsidы брони? Если да, то где их можно найти?

В файле lua_help.script

C++ class clsid {

  • Мастер! 1

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

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


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

makdm Вродь смотрел там. Ну, гляну еще. А с кнопкой не подскажешь?


76561198152189716.png

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


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

Возможно, кто-то пользуется или пользовался таким модулем, как таймеры от Артоса(там не только таймеры, но и ряд других фишек)? Объясните мне, пожалуйста, как их правильно запускать? Ибо наблюдаются нечастые, но стабильные проблемы, а именно: таймеры не срабатывают, если запущено несколько штук сразу, или не срабатывают, если на момент запуска другой таймер не успел завершиться. Это делает их функционал ограниченным, а таймеры нужны всегда. Может, есть какие-то тонкости? Запускаю так:
 

Спойлер

start_real_timer(4, "mod_timer_functions.sg_vodka_use1")

 

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


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

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

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

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

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

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

Войти

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

Войти

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