S.T.A.L.K.E.R. Dead City Mod
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.
S.T.A.L.K.E.R. Dead City Mod


 
ГлавнаяГлавная  Последние изображенияПоследние изображения  ФорумФорум  РегистрацияРегистрация  ВходВход  

 

 Один из методов спавна

Перейти вниз 
АвторСообщение
Зодт

Зодт


Сообщения : 51
Дата регистрации : 2011-07-15
Возраст : 29
Откуда : }{имки

Один из методов спавна Empty
СообщениеТема: Один из методов спавна   Один из методов спавна Icon_minitimeВс Июл 17, 2011 10:24 am

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

Идея проста.

1) Создаём объект стандартным методом:local obj = alife():create(...) 2) Создаём экземпляр класса net_packet:local packet = net_packet() 3) Сохраняем состояние объекта в пакет:obj:STATE_Write(packet) 4) Считываем _все_ сохраняемые свойства в переменные:local property1 = packet:r_u32()...local propertyN = packet:r_float() 5) Записываем эти переменные опять, меняя или дополняя необходимые параметры:packet:w_u32(property1)...propertyN = new_valuepacket:w_float(propertyN) 6) Считываем модифицированное состояние объекта:packet:r_seek(0)obj:STATE_Read(packet, packet:w_tell())Где брать список сохраняемых параметров и их размеры? Самый верный способ - дизассемблирование методов STATE_Write и STATE_Read всех классов вида CSE_ALife... в xrGame.dll. Более простой - смотреть методы state_read "классов" cse_alife_... в acdc.pl (это альтернативный редактор all.spawn). Но там могут быть ошибки.

Внизу вы найдете пример кода, который скриптом создаёт рабочую электру и вертолёт (у ног игрока и на 50 метров выше игрока соответственно).

Лучше всего смотреть на Кордоне. Вертолёт ни на что не реагирует, но это нормально. Ему нужно либо логику через custom_data прописывать, либо ручками дёргать управляющие методы.

Нюансы
1) Для некоторых типов объектов желательно дёргать UPDATE_Write/UPDATE_Read. Смотрите в том же acdc.pl методы update_read (если есть).

2) Стоит попробовать поиграться с аномалиями, которые создаются при активации артефактов. Если у них таймер не внешний, то есть шанс регулировки времени жизни. Ссылку на серверный объект можно получить через биндер, например.
Вернуться к началу Перейти вниз
https://dcm-team.forum2x2.ru
 
Один из методов спавна
Вернуться к началу 
Страница 1 из 1

Права доступа к этому форуму:Вы не можете отвечать на сообщения
S.T.A.L.K.E.R. Dead City Mod :: Делаем моды своими руками! :: Уроки для ЗП :: Уроки ACDC для ЗП-
Перейти: