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

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


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

Помогите, пожалуйста! Вот такой вопрос: непись заспавнен: npc=alife():create("bar_dolg_respawn_1",... Как выковырять строку "bar_dolg_respawn_1" из npc? Пробовал npc:section() - он равен "stalker".

Заспавнил этого долговца. Что для серверного объекта snpc:section_name(), что для клиентского cnpc:section() выдаёт одинаково "bar_dolg_respawn_1". Откуда у тебя "stalker" взялся непонятно.

 

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

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

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

 

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

Вопрос может не по теме....

Но кто знает LUA и pascal, может помочь со вторым по аналогии первого?

Я просто паскаль не трогал никогда :) А приперло.

 

Если есть желание помочь - в ЛС.Мне надо не очень много,только основу самую...

Изменено пользователем Monnoroch
Ссылка на комментарий

камрады вопросик нарисовался

в моде "Заминированные тайники " при подрыве ГГ наноситься урон подскажите где его править ?

Свободу всем Даром!

Моя Зона Full Realism Mod STSoC by Wolkolak

"Безвыходных ситуаций не существует в принципе."(с) Ред Шухов

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

wolkolak,

amk_offline_alife.trap_hit_armor

amk_offline_alife.trap_hit_actor

 

Это функции trap_hit_armor и trap_hit_actor в amk_offline_alife.

Изменено пользователем Monnoroch
Ссылка на комментарий
Monnoroch, не нашел я ничего такого :shok:

Свободу всем Даром!

Моя Зона Full Realism Mod STSoC by Wolkolak

"Безвыходных ситуаций не существует в принципе."(с) Ред Шухов

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

Помогите пожалуйста разобраться.

 

xiani.start_jumpto(-191.23223876953,-20.019853591919,-148.63710021973,60449,46, 0,0,0,"L01_Escape")

 

Вот первые три цифры - координаты X, Y, Z. А остальные?

 

АПДЕЙТ

Спасибо :).

А вот и функция целиком, раз уж просили:

function road_to_esc_sidor(actor, npc)

xiani.start_jumpto(-191.23223876953,-20.019853591919,-148.63710021973,60449,46, 0,0,0,"L01_Escape")

end

Изменено пользователем Renson
Ссылка на комментарий
Заспавнил этого долговца. Что для серверного объекта snpc:section_name(), что для клиентского cnpc:section() выдаёт одинаково "bar_dolg_respawn_1". Откуда у тебя "stalker" взялся непонятно.

 

При использовании npc:section_name() - вылет. Может, все дело в том, что npc - труп?

travka.giftravka.giftravka.giftravka.giftravka.gif

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

Труп не причем.

malandrinus же писал, какой метод для какого объекта вызывать:

- для клиентского: section()

- для серверного: section_name()

 

можно, например, написать такую обобщенную функцию

function get_section(obj)
  if obj.section then
    return obj:section()
  else
    return obj:section_name()
  end
end

Изменено пользователем Kolmogor
Ссылка на комментарий

Файл хр_мотиватор. Функция motivator_binder:use_callback(obj, who). Вписываю get_console():execute("obj_sect_"..obj:section()) - при разговоре или обыске трупа в консоль идет "obj_sect_stalker". При вызове функции

function get_section(obj)

if obj.section then

return obj:section()

else

return obj:section_name()

end

end

то же самое (stalker). Переписал функцию:

 

function get_section(obj)

if obj.section_name then

get_console():execute(obj:section())

else

get_console():execute(obj:section_name())

end

end

 

Вылет: attempt to call method 'section_name' (a nil value)

travka.giftravka.giftravka.giftravka.giftravka.gif

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

4ufak, Он будет и писать Сталкер секция у него такая. Ну может еще написать сталкер_монолит или сталкер_зомбиед.

Если тебе нужен его профайл пиши obj:profile_name()

Если тебе нужно его имя пиши obj:name()

Изменено пользователем dan
Ссылка на комментарий
Он будет и писать Сталкер секция у него такая. Ну может еще написать сталкер_монолит или сталкер_зомбиед.

Как он может выдать "stalker", если спавнил "bar_dolg_respawn_1"? Может там попросту не тот непись проверяется? Насколько я знаю, "stalker" - это секция для всех или почти всех неписей из all.spawn.

На всякий случай. Вот мой тестовый код:

if not db.test_st then
    local actor_gvid = db.actor:game_vertex_id()
    local actor_lvid = db.actor:level_vertex_id()
    local actor_pos = db.actor:position()
    db.test_st = alife():create("bar_dolg_respawn_1", actor_pos, actor_lvid, actor_gvid)
else
    local con = get_console()
    local st = level.object_by_id(db.test_st.id)
    con:execute(db.test_st:section_name())
    con:execute(st:section())
    con:execute(db.test_st:profile_name())
    con:execute(st:profile_name())
end

Его надо выполнить подряд два раза. При первом выполнении заспавнится долговец (слегка подвинет ГГ), при втором - для него выведется информация. У меня чётко выводится та секция, которую спавнил.

 

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

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

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

 

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

malandrinus, Будет потому что секция у него сталкер. bar_dolg_respawn_1 - ЭТО спавн секция. Открой all.spawn и увидешь почти у всех сталкеров секция Сталкер. У некотрых монолитовцев - Сталкер_монолит. У зомбированых - Сталкер_зомбиед. У Сахара - Сталкер_ Сахаров. obj:sectiron() это ему и возвращает.

 

 

Вот например

 

[1570]

; cse_abstract properties

section_name = stalker

name = esc_wolf

position = -210.632614135742,-20.050708770752,-142.461120605469

direction = 0.0445535257458687,-0.000645029998850077,0.0144814234226942

 

Вот Волк и секция у него Сталкер значит и вернется его секция - section_name = stalker

 

Все разобрался тем кто спавняться через all.spawn у тех секция берется оттуда (stalker, stalker_monolith и т.д.)

Те же кто спавниться скриптом или через респавнеры береться секция и spawn_sections.

 

Вот у меня

 

local position = db.actor:position()

position.x = position.x + 30

local obj = alife():create("my_trader", position, db.actor:level_vertex_id(), db.actor:game_vertex_id())

dbglog("actor see npc "..obj:section_name().."")

end

 

Unknown command: ZAMET:actor___see___npc___my_trader

Изменено пользователем dan
Ссылка на комментарий

dan,

между "stalker" и у примеру твоим "my_trader" принципиальной разницы нет. Всё это секции, которые находятся в system.ltx. С секцией "stalker" можно заспавнить и скриптом, а секцию "my_trader" можно прописать кому-то для спавна через all.spawn.

Мне не понятно другое, почему у 4ufak спавнится с одной секцией, а потом при проверке секция другая. По-моему, он просто другого сталкера проверяет.

Я проверил по-другому. Записал как и у 4ufak проверку в коллбек биндера на использование. По-любому секция выводится та, с которой был создан. Для меня вопрос закрыт.

 

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

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

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

 

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

Скажите - как можно добавить например кровоссосу доп. новую текстуру. Ну например в оригинале их 2 вида, а я хочу сделать три вида.

Правельно пейсать "мадыратарчег", патамукаг проверочнойе слова "красафчег".

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

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

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

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

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

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

Войти

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

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

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