Парни, расскажите, очень хорошо- просьба научите как мне сейчас в чистой игре в нужное мне место заспавнить труп наёмника и чтобы рядом с ним лежала АКС-74У и прицел и глушитель?
Спасибо огромное заранее! :-)
____ПЕРДУПЕРЖДЕНИЕ ЗА НИГРМАМАТНАЙЕ ПЕСЬМО!Мадиратар.
Grayshotter как заспавнить труп я низнаю, но могу помочь с спавном предметов.
Вот смотри:
Сначала тебе нужно координаты и вертексы из игры снять, куда спавнить. Воспользуйся скриптом от бардака вот: Статья
Как снимишь координаты, делай в паке script новый файл с расшерением .script (скопируй какой нибудь файл из этой папки, переминуй и удали его содержимое)
Дальше делаешь по виду:
function имя-скрипта() alife():create(что_спавним,координата X, Y, Z, levelvertex,gamevertex) end
Подчёркнутое оставляешь без изменеий. Вместо остального вписываешь то что надо.
плиз повтори ещё раз у тебя ощибки в сообщении так нифига непонятно да и напортачу... :-(
Разъясни немного подробнее плиз и где ссыль на бардака утилиту, у тебя нет в посте!:ye)
Заранее спасибо!:-)
____ПЕРДУПЕРЖДЕНИЕ ЗА НИГРМАМАТНАЙЕ ПЕСЬМО!Мадиратар.
Grayshotter
если через allspawn - то ему надо в спавн секции просто хелс нулевой прописать
health = 0
если через скрипт то можно так попробовать:
function name()
local pos = obj:position()
local dir = obj:direction()
local lv = obj:level_vertex_id()
local gv = obj:game_vertex_id()
pos = pos:add(dir:mul(2))
local obj = alife():create("непись", vector():set(x,y,z),level_vertex_id, game_vertex_id) --\ заспавним NPC - пишешь реальные координаты
obj:kill(obj) --\ и тут же грохнем его
alife():create("wpn_ak74u", pos, lv, gv) -- заспавним автомат рядом - со смещение в 2 метра
alife():create("глушак", pos, lv, gv) -- заспавним глушак рядом
alife():create("прицел", pos, lv, gv) -- заспавним прицел рядом
end
вместо глушак и прицел пишешь реальное название вещи из конфигов
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik Ну так бы и сказал. В этом случае, так же перебирать всю таблицу нет смысла. Id конечно придётся добавлять через table.insert(table, id), где id будут являться значениями. Но и для их перебора, оператор for не понадобится. Здесь нужно создать запускаемый, круговой таймер, который после каждого достижения финиша будет выбирать первый индекс таблицы, и после этого его удалять с помощью table.remove(table, 1). Тоесть, после прочтения первого индекса, мы будем его удалять с последующим сдвигом остальных индексов к единице. И так до первого значения nil, где и будем останавливать таймер.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Grayshotter
тот вариант - в моем первом посте - неверный.
singapur22
спасибо - попробуем с table.insert(table, id) поиграться, не пробовал еще.
тут еще один вопрос возник:
хотел человеку помочь труп заспавнить - через allspawn понятно как, а во через скрипт - че то не выходит.
при одном (первый, который я предложил вообще неверный - значение obj было nil value )
варианте - у меня трупом становился эктор, а при этом - вообще ни непися , ни трупа. В чем тут дело?
вот этот вариант - последний, который попробовал
local obj_id = 0
function spawn()
local obj = alife():create("agr_soldier_regular", vector():set(-218.20,-20.2,-145.63),35362,47) --\ заспавним NPC
obj_id = obj.id
this.kill()
end
function kill()
local kobj = level.object_by_id(obj_id)
local pos = kobj:position()
local dir = kobj:direction()
local lv = kobj:level_vertex_id()
local gv = kobj:game_vertex_id()
pos = pos:add(dir:mul(2))
alife():create("wpn_ak74u", pos, lv, gv) -- заспавним автомат рядом - со смещение в 2 метра
if kobj then
kobj:kill(kobj) --\ грохнем непися
end
end
отредактировал(а) erlik: 19-10-2009 15:55 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
да просто снял координаты, дружище помоги напиши скрипт, вставь туда все цифры и сделай, чтобы вот в этом месте валялась акса и глушак и прицел и дай мне плиз, а то я в скриптах не сильно шарю!:-( И я заодно посмотрю как ты сделал ип научусь слдующее спавнить!:-)
____ПЕРДУПЕРЖДЕНИЕ ЗА НИГРМАМАТНАЙЕ ПЕСЬМО!Мадиратар.
erlik Не фурычит, потому что в момент килла, клиентского объекта ещё не существует. При спавне создаётся серверный объект, клиентский объект создаётся при следующем апдейте. А значит, таким образом тебе его убить не удастся. Но есть такой метод для серверных объектов "Сталкер":
sobj:on_death()
Я не знаю, будет он работать или нет, но попробуй. А вообще, посмотри класс cse_alife_human_stalker, в хелпе.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Вопрос по статьям ПДА:
Вот бывает выдаётся статья, если труп Обыскать. Она сохраняется в Журнале в Найденых КПК(например КПК Лиса).
Как выдаётся данные статьи и можно ли их написать самим и выдать с трупов? (другую статью с тошо же лиса)
singapur22
тут еще странная вещь - ладно если в первом варианте - тот что в первом посте по этой теме - значение obj было nil value, так и в последнем вылетает (раньше не вылетало из одноименных функций у меня в файле) тож самое: attempt to index local 'kobj' (a nil value)
вот в этой строчке local pos = kobj:position()
или это тоже связано с серверным объектом?
добавлено спустя 1 минуту
Сталкер Монолита
при том варианте - когда действие было одно - в одной функции -и спавн и убийство- трупом становился эктор. при другом - вылет.
отредактировал(а) erlik: 19-10-2009 15:58 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik Именно с этим и связанно. Ты пытаешся определить позицию не существующего объекта. Тоесть метод level.object_by_id(obj_id) возвращает nil, так как объекта не существует. Но можно поставить данную функцию на апдейт, или ещё лучше, если непися расписать по пакету и задать ему нулевое значение здоровья.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik Кстати. Чёта и я туплю. Можно ведь задать ему в кастом дате смерть при первом удобном случае. Типа написать ему логику, в которой указать вызов функции килла.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
#Сталкер Монолита :
Вопрос по статьям ПДА:
Вот бывает выдаётся статья, если труп Обыскать. Она сохраняется в Журнале в Найденых КПК(например КПК Лиса).
Как выдаётся данные статьи и можно ли их написать самим и выдать с трупов? (другую статью с тошо же лиса)
Сталкер Монолита, выдаются такие статьи через инфопоршень:
имя_артикля
Инфопоршень выдаётся через:
[known_info]
имя_инфопоршня
в custom_data персонажа.
Сама статья делается так (файл storyline_info_***.xml):
имя_текста
Текст (файл stable_storyline_info_***.xml):
Заголовок, который мы увидим.
Текст, который увидим.
Ну и всё, вкратце это так примерно, не в даваясь в подробности если... Там уже сам посмотри, как в игре сделано...
Grayshotter
тебе значит и труп заспавнить и все расписать в готовеньком виде?
учись сам - все есть в статьях - как непися просто заспавнить - у меня в скрипте показано - да и в первом посте - я тоже указал куда свои координаты писать.
function spawn()
alife():create("agr_soldier_regular", vector():set(-218.20,-20.2,-145.63),35362,47)
end
вот сюда и вписывай снятые тобой координаты - на скрине твоем написано где x , где y и z, а где вертексы.
первый три цифры это -x ,y, z
последние две - левел вертекс и гейм вертекс
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik Через нэт_пакет будет ещё громозче. У сталкеров порядка 30 имеющихся ячеек. Здоровье из них, на месте, гдето в двадцатых числах. Лучше всётаки логика. Но можно и апдейт через поршен. Хотя логика, всё равно лучше и универсальней. Можно будет использовать для множества неписей.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.