Как создать простой квест?

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Как создать простой квест?

Сообщение Одинокий_волк 08 авг 2012, 15:24

Как создать простой квест?(Сорри за нубский вопрос.)
Квест такого характера: Убить НПС. Ну или взять и что то принести.
Дайте пожалуйста ссылку на урок или пример.
Заранее спасибо.
Аватара пользователя
Одинокий_волк
UNец
 
Сообщения: 22
Зарегистрирован: 08 авг 2012, 07:14

Re: Как создать простой квест?

Сообщение Good1101 08 авг 2012, 16:35

Во первых нужен какойнить список квестов, например:
принести кубик, принести сферу, принести "трансфункцирнерконтинеум";
3 квеста.
ставим нпц который будет выдавать квесты. при клике на него открываем простенькое диалоговое окно в гуи где выводим список всех возможных квестов, возле каждого квеста делаем кнопочку принять, нажав например на квест принести кубик активируем этот квест ставим галочку тру, подходим к кубику клацаем на него после чего кубик должен дестроится и ставим еще одну галочку возле квеста что условие выполнено, подходим обратно к нпц по условию сделайте что если задачи квеста выполнены, то возле квеста появляется кнопочка "сдать". Нажимаем кнопку сдать, начисляем себе бонус кокой хотим. Ставим галочку что квест завершен и больше не выводим его в списке доступных квестов.
Как тут стрелять?
Аватара пользователя
Good1101
Адепт
 
Сообщения: 1100
Зарегистрирован: 17 ноя 2011, 14:07
  • ICQ

Re: Как создать простой квест?

Сообщение Одинокий_волк 08 авг 2012, 16:50

Good1101 писал(а):Во первых нужен какойнить список квестов, например:
принести кубик, принести сферу, принести "трансфункцирнерконтинеум";
3 квеста.
ставим нпц который будет выдавать квесты. при клике на него открываем простенькое диалоговое окно в гуи где выводим список всех возможных квестов, возле каждого квеста делаем кнопочку принять, нажав например на квест принести кубик активируем этот квест ставим галочку тру, подходим к кубику клацаем на него после чего кубик должен дестроится и ставим еще одну галочку возле квеста что условие выполнено, подходим обратно к нпц по условию сделайте что если задачи квеста выполнены, то возле квеста появляется кнопочка "сдать". Нажимаем кнопку сдать, начисляем себе бонус кокой хотим. Ставим галочку что квест завершен и больше не выводим его в списке доступных квестов.

Спасибо. Как начислять бонус? Я принес ему кубик и завершил задание как добавить себе какой-нибудь предмет в инвентарь?
Аватара пользователя
Одинокий_волк
UNец
 
Сообщения: 22
Зарегистрирован: 08 авг 2012, 07:14

Re: Как создать простой квест?

Сообщение Good1101 08 авг 2012, 18:36

Как начислять бонус?

все зависит что у вас за инвентарь, но обычно это просто добавить в список (массив) инвентаря новый объект.
Как тут стрелять?
Аватара пользователя
Good1101
Адепт
 
Сообщения: 1100
Зарегистрирован: 17 ноя 2011, 14:07
  • ICQ

Re: Как создать простой квест?

Сообщение Одинокий_волк 08 авг 2012, 19:06

Good1101 писал(а):
Как начислять бонус?

все зависит что у вас за инвентарь, но обычно это просто добавить в список (массив) инвентаря новый объект.

Спасибо. Как сделать чтобы предмет добавлялся именно после окончания квеста? Использовать true false?
Аватара пользователя
Одинокий_волк
UNец
 
Сообщения: 22
Зарегистрирован: 08 авг 2012, 07:14

Re: Как создать простой квест?

Сообщение seaman 08 авг 2012, 19:09

2Одинокий_волк
На будущее.
Вопросы "Как создать квест", "Как создать игру", "Как создавать миссии" - равнозначны и показывают Вашу полную некомпетентность в игроделе. Если Вы хотие, чтобы к Вам относились более-менее серьезно никогда не задавайте такие вопросы.
Использовать true false?

А вот это (полная Ж)
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Как создать простой квест?

Сообщение Одинокий_волк 08 авг 2012, 19:17

seaman писал(а):2Одинокий_волк
На будущее.
Вопросы "Как создать квест", "Как создать игру", "Как создавать миссии" - равнозначны и показывают Вашу полную некомпетентность в игроделе. Если Вы хотие, чтобы к Вам относились более-менее серьезно никогда не задавайте такие вопросы.
Использовать true false?

А вот это (полная Ж)

Учту. А как я должен был узнать что-то не спросив? Поиск в интернете ничего не дал. А здесь мне четко и подробно объяснили. За что огромное спасибо. И что это за (полная Ж) ?
Аватара пользователя
Одинокий_волк
UNец
 
Сообщения: 22
Зарегистрирован: 08 авг 2012, 07:14

Re: Как создать простой квест?

Сообщение AndreyMust19 08 авг 2012, 19:22

Тип, цель, сроки
Тип - это перечисление (убить, принести, дойти)
Цель - ссылка на GameObject (на персонажа кого надо убить, на предмет что нужно принести, на объект с триггером к-го надо коснуться). В случае с "принести" ссылку на "кому" можно хранить в скрипте предмета.
Сроки - количество секунд с момент получения квеста
Нужна помощь? Сами, сами, сами, сами, сами... делаем все сами
AndreyMust19
Адепт
 
Сообщения: 1119
Зарегистрирован: 07 июн 2011, 13:19

Re: Как создать простой квест?

Сообщение Одинокий_волк 08 авг 2012, 19:28

AndreyMust19 писал(а):Тип, цель, сроки
Тип - это перечисление (убить, принести, дойти)
Цель - ссылка на GameObject (на персонажа кого надо убить, на предмет что нужно принести, на объект с триггером к-го надо коснуться). В случае с "принести" ссылку на "кому" можно хранить в скрипте предмета.
Сроки - количество секунд с момент получения квеста

Спасибо. Но можно поподробней про типы(убить,принести,дойти)?
Аватара пользователя
Одинокий_волк
UNец
 
Сообщения: 22
Зарегистрирован: 08 авг 2012, 07:14

Re: Как создать простой квест?

Сообщение dorto 09 авг 2012, 08:06

1) создаешь базовый Class
2) описываешь его методы и свойства
3)....
4)....
5)....

ищи информации в интернете куча.
dorto
UNIт
 
Сообщения: 102
Зарегистрирован: 13 окт 2011, 13:16

Re: Как создать простой квест?

Сообщение aXXXmeD 06 ноя 2012, 21:37

привет всем ~o) , сам недавно столкнулся с такой проблемой :-w :-? , и зная по себе , мало (полная Ж) чего можно найти в интернете :-B ... поэтому могу(и щас скину) свои скрипты . B-)
цель ?
Не очень трудно , войти в один тригер , нажать на кнопку , пойти в другой тригер , нажать кнопку , и опять в первый , на этой основе можно много чего построить ...
не в коем случае не ставьте в скриптах галочки , так как они отвечают за исполнение операций(самого квеста)

вешается на первый обьект (EnemDia.cs)

(c#)
Синтаксис:
Используется csharp

using UnityEngine;
using System.Collections;

public class EnemDia : MonoBehaviour {
    public  GameObject  gameObject;
        public string dialog  ;
        public string otvet  ;
        public string dialog2  ;
        public string otvet2  ;
        bool showDialog = false;  //булевая операцияp
        bool deQuestOn = false;
        public bool deQuestOn2 = true;   //открытая булевая операция
        bool showCursor = false;
       
       
       
       
       
        void Start(){  //при выходе
        showDialog = false;      //выключаем диалог
         Screen.showCursor = false;  //скрываем курсор
        }
       
        public void OnTriggerEnter(Collider player){    //при входе в тригер
               
                if(player.tag == "Player"&&!deQuestOn2)
                {
                         Screen.showCursor = true;
                        showDialog = true;   //диалог включен
        }
                if(player.tag == "Player"&&deQuestOn2)
                {
                         Screen.showCursor = true;
                        showDialog = true;   //диалог включен
                       
        }      
}
       
       
       
       
        void OnTriggerExit(Collider player){  //при выходе
        if(player.tag == "Player")
                {
                Screen.showCursor = false;
                        showDialog = false;      //выключаем диалог
       
        }
        }
       
       
       
       
       
      void OnGUI(){  //сам диалог

                GUILayout.BeginArea(new Rect((Screen.width)/2,(Screen.height)/2,200,200));   //
                 if(showDialog&&!deQuestOn&&!deQuestOn2){
               
               
                        GUILayout.Label(dialog);   // сам текст
                                if(GUILayout.Button(otvet)){   // кнопка с текстом

                        showDialog = false;
                                deQuestOn = true;
                                 gameObject.GetComponent<quest>().showDialog2 = true;
                        }      
                }      
                 if(showDialog&&deQuestOn&&deQuestOn2){
                        GUILayout.Label(dialog2);   // сам текст
                 if(GUILayout.Button(otvet2)){
                       
                        showDialog = false;  
                                deQuestOn = false;
                                deQuestOn2 = false;
                                gameObject.GetComponent<quest>().showDialog2 = false;
                }
       
}
                GUILayout.EndArea();
}
       
}
 




а этот вешается на второй тригер (quest.cs)
(c#)

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class quest: MonoBehaviour {
        public string dialog  ;
        public string otvet  ;
        public  GameObject  gameObject;
        bool showDialog = false;
        public bool showDialog2 = true;
       
       
        void Start(){  //при выходе
         showDialog = false;
        }
       
       
               
        public void OnTriggerEnter(Collider player){    //при входе в тригер
               
                if(player.tag == "Player")
                {
         showDialog = true;
                        Screen.showCursor = true;
        }

        }
       
       
        void OnTriggerExit(Collider player){    //при входе в тригер
               
                if(player.tag == "Player")
                {
         showDialog = false;
                        Screen.showCursor = false;
        }

        }
       
       
       
       
       
       
      void OnGUI(){  //сам диалог

                GUILayout.BeginArea(new Rect((Screen.width)/2,(Screen.height)/2,200,200));   //
                 if(showDialog&&showDialog2){
               
               
                        GUILayout.Label(dialog);   // сам текст
                                if(GUILayout.Button(otvet)){   // кнопка с текстом
       
                        showDialog = false;
                                 gameObject.GetComponent<EnemDia>().deQuestOn2 = true;
                        }      
                }      
                GUILayout.EndArea();
}
}


 




не знаю насколько понравилась моя статейка , но надеюсь кому то понадобится , опять же скажу что тут самое простое написано , так что если что , пишите мне суда
http://vk.com/id41553997 %%-

думаю моя задача зделана [V] так что [dontFuckMyBrain] ))
Последний раз редактировалось waruiyume 06 ноя 2012, 21:48, всего редактировалось 1 раз.
Причина: Спойлер ломает подсветку кода
aXXXmeD
UNец
 
Сообщения: 1
Зарегистрирован: 06 ноя 2012, 21:14


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20