[SoC] Ковыряемся в файлах - Страница 1051 - Скрипты / конфиги / движок - AMK Team
Перейти к контенту

[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, то работать".

@Norman Eisenherz, А пример использования где можно подсмотреть?

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

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

Други, никто не просветит на предмет параметров из config\models\capture\abc.ltx:

[disable], [capture], etc?

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

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

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

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

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

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

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

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

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

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

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

В повелителе зоны 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 пользователей

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