1. Help us improve the editor usability and artist workflows. Join our discussion to provide your feedback.
    Dismiss Notice
  2. We're looking for feedback on Unity Starter Kits! Let us know what you’d like.
    Dismiss Notice
  3. We’re giving 2017.1 beta testers a chance to win t-shirts and a Nintendo Switch. Read more on the blog.
    Dismiss Notice
  4. Unity 2017.1 beta is now available for download.
    Dismiss Notice
  5. Unity 5.6 is now released.
    Dismiss Notice
  6. Get further faster with the Unity Plus Accelerator Pack, free for new Unity Plus subscribers for a limited time. Click here for more details.
    Dismiss Notice
  7. Check out all the fixes for 5.6 on the patch releases page.
    Dismiss Notice
  8. Learn how you'll soon be able to publish your games to China in four simple steps with Xiaomi. Sign up now for early access.
    Dismiss Notice

S-Quest: quest/mission builder

Discussion in 'Assets and Asset Store' started by OussamaB, Jan 17, 2014.

  1. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    [​IMG]
    S-Quest is a quest/mission builder for Unity3D. It allows you to create advanced quests easily without coding . S-Quest is suitable for all types of games, you can customize it to fit all your projects. S-Quest also includes a player experience and level manager, quest log and an objectives bar.

    [​IMG]
    • Edit everything from the customized quest editor.
    • Six different types of quests: Eliminate, collect, talk to a quest giver, go to a specific place, press/hold a certain button and follow an object. All quest types come with multiple settings to make each quest unique!
    • Quests can have one or many conditions.
    • Create a scenario/story by linking quests to each other (unlock quests by completing another one).
    • Create side quests/missions for your game.
    • Includes a quest log that allows the player to display his active quests, with full information, and control them.
    • Includes an objective bar with a progress bar that displays the active quests of the player along with the main objective.
    • Customize your quest GUI without coding.
    • Includes full keyboard and joystick support.
    • Includes a player XP points and level manager with an example progress bar.
    • Comes with a detailed guide.
    • Includes example audio clips and sprites.
    • Multi-scene quest progress support (You can continue progressing in active quests even when the quest giver is not in the scene).
    Demo:
    WebPlayer Demo

    Documentation:
    Online Documentation

    Third Party Support:
    S-Inventory: Reward the player with S-Inventory items after finishing quests and make the player collect S-Inventory items as a quest type.
    Relationship Inspector: Creates a node-based editor to facilitate creating and managing quests!

    ChangeLog:

    v1.00 - 14/01/2014:

    Initial version.

    v1.01- 16/02/2014:

    - Added a progress bar for the "elimination" and "collection" quests.
    - The player can know how far he is from the target location in "meeting" and "goto" quests.
    - Added 2 new quest themes: classic and visual themes.
    - A lot of new settings for the quest and the quest manager with every quest theme.

    v1.02 - 30/03/2014:

    - Converted all the scripts to C#.
    - The package now includes C# and JS scripts at the same price.

    v1.03 - 03/05/2014

    - Fixed a bug when having two quests or more in the same quest giver.
    - You can now link S-Quest with S-Inventory automatically by dragging and dropping an item prefab into its field.
    - Added a C# demo scene.

    v1.04 - 19/08/2014:

    - Added full support for joysticks and keyboard keys to interact with quests.
    - Three quest control modes: mouse, keyboard or mouse and keyboard.
    - Item collection script now supports joystick and keyboard buttons.
    - Ability to reset saved quests.

    v1.05 - 23/09/2014:

    - Fixed a bug in displaying quest information when you are talking to a quest giver and have an active meeting quest.
    - Fixed a bug that doubles the player's XP and item reward.
    - Added a range for the Goto quest objective's destination.
    - You now activate a quest when the game start.
    - Fixed a bug when rewarding a player with an item (Requires S-Inventory).
    - You can now see the quest reward item on the quest window and see a description of it when you hover over it with your mouse. (Requires S-Inventory).

    v1.06 - 02/01/2015:

    - uGUI (introduced in Unity 4.6) support.
    - Refactored code to reduce memory usage.

    1.07 - 13/03/2015:

    - Unity 5 support.
    - Fixed some UI related bugs.
    - Added custom quest events: OnPlayerAcceptQuest, OnPlayerAbandonQuest and OnPlayerCompleteQuest.
    - Added saving and loading quest objectives progress.

    v1.08 - 03/07/2015:

    - Multi-scene quest progress support (You can continue progressing in active quests even when the quest giver is not in the scene).
    - New UI design.

    v1.09 - 27/02/2016:

    - Removed the quest order which was being used to unlock quests when completing their processors.
    - You can now assign to each quest a parent quest so that it's only available when the parent quest is completed.
    - Each quest MUST have a unique quest code now: Added a button in the "QuestManager" editor that allows to search for multiple quests with the same quest code.
    - Changed the way quests' states are saved and loaded.
    - Added integration with "RelationsInspector" asset which allows you to create/remove and link quests inside a node-based editor.

    v1.10 - 10/11/2016:

    - Fixed the demo scene.
    - Fixed the bug when the player is required to stay at an objective's target position for a certain amount of time.
    - Code modification to avoid useless calls and improve performance.
    - Added the option to save each quests' progress (in objectives) even after abandoning it.
    - Added the option to assign a time limit to each objective of a quest, which triggers a custom event when the time is over.
    - Added the option to abandon the quest automatically after the time limit of one of its objectives is over.
    - Added the option to make a quest non abandonable by the player.
    v1.11 - 30/11/2016:

    - Fixed a bug in the quest's timer.
    - Fixed a bug in the objective's bar UI.
    - Added a new quest type: "Press A Key" quest type, where the player has to press a key once or hold it for a certain amount of time.
    - Added a new quest type: "Follow Object" quest type, where the player has to follow a moving object for a certain amount of time and stay within a minimal and maximal distance from the moving object.

    v1.12 - 15/01/2017:

    - Improved the objectives bar UI.
    - Quests can now be repeatable.
    - Fixed a bug in the quest log buttons.
     
    Last edited: Feb 11, 2017
    Hamesh81 likes this.
  2. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    Screenshots:

    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
     
    Last edited: Nov 10, 2016
  3. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    The next update of S-Quest will include two new themes.
     
    Last edited: Jan 2, 2016
  4. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    S-Quest v1.01 is now available on the asset store: new quest themes, new objectives bar and more!
     
    Last edited: May 8, 2014
  5. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    Get S-Quest for 50% off today!
     
  6. pinchmass

    pinchmass

    Joined:
    Jul 2, 2012
    Posts:
    156
    is it possible to add an audio clip for each bit of text (for narration) ?
     
  7. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    That's not available right now but I might add it in the next update.
     
  8. Darkling420

    Darkling420

    Joined:
    Apr 20, 2013
    Posts:
    27
    I've been trying to get it working with no luck.
    The XP script is throwing errors
    Also notice that the quest givers aren't responding either. This is the sharp version.

    Edit:
    Line 28 GuiStyle textStyle should be public GUIStyle in sharp

    still the actors don't respond in the sharp version, only the java works.

    I take it you never even tested this. 56 deprecated warnings and all the C# scripts are done wrong. All the variables are static and/or private which halts on 999+ runtime errors.
     
    Last edited: Apr 24, 2014
  9. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    A lot of S-Quest users are using the C# version of the asset. It works correctly for them and I haven't received any e-mails concerning errors in the C# scripts. I have tested everything in C# and I re-tested it right now. It works correctly. Just because I didn't include a demo scene in C# doesn't mean I haven't tested it. Please make sure that you have assigned all the needed variables of the quest manager and most important your player game object because that is the only reason where the quest givers will not respond. The warnings that you see are all caused by both of the editor scripts and that will be fixed in the next update.

    I advise you to contact me here: http://soumidelrio.com/contactme/ so we can investigate more on your issue because I rarely check this post.
     
  10. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    S-Quest v1.03 is here!

    Updates:

    - Fixed a bug when having two quests or more in the same quest giver.
    - You can now link S-Quest with S-Inventory automatically by dragging and dropping an item prefab into its field.
    - Added a C# demo scene.
     
    Last edited: May 17, 2014
  11. chrisall76

    chrisall76

    Joined:
    May 19, 2012
    Posts:
    661
    Hi, this is a gret asset and it's easy to use. Thanks for that :)
    I do have a few things I want to see/questions.
    First would be a ability to empty the saved completed quest, as during testing I need to test the same quest frequently. For now I'll try and find the
    file it saves to and delete/empty that so I can keep testing. Would also like to know, does the quest list carry over between scenes? For example, if I want my player to travel into a dungeon for a mission to complete it will the current quest carry into the new scene? Haven't been able to test this yet.
     
  12. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    Hello there, I'm really glad that you're interested in S-Quest!
    Emptying saved completed quests is easy, you just need to use "PlayerPrefs.DeleteAll()" since I use PlayerPrefs to save quests. But I will add a feature in the next update that will let pick saved quests and remove their progress. As for your second question, you can't carry quests between scenes for now but I'm planning to add that feature in the next update.
     
  13. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    Since its release on the asset store, S-Quest has got a rating of five stars out of five!
    Thank you everybody!
     
  14. Jeff00001

    Jeff00001

    Joined:
    Feb 7, 2014
    Posts:
    31
  15. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    Hello Jeff, please check your e-mail.
     
  16. Jeff00001

    Jeff00001

    Joined:
    Feb 7, 2014
    Posts:
    31
    Got it, thank you!
     
  17. Jeff00001

    Jeff00001

    Joined:
    Feb 7, 2014
    Posts:
    31
    Giving experience points to the player that has destroyed game Object. (Question for Photon networking)

    I'm having trouble getting this right (C#);

    Players have a health script > in the Health.cs

    public int xP = 10;

    (call the function) addXp();

    public void addXp ( int Amount, int DestroyerID)
    {
    Debug.Log("Destroyer : Add XP");

    PhotonPlayer Destroyer = PhotonPlayer.Find(DestroyerID);
    GetComponent<ExperienceManagerC>();
    xP += Amount;
    }

    (it doesn't like the int DestroyerID> overload method issue and I'm not sure the amount is correct. The exper. script is attached to the player) (I need to get the other player's ID to issue the experience to them)

    (here is what the function is in the experience script:)

    public void AddXP ( int Amount ){
    XP += Amount;
    }

    I appreciate the help, thanks.
     
  18. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    public void addXp ( int Amount, int DestroyerID)
    {
    Debug.Log("Destroyer : Add XP");
    PhotonPlayer Destroyer = PhotonPlayer.Find(DestroyerID);
    Destroyer.gameObject.GetComponent<ExperienceManagerC>().AddXP(Amount);
    }

    I'm on my phone right now but try the code above. If it doesn't work, please explain more what are you trying to achieve.
     
  19. Jeff00001

    Jeff00001

    Joined:
    Feb 7, 2014
    Posts:
    31
    That's not working either. This is the health script attached to the target, which is a player also, I need to give experience points to the player who destroys this player. So I need to get the destroyer's ID, then the component ExperienceManagerC and give the points to the destroyer.

    so at the top of the health script> public int xP = 10;

    calling the function addXp();

    The function> void addXp() {
     
    Last edited: Aug 13, 2014
  20. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    If you are getting the destroyer object right by the code you've posted then it should add XP points correctly by this line that I've added to your function:
    "Destroyer.gameObject.GetComponent<ExperienceManagerC>().AddXP(Amount);"

    Please make sure that your "addXP" function is called and working correctly. Use Debug.Log in that function and print the destroyer's ID and its game object name to check if it's working properly.
     
  21. Jeff00001

    Jeff00001

    Joined:
    Feb 7, 2014
    Posts:
    31
    I'm getting a no overload method for everything after addXp " int Amount, int DestroyerID and gameObject. GetComponent & AddXP doesn't work together.

    Is there an easier way to give experience points to the player?
     
  22. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    The problem here is with finding the destroyer gameobject. If you could get the PhotonPlayer gameobject, the problem is solved by getting the XP script from that game object and calling the AddXP function in it. I have no idea how you could convert a PhotonPlayer type into a gameobject because I don't have any experience with Photon.
     
  23. Jeff00001

    Jeff00001

    Joined:
    Feb 7, 2014
    Posts:
    31
    Ok, thanks for trying.
     
  24. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    No problem but isn't there a method to get the gameobjects of the photon player?
     
  25. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    Just submitted an update that will allow you to use keyboard and joystick buttons to interact with quests. You will be able to choose one of these 3 control modes: mouse only, keyboard only or both at the same time. You will also be able to reset saved quests all at once or just one by one by pressing a button in the quest's custom inspector.
     
    Last edited: Aug 19, 2014
  26. Jeff00001

    Jeff00001

    Joined:
    Feb 7, 2014
    Posts:
    31
    I'm having an issue with the destroyed (eliminated) gameObject type quest, what exactly needs to be done to get this to work correctly?
     
  27. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    As I stated in the documentation, the elimination and collection quest types require some coding. I've already put an example of the code you need to add to your existing scripts when you have a collection type quest which pretty similar to the code you need for elimination quest types. Well I guess it's time to include code needed for both quest types in the asset in the next update. I will e-mail you the code in a little bit.
     
  28. Stefan Alexander

    Stefan Alexander

    Joined:
    Aug 18, 2014
    Posts:
    2
    I am completely stumped. This is the first asset I buy on the asset store and I have no idea how to use it. How do you open up that editor window that appears in one of the pictures at the top of the thread? (and BTW, I am pretty new to Unity)
     
  29. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    Hello and welcome to Unity. The picture above is actually a custom inspector view. Just drag one of the scripts to an object, select that object in the hierarchy view and you will be able to see that window in the inspector view.
     
  30. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    S-Quest v1.04 is finally available on the asset store! Here's the main update list:

    - Added full support for joysticks and keyboard keys to interact with quests.
    - Three quest control modes: mouse, keyboard or mouse and keyboard.
    - Item collection script now supports joystick and keyboard buttons.
    - You can reset saved quests.
     
  31. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    Working on update that will make S-Quest and S-Inventory even more compatible: You can now see the reward item you'll get by completing the quest. You can hover your mouse cursor over it and see a brief description of it.

    Here's a screenshots:
    [​IMG]
     
  32. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    S-Quest v1.05 has been submitted to the asset store. Here's the main update list:

    - Fixed a bug in displaying quest information when you are talking to a quest giver and have an active meeting quest.
    - Fixed a bug that doubles the player's XP and item reward.
    - Added a range for the Goto quest objective's destination.
    - You now activate a quest when the game start.
    - Fixed a bug when rewarding a player with an item (Requires S-Inventory).
    - You can now see the quest reward item on the quest window and see a description of it when you hover over it with your mouse. (Requires S-Inventory).

    New screenshots uploaded in the first comment.
     
  33. Pagego

    Pagego

    Joined:
    Dec 22, 2013
    Posts:
    8
    I just purchased S-Quest, and I am trying to use it for quests that last throughout several different levels. How should I carry over objective progress from one level to another?

    I am currently using Mad Level Manager for my level management.
     
  34. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    Currently, S-Quest doesn't support that. I'm working as hard as I can to finish S-Inventory and S-Quest uGUI update which is taking a lot of time then I will include making quests last in different scenes in the next update. Thanks for your patience.
     
  35. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    I have completed converting the quest, quest log and level/xp bar to the new UI system and I'm currently working on the objectives bar.
    If you are interested in testing the new update before it's available on the asset store, please PM me your e-mail and invoice number.

    [​IMG]
     
  36. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    S-Quest update to support the new UI system has been submitted. It should be available in the asset store pretty soon. I have updated the documentation and the web player for the new update.

    Happy new year everybody!
     
    shaunmckay12 likes this.
  37. shaunmckay12

    shaunmckay12

    Joined:
    Jan 25, 2014
    Posts:
    78
    Has this new version of s-quest fixed the resource problem? that was mentioned in the s-inventory thread? :)
     
  38. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    I'm sorry, which resource problem are you talking about?
     
  39. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    S-Quest new UI update is available on the asset store!
     
    shaunmckay12 likes this.
  40. Quanny

    Quanny

    Joined:
    Apr 7, 2013
    Posts:
    14
    When i first purchased this asset, i read thoroughly on how to install it, and after several failed attempts i learned a few things about this asset:

    1) When you bundled this asset, the links between the Canvas prefabs and the QuestManager/QuestUI/EventManager prefabs broke, killing every single link to buttons/images/scripts

    2) Found a way around it without painstakingly re-link everything back, by going to the demo scene, dragging QuestManager and QuestUI and EventManager from the Player to the Canvas GameObject. Then creating a brand new Prefab and dragging this to the new Prefab

    3) I then was able to load my own scene, drag the new Prefab onto my scene, dragged QuestManager and QuestUI onto my own player GameObject, dragged EventManager to the base scene, and voila, it works with all links not broken :)

    Now I do have a question though, before i go through your code, is there a way I can flag a quest to start as soon as i start the scene?
     
  41. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    Really sorry about the importing issues you had. I will submit an update to fix the prefabs. As for starting a quest automatically, just PM me your invoice number and e-mail and I will do the code modification for you.
     
  42. Quanny

    Quanny

    Joined:
    Apr 7, 2013
    Posts:
    14
    Its all good, in all honesty, this asset is really, really nice!
     
  43. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    I'm glad that you liked the asset! Code modification has been sent. Please check your e-mail.
     
  44. Quanny

    Quanny

    Joined:
    Apr 7, 2013
    Posts:
    14
    Thank you for that! :)

    I've started tinkering with the "Elimination" portion of the asset, the example for it was not included with the package, however i started poking around to see if i can get an example to work, and what i can tell Goal[Progress].Amount is what drives it, and tried to create a small script to try to trigger it but clearly it is not working, its not referencing properly:

    (Kaltor is the object name that contains the QuestC script)

    void OnDestroy ()
    {
    QuestC script = GameObject.Find ("Kaltor").GetComponent<QuestC>();
    script.Goal[script.Progress].Amount = script.Goal[script.Progress].Amount + 1;
    }
     
  45. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    There's an example script in the asset that does what you need. It's called "EliminationItem(C).cs/.js". If you can't find it, please try to re-import the asset. If that didn't work (although I'm sure it's there), PM me your e-mail and I'll send it to you.
     
  46. Quanny

    Quanny

    Joined:
    Apr 7, 2013
    Posts:
    14
    Found it, thank you! :)
     
  47. Quanny

    Quanny

    Joined:
    Apr 7, 2013
    Posts:
    14
    Kudos to you and this asset, after working with it, figuring out its quirks, and recode a bit of it, it is a great asset! The experience system is pretty basic, however I was able to manipulate it to work with NGUI pretty easily!

    smaller.png
     
  48. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    Wow! that looks beautiful! The experience system is meant to be basic and easy to modify so that It can be easily improved to suit your project. Please keep me updated about your game!
     
  49. Quanny

    Quanny

    Joined:
    Apr 7, 2013
    Posts:
    14
    Oh i will :)
     
  50. OussamaB

    OussamaB

    Joined:
    Feb 8, 2013
    Posts:
    691
    I've submitted a new update for S-Quest. Hopefully it will available by the next 3 days. Here's the main list of changes:

    - Unity 5 support.
    - Fixed some UI related bugs.
    - Added custom quest events: OnPlayerAcceptQuest, OnPlayerAbandonQuest and OnPlayerCompleteQuest.
    - Added saving and loading quest objectives progress.