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

[SoC] Ковыряемся в файлах


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

3 часа назад, Ninna сказал:

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

В xr_info.script в таблицу local info_by_rank = { добавить строки вида:

                    "encyclopedy_zone_artifact_af-dummy-dummy",

                    "encyclopedy_zone_anomalies_zharka",

Там уже посмотришь, опытным ли, мастерам или ещё кому.

Изменено пользователем Капрал Хикс
  • Спасибо 1
  • Нравится 1
  • Согласен 1
  • Полезно 1
Ссылка на комментарий

Здрасте, никто не знает как можно прервать скрипт на 3 секунды и только по их истечению возобновить его? Т.е. работает скрипт, он прерывается, а потом продолжает работать

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

@Pug-Lover Если в пределах одной локации, то можно через level.add_call(f1, f2): прервать скрипт, поставить отсчет на 3 секунды в первой функции, получить true, запустить скрипт через вторую функцию. В самом скрипте для прерывания/запуска должно быть условие вида "если flag = true, то работать".

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

Шпаргалка

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

В оригинале ТЧ примеров нет. Логика следующая:

Spoiler

local flag = true
local t = 0
local timeout = 3000

function main()
    if flag then (основные действия) end
end

function check()
	if (условие остановки скрипта) then
		flag = false            -- отключение main()
		t = time_global()        -- начало отсчета
		level.add_call(delay, restart)
	end
end

function delay()    -- проверка каждый апдейт
	return time_global() > t + timeout
end

function restart()    -- срабатывание при delay() == true
	flag = true        -- включение main()
end

 

 

  • Спасибо 1

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

Шпаргалка

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

Может кто-нибудь информативно пояснить роль пар-ров disp_rate и hit_rate в конфигах оружия? Насколько важны их значения для ГГ и НПС с мобами? Как конкретно эти цифры влияют на точность и повреждения? Я всегда их просто-напросто удалял. 

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

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

@mole venomous, никак не вляют. В движке эти параметры не фигурируют. Встречаются в ui_wpn_params.script, который, кажется, отображает на их основе полосочки в описании оружия.

 

  • Спасибо 1
Ссылка на комментарий
1 час назад, dsh сказал:

никак не вляют

Ясно, как я и подозревал. Вот уж заодно тогда поинтересуюсь. Могу ли я как то привнести рандома к хиту оружия? Если с кучностью всё понятно, то хит фиксирован, не считая дальности, иммунитетов, точек попадания и прочего. Т.е. без ковыряния движка, выставить величину hit_power в рамках "от и до" (какая нибудь поправка посредством скрипта, может). Или же овчинка выделки не стоит?

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

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

@mole venomous, насколько я помню, в оригинальном движке hit_power из скриптов не изменить. Да и бессмысленно даже пытаться придумать какие-то хитрые костыли, если просто можно взять нормальный движок, типа OGSR.

 

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

@Norman Eisenherz, И когда flag = true по новой, ф-ия main стартует автоматом с нуля или продолжает выполняться с момента прерывания?

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

Сталкер - наше всё!

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

@AndrewMor Под "моментом прерывания" понимается значение какой-то переменной? Если переменная в том же скрипте и хранится вне основной функции, то есть не обнуляется при каждом запуске, то "момент" должен запомниться правильно.

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

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

Шпаргалка

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

Здрасте, есть ли какой-нибудь способ получить позицию или локацию сталкера, который на другой локации?

2 часа назад, Pug-Lover сказал:

Здрасте, есть ли какой-нибудь способ получить позицию или локацию сталкера, который на другой локации?

Сам догадался. Вообщем:

function example()
for a=1,65534 do
obj=alife():object(a) --находим серверный объект
if obj and level.map_has_object_spot(obj.id, "kill_stalker_location")~=0 then --если объект существует и 'параметр' то
objlv=obj.m_level_vertex_id --получим левел вертекс объекта
objgv=obj.m_game_vertex_id --гейм вертекст объекта
objpos=obj.position --позицию
end
end
end

и после нахождения параметров уже можно делать с ними всё, что хочешь (желательно ещё добавить бы проверки на валидность этих параметров, но я не знаю, обязательно ли это). Я, например, с помощью этого сделал телепорт к объекту на другую локацию (идёт проверка level.map_has_object_spot(obj.id, "kill_stalker_location")~=0 позволяющая узнать, что у объекта метка задания "Убить сталкера", т.е. с этой функцией можно взять задание и быстро тпнуться прямо к нпс, чтобы убить) и с этим всем можно много всего придумать.

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

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

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

@СЕРА, надо подгонять global rect под bound rect, т.е. менять растяжение текстуры по пропорциям уровня, т.к текстура, полученная через demo_record, квадратная.

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

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

naxac.gif

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

Кто может подсказать как можно считать данные сталкера, записать их (чтобы после перезагрузки не стёрлось) и заспавнить этого же нпс на другой локации, т.е. чтобы получилось что-то типо телепорта? Делаю мод на напарников(знаю, что уже есть другие такие моды, но мне по другой причине нужно сделать по-другому, другие моды кидать не надо) и хочу сделать, чтобы с нпс можно было по всей зоне бродить.

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

@Pug-Lover, Читаешь нетпакет нпс, составляешь список его имущества, для сложных предметов вроде оружия, читая и их нетпакет тоже.

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

Это если по старинке, на оригинальном движке без модернизации. Дедовскими методами.

Про работу с нетпакетами искать модули Артоса. Про чтение и спавн - общие сведения о скриптах почитать, луа-хелп там... Запись данных теми же модулями Артоса (se_stor). Как-то так.

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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.

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

@Pug-Lover, Читаешь нетпакет нпс, составляешь список его имущества, для сложных предметов вроде оружия, читая и их нетпакет тоже.

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

Это если по старинке, на оригинальном движке без модернизации. Дедовскими методами.

Про работу с нетпакетами искать модули Артоса. Про чтение и спавн - общие сведения о скриптах почитать, луа-хелп там... Запись данных теми же модулями Артоса (se_stor). Как-то так.

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

Добавлено  Опричник,

Изучите "Правила цитирования". https://www.amk-team.ru/forum/topic/13514-obyavleniya/

Ссылка на комментарий
  • Согласен 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.

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

В повелителе зоны 5.0 gold в чистом небе, есть файл с координатами которые прямо в игре можно записывать и делается там это всё с помощью этой функции:
 

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

function cheat_dialog:OnButton_btn2_clicked()
	edit_box		= self:GetEditBox("edit_box")
	edit_box2		= self:GetEditBox("edit_box2")
	edit_box3		= self:GetEditBox("edit_box3")
	edit_box4		= self:GetEditBox("edit_box4")

      pos_x = tostring(edit_box:GetText())
      pos_y = tostring(edit_box2:GetText())
      pos_z = tostring(edit_box3:GetText())
      pos_name = tostring(edit_box4:GetText())
--часть с записью
 if pos_x~="" and pos_y~="" and pos_z~="" and pos_name~="" then
	self.settingFileName = "gamedata\\teleports_coordinats.txt"
	local file = io.open( self.settingFileName, "a" )
	if file ~= nil then
		file:write( pos_name.."|"..pos_x.."|"..pos_y .."|"..pos_z.."\n")
		file:close()
--часть с записью
	end
      self:OnButton_portal_clicked()
 end

end

 

Отсюда вопрос: есть ли какой-нибудь  способ записи параметров объекта в файл, который в папке с игрой, т.е. так же, как и в повелителе зоны в чн? Если да, то, если можно, пример, пожалуйста.

30.03.2010 в 20:04, Atempad сказал:

Я же сказал, в скриптах ТЧ не работает вывод (запись) в файлы. Для этого используй ЧН или ЗП.

Лично я не вижу в этом кооператива, только изврат в чистом виде.

 

P.S. Про скайп я не шутил... Оно того не стоит. А вообще - дерзай.

Нельзя

27 минут назад, Pug-Lover сказал:

Нельзя

Нашёл намного более простой способ, который работает именно так, как я хотел. Вот код, если кому-то может быть нужно:

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

function first()
amk.save_variable("testjops", "succsess")
end

function second()
asf=amk.load_variable("testjops", "failure")
news_manager.send_tip(db.actor, asf, nil, nil, 5000)
end

 


 

Здрасте, где можно посмотреть список параметров при подмене net_packet'ов? Т.е:

t = amk.read_stalker_params(sobj)
t.health=0.1
t.killerid=65535

и другие параметры относящиеся к нпс(или другому объекту)?

 

  • Сочувствую 1
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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