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

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


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

Gonarh

А как obj приравнивать непись/аномалию/рестриктор и т.д

Вместо obj писать я так думаю нельзя.

 

Добавлено через 5 мин.:

Gonarh

Как поставить метку на рестриктор. К примеру на такой:

function spawn_restrictor()

local sid = nil

local pos = vector():set(-257.244873,-17.815731,-127.838867)

local lv = 7389

local gv = 9

local radius = nil

local x = 10 --\ размер по x - длина

local y = 10 --\размер по y - высота

local z = 10 --\размер по z ширина - в итоге имеем квадрат 10x10x10 метров

local ltx = "[logic]\n"..

"active = sr_idle\n"..

 

"[sr_idle]\n"..

"on_actor_inside = sr_idle@1 %=restrictor_spawn_my_npc%\n"..

 

"[sr_idle@1]\n"..

"on_actor_outside = sr_idle@nil\n"..

 

"[sr_idle@nil]"

 

_new_create.create_restr(sid, pos, lv, gv, ltx, radius, x, y, z)

 

end

 

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

local obj = alife():object("esc_fox") --Это сталкер Лис

 

Добавлено через 1 мин.:

покажи функцию create_restr в скрипте _new_create

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий

Вот

function create_restr(storid, pos_restr, lvid_restr, gvid_restr, custom_restr, radius_restr, ax_x, ax_y, ax_z)

local obj = alife():create("space_restrictor", pos_restr, lvid_restr, gvid_restr)

 

local packet = net_packet()

obj:STATE_Write(packet)

----------------------- load ------------------------------

local game_vertex_id = packet:r_u16()

local cse_alife_object__unk1_f32 = packet:r_float()

local cse_alife_object__unk2_u32 = packet:r_u32()

local level_vertex_id = packet:r_u32()

local object_flags = packet:r_u32()

local custom_data = packet:r_stringZ()

local story_id = packet:r_u32()

local spawn_story_id = packet:r_u32()

local shape_count = packet:r_u8()

for i=1,shape_count do

local shape_type = packet:r_u8()

if shape_type == 0 then

local center = packet:r_vec3()

local radius = packet:r_float()

else

local axis_x = packet:r_vec3()

local axis_y = packet:r_vec3()

local axis_z = packet:r_vec3()

local offset = packet:r_vec3()

end

end

 

local restrictor_type = packet:r_u8()

-------------------------- save -----------------------------

packet:w_begin(game_vertex_id)

packet:w_float(cse_alife_object__unk1_f32)

packet:w_u32(cse_alife_object__unk2_u32)

packet:w_u32(level_vertex_id)

packet:w_u32( bit_not(193) )

 

if custom_restr ~= nil then

if string.find (custom_restr, '.ltx') ~= nil then

custom_restr = '[logic]\n cfg = '..custom_restr..'\n'

end

packet:w_stringZ(custom_restr)

else

packet:w_stringZ(custom_data)

end

 

if storid ~= nil then

packet:w_u32(storid)

else

packet:w_u32(p_story_id)

end

 

packet:w_u32(spawn_story_id)

 

packet:w_u8(1)

if radius_restr ~= nil then

packet:w_u8(0)

packet:w_vec3(vector():set(0, 0, 0))

packet:w_float(radius_restr)

elseif radius_restr == nil and ax_x == nil then

packet:w_u8(0)

packet:w_vec3(vector():set(0, 0, 0))

packet:w_float(2.5)

else

packet:w_u8(1)

packet:w_vec3(vector():set(ax_x, 0, 0))

packet:w_vec3(vector():set(0, ax_y, 0))

packet:w_vec3(vector():set(0, 0, ax_z))

packet:w_vec3(vector():set(0, 0, 0))

end

 

packet:w_u8(restrictor_type)

-----------------------------------------------------

packet:r_seek(0)

obj:STATE_Read(packet, packet:w_tell())

end

 

 

function spawn_restrictor()

local sid = nil

local pos = vector():set(-257.244873,-17.815731,-127.838867)

local lv = 7389

local gv = 9

local radius = nil

local x = 10 --\ размер по x - длина

local y = 10 --\размер по y - высота

local z = 10 --\размер по z ширина - в итоге имеем квадрат 10x10x10 метров

local ltx = "[logic]\n"..

"active = sr_idle\n"..

 

"[sr_idle]\n"..

"on_actor_inside = sr_idle@1 %=restrictor_spawn_my_npc%\n"..

 

"[sr_idle@1]\n"..

"on_actor_outside = sr_idle@nil\n"..

 

"[sr_idle@nil]"

 

this.create_restr(sid, pos, lv, gv, ltx, radius, x, y, z)

 

end

 

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

после строки

local obj = alife():create("space_restrictor", pos_restr, lvid_restr, gvid_restr)

добавь строку

level.map_add_object_spot(obj.id, "red_location", "мой первый рестриктор")

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий

Gonarh

Делаю вот так:

 

function metka(obj)

level.map_add_object_spot(obj.id, "kill_stalker_location", "Моя метка")

local obj = alife():object("esc_wolf")

end

 

Метка ставится на ГГ. Вызов функции делаю через диалог.

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

не тупи

function metka()

local obj = alife():object("esc_wolf")

if obj then level.map_add_object_spot(obj.id, "red_location", "Моя метка") end

end

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий

karavan, Слушай,тебе не надоело такую фигню спрашивать?

Может воспользуешься поиском по этой и старой теме+посмотришь в модах?Такие мелочи во всех есть же мало-мальски наполненных.

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

Monnoroch

Нет не надоело. Я учусь. И как показывает практика далеко не все знают эту "фигню".

Если знаешь ответь новечку, а не отбивай желание научиться. В том же АМК такой фигни как метки на предметы, НПС и прочее очень мало и скорей всего потому что их незахотели делать, а не из-за усложнения. И были бы метки, не было бы столько дурацких вопросов на всем извесном форуме.

Так что подскажи как убрать метку с карты? И еще как поставить метку на тайник? Докажи что мастер. :big_boss:

Вопрос будет снят.

 

P.S. Тема называется: "Ковыряемся в файлах Stalker SoC", а не "Запрещенные вопросы Stalker SoC". :rolleyes:

 

Сообщение от модератора n6260
Но и чтение статей из шапки и просмотр старой темы вопросов никто не отменял.
Ссылка на комментарий

Согласен с Монорохом на все 100% :good:

 

Добавлено через 3 мин.:

В том же АМК такой фигни как метки на предметы, НПС и прочее очень мало и скорей всего потому что их незахотели делать, а не из-за усложнения. И были бы метки, не было бы столько дурацких вопросов на всем извесном форуме.

1) Они есть, меток дофига, другой вопрос шо ты их не видишь

2) Шоб ковыряцца в скриптах, нуно иметь хотябы базовые навыки в программировании

3) Думаешь тут все местные спецы как стали спецами? Им кто нить подсказывал как тебе? А вот хер вам - метод научного тыка рулит + курение манов

4) Извини конечно но все твои посты попахивают троллизмом, потому что погуглив - на все твои вопросы найдешь ответы максимум за полчаса

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий

Gonarh, По пункту 3 - истинная правда.

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

 

karavan, а тебе совет - есть такой мод NLC 5.03.

Так вот это то,что тебе нужно.

Дело в том,что это мод с новыйми квестами - интересными.И все это и многоедругое там есть.Полный набор для новичка и не совсем новичка.

 

Там все твои вопросы + еще около 1,5 сотен твоих следующих(предположительно - но я думаю,что не ошибаюсь) вопросов реализованы.

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

Gonarh

Никакого тролизма нет. Как говорят в ПО если что обраться к специалисту. Прежде чем задавать свои "глупые вопросы", я пользовался и гуглом и другими форумами. В програмировании я действительно новичек что скрывать. Я и так об этом говорил. И нет ничего грешного что бы помочь новичку разобраться.

И еще еслибы уроки которые есть на ВИКИ и АМК были для всех, а не для отдельных лиц, да еще и без ошибок, то вопросов и не возникало бы. И было бы больше хороших модов от новичков. Так что я не могу понять в чем страх Monnorochа, в том что кто-то научится или почитать нечего? Лень помочь зачем писать зря? Не можешь не пиши.

Я ведь никого не оскорбил и даже не пытался. Кроме меток меня интересуют много вопросов связанных с модостроением Сталкера и ответы на многие из-них я ищу сам и нахожу. Я же не спросил как сделать однотипные квесты? Нет.

 

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

Так что подскажите пожалуйста кто знает.

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

Вот. :rolleyes:

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

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

а на него мона повесить твою метку

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105
Ссылка на комментарий
Я ведь никого не оскорбил и даже не пытался.

Этого никто и не говорит. Просто к примеру, вот ты задал вопрос "как поставить метку". Тебе дали функцию. Ты тут же спрашиваешь "а как убрать?". Между тем, ответ на второй вопрос нетрудно найти самому. В примере от Gonarh есть использование вот такой функции:

level.map_add_object_spot()

Тебе дали наводку, так попробуй её использовать: смотришь в lua_help.script, там рядом в том же списке есть и функция map_remove_object_spot.

 

В дальнейшем планирую выложить все свои уроки

Это хорошо, для этого даже есть уже специальные темы. Так что welcome!

 

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

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

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

 

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

Как сделать чтобы стёкла противогаза трескались при повреждении костюма?

 

Сообщение от модератора n6260
Посмотри как это сделано в динамическом худе солянки.
Ссылка на комментарий

Люди. :rolleyes:

Как заспавнить предметы внутри тайника или в разбивающийся ящик? Лучше в ящик.

Объясните максимально доходчиво если не влом. :negative:

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

karavan

в разбивающися ящиках предметы прописаны в аллспавне

в тайниках в treasure_manager если не изменяет память

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

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

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

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

malandrinus

 

В примере от Gonarh есть использование вот такой функции:

level.map_add_object_spot()

Тебе дали наводку, так попробуй её использовать: смотришь в lua_help.script, там рядом в том же списке есть и функция map_remove_object_spot.

 

Никого не хочу обитеть но может при ответах на вопрос стоит приводить конкретный пример использования функции в игре с коментариями ? а не посылать учить правила использования этих функций и луа помошь ?

 

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

 

С помошью рабочего примера с коментариями гораздо легче понять что к чему

 

Уважаемые гуру учтите что если кто то захотел что то поменять в игре то этот кто то возможно имеет 8 классов образования (по вашему ему не стоит и пытатся ?)

 

А если у него огромное желание и куча идей (поступать в институт ?) или при вашей помоши попытатся разобратся самому ?

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

n6260, а не подскажешь какую именно солянку надо скачать, чтобы треснутые стёкла видны были и костюм менялся на тот в котором ходишь?

 

Сообщение от модератора n6260
Динамический худ у нас был в Народной солянке до последней версии (вроде).

И еще в работах Monnorochа.

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

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

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

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

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

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

Войти

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

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

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