Пользователей: 0
Гостей: 358
Всего: 358

» Подробно
» Сегодня


Привет, Гость!

Ник


Пароль


Запомнить?




» Добавить в избранное

» Сделать стартовой

Главная
Форум
Обзор игры
Мир Зоны
Файлы
Галерея
Разное






Форумы > Архив > Склад > Вопросы и ответы (по 05.06.10)

Страница 20 из 51Первая«17181920212223 »Последняя
Быстрый переход:


 

Автор Сообщение
Darien Fx
[1] Странник
Онлайн статус=0  Профиль    




Посты: 1372
Откуда:
Занятие:
Возраст: 30

06-05-2010 14:56 GMT3 часа #1241992   Split
karavan
pos = pos:add(dir:mul(3)) - это добавляет к каждой координате +3? Попробуй так:
Код:
function spawn_bobm()
local pos = db.actor:position()
local dir = db.actor:direction()
local objbomb = alife():create("bomba", vector():set(pos.x+3, pos.y+3, pos.z+2), db.actor:level_vertex_id(), db.actor:game_vertex_id())
table.insert(ids, objbomb.id) --  id объекта после создания
end


erlik
Не знаешь, где можно достать книгу Иерусалимского на русском?

Сообщение было успешно отредактировано Futura (06-05-2010 14:56 GMT3 часа, назад)

erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
06-05-2010 14:44 GMT3 часа #1241999   Split
karavan
ну попробуй так.

function spawn_bobm()
local pos = db.actor:position()
local dir = db.actor:direction()
pos = pos:add(dir:mul(3))
pos.y = pos.y + 2
local objbomb = alife():create("bomba", pos, db.actor:level_vertex_id(), db.actor:game_vertex_id())
table.insert(ids, objbomb.id) -- id объекта после создания
end

правда я на высоте спавнил только вертолет.
ну еще самого ГГ закидывал на деревья. Будет ли предмет висеть в воздухе - не уверен. Хотя - попробуй.


karavan
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 940
Откуда:
Занятие:
Возраст:

08-05-2013
06-05-2010 14:59 GMT3 часа #1242016   Split
Futura , erlik Спасибо попробую.

Вот возник вопрос, а возможно ли как-то сохранить позицию (точку) от ГГ что бы потом на ней спавнить что-то?
Объясню что я имею ввиду. Например в определённый момент берётся точка со смещение от ГГ и сохраняется в таблицу (или куда-то), а через время происходит спавн обьектов в этой точки хотя ГГ уже сменил позицию.


Germess
[1] Странник
Онлайн статус=0  Профиль    




Посты: 145
Откуда: Temirtau
Занятие: Работаю над ICE modом
Возраст: 29

31-10-2010
06-05-2010 15:32 GMT3 часа #1242053   Split
можно ли заспавнить например стену ( бетонную ) на локации xrSpawner ом или через скрипт?
ну, без СДК


Darien Fx
[1] Странник
Онлайн статус=0  Профиль    




Посты: 1372
Откуда:
Занятие:
Возраст: 30

06-05-2010 15:33 GMT3 часа #1242055   Split
karavan
Даже если ты в таблицу сохранишь позицию, всё равно когда ты к ней будешь обращаться будет читаться настоящая позиция. Попробуй через нет пакет, правда нужно будет сохраняться и загружаться.


erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
06-05-2010 16:30 GMT3 часа #1242065   Split
Futura
почему читаться будет настоящая?

сохраняем также как айди в отдельную таблицу например (хотя можно и в одну все писать)
если в отдельную то так
tab_pos = {} -- объявляем пустую таблицу
получаем позицию от ГГ и далее пишем вектор в таблицу
table.insert(tab_pos,pos) -- правда собственно вектор ни разу в таблицу не писал - но в lua таблицы все что угодно хранить могут.

Но если хранить позиции нужно долговременно - таблицу надо сохранять.

Книгу - сейчас посмотрю - на русском у меня была - но она ведь не полностью переведена - полного перевода в инете вообще нет.
Тебе неполная версия нужна? Там где то около половины глав есть.

karavan
правда как ты потом собираешься извлекать оттуда нужную позицию?
таким вот способом ключом каждой позиции будут индексы от 1 и т.д
следовательно только по ним и сможешь извлечь позицию - последовательно перебирая все.
либо можно сделать строковой ключ (уникальный) для каждой позиции - но это уже от тебя зависит - какой ключ задать. Тогда можно будет легко извлекать нужную позицию (одну из всех) по заданному ключу.
В общем правильная организация данных в таблице - это отдельная наука

сохранять и загружать табличные данные нужно так
(для одномерной таблицы - для прочих посложнее будет)
Код:
function tab_save(p)
local i = 0
for k,v in pairs(morg) do
i = i + 1 -- считаем кол-во ключей таблицы
end
p:w_u16(i)  -- записываем число
for k, v in pairs(morg) do   -- итерируем указанную в скобках таблицу
p:w_u16(k)   -- записываем  ключ  -- лишнее если индексы идут в математическом порядке
p:w_u16(v) -- записываем значение  ключа  - тоже число
end
end

Код:
function tab_load(r)
local i = r:r_u16()  -- загружаем число ключей
for k = 1, i do   -- заполняем таблицу заново
local id = r:r_u16()  -- загружаем последовательно ключи - если же они не сохранялись то
строчка не нужна, а ниже  вместо id  пишем i
morg[id] = r:r_u16()  -- загружаем значения
end
end


И каждую функцию ставим на вызов бинд сталкер - в функции save и load - везде в одно и тоже место.

то какой именно метод использовать для чтения r_u16() или r_u24() или r_u8() или r_stringZ() и т.д. зависит от типа данных которые нужно сохранять и загружать - число (больше или малое, целое или float ), строку или вектор и т.д.
соответственно для записи есть p:w_u16(), p:w_u24(k), p:w_stringZ() и т.д.
Основной перечень этих методов есть на сайте АМК в справочнике по функциям и классам.


добавлено спустя 5 минут

Futura
вот здесь она есть - правда какой там около половины - пятая-шестая часть наверно только - всего то пять глав - точнее четыре - остальных нет.
http://aap13.narod.ru/PiL/index.html#P1

Сообщение было успешно отредактировано erlik (06-05-2010 16:30 GMT3 часа, назад)

Darien Fx
[1] Странник
Онлайн статус=0  Профиль    




Посты: 1372
Откуда:
Занятие:
Возраст: 30

06-05-2010 16:36 GMT3 часа #1242089   Split
erlik
Спасибо.
Если векторную сохранять прямо так - table.insert(tab_pos, db.actor:position()), то разве не будет при парсере читаться именно настоящая? Даже если и будет, я и не подумал, что можно сохранять "по кусочкам", т.е. сначала pos.x и т.д.. Тогда уж точно при спавне если подставлять вот так - tab_pos[1], tab_pos[2] и tab_pos[3], работать будет.
А вот такой вопрос: что сохраняется при использовании obj:STATE_Write(net_packet())? В функции спавна аномалии, после этого метода идут различные сохранения позиции, сида, даже кастом даты. Вот стало интересно побольше узнать об этом.

Сообщение было успешно отредактировано Futura (06-05-2010 16:36 GMT3 часа, назад)

erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
06-05-2010 17:45 GMT3 часа #1242105   Split
Futura
если сохранять так то table.insert(tab_pos, db.actor:position()) то (если конечно вектор все таки будет так сохраняться - а можно и по частям) в каждый момент времени записи писаться будет реальная позиция нахождения ГГ (метод db.actor:position() возвращет вектор - и ведь не сам же метод будет писаться - а результат его вызова).
И будет всегда новая позиция. Если конечно ГГ на месте стоять не будет.

Вот смотри например я на C# заполняю таблицу методами которые возвращают реальное текущее время и сразу же изменяю значения прибавляя к текущему - новое значение


Код:
DateTime dt = DateTime.Now;
DateTime[] masstime = { dt.AddHours(1).AddMinutes(58).AddSeconds(50),
                                  dt.AddHours(0).AddMinutes(28).AddSeconds(45),
                                  dt.AddHours(0).AddMinutes(28).AddSeconds(45),
                                  dt.AddHours(3).AddMinutes(11).AddSeconds(35),
                                  dt.AddHours(1).AddMinutes(3).AddSeconds(1),
                                  dt.AddHours(1).AddMinutes(13).AddSeconds(39),
                                  dt.AddHours(1).AddMinutes(38).AddSeconds(30),
                                  dt.AddHours(1).AddMinutes(38).AddSeconds(55),
                                  dt.AddHours(1).AddMinutes(15).AddSeconds(20),
                                  dt.AddHours(1).AddMinutes(22).AddSeconds(15),
                                  dt.AddHours(1).AddMinutes(10).AddSeconds(20),
                                  dt.AddHours(1).AddMinutes(28).AddSeconds(15),
                                  dt.AddHours(1).AddMinutes(28).AddSeconds(55),
                                  dt.AddHours(0).AddMinutes(10).AddSeconds(10),
                                  dt.AddHours(1).AddMinutes(20).AddSeconds(50),
                                  dt.AddHours(1).AddMinutes(30).AddSeconds(10),
                                  dt.AddHours(1).AddMinutes(5).AddSeconds(25),
                                  dt.AddHours(1).AddMinutes(30).AddSeconds(30),
                              dt};
        var time = masstime.OrderByDescending(t => t.Hour).ThenByDescending(t => t.Minute).ThenByDescending(t => t.Second);
        //var time2 = masstime.OrderByDescending(t => t);

        Console.WriteLine("  {0, -7}{1,-7}{2}", "Часов", "Минут", "Секунд");
       
        foreach (var t in time)
        {
            Console.WriteLine("  {0, -7}{1,-7}{2}", t.Hour, t.Minute, t.Second);
        }


и получаю в выводе таблицы различные временные значения


добавлено спустя 7 минут

obj:STATE_Write(packet)
это метод записи(считывания) состояния объекта например в пустой нетпакет (его нужно создать предварительно через local packet = net_packet() либо как в твоем примере сразу вызвать метод его создания) - который затем можно прочитать и найти среди кучи данных что-нить нужное.
И потом можно сделать перезапись состояния объекта через obj:STATE_Read(packet,packet:w_tell()) ) - я правда пока ничего не перезаписывал. Только считывал.
в файле Amk.script есть много функций с этим делом. И по названию локальных переменных можно понять что именно считывается в нее.

В общем не совсем точно я все это описал - подробнее посмотри в амкашном справочнике по классу net_packet

вот так к примеру я считывал реальное имя серверного NPC
function read_net_packet(sobj)
--создаем пустой нет пакет
local packet = net_packet()
--загружаем состояние объекта
sobj:STATE_Write(packet)
packet:r_u32()
packet:r_stringZ()
packet:r_u32()
packet:r_stringZ()
packet:r_u32()
packet:r_u32()
packet:r_u32()
local s = packet:r_stringZ() -- последовательность расположения данных можно узнать в перловской версии ACDC в файле acdc.pl
packet = nil
return s
end

Сообщение было успешно отредактировано erlik (06-05-2010 17:45 GMT3 часа, назад)

FLIKER
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 1047
Откуда: Краснодар
Занятие:
Возраст: 29

14-02-2012
06-05-2010 21:16 GMT3 часа #1242397   Split
Извините за нудский вопрос...
Вот если вставить фаил zoneseffect.script из OGSE как его активировать чтобы он заработал?


userbar
TYOPA
[1] Странник
Онлайн статус=0  Профиль    




Посты: 129
Откуда:
Занятие: GZ ModTeam
Возраст: 27

06-05-2010 21:20 GMT3 часа #1242403   Split
Создал группировку. Добавил в неё Волка, а он на месте не стоит. Шарится по лагерю новичков.
Как это исправить?


karavan
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 940
Откуда:
Занятие:
Возраст:

08-05-2013
06-05-2010 21:27 GMT3 часа #1242406   Split
Подскажите пожалуйста.
Код:
local tim = 0

function time_for_do()
local tim = 0
       for i=1, 3 do
if time_global() - tim > 10000 then
news_manager.send_tip(db.actor, "Таймер через 10 секунд", 0, nil, 5000)
tim = time_global()
end
        end
end


Нужно что бы сообщение выводилось 3 раза каждые 10 секунд реального времени. Что у меня не правельно? Потому что выводится сразу три сообщение одновременно.

Сообщение было успешно отредактировано karavan (06-05-2010 21:27 GMT3 часа, назад)

erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
06-05-2010 21:59 GMT3 часа #1242447   Split
karavan

local tim= time_global() + 10000

// на апдейт
function time_for_do()
if tim <= time_global() then
news_manager.send_tip(db.actor, "Таймер через 10 секунд", 0, nil, 5000)
tim = time_global() + 10000
end
end

Каждые секунд - без ручной активации - автоматом. Бесконечно.

добавлено спустя 59 секунд

тьфу ты блин - тебе ж тока три раза надо. Тогда сейчас подумаю.

добавлено спустя 3 минут

local tim= time_global() + 10000
local ch=0
// на апдейт
function time_for_do()
if (tim <= time_global() and ch<3) then
news_manager.send_tip(db.actor, "Таймер через 10 секунд", 0, nil, 5000)
tim = time_global() + 10000
ch=ch+1
end
end

но если не поставить еще одним условием поршень - то при новой загрузке игры - снова будет работать.

Сообщение было успешно отредактировано erlik (06-05-2010 21:59 GMT3 часа, назад)

karavan
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 940
Откуда:
Занятие:
Возраст:

08-05-2013
06-05-2010 22:19 GMT3 часа #1242463   Split
erlik Спасибо.
А с for i=1, 3 do никак нельзя?
Я просто подумал что если в этот цикл поставить таймер то будет вначале выводится одно сообщение, через 10 сек второе и через 10 сек третье.

добавлено спустя 2 минут

Я вот забыл, таймеры всегда обязательно на апдейт ставить или он может работать и после активации через диалог например?

Сообщение было успешно отредактировано karavan (06-05-2010 22:19 GMT3 часа, назад)

erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
06-05-2010 22:42 GMT3 часа #1242473   Split
karavan
апдейт обязателен. Как включать апдейт - через диалог, скрипт или как то иначе - без разницы.
Важно чтобы значения которые возвращает метод постоянно обновлялись - иначе если они будут всегда одни и те же - никакого таймера не получится.
через цикл тут нельзя.
цикл есть цикл - ему плевать на таймер - для него только одно условие существует
for i=счетчик, лимит do
пока счетчик меньше лимита крутим действие.
Точнее в lua - пока счетчик не равен лимиту.

через другой оператор цикла можно
while условие do
но тут нет счетчика. Надо самому добавлять. Но получается то ж самое что с if ...then


FLIKER
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 1047
Откуда: Краснодар
Занятие:
Возраст: 29

14-02-2012
06-05-2010 22:53 GMT3 часа #1242477   Split
Скажите создал НПС,до этого создавал тысячу раз и всё работало ,но сейчас почему то вылет...
FATAL ERROR

[error]Function : CSE_ALifeTraderAbstract::specific_character
[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_Objects_ALife_Monsters.cpp
[error]Line : 333
[error]Description : no default specific character set for class
[error]Arguments : esc_unik_npc

Как его исправить?
1)
Извините за нудский вопрос...
Вот если вставить фаил zoneseffect.script из OGSE как его активировать чтобы он заработал?

Сообщение было успешно отредактировано FLIKER (06-05-2010 22:53 GMT3 часа, назад)

userbar
АнархОПанк
[1] Странник
Онлайн статус=0  Профиль    




Посты: 998
Откуда:
Занятие:
Возраст:

07-05-2010 15:28 GMT3 часа #1242714   Split
FLIKER вопрос не нудский а нубский, ты хотел написать. Чтобы он заработал его надо активировать в в скрипт игровой.


Germess
[1] Странник
Онлайн статус=0  Профиль    




Посты: 145
Откуда: Temirtau
Занятие: Работаю над ICE modом
Возраст: 29

31-10-2010
07-05-2010 16:47 GMT3 часа #1242770   Split
Expression : start_node && path
Function : CXml::NavigateToNode
File : E:\stalker\patch_1_0004\xrXMLParser\xrXMLParser.cpp
Line : 97
Description : NavigateToNode failed in XML file
Arguments : gameplay\dialogs_ice.xml

Из-за чего эта проблема? поставил диалог НПС как стартовый, пытаюсь заговорить, вылет с таким логом. 3 раза переписывал диалог, эта **** все равно вылетает.


Psychologist
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 1808
Откуда: Челябинск
Занятие: Стихоплётство, туризм :)
Возраст: 27

12-12-2010
07-05-2010 16:56 GMT3 часа #1242778   Split
FLIKER
Знание английского тебе в помощь!!!
Перевод, того, что нужно тебе:
А лог означает:
"Класс в профиле и класс в npc_profile.xml не сходятся!"
Такая же ошибка была у мода Alfa-2 на ЗП.

добавлено спустя 2 минут

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

Сообщение было успешно отредактировано Сталкер Монолита (07-05-2010 16:56 GMT3 часа, назад)

erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
07-05-2010 21:33 GMT3 часа #1243023   Split
Futura
эту я видел - у меня та что имя возвращает совпадает с ней - просто я только имя возвращал - мне остальное без надобности было.


Darien Fx
[1] Странник
Онлайн статус=0  Профиль    




Посты: 1372
Откуда:
Занятие:
Возраст: 30

07-05-2010 21:46 GMT3 часа #1243027   Split
erlik
Угу, не заметил. А можно узнать ещё чего нибудь, например оружие? Я там дальше раз 10 считывал параметры, но там только разные большие числа вылезают.
А всё, нашёл в том же АМК.


TYOPA
[1] Странник
Онлайн статус=0  Профиль    




Посты: 129
Откуда:
Занятие: GZ ModTeam
Возраст: 27

08-05-2010 15:10 GMT3 часа #1243335   Split
1)Создал группировку. Добавил в неё Волка, а он на месте не стоит. Шарится по лагерю новичков.
2)и ещё при убийстве любого члена группировки игра вылетает.
Как это исправить?
Зарание спасибо.


FLIKER
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 1047
Откуда: Краснодар
Занятие:
Возраст: 29

14-02-2012
08-05-2010 15:29 GMT3 часа #1243345   Split
TYOPA
2)Нужно прописывать в файле xr_statistic.script свой групировку, чтобы при убийстве НПС группировки игра не вылетала...


userbar
musnuk
[1] Странник
Онлайн статус=0  Профиль    




Посты: 487
Откуда: припять,проспект Ленина 86
Занятие: гитара, комп, спорт, шахматы, друзья.
Возраст: 30

07-01-2011
08-05-2010 17:02 GMT3 часа #1243356   Split
если нпс заспавнить например метров 300 над землей, то он погибнет или как святой сойдет на землю?

добавлено спустя 1 час 6 минут

TYOPA прописать в статичном гулаге волка его группировку.
наверное так...

Сообщение было успешно отредактировано musnuk (08-05-2010 17:02 GMT3 часа, назад)

ВЕРЕС14
[1] Странник
Онлайн статус=0  Профиль    




Посты: 362
Откуда: Калуга
Занятие: S.T.A.L.K.E.R.
Возраст: 28

08-05-2010 17:51 GMT3 часа #1243414   Split
Люди, а когда выйдет АМК2? И Лост альфа?


FLIKER
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 1047
Откуда: Краснодар
Занятие:
Возраст: 29

14-02-2012
08-05-2010 18:01 GMT3 часа #1243433   Split
ВЕРЕС14
Ты темой ошибся...
1)Заходи на форум Лост альфа и там спрашивай...
2)Если что то команда АМК занимается проектом анреал зона..
(точно не помню)


userbar
ВЕРЕС14
[1] Странник
Онлайн статус=0  Профиль    




Посты: 362
Откуда: Калуга
Занятие: S.T.A.L.K.E.R.
Возраст: 28

08-05-2010 18:10 GMT3 часа #1243440   Split
FLIKER Тут тема вопросы и ответы...
И ещё, не знаеш сайт Альфы?


djslavikoz
[1] Странник
Онлайн статус=0  Профиль    




Посты: 123
Откуда:
Занятие: стараюсь понять всё о модах
Возраст: 40

08-05-2010 18:23 GMT3 часа #1243444   Split
Ребята подскажите как сделать спавн при переходе локации


karavan
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 940
Откуда:
Занятие:
Возраст:

08-05-2013
08-05-2010 18:49 GMT3 часа #1243464   Split
Люди подскажите пожалуйста как удалить предмет (итемс или артефакт) так сказать с земли? Знаю есть такой метод alife():release , но что-то немогу понять что для него надо айди обьекта или достаточно имени (думаю вряд ли)?

Пробовал вот так заспавнить:

local ids = {}

function spawn_test()
local pos = db.actor:position()
local dir = db.actor:direction()
pos = pos:add(dir:mul(5))
local objbomb = alife():create("af_cristall_flower", pos, db.actor:level_vertex_id(), db.actor:game_vertex_id())
table.insert(ids, objbomb.id) -- id объекта после создания
end



И вот так удалить:


function delete_test()
for k,v in pairs(ids) do
local obj = level.object_by_id(v)
if obj then
alife():release(obj , true)
end
end
end



Спавнить спавнится, только удалить неполучается.


Artos
[20] Сталкер
Онлайн статус=0  Профиль    




Посты: 4176
Откуда:
Занятие:
Возраст: 65

08-05-2010 19:48 GMT3 часа #1243496   Split
ВЕРЕС14
Не флуди и не путай "Справочное бюро" и топик в разделе "Модификации", предназначенный для вопросов, относящихся к процессу создания модификаций.

karavan
Различные методы/функции предназначены для конкретных типов объектов и применять их огульно ко всему, что под руку попадется - ошибка.
alife():release - предназначен ТОЛЬКО для серверных объектов.
Т.о. твой кусок кодадля удаления должен быть типа:

function delete_test()
  for k,v in pairs(ids) do
    local obj = alife():object(v) --/ серверный объект!
    if obj then
      alife():release(obj , true)
    end
  end
end

Однако не всегда процесс удаления прост, порой приходится учитывать различные условия, снимать коллбэки и пр. ...


djslavikoz
Задавая вопрос и желая получить ответ, потрудись сформулировать вопрос так, чтобы не приходилось гадать о том, что же ты спрашиваешь.
Цитата
как сделать спавн при переходе локации
При 'переходе' с локации на другую ничего не заспавнишь, т.к. 'переход' - это остановка игры и запуск ее на следующей локации. Перешел - спавни что угодно обычным способом.

Сообщение было успешно отредактировано Artos (08-05-2010 19:48 GMT3 часа, назад)

karavan
[3] Новобранец
Онлайн статус=0  Профиль    




Посты: 940
Откуда:
Занятие:
Возраст:

08-05-2013
08-05-2010 19:47 GMT3 часа #1243514   Split
Artos Спасибо. А какие еще методы существуют для удаления обьектов? Я только встречал alife():release им вроде даже аномалии удаляются.

Вот еще вопрос. Немогу понять почему вот эта функция:

Код:
function detonator()
  for k,v in pairs(ids) do
   local boom_obj = level.object_by_id(v)
   if boom_obj then
     local h = hit()
     h.direction = vector():set(0,0,0)
     h.impulse = 10
     h.draftsman = boom_obj
     h.power = 10
     h.type = hit.fire_wound
     boom_obj:hit(h)
   end
end
end

Подрывает динамиты только в пределах определенного радиуса, точно сказать не могу какого. Где-то примерно метров 50 может 100. А уж обьекты ушедшие в оффлайн точно остаются целыми.




Форумы > Архив > Склад > Вопросы и ответы (по 05.06.10)

Страница 20 из 51Первая«17181920212223 »Последняя


Эта тема закрыта, публикация новых сообщений недоступна.



???????@Mail.ru Rambler's Top100
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.

Использование материалов сайта возможно с разрешения администрации. Все права защищены. © 2004–2024 «Stalker-Portal.ru»