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

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

Тема для обсуждения скриптов всего и всех в серии игр STALKER.


Задавая вопрос (!):
1. Внимательно изучите суть вопроса. Вопрос должен соответствовать выбранной Вами темы. Это поможет сохранить порядок и читабельность темы, а также облегчит поиск и понимание сего;
2. Изучите то, что уже есть в теме (пролистайте "руками", воспользуйтесь поиском на форуме);
3. Изучите информацию которая может вам помочь:

 
 

Stalkerin. Там есть много хороших статей касательно данной темы.
Уроки по модостроению. Есть рабочие примеры готовых скриптов различного назначения.

 

Справочное руководство по языку Lua 5.1
https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual/ru
Справочник по функциям и классам. Собрано много информации по функциям и классам, не всем, но по основные сведения предоставлены.

4. Дабы не превращать обсуждение в "кашу" разной информативной направленности, задавайте несколько вопросов по порядку (в разных постах) после того, как получите ответ на предыдущий вопрос;
5. "Спасибо" и тому подобное - будьте так любезны в ПМ. Если не любите писать в ПМ, в конце вопроса напишите фразу: "Заранее спасибо!" - или что-то в этом духе;
6. ПОЖАЛУЙСТА! Указывайте, для какой игры Вам необходима информация (ТЧ, ЧН, ЗП), если стоит мод - укажите название мода;
7. Если Вы что-то сделали и результат не такой, какой Вами задумывался, то, пожалуйста, приводите коды которые Вы изменяли/писали целиком! Это поможет другим правильно ответить на Ваш вопрос, а также оградит Вас от лишней писанины.
8. Оформляйте сообщение. Пользуйтесь тегами для того, чтобы отделить код от текста. Пишите грамотно - ПОЛЬЗУЙТЕСЬ ЗНАКАМИ ПРЕПИНАНИЯ.
9. И помните: «Правильно заданный вопрос – половина ответа».

 

Какие вопросы следует задавать, а какие нет...

 

Задавайте вопросы, которые касаются непосредственно скриптов и их работы, т.е. Вы что-то делаете, а у Вас что-то не получается, при этом у Вас на руках должен быть хотя бы какой-то код, свидетельствующий о Вашей причастности к вопросу.

 

Вопросы которые будут удалятся, следовательно их задавать не нужно:
-- Где находится та или иная функция?
Для ответа используем поиск по словам среди файлов оригинальной игры или мода, если объект поиска относится к нему, при помощью программы, которая Вам наиболее симпатизирует;
-- Как сделать что-то/то-то?
С подобными вопросами, либо в "ковырялки", где Вам вероятнее всего так же не ответят, либо выдвигаем мысли, подкреплённые теорией, практикой (идеальный вариант) и здравым рассудком;
-- Вопросы со смыслом: "сделайте", "совместите" и подобными глаголами повелительного наклонения.
-- К тому же удалению будут подвергаться вопросы, в которых масштабно не используются теги, для отделения кода и цитат от основного текста, а также не вписан в спойлер код размером превышающие семь строк.
Ответ на возможно возникший вопрос: В какую тему можно обратиться по поводу логики и спавна объектов?
В тему "ковырялок" соответствующей версии игры, для которой Вы задаёте вопрос.

И последнее: очень рекомендовано к прочтению Правила форума
 


  • Спасибо 1
  • Полезно 2
Ссылка на комментарий

@Graff46, не нужно изобретать велосипед. В движке ЗП есть обход динамических физ. объектов. Перенеси оттуда. Пример такого переноса можно увидеть в моем репозитории OGSR

https://github.com/dsh2dsh/OGSR-Engine/commit/df1edaadef9fdcca7ac1c0c3ee8a16743513c85a

  • Нравится 1
Ссылка на комментарий

@Graff46, ты для начала без всяких методов попробуй. А вообще


  local ph_obj = obj:get_physics_object()
  ph_obj:set_ai_obstacle( false ) -- не обходить

 

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

Ребята, за этот апрель моск совсем выпрямился... Как определить у ГГ наличие подходящих к активному стволу патронов? С помощью lua_helper ведь можно? 

Здесь могла быть ваша реклама.

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

@mole venomous, можно, посмотри сам, там все функции прокоментированны.

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

Ссылка на комментарий
Только что, mole venomous сказал:

С помощью lua_helper ведь можно? 

С помощью просто lua, тоже можно.

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий
59 минут назад, mole venomous сказал:

Как определить у ГГ наличие подходящих к активному стволу патронов?

Скрытый текст

local active_item = db.actor:item_in_slot(db.actor:active_slot())
if active_item then
	if system_ini():line_exist(active_item:section(), "ammo_class") then
	local active_ammo = system_ini():r_string(active_item:section(), "ammo_class")
		if active_ammo then
			active_ammo = string.gsub(active_ammo,"[,]"," ")
			for k, v in string.gmatch(active_ammo, "[%p0-z]+") do
				if not db.actor:object(k) then 
					alife():create(k, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) 
					db.actor:give_game_news("Для: %c[255,255,50,50]"..game.translate_string(system_ini():r_string(active_item:section(), "inv_name")).."%c[default] выданы боеприпасы: %c[255,10,250,100]"..game.translate_string(system_ini():r_string(k, "inv_name")).."%c[default]", "ui\\ui_iconsTotal", Frect():set(0,517,83,47), 0, 3000)
				end
			end
		end	
	end
end

 

Пользуйся

  • Спасибо 1
  • Полезно 2
Ссылка на комментарий

Здрасьте.

 

Как добиться спавна лута на разбиваемых металлических ящиках, чтобы избежать клиппинга сквозь ближайшую поверхность?

 

[scripts\xr_box.script]
position.y = obj:position().y + math.random(30,50)/100
Пробовал задавать вместо исходных 0,3–0,5 метров 1–2 метра над ящиком – все равно лут проваливается, особенно если ящик лежит на крыше (Г-образное здание на Кордоне, около ж/д моста).

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

@Norman Eisenherz, я боюсь тут придется браться не за текстовый редактор а за 3ds max и править статику.

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

  • Смешно 1

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

Ну что тут скажешь, чем богат:pardon:

@naxac, привет, а где можно посмотреть?:az1000106:

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

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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

@UriZzz, это в нет-пакете, поле object_flags.

 

local obj = alife():create(...)

local data = netpk:get(obj)

data.object_flags = bit_and(data.object_flags, bit_not(128))

netpk:set(obj, data)

Изменено пользователем naxac
добавил пример
  • Спасибо 1
  • Полезно 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

@naxac,  что-то, как-то, не очень работает!

 
FATAL ERROR
 
[error]Expression    : fatal error
[error]Function      : CScriptEngine::lua_error
[error]File          : .\script_engine.cpp
[error]Line          : 73
[error]Description   : <no expression>
[error]Arguments     : LUA error: ...es\stalker_shoc_10006\gamedata\scripts\xr_box.script:184: attempt to index global 'netpk' (a nil value)
 

stack trace:

0023:1001CCC1 xrCore.dll, xrDebug::backend()
0023:10034D88 xrCore.dll, IReaderBase<CStreamReader>::`vftable'()
0023:10034D78 xrCore.dll, IReaderBase<CStreamReader>::`vftable'()

 

  • Смешно 1
Ссылка на комментарий
5 часов назад, naxac сказал:

netpk:get(obj)

Я малость извиняюсь, это не Артосовский ли модуль нэт пакетов юзается по случаем?

Ну, или какой иной экзотический?:az1000106:

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

 Моя нычкаНычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

Ссылка на комментарий
26 минут назад, UriZzz сказал:

не Артосовский ли модуль нэт пакетов юзается

Явно он самый, больше не кому.

31 минуту назад, ted.80 сказал:

не очень работает!

Подключить надо. Артосовский модуль.

  • Согласен 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий
6 минут назад, Zander_driver сказал:

Подключить надо. Артосовский модуль.

:shok2: 

Я знаю что это - Супер классный, универсальный модуль - очень сильно расширяющий  возможности для моддинга

Но ИМХО - использовать этого исполина, ради одной скромной фичи - это как заводить Японский Беспилотный ЖПС Турбовинтовой с Вертикальным взлётом Комбайн - ради одного колоска

  • Смешно 3
Ссылка на комментарий
Только что, ted.80 сказал:

ради одной скромной фичи

А зачем себя ограничивать?

Вводите и другие фичи тоже.

Только что, ted.80 сказал:

Японский Беспилотный ЖПС Турбовинтовой с Вертикальным взлётом Комбайн

Вообще-то, он есть не просит, и нагрузки и проблем он не создает никаких.

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

И вообще-то аналогия с комбайном и колоском неверная.

У вас не колосок. А шестигранный болт.

dMPvwPwajPfMRXKp3KqQzQohIIN94B6P_Uof-1ul

И по идее, для его закручивания-откручивания, надо завести в хозяйстве шестигранный ключ. Даже если болт такой один.

Но можно кустарно-колхозными методами крутить, раздраконивая ему голову. И со временем он крутиться не будет.

 

Цитата

флаг UsedAI_Locations

Это ведь - все равно, нет-пакет. Стало быть, придется туда так или иначе лезть.

Или другой вариант - править движок, добавляя свои методы... выбирайте.

Изменено пользователем Zander_driver
  • Нравится 1
  • Согласен 2

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий
14 часов назад, UriZzz сказал:

это не Артосовский ли модуль нэт пакетов юзается

Нет, у меня свой, но принцип работы тот же.

  • Спасибо 1
  • Нравится 1

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

[ТЧ] У меня большой текст в CUIListItemEx, и текст выходит за границы элемента. можно ли тест перенести или урезать? complex_mode="1" не помогает.

Скрытый текст

jpeg&tknv=v2&owner_uid=135127859&etag=e5

 

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

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

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

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

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

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

Войти

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

Войти
×
×
  • Создать...