Итак, здесь знающие люди выкладывают примеры базовых скриптов для спавна НПС/монстров/машин/
обьектов/ для обычных юзеров, которые просто хотят "не особо-то и паря мозК" подставить свои координаты в исходник кода скрипта и заспавнить монстра ( к примеру) для мяса. ----ТУТ----
- есть замечательная статья для новичков в этом плане, однако приме, расмотренный в ней, не совсем удачен, простым юзерам про100 надо примеры спавнов обьектов, чтобы было куда подставить координаты.
Уверен, на портале есть спецы, освоившие этот метод спавна, просим СЮДА!!!
Итак, поехали!
добавлено спустя 8 минут
Буду первым, кто предоставит реальное "мясо" для народу.
Как известно, функция спавна имеет вид alife():create(section,position,levelvertex,gamevertex)
Где:
section - имя того/чего спавним
position,levelvertex,gamevertex - координаты, позиция вершины обьекта, и сектора карты.
Напишу подробно, как очень про100 их узнать:
Заходим, предварительно распаковав в каталог gamedata/scripts/
И там в файле ui_main_menu.script (открываем Блокнотом)
в конце дописываем это
________________
function main_menu:OnButton_credits_clicked()
local text
local vid
local gvid
local a = vector()
local text
a = db.actor:position()
vid = db.actor:level_vertex_id()
gvid = db.actor:game_vertex_id()
text = "Позиция:\\nX= "..a.x.."\\nY= "..a.y.."\\nZ= "..a.z.."\\nlevel_vertex= "..vid.."\\ngame_vertex_id= "..gvid
news_manager.send_tip(db.actor, text, nil, nil, 30000)
end
_______________
И сохраняемся)
Теперь в игре идём на то место, где спавним обьект, заходим в меню игры, и жмём на клавишу
СОЗДАТЕЛИ ( CREDITS) - соответственно нашему взоры не предстаёт никакой список создателей, а мы услышим звуковой сигнал, после чего выходим в игру из меню, и в строке сообщений ( или чата)
высветиться вся инфа)))
Переписываем её)))
Не успели - повторите:-P
____________
ВОТ И ВСЁ, ТОВАРИЩИ. Скрипт не мой. Используйте на здоровье!
отредактировал(а) Piter: 13-10-2007 19:39 GMT3 час. Lost Alpha Mod waiter & FAN
Создание на лету рабочих аномалий, вертолётов, переходов между уровнями, рестрикторов, точек воспроизводства и других объектов, конструктор которых задаёт не все необходимые для полноценного функционирования параметры.
Идея проста.
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_value
packet:w_float(propertyN)
6) Считываем модифицированное состояние объекта:
packet:r_seek(0)
obj:STATE_Read(packet, packet:w_tell())
Скажу ещё + ко всему, что скриптовый спавн нужно знать каждому моддеру)
У него 3 несомненных +са перед прогами, изм. файл all.spawn , а именно:
1. Не надо начин7ать новую игру, старые сейвы грузятся)
2. Не составит труда совместить 2 мода, юзающих спавн скриптом.
3. Нормальный респавн всего, что спавниться т.о. ( скриптом, т.е.)
И всё это не может не радовать)
Так что, пишите, пишите.
Для начала просто код для скриптового файла, на спавн монстра на деф. координатах (x;y;z)
И деф. game_/level_vertex
А как заспавнить 3-х зомби на 1 то4ке?!! _______________________________________________
БББЛЛЛИИИННННН!!!!! ( изв. за грубость)
НУ КТО-НИБУДЬ ДАСТ МНЕ ТУПО СКРИПТ НА СПАВН ЗОМБИ
В любом месте, И не привязанный к чему-либо !!!
ПРОСТО РАБОТАЮЩИЙ СКРИПТ, КОТОРЫЙ БЫ САМ ЗАПУСКАЛСЯ БЕЗ КВЕСТА
И ПРОСТО СПАВНИЛ МОНСТРА!!!
Координаты я подставлю и сам, в т.ч. game_vertex и level_vertex!!!
Просто дайте тупо код спавна МОНСТРА, т.е. просто как в редактировании алл.спавн!!!
Чтобы тупо спавнил МОНСТРОФФ!!!
ПОЖАЛУЙСТА!!!
ПРОСТО СПАВН БЕЗ ПРИВЯЗКИ И ЧЕГО-ТАМ ЕЩЁ ЛИБО...!!!
отредактировал(а) Piter: 14-10-2007 11:55 GMT3 час. Lost Alpha Mod waiter & FAN
3. Нормальный респавн всего, что спавниться т.о. ( скриптом, т.е.)
в смысле если я заспаню в какомто месте зомбякофф,то если они умрут,они опять там появя**500240b7e12bf63c3891**itari_test_spawn
if level == "l07_military" then
obj = alife () :create ( "m_controller", vector() :set(-185.916, -3.441, -10.909), 137714, 1654 )
end[/code]
это сработает?и как сделать чтоб он не один там спавнился а несколько?
добавлено спустя 20 минут
и будет ли он там респауниться?
отредактировал(а) zdalker: 14-10-2007 17:59 GMT3 час. "Мой дар убог, и голос мой не громок,
Но я живу, и на земле мое
Кому-нибудь любезно бытие..." (с) Е. А. Баратынский
"...Он шел своей дорогой, один и независим." (с) А. С. Пушкин
weron_team а там их вмого!(вертексов) их легко узнать вот так:
Заходим, предварительно распаковав в каталог gamedata/scripts/
И там в файле ui_main_menu.script (открываем Блокнотом)
в конце дописываем это
________________
function main_menu:OnButton_credits_clicked()
local text
local vid
local gvid
local a = vector()
local text
a = db.actor:position()
vid = db.actor:level_vertex_id()
gvid = db.actor:game_vertex_id()
text = "Позиция:\\nX= "..a.x.."\\nY= "..a.y.."\\nZ= "..a.z.."\\nlevel_vertex= "..vid.."\\ngame_vertex_id= "..gvid
news_manager.send_tip(db.actor, text, nil, nil, 30000)
end
добавлено спустя 2 минут
weron_team скажи ПЛЫЗ!
отредактировал(а) zdalker: 15-10-2007 13:16 GMT3 час. "Мой дар убог, и голос мой не громок,
Но я живу, и на земле мое
Кому-нибудь любезно бытие..." (с) Е. А. Баратынский
"...Он шел своей дорогой, один и независим." (с) А. С. Пушкин
И сохраняемся)
Теперь в игре идём на то место, где спавним обьект, заходим в меню игры, и жмём на клавишу
ТИТРЫ ( CREDITS) - соответственно нашему взоры не предстаёт никакой список создателей, а мы услышим звуковой сигнал, после чего выходим в игру из меню, и в строке сообщений ( или чата)
высветиться вся инфа)))
Переписываем её)))
Не успели - повторите
weron_team в смысле?как через него чтото делать?я просто хочу ТУПО заспвнит мостряков,можно и буз респавна главное чтоб работало!
"Мой дар убог, и голос мой не громок,
Но я живу, и на земле мое
Кому-нибудь любезно бытие..." (с) Е. А. Баратынский
"...Он шел своей дорогой, один и независим." (с) А. С. Пушкин
weron_team в смысле?как через него чтото делать?я просто хочу ТУПО заспвнит мостряков,можно и буз респавна главное чтоб работало!
Вот скрипт(не мой)
---------------------------- local zombie_types = {"zombie_weak", "zombie_normal", "zombie_strong", "zombie_immortal", "zombie_old", "zombie_ghost"}
function spawn_zombies( position, total )
local zombie_index
local new_pos, x_offset, z_offset
for zombie_index=1, total do
x_offset = math.random(5)
z_offset = math.random(5)
new_pos = position
new_pos.x = new_pos.x + x_offset
new_pos.z = new_pos.z + z_offset
new_pos.y = new_pos.y
alife():create(zombie_types[math.random(6)],new_pos,db.actor:level_vertex_id(),db.actor:game_vertex_id())
end
end
function zombie_story_1( actor, npc )
-- 12 зомби на фабрике (Кордон)
local spawn_point = vector():set( 115, -6, -16 )
spawn_zombies( spawn_point, 12 )
end
---------------------------- так мы спавним 10 зомби
Это функция function zombie_story_1( actor, npc )
затем вставляй функцию(зеленую) в диалог и ВАУАЛЯ!
а если я в диалог"чо можеш расказать"вставлю ту зелёную,то после каждого у мя будут они спавниться?!СПАСИБО ХОТЬ КТО ТО НО**500140b7e12bf63c3891**ie_story_1( actor, npc )
-- 12 зомби на фабрике (Кордон)
local spawn_point = vector():set( 115, -6, -16 )
spawn_zombies( spawn_point, 12 )
end
[/code]что это?
отредактировал(а) zdalker: 15-10-2007 14:04 GMT3 час. "Мой дар убог, и голос мой не громок,
Но я живу, и на земле мое
Кому-нибудь любезно бытие..." (с) Е. А. Баратынский
"...Он шел своей дорогой, один и независим." (с) А. С. Пушкин
а если я в диалог"чо можеш расказать"вставлю ту зелёную,то после каждого у мя будут они спавниться?!
Да. Тока будет тупизм если спросишь в арм складах а координаты то на кордоне!
СПАСИБО ХОТЬ КТО ТО НОРМАЛЬНО СКАЗАЛ.
Да не за что...
Хотя за кто-то обижуся:-)
Шучу
добавлено спустя 2 минут
вродь все понял кроме ентого:
Код:
function zombie_story_1( actor, npc )
-- 12 зомби на фабрике (Кордон)
local spawn_point = vector():set( 115, -6, -16 )
spawn_zombies( spawn_point, 12 )
end
что это?
function zombie_story_1( actor, npc )
Имя функции. Именно его вставляем в диалог
local spawn_point = vector():set( 115, -6, -16 )
Координаты
spawn_zombies( spawn_point, 12 )
Количество
отредактировал(а) weron_team: 15-10-2007 14:07 GMT3 час.
"Мой дар убог, и голос мой не громок,
Но я живу, и на земле мое
Кому-нибудь любезно бытие..." (с) Е. А. Баратынский
"...Он шел своей дорогой, один и независим." (с) А. С. Пушкин
zdalker
Там просто строчка за экран уехала
alife():create(zombie_types[math.random(6)],new_pos,db.actor
и
:level_vertex_id(),db.actor:game_vertex_id())
"Мой дар убог, и голос мой не громок,
Но я живу, и на земле мое
Кому-нибудь любезно бытие..." (с) Е. А. Баратынский
"...Он шел своей дорогой, один и независим." (с) А. С. Пушкин
"Мой дар убог, и голос мой не громок,
Но я живу, и на земле мое
Кому-нибудь любезно бытие..." (с) Е. А. Баратынский
"...Он шел своей дорогой, один и независим." (с) А. С. Пушкин
"Мой дар убог, и голос мой не громок,
Но я живу, и на земле мое
Кому-нибудь любезно бытие..." (с) Е. А. Баратынский
"...Он шел своей дорогой, один и независим." (с) А. С. Пушкин
"Мой дар убог, и голос мой не громок,
Но я живу, и на земле мое
Кому-нибудь любезно бытие..." (с) Е. А. Баратынский
"...Он шел своей дорогой, один и независим." (с) А. С. Пушкин
ты написал что количество,но там написано поинт,а это значит точка спана(точка_спавна,12)что это?
отредактировал(а) zdalker: 15-10-2007 15:33 GMT3 час. "Мой дар убог, и голос мой не громок,
Но я живу, и на земле мое
Кому-нибудь любезно бытие..." (с) Е. А. Баратынский
"...Он шел своей дорогой, один и независим." (с) А. С. Пушкин
а куда в диалог вставлять?который "чо можеш сказать"
отредактировал(а) zdalker: 15-10-2007 17:18 GMT3 час. "Мой дар убог, и голос мой не громок,
Но я живу, и на земле мое
Кому-нибудь любезно бытие..." (с) Е. А. Баратынский
"...Он шел своей дорогой, один и независим." (с) А. С. Пушкин
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.