XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Шева

offline
Опыт: 1,174
Активность:
Квест (для отдельного игрока)
Помогите плиз, мне надо сделать такое: скажем переменная герой докачался до такого то лвл (пусть будет 15) то добавить этому игроку квест(только этому игроку, и чтобы он сам его проходил) в это время если кто то еще прокачался до 15 то и тому игроку тоже добавить такой же квест, но только для нево (чтобы если 1 игрок прошёл квест 2 игроку не засчитало что он его тоже прошёл) чтобы он сам проходил... Как такое сделать? помогите плиз оч надо!
Старый 02.03.2008, 14:12
DeaDoK

offline
Опыт: 5,783
Активность:
Событие - юнит левел ап
условие - левел юнита = 15
действие - Создать триггер
событие
условие
действие - добавить квест
Старый 02.03.2008, 14:18
Tofsla

offline
Опыт: 6,018
Активность:
Шева, виден квест будет так и так обим, такчто лучше через чат. А в чём именно проблемма? Юзай проверку на игрока...

StepiK добавил:
DeaDoK, новый триггер по ходу игры никчему создавать имхо, просто проверку юзать и все...
Старый 02.03.2008, 14:20
Шева

offline
Опыт: 1,174
Активность:
сотр а квест будет только для этого игрока? или он всем дастся? А как сделать чтобы допустим вот 3 игрока докачали героя до 15 лвл и всем им дало по такому квесту, но каждый его сам проходил, а не 1 продет и всем засчитает...

Шева добавил:
Ну я просто итак в квестах не шарю как их делать, создать то я найду как а вот чтобы сделать для каждого игрока отдельно квест и чтобы он его сам проходил... Даже не представляю как....
Старый 02.03.2008, 14:22
Шева

offline
Опыт: 1,174
Активность:
Так можете плиз по конкретнее объяснить как? или выложить тут карту допустим с квестом 1 предмет подобрать....? чтобы я посмотрел как это делать))
Старый 02.03.2008, 14:27
vdvMax
\\_Max_//
offline
Опыт: 4,123
Активность:
Bizbi видите ли человек плохо знает тригги поэтому просьба расписать всё циликом, а не так.
Старый 02.03.2008, 16:15
Шева

offline
Опыт: 1,174
Активность:
Ну я в тригах довольна таки нормально шарю.... Просто вот с квестами еще не разу не приходилось работать... Поэтому хочю все подробно узнать... vdvMax а ты можеш сделать какойто левый квест к примеру чтобы просто подобрать предмет какой рядом лежит и сделать чтобы он был для каждого игрока отдельно и каждый сам его походил? и выложить сюда, просто без квеста я не могу делать дальше карту....
Старый 02.03.2008, 16:40
LDF

offline
Опыт: 1,985
Активность:
в общем сделал что смог, до большего мозг не дошел, но может на основе этого ты сделаеш то что надо.
Прикрепленные файлы
Тип файла: w3x квест.w3x (18.4 Кбайт, 52 просмотров )
Старый 02.03.2008, 20:06
Шева

offline
Опыт: 1,174
Активность:
Ну ты сделал квест для всех игроков, а мне надо чтобы каждый сам его проходил
Старый 02.03.2008, 21:25
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
Нашёл функции по созданию квестов для отдельного игрока. Правда на джаззе, ну что уж есть. Без джазза и для ОТДЕЛЬНОГО - тут никак.
» Local Quest API
Код:
//Quest API

function CreateQuestForPlayer takes player p, string title, string iconPath, boolean discovered, boolean required returns quest
  local quest q = null
  if p == GetLocalPlayer() then
    set q = CreateQuest()
    call QuestSetTitle(q, title)
    call QuestSetIconPath(q, iconPath)
    call QuestSetRequired(q, required)
    call QuestSetDiscovered(q, discovered)
    call QuestSetCompleted(q, false)
    call DisplayTimedTextToPlayer(GetLocalPlayer(), 0, 0, bj_TEXT_DELAY_QUEST, " ")
    call DisplayTimedTextToPlayer(GetLocalPlayer(), 0, 0, bj_TEXT_DELAY_QUEST, "You received Item Quest - " + title)
    call StartSound(bj_questDiscoveredSound)
    call FlashQuestDialogButton()
  else
    set q = CreateQuest()
    call DestroyQuest(q)
  endif
    return q
endfunction

function QuestSetDescriptionForPlayer takes player p, quest q, string description returns nothing
  if p == GetLocalPlayer() then
    call QuestSetDescription(q, description)
  endif
endfunction

function QuestSetCompletedForPlayer takes player p, quest whichQuest, boolean completed returns nothing
  if p == GetLocalPlayer() then
    call QuestSetCompleted(whichQuest, completed)
  endif
endfunction
Старый 02.03.2008, 21:33
LDF

offline
Опыт: 1,985
Активность:
Ты подробней обьясни содержание квеста
если квест состоит в том, что подошол взял задание взять предмет гдето валяющийся
то этот квест скорее всего обречен на провал( с моей точки зрения сделать такой для 3х игроков невозможно) Расскажи сюжет квеста в общем
Старый 02.03.2008, 21:43
ScorpioT1000
Работаем
offline
Опыт: отключен
это добавление/установка титла/выполненного статуса квеста а не задания
Старый 02.03.2008, 21:54
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
А не одно и тоже?
Старый 02.03.2008, 22:03
ScorpioT1000
Работаем
offline
Опыт: отключен
DFlyer ну всмысле остальные условия подобрал/убил/положил/поговорил/повернул - это ты сам..
Старый 02.03.2008, 22:09
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
Код:
if p == GetLocalPlayer() then
    set q = CreateQuest()
Ммм, а кто эти чудостроки проверял вообще? Все помнят, к чему приводит локальное создание объекта? Менять всякие там настройки и состояния квеста можно, как можно локально менять прозрачность юнита, но не более имхо, уж всяко не создавать локально
Старый 03.03.2008, 04:40
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
FellGuard
Не знаю. Сам я не проверял. Но валяется у мну эти функции очень давно, откуда-то взял, не помню.

Отредактировано DFlyer, 03.03.2008 в 16:04.
Старый 03.03.2008, 06:34
exploder
iOS zealot
offline
Опыт: 19,394
Активность:
Можно создать квест для всех игроков, а описание и иконку менять локально, для того игрока который уже докачался до нужного лвл, а у остальных игроков квест пусть будет нераскрытым, как в кампании.
Старый 03.03.2008, 11:08
Creep

offline
Опыт: 509
Активность:
Конечно тупо но всё же можно сделать так
Игрок пишет точноо сообщение (-quest1) (по мере будет квест2,3)
Если герой больше либо равно 15лв
То дать квест игроку
Старый 03.03.2008, 15:50
senatus
тихий и скромный...
offline
Опыт: 7,423
Активность:
FellGuard
Я проверял. Это работает.
Да и в опендоте есть такое. Гляньте на досуге.
Только обязательно функция должна принимать переменную типа player. Я проигрывал в своем аосе звуки "hint" только для того плеера, которому выводится посказка.

Creep
Проблема не в том, когда дать. А в том, что бы дать только нужному игроку квест. Да и конструкция с ожиданием ввода пользователя неудобна. Локал плэйер нада использовать.
И автоматически выдавать квест при достижении героем 15го лвла.
Старый 03.03.2008, 15:58
FellGuard
Losyash
offline
Опыт: 39,547
Активность:
senatus, что значит работает? Мне инетересно, это д е с и н к а е т ?

FellGuard добавил:
это равносильно локальной смене количества строк или столбцов в мультиборде. Блин, это локальное создание игрового объекта, дитя handle
Старый 03.03.2008, 16:02
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 17:31.