Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Маленький квестик
GAMEINATOR forums > S.T.A.L.K.E.R. > S.T.A.L.K.E.R. Архив > S.T.A.L.K.E.R.: Общий раздел (архивные темы 2007-2014)
Smanxx1
Вот сегодня решил потренироваться над созданием квестов smile.gif вследствии чего получился маленький смешной(а может и нет) biggrin.gif квест на нахождение диска с билдом игры сталкер.
Квест выдаеться у Сидорыча(по ветке "Сидрыч, у тебя есть интересные задания?").
]]>Вот сам квест.]]>

В процессе создания появился вопрос: как на карте обозначить зону поиска?
Imp
Перепутаны местами названия квестов (найти... и отнести...) ошибка в функции спавна из-за этого не всегда спавниться квестовый предмет (спавниться то он похоже всегда, но не всегда на карте smile.gif ) Идея спавнить в случайном месте в квадрате 10х10 тоже не очень. Лучше ты сделай несколько (например десяток) фиксированных точек и спавни по рандому в одной из них
По спавну смотри тут http://www.gameru.net/forum/index.php?act=...260#entry525947
Зачем помечать Волка? smile.gif (Да еще в описании чуш писать.) smile.gif мелкие ошибки в диалогах smile.gif нет описания квеста в PDA
Вобщем есть куда расти над собой wink.gif
Для примера мои извращения на ту-же тему:
]]>http://www.imp.webhost.ru/main_mod.rar]]>
Smanxx1
to Imp: Спасибо конешно, но это я сделал за пол часа, писал что первое в голову приходило.Ты мне на вопрос главное ответ дай.
Imp
Пометить предмет obj большим кружком (типа где-то здесь smile.gif ):
level.map_add_object_spot_ser(obj.id, "crlc_big", text)


************************************************************
Иконки на карте:

Способ первый:
level.map_add_object_spot_ser(id, "location", text)
где:
id - id - обьекта на который ставим иконку
location - Типы иконок:
treasure - Иконка тайника
green_location - Зеленая стандартная пометка квестов
blue_location - Кружок с человечком
crlc_big - Большой круг типа где-то тут...
crlc_mdl - Средний круг
crlc_small - Маленький круг
alife_presentation_monstr - Большая белая точка

text - текстовое описание либо ссылка на такое описание(будет появляться при наведении курсора)

Убрать пометку с карты
level.map_remove_object_spot(id, "location")
Параметры аналогичны предыдущему

Второй способ ставить пометки:
Поставить пометку на карту
level_tasks.add_location(id, "location", "tutorial_secret_shustryi")
где:
id - id объекта на который ставим
location - тип метки аналогичен предыдущему
tutorial_secret_shustryi - Ссылка на текстовый описатель

Удалить пометку с карты:
level_tasks.remove_location(id, "location")
Аналогично как и поставить.
Smanxx1
Большое спасибо smile.gif , я это как раз в скрипте из твоего модп видел, но чета
до меня не дошло, а теперь все понятно biggrin.gif
Вот заодно мой немного исправленный ]]>квест]]>
Испарвлено:
-Сделан другой скрипт спавна
-Предмет перепрятан
-При получении задания оно добавляеться в PDA
-При получении задания Волк не помечаеться маркером
-Исправлен скрипт передачи предмета
-После завершения задания ветка дилога с квестом исчезает
-При получении гаусс-пушки, патроны бесплатно! laugh.gif
Imp
Опять море ошибок smile.gif В PDA описание не попадает (похоже ты забыл какой-то файл по тому что в PDA отображается имя ссылки) опять при получении задания пишет что-то вроде "отнести диск сидоровичу" скрипт спавна с ошибками. Их много я просто его переписал smile.gif и тайничек засунул в более интересное место :
Код
function tell_story()
-- Локальные переменные
    local box,obj
    local p = vector()

-- Зададим первые координаты
       p.x = -222.27
       p.y = -19.93
       p.z = -165.97
-- Создадим наш тайник
    box = alife():create("m_inventory_box",p,32807,47,65535)
-- Дождемся создания серверного объекта и за одно его получим
-- Для спавненых тайников необходимо дождаться и получить серверный объект
-- Когда мы засовываем его в готовый тайник или просто бросаем на пол
-- этого делать не нужно
    repeat
 obj = alife():object(box.id)
    until ( obj~=nil )
-- Поставим на него иконку. Недостаток - ценром
-- круга является наш обьект. В реальном квесте в качестве центра
-- лучше использовать какой-либо соседний предмет что-бы затруднить поиски
    level.map_add_object_spot_ser(obj.id, "crlc_big","Где-то здесь лежит то что надо!")
-- Создадим в нашем тайничке квестовый предмет
    alife():create("stkbld",
 obj.position,
 obj.m_level_vertex_id,
 obj.m_game_vertex_id,
 obj.id)
end

Кроме того у тебя явно ошибки в описании квеста (например при взятии дискеты не происходит изменения задачи) но я не помню формат и не могу прямо с ходу чего-то подсказать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.