Пользователей: 1
Гостей: 1283
Всего: 1284

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

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









Автор Сообщение
новиков сергей
    
Посты: 413
Откуда: Москва
Возраст:
18-10-2009 17:48 GMT3 час. #1070400   
karavan ,erlik Хелп)


создание NPC через All.spawn почти с нуля у меня в журнале
Так же известен, как Stunder
karavan
    
Посты: 940
Откуда:
Возраст:
18-10-2009 18:04 GMT3 час. #1070427   
новиков сергей поковыряйся в файлах Самострельщика. На Волка можно пределать, но для этого тебе надо в файле config\creatures\spawn_sections
дописать волку или кому угодно custom_data = scripts\nps_suicide.ltx
Написать любой диалог и после написать инфопоршень:

info_04

erlik
Вообщето было бы класно сделать закладку нескольких ящиков и потом подрыв их через единый таймер. :-)


Анонс мода-аддона "S.T.A.L.K.E.R. - Безопасная земля"
Узнай о моде больше - подпишись на канал (кликабельно)
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
18-10-2009 18:06 GMT3 час. #1070431   
новиков сергей
чего хелп то?

Хочешь Петруху грохнуть - найди его логику (она там же где и логика волка) - и впиши туда ремарку суицида - и ту строчку
on_info = {+suicide} remark@suicide -- в какой-нибудь блок его логики

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

--\\функция singapur22
-- нужно задавать непеисю sid или испльзовать те что есть в файле game_story_ids

function make_suicide_2()
local npc = level_object_by_sid(sid) -- здесь пишем число - вместо sid
if npc then
local obj = npc:item_in_slot(npc:active_slot())
local snd = xr_sound.get_safe_sound_object([[weapons\t_desert_eagle_shot]])
if obj then
snd:play_at_pos(obj, obj:position(), 0, sound_object.s3d)
else
snd:play_at_pos(npc, npc:position(), 0, sound_object.s3d)
end
local h = hit ();
h.power = 1000000 --чтоб наверняка грохнуть
h.impulse = 1
if obj then
h.draftsman = obj --от кого(активный слот)
h.direction = vector():sub(npc:position(), obj:position())
else
h.draftsman = npc --от кого(сам нпс)
h.direction = vector():set(0,0,1)
end
h.type = hit.wound --тип хита
h:bone("bip01_head") --дать хит по голове
npc:hit (h)
end
end


все сиды квестовых персов есть в файле game_story_ids

Озвучку для непися можно выбрать любую - зайди в файл script_sound - в папке misc - и выбери любую из тех что там есть.
Вот так там указывается озвучка
[mil_crazy _rnd] -- точнее это имя озвучки
stalker = 0,scenario\military\crazy\mil_crazy
флажок rnd означает что в этой реплике есть варианты, которые буду рандомно проигрываться.
сам звуковой файл ищи по указанному там пути.

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

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

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

дописывать волку кустом дату не надо - у него логика и так есть - надо в имеющуюся схему логики правильно сунуть свою ремарку.

отредактировал(а) erlik: 18-10-2009 18:22 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
18-10-2009 18:17 GMT3 час. #1070445   
логика петрухи в файле gulag_escape.ltx
секция [logic@esc_assault3]
и все что ниже

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

новиков сергей
я тебе все написал - а если брбрбр - больше ниче пояснять не буду.

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

Это ПУТЬ до звукового файла относительно папки sounds: 0,scenario\military\crazy\mil_crazy

отредактировал(а) erlik: 18-10-2009 18:19 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
новиков сергей
    
Посты: 413
Откуда: Москва
Возраст:
18-10-2009 18:34 GMT3 час. #1070462   
путь то я понял. но где это прописанно в логике или скрипте??


создание NPC через All.spawn почти с нуля у меня в журнале
Так же известен, как Stunder
S.н.а.й.п.е.р.
    
Посты: 316
Откуда: Рязань
Возраст: 29
18-10-2009 18:39 GMT3 час. #1070469   
erlik

Спасибо тебе огромное!

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

erlik
А как зарегать функцию через диалог?

отредактировал(а) S.н.а.й.п.е.р.: 18-10-2009 18:46 GMT3 час.

Хорошо смеется тот , кто стреляет первым.

S.T.A.L.K.E.R. 1st mini-mod вышел=) скачать в журнале.

Моя первая моделька ПМ в журнале=)
Darien Fx
    
Посты: 1372
Откуда:
Возраст: 30
18-10-2009 18:50 GMT3 час. #1070484   
S.н.а.й.п.е.р.
Я не erlik, но отвечу=)
после пишешь имя_файла.имя_функции()

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

новиков сергей
Это прописано в файле nps_suicide в config\scripts, во второй ремарке

отредактировал(а) Futura: 18-10-2009 20:13 GMT3 час.

S.н.а.й.п.е.р.
    
Посты: 316
Откуда: Рязань
Возраст: 29
18-10-2009 18:55 GMT3 час. #1070492   
Futura

СПС


Хорошо смеется тот , кто стреляет первым.

S.T.A.L.K.E.R. 1st mini-mod вышел=) скачать в журнале.

Моя первая моделька ПМ в журнале=)
karavan
    
Посты: 940
Откуда:
Возраст:
18-10-2009 19:30 GMT3 час. #1070526   
Подскажите пожалуйста а есть ли возможность создать рестриктор не через скрипт, а скажим через Алл.Спавн?
И если есть подскажите пожалуйста как?


Анонс мода-аддона "S.T.A.L.K.E.R. - Безопасная земля"
Узнай о моде больше - подпишись на канал (кликабельно)
-Q-W-E-R-T-Y-
    
Посты: 57
Откуда:
Возраст:
18-10-2009 19:38 GMT3 час. #1070532   
karavan
вот тебе тутор:
http://stalker-portal.ru/plug.php?e=weblogs&m=page&id=7090


Текст выше - моя ИМХА.
--- Я - Исключение из всех правил! ---
[H.O.Y]
    
Посты: 158
Откуда: Москва
Возраст:
18-10-2009 19:38 GMT3 час. #1070533   
Мне то кто нить поможет? И еще проблема научить кто нибудь скриптам может просто когда я челов через скрипт спавню то в игре все люди исчезают но в лагере новичков все есть?


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
18-10-2009 19:46 GMT3 час. #1070538   
Futura, S.н.а.й.п.е.р.

1. функции из логики можно вызвать только если они находятся в файле xr_effects
2. вызывать функцию суицида через экшен неправильно (action кстати - а не - activate) - так как она должна срабатывать только когда отыграется анимка (если именно это вам надо).
3. для этого и нужен поршень suicide , который через строчку on_info = {+suicide} remark@suicide
послужит ключом для перехода непися в нужную схему, а в этой схеме уже прописано:
на конец действия - активация функции make_suicide
on_signal = action_end| %=make_suicide%

если делать вызов функции через экшен в диалоге - непись умрет без проигрыша анимки.

но как я уже писал квестовых неписей ( а также тех, кому задан сид) можно убить без диалога.
Для этого надо использовать функцию убийства по сиду.
Поршень в этом случае можно выдавать где угодно и через что угодно.
хоть через логику рестриктора, хоть через скрипт, хоть через диалог другого непися.

новиков сергей
в логике - в строчке snd пишется имя реплики из файла script_sound


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Darien Fx
    
Посты: 1372
Откуда:
Возраст: 30
18-10-2009 19:51 GMT3 час. #1070542   
erlik
Да уж, спасибо за поправки.
Кстати, где находится секция волка в spawn_section? Просто я незнаю куда вписать кастом дату. Пробовал записать её в гулаг_эскейп в секцию волка, но толку 0.


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
18-10-2009 19:51 GMT3 час. #1070543   
[H.O.Y]
и что у тебя за скрипт такой хитрый, что люди исчезают? Покажи чем спавнишь.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
karavan
    
Посты: 940
Откуда:
Возраст:
18-10-2009 20:00 GMT3 час. #1070551   
-Q-W-E-R-T-Y-
Спасибо за помощь.

Скажите, а возможно ли в рестриктор вписарь логику аномалий Singapur22? Наверное это вопрос к нему. :-)


Анонс мода-аддона "S.T.A.L.K.E.R. - Безопасная земля"
Узнай о моде больше - подпишись на канал (кликабельно)
Darien Fx
    
Посты: 1372
Откуда:
Возраст: 30
18-10-2009 20:14 GMT3 час. #1070559   

# Futura :
Кстати, где находится секция волка в spawn_section? Просто я незнаю куда вписать кастом дату. Пробовал записать её в гулаг_эскейп в секцию волка, но толку 0.


Плз срочно надо.

Всё, ненадо. Разобрался... Наконец-то Волк застреливается=)

отредактировал(а) Futura: 18-10-2009 21:14 GMT3 час.

-Q-W-E-R-T-Y-
    
Посты: 57
Откуда:
Возраст:
18-10-2009 21:18 GMT3 час. #1070623   
Struck
а в чём проблема?
Создаёшь р**5001c54314580bda8be6**on_actor_inside = %+инфопоршень%[/code]
и всё!


Текст выше - моя ИМХА.
--- Я - Исключение из всех правил! ---
[H.O.Y]
    
Посты: 158
Откуда: Москва
Возраст:
19-10-2009 00:33 GMT3 час. #1070710   
Ерлик я через диалог через экшн. Может здесь по порядку кто нить объяснить как спавнить допустим уникального персонажа через диалог?

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

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

отредактировал(а) [H.O.Y]: 19-10-2009 02:34 GMT3 час.

[H.O.Y]
    
Посты: 158
Откуда: Москва
Возраст:
19-10-2009 08:50 GMT3 час. #1070770   
Я просто в скриптах не рублю особенно в lua скриптах. Кто нить может подробней объяснить?


manunj
    
Посты: 267
Откуда:
Возраст:
19-10-2009 08:56 GMT3 час. #1070776   

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

как ему думаю да а вопще нетак и много делать нужно
1 создаем своего дядю
2 пишем ему диалог
3 логику чтоб стоял на месте
4 качаем мод erlika бомбу там есть меню починки
вот впринцыпе и все


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
19-10-2009 09:49 GMT3 час. #1070799   
Вопрос:
мне нужно задать таблицу со списком переменных и затем через функцию ipairs проделать ее обход с по порядку индексов с присваиванием каждой переменной нового значения после проверки что значение переменной равно нулю. При этом присваиваться должно значение только одной переменной за один раз активации функции с немедленным выходом из цикла через break.
Проверить пока не успел, поэтому кто знает - в каком месте таблицы break прерывает цикл?


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
19-10-2009 09:58 GMT3 час. #1070808   
erlik В каком смысле? break производит прерывание сразу, как только будет прочитано. Соответственно, устанавливать его нужно сразу после выполнения действия. В твоём случае, после первого изменения значения:

if name == 0 then
name = новое значение
break
end


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
19-10-2009 10:03 GMT3 час. #1070811   
singapur22
вот что я имел в виду
мне нужна функция для присваивания пойманных при спавне айди
вот накидал такую
local tab = {a,b,c,d,e}
function name()
for k,v in ipairs(tab) do
if v== 0 then
v= id
break
end
end
end

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

соответственно всем переменным изначально задано значение 0

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

и нужно чтобы присваивание было поочередным - тем переменным чье значение на момент активации цикла еще равно нулю.
И и так при каждой активации функции - если значение первой переменной равно 0 - присваиваем новое значение - выходим из цикла. Заходим снова - ищем переменную (по порядку индексов) с нулевым значением - находим - даем новое значение - выходим.
Так оно будет работать как мне нужно?

отредактировал(а) erlik: 19-10-2009 10:21 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
19-10-2009 10:30 GMT3 час. #1070826   
erlik А не проще в таблице сохранять просто id и ещё какой нибудь параметр. Например имя объекта. Типа:

local ids = {}

function name()
if not ids[id] then
ids[id] = alife():object(id):name()
end
end


Тогда и последующее удаление объекта из таблицы будет проще:

ids[id] = nil

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

У меня такой вопрос. Может кто с этим сталкивался. Есть несколько способов определения левел вертексов. Существует также способ определения позиции по левел вертексу. Но! Если левел вертекс можно определить на любой локации (активной\не активной), то позицию по левел вертексу только на активной локе. Просмотрев хелповский файл, не нашёл ничего похожего на определение позиции по левел вертексу на не активных локациях. Я не знаю, может быть есть какойто обходной путь, например через графпоинты. Может кто знает, просьба отпишитесь, если не в лом.

--------------------------
Вопрос отпадает. Само нашлось:-)

отредактировал(а) singapur22: 19-10-2009 10:46 GMT3 час.

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
19-10-2009 10:46 GMT3 час. #1070833   
singapur22
стопудовo проще....тока я не знал :-)


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
19-10-2009 10:48 GMT3 час. #1070835   
erlik id объектов обычно используются как индексы. Впредь старайся именно так их и использовать. Кроме редких случаев, когда порядок в индексах важнее самих данных.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
19-10-2009 11:14 GMT3 час. #1070860   
singapur22
я понял. но вот я сейчас поразмыслил и пришел к выводу что в предложенной тобой схеме есть минус для меня(не считая очевидного плюса - любая длина таблицы)
Когда я начну перебирать все сохраненные айди для того чтобы подорвать объекты с этими айди -подрыв можно сделать только одновременный - то есть все найденные объекты сразу.
А в моем варианте есть возможность сделать паузы между подрывами: сначала подрываем один объект, затем второй, третий, и т.д. до последней переменной, так как есть индивидуальные переменные для каждого объекта\айди
Или я не прав?


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
[H.O.Y]
    
Посты: 158
Откуда: Москва
Возраст:
19-10-2009 11:35 GMT3 час. #1070876   
Мне кто нить поможет? Как сделать чтобы созданному механику вместо обычного худа с диалогом высвечивался мой новый худ с ремонтом? Помогите очень надо


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
19-10-2009 12:01 GMT3 час. #1070883   
[H.O.Y]
тебе же пояснили - надо учиться создавать скриптовое меню - в двух словах это не объяснить - я сам учился на примере меню спальника из симбиона.
Можешь посмотреть пример моих меню - я их три штуки сделал - для бомбы, для ремкоплекта(но это так - моя первая проба для теста), для смены группировки - если поймешь алгоритм - то сделать самому будет раз плюнуть.

1. Скрипт интерфейса меню - пишется стандартно - можно брать готовый и изменять его под свои нужды - пишешь свое имя класса, указываешь размер рабочей зоны меню по высоте и ширине, координаты его положения на экранe по векторам x, y (если - 0, 0 то будет в левом верхнем углу) указываешь свой файл с секцией xml , далее расписываешь кол-во кнопок, и вешаешь на них свой скрипты. Здесь вообще ниче сложного нет - я я въехал сразу же как только глянул пример.(кроме размера рабочей зоны - в это только опосля)
2. создание hml секции меню - там создаются кнопки, которым назначается текст кнопки, текстура, координаты положения кнопки в меню, размер рамки меню, текстура подкладки меню и прочая муть, с которой трудно возиться если нет достаточного опыта работы с текстурами в фотошопе (текстурщикам тут проще - они с координатами на раз-два разбираются)
3. Скрипт камрада singapur'а22 для отслеживания использования предмета - именно через него и запускается меню. (Вот без этого скрипта у меня бы ниче не вышло)
Смотри примеры и анализируй.

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

Бери пример с Датчика Хабара
он вообще не спрашивал как сделать - просто скачал мое меню для группировок - посмотрел как сделано - и тут же сделал свое.

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

да, в твоем случае - если ты хочешь сделать запуск меню через фразу в диалоге - то просто используй метод level.start_stop_menu(имя_файла.имя_класса(), true) --\\запускаем меню
пишешь простой скрипт с этим методом и через экшен в диалоге делаешь его вызов.
меню появится.
скрипт для отслеживания использования вещи тогда получается не нужен. Он необходим только для запуска меню через нажатие "использовать" на предмете - спальнике, ремкомплекте, пульте и т.д.

отредактировал(а) erlik: 19-10-2009 12:25 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
19-10-2009 13:10 GMT3 час. #1070928   
Struck
так ему и написал в конце поста - как сделать активацию меню через диалог.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"


Форумы Архив » Свалка Как сделать свой мод? (по 20.11.09)


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

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