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

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


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

@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/Тема на AP-PRO

naxac.gif

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

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

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

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

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

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

Я понял что моя старая подпись что-то нарушает. Удалил все ссылки.

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

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

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

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

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

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

  • Согласен 1

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

Я понял что моя старая подпись что-то нарушает. Удалил все ссылки.

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

Всем привет! На днях сделал мод для "ТЧ", отчасти подправил в нём синглплеер, отчасти сделал мод мультиплеерным. Но остается вопрос по поводу "мультика". Дело в том, что я не правил файл ui_mp_icon_kill.dds, где нарисованы иконки, появляющиеся в нижнем левом углу экрана при убийстве противника во время сетевой игры. Можете мне подсказать, в каких файлах прописаны координаты изображения оружия, высвечивающегося при наборе фрагов в сетевой игре (в том самом левом углу экрана)? И критически ли важно дополнить файл ui_mp_icon_kill.dds и связанные с ним конфигурационные файлы? Просто я не нашёл в игровых архивах нужные мне для правки файлы категории ui. Доделки внести хочется, но я не знаю, в какие именно файлы.

@ptichkin только движок: [xr_3da\xrGame\game_cl_mp.cpp] и [xr_3da\xrGame\ui\UIStatsIcon.cpp].

  • Нравится 1

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

Шпаргалка

Здравия желаю всей честнОй компании.

Такая ерунда наметилась, ни хорошая.

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

function HandHid(info_id)
    if info_id == "ui_pda" or info_id == "ui_inventory" or info_id == "ui_trade" or info_id == "ui_car_body" then
        db.actor:hide_weapon()
    elseif info_id == "ui_pda_hide" or info_id == "ui_inventory_hide" or info_id == "ui_trade_hide" or info_id == "ui_car_body_hide" then
        db.actor:restore_weapon()
    end
end

Работает только в самом начале, до получения задания на счёт флешки шустрого, после перестаёт работать, почему так?

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

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

UriZzz.gif

Приветствую !

Можно ли как-то добиться торговли схожей с ЗП ? Чтобы не скупали убитые стволы. Пробовал добавлять в конфиги buy_item_condition_factor = 0.7 - толку никакого.

@Space.Marine, без правки движка не как.

В x ray ext есть хак, в OGSR тоже что то есть...

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

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

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

UriZzz.gif

11 часов назад, Space.Marine сказал:

А может где-то реализовано скриптами ? Посоветуйте, пжлста.

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

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

Скрипт поддержки динамических схем торговли, для нпс.

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

-оружие покупается только лучшее, относительно того, что уже есть.
-оружие продаётся, только если у нпс их несколько. При этом, наилучшее в продажу не идёт.
-поддерживается процентная вероятность на покупку и продажу оружия.

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

Автор: @singapur22

СКАЧАТЬ: https://yadi.sk/d/SeKhlnMfshtCJ

 

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

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

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

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

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

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

Войти

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

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

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