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

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


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

Как ускорить/увеличить время накопления силы перед броском гранаты/болта на ПКМ(Правая Кнопка Мыши)?

А то у меня тяяяянется сила, тяянется, а тут раз и нету меня! ;)

 

И да, вот что ещё, где редактировать вот такие ящички?

xr3da2010052011333284.jpg

 

 

А то, что-то не то "поюзал", так на Кордоне, на базе вояк один ящик сломал, железый который, так оттуда "калаши" посыпались. :grin2:

Изменено пользователем Crazyman
S.T.A.L.K.E.R. - Зов Припяти 1.6.00 + повелитель Зоны + мои всякие наработки = какая-то глобалка размером в 1,04 ГБ (1 117 802 496 байт) которая содержит 5580 файлов в 467 папках.

У меня вопрос, как сделать что-бы предмет можно было использовать несколько раз, например 5 раз. И с каждым разом его состояние ухудшалось и при достижении 0 предмет удалился из инвертаря.

Да, можно. Можно аптечке задать коэффициент "повреждения", например 0.25 процентов.

Intel Centrino Mobile (Dual-core) T2700 2,328 GHz, Intel GMA 945GM, 2x1024 MB DDR2-667, WD Scorpio 1200BEVS

Microsoft Windows 7 Professional N + Novell Linux 11.2 (OpenSUSE) Dual boot

S.T.A.L.K.E.R. SHOC 1.0004 + AMK 1.4.1 + NS3 + NLC3 + Arsenal + Arsenal beta +New weapons

 

Опытный американский дробовик XM1014 =O

Хозяйке на заметку: Не спешите выбрасывать чеку от использованной гранаты Ф-1 или РГД-5 - с её помощью можно легко и удобно прикрепить игрушечного пингвинчика к своему рюкзаку. © not me

malandrinus

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

 

С нет-пакетом накосячить я врядли мог, он берется неизменным из предыдущего оружия, разница между старым и новым оружием - только визуал ХУД-а. По идее, там косячить просто не в чем.

 

Сейчас поставил вывод инфы в лог на каждый апдейт, до выхода в онлайн "своим ходом" ничего не меняется, за вычетом не относящегося к делу мусора стабильно выдает вот такое:

...

server object 28416 exists: true

can_switch_online: true

can_switch_offline :false

...

То есть, по идее в оффлайне оружие ничто не держит, причем с самого начала следующего за спавном апдейта.

Однако, когда пытаюсь пнуть объект в онлайн функциями

alife():set_switch_online (id, true)

alife():set_switch_offline (id, false)

толку с того ноль. Все равно переходит только "своим ходом" через N апдейтов...

Мои работы:

Ночные прицелы + смена ножевого слота

AI вертолетов + ПЗРК

Soul Cube

 

Работаю только с ТЧ. С ковырянием ЧН/ЗП не связываюсь ни в какой форме. Совсем.

Kirag,

В качестве предположения. Там есть флажки object_flags. Эти флажки, насколько я помню на запись работают, а вот при чтении почему-то не читались. Т.е. при записи их надо было явно выставлять независимо от того, что там прочиталось до этого. Среди прочих там имеются use_swiches (как-то так по памяти). Может быть невключённость этих флажков влияет?

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

кстати true false, в роли второго параметра являются принудительностью перевода объекта..

Если true переводить объект принудительно и все остальное не важно, если false переводить объект по мере удаления от актера и выполнение задач поставленных ему...

Спавн я всё таки победил спасибо Kirag'у, Вопрос таков, как вызвать преждевременный выброс?

Всё для вызова уже есть. Как называется функция отвечающая за выброс и где она лежит?

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

morda. cod4 player

Прошу прощения за тупизм. Ранее я задавал вопрос, как вывести на экран время, которое прошло с начала запуска игры.

Смог с помощью одного из уроков по модмейкерству вывести на худ игровое время:

function show_time()

local hud = get_hud()

local cs = hud:GetCustomStatic("hud_show_time")

if cs == nil then

hud:AddCustomStatic("hud_time_static", true)

hud:AddCustomStatic("hud_show_time", true)

cs = hud:GetCustomStatic("hud_show_time")

end

 

local time_h = level.get_time_hours()

local time_m = level.get_time_minutes()

local msg

if time_m >= 10 then

msg = string.format(" %02d:%02d\n", time_h, time_m)

else

msg = string.format(" %02d:%02d\n", time_h, time_m)

end

 

if cs ~= nil then cs:wnd():SetText(msg) end

end

 

 

Так же я знаю, что за вывод реального времени с момента запуска игры отвечает функция time_global()

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

vader92

Попробуй в нет спавне определять переменную как time_global(), например tim = time_global(). Это будет постоянное число, которое будет определено при каждой загрузке\старте игры. А затем вычитай из настоящего времени эту переменную - получишь время с момента загрузки. Вот пример:

tim = 0
function actor_binder:net_spawn(data) -- Это в bind_stalker
...
  tim = time_global()
...
end

А вот это я уже вызываю функцию из другого файла:

function method()
  start_time = time_global() - bind_stalker.tim
  news_manager.send_tip(db.actor, start_time, 0)
end

Приходит смс с четырёхзначным числом, например 4334, т.е. 4 секунды с гаком. :)

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

amk.g_start_timer("blowout",0,0,0) игровое время

amk.start_timer("blowout",1) реальное время.

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

спавню непися в воздухе, киляю его, и меняю ему ник

local obj = alife():create("bar_dolg_respawn_2", vector():set(14, 155, 673), 292018, 206)
repack_npc(obj, "Генерал Таченко")

function repack_npc(obj, name)
  local data     = xr_packet.read_stalker_params(obj)
  data.charname  = name
  data.health    = 0
  data.updhealth = 0
  xr_packet.write_stalker_params(data, obj)
end

однако когда он переходит в онлайн - он оказывается не в сотне метров в воздухе, а гдето в полуметре от асфальта, как победить глюк?

Untitled-1.png

max_max_08, за саму идею с таймером спасибо, но я не очень понял, что ты имеешь в виду, под именем таймера? Ты имеешь в виду к чему он привязывается? А можно ли напрямую вызвать выброс, без таймера?

 

ЗЫ. Вопрос по тем же аномалиям, почему созданную мной аномалию все, без исключения, НПС не видят в упор, как будто для них ее нету? Аномалия срабатывает ... хрусь и трупы. :mellow:

Ещё один вопрос, аномалия после выбросов исчезать будет?

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

morda. cod4 player

однако когда он переходит в онлайн - он оказывается не в сотне метров в воздухе, а гдето в полуметре от асфальта, как победить глюк?

Для неживых объектов помогает снять флажок used_ai_location в поле object_flags. Флажок имеет маску 64. Не уверен однако, что для тушки это поможет. Живые объекты передвигаются по сетке. Может так статься, что независимо от "живости" привязка будет в любом случае.

 

почему созданную мной аномалию все, без исключения, НПС не видят в упор, как будто для них ее нету?

Ещё один вопрос, аномалия после выбросов исчезать будет?

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

 

Аномалия исходно - статический объект. Появляться и исчезать её заставили хитрые модостроители =) Т.е. опять же смотри, как это сделано в АМК.

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

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Для неживых объектов помогает снять флажок used_ai_location в поле object_flags. Флажок имеет маску 64

Как снять скриптом, я так понимаю, это делается при помощи математических действий?

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Gonarh,

Для формирования маски можно использовать функции побитовой арифметики:

bit_and

bit_not

bit_or

bit_xor

примерно тоже самое можно сделать с помощью класса flags32

 

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Вот такой вот вопрос: Что это он вытворяет?

xr3da2010052113191535.th.jpg

xr3da2010052113191739.th.jpg

 

Что он пытается сделать?

S.T.A.L.K.E.R. - Зов Припяти 1.6.00 + повелитель Зоны + мои всякие наработки = какая-то глобалка размером в 1,04 ГБ (1 117 802 496 байт) которая содержит 5580 файлов в 467 папках.

(elfog @ 21.5.2010, 3:42)

почему созданную мной аномалию все, без исключения, НПС не видят в упор, как будто для них ее нету?

Ещё один вопрос, аномалия после выбросов исчезать будет?

 

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

 

Аномалия исходно - статический объект. Появляться и исчезать её заставили хитрые модостроители =) Т.е. опять же смотри, как это сделано в АМК.

 

файл \gamedata\scripts\amk_anoms.script

 

как я понимаю учитываются или участвуют все аномалии начинающиеся на amk_zone_имя

строка файла

local anom_prefix = "amk_zone_"

 

тойсть достаточно создать в алл спавне аномалию с именем amk_zone_ваше имя

да и обход аномалий неписями в амк реализованн не совсем коректно (IMXO)

 

дело в том что если нпс идет в точку б из точки а и аномалия где то между этими точками (заданными в алл спавн)

все нормально но вот если координаты (гвертекс) совпадет с одной из точек получим вылет типа any vertex .......

как бы схема обхода запрешает идти в эту точку но втоже время именно она заданна в пути непися

 

известный баг солянки

отсюда и рекомендации переждать выброс на другой локе (после выброса аномалии сменят положение)

 

 

 

 

Хэй,Хэй,Хэй, я вернулся! =)

 

И сразу вопрос: Кто-нибудь пытался адаптировать напарников к фриплею? Было бы здорово.

Thank you for your honesty.

Now fuck off and die.

Можно ли скриптом узнать регистр букв?

Типа:

if регистр с большими буквами then

...

else

...

end

 

И ещё:

Как выполнить проверку по типу:

Имеется на экране текст:

Всем привет!
Есть кто на Агропроме?
Да...

Необходимо продолжить текст после Да... до достижения 20 символов.

После превышения в строке 20 символов необходимо сделать переход.

 

И ещё:

При помощи кейлогера сделал ввод текста с клавиатуры во время игры в особую консоль, так вот:

Забиндил в keys.cfg все клавиши нужные. Работают клавиши, но... не вводятся следующие буквы:

Я,Ч,М,Б,Ю,Ы,Ж,Э,Й,Ц,К,Е,Н,З,Х,Ъ.

Остальные прекрасно вводятся.

Даже и не знаю что делать.

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

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

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

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

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

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

Войти

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

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

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