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

[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" взялся непонятно.

Как в NLC добавить рецепты осведомителю в баре?

 

Сообщение от администратора _And_
Читай мою шпаргалку.

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

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

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

 

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

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

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

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

wolkolak,

amk_offline_alife.trap_hit_armor

amk_offline_alife.trap_hit_actor

 

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

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

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

 

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
Renson, это из какого мода? приведи эту функцию, а то так не понятно.
Вот первые три цифры - координаты X, Y, Z. А остальные?

 

60449 - level_vertex_id

46 - game_vertex_id

0,0,0 - direction (x,y,z)

"L01_Escape" - я думаю понятно

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

 

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

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

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)

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

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

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

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

Спасибо, сработало. А что, спавнить по этому имени нельзя? Can't open section 'gar_stalker_general'. В spawn_sections.ltx такого нету :( обидно

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

Как он может выдать "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

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

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 проверку в коллбек биндера на использование. По-любому секция выводится та, с которой был создан. Для меня вопрос закрыт.

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

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

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

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

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

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

Войти

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

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

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