Comments

Log in with itch.io to leave a comment.

Thx it works amazing. If I want to add two more sub-classes, such as description and requirement, where else do I need to change in the screens?


init python:
    import collections
    class Quest ():
        def __init__(self, id, title, category, description, requirement, state= "pending"): 
            self.id = id             self.title = title             self.category = category             self.description = description             self.requirement = requirement             self.state = state

I only have 2 missions so far, this is what I have:

define prologue_quest = (
                    Quest("old_friend", _("Old Friend"), _("Prologue"), "Meet up with Jack.", "None", "unlocked"),
                    Quest("betrayer_on_the_hills", _("Betrayer on The Hills"), _("Prologue"), _("Assassinate The Enforcer. Leave no evidence."), _("Completed old_friend")),
                    # Quest("id", _("title"), _("category"), _("description"), _("requirement"), "state"),
                    )

Hi, how can I add more categories on the left page? I have put this in the gui file,   defines left_page = {( ("General"),("Categoria1"),)}    but it appears on the right page

Hello everyone,
how can I change the path of the questmanager folder?
I tried that code below but it doesn't work.

Code:
from myfolder.questmanager.engine.classes import Quest 


Old path: game/questmanager 
New path: game/myfolder/questmanager 


Has anyone solved this before?

Thank you 🙏

Hello there! I hope you are doing excellent, and let me tell you that I absolutely love this framework! 

I have a quick question. Is there a way to completely hide quests if they are in a specific state? I've modified the screen to not show any quests under "pending" status, however as you can see in my screenshot they are still kinda there, but they are just a blank space, and if you scroll down most of it would be just blank spaces. My guess is that it has to do with how the Quest and Manager classes work, but I'm no Python expert so I'm completely lost here. Any help would be really appreciated! 

This is really well done! Thank you! I had a quick question though. I try to manage my .rpy files with referencing or calls so I can manage the pieces a little better, especially if I need to change a quest later. I don't have to search through a HUGE file of codes to find the one I need. I was wondering if you could help me figure out why mine isn't working? I've tried to leave the default quest = Manager() in the script file and then use a call to load the quests in a different file as well as putting the default quest = Manager() in the referenced file and using a call quest_load in my script but it isn't recognizing Quest at that point. It gives me a NameError Quest is not defined when I do that. The only way I've gotten it to work is to load it into my script file first. Am I stuck with having it that way or is there something I'm missing that I need to add to be able to do this? Thank you in advance for your help!

Hi. Thank you for making this awesome Manager. 

I got a question while customizing QuestManager, and this is it: Can you tell me how to subtract the prefix '~' and suffix '~' from screen evs_block? I'd like to remove the wave mark on ~General~ and ~Introduction~.

I found this in the screen evs_block under \questmanager\engine\screens. The code block looks like this:

screen evs_block(cat, evlist, prefix=" {b}-{/b} ", completed_suffix="{image=completed}", progress_suffix="{image=in_progress}", unknown=_("? ? ?")):

    text " "+__(cat)+" ":

        style "category_style"


the text ""+__(cat)+"": is where the ~ should be in your block. I just removed mine but left the category area in case I wanted to change it around later. I hope this helps!

(2 edits)

Hi thanks for your comment :) You can remove the prefix by modifying the code. Go to the screens folder from questmanager folder and look for the diary.rpy file. At line 73 replace the line

text "~ "+__(cat)+" ~":

 by

text __(cat):

and it should work !

  File "game/houselocations.rpy", line 15, in script

    if quest.is_state("mom2", "unlocked"):

  File "game/houselocations.rpy", line 15, in <module>

    if quest.is_state("mom2", "unlocked"):

  File "game/questmanager/engine/classes.rpy", line 89, in is_state

    if self._search(id, category).state == state:

AttributeError: 'NoneType' object has no attribute 'state'

This error mean that the name of the quest "mom2" doesn't exist. Is the quest "mom2" declared into the chapter ???

(1 edit)

yes but i solved it differently i changed the classes.rpy a little bit.

how can I write two or 3 values in § quest.is_state?

do you have discord for a few questions?

Deleted post

Did you solve it?

Deleted post
Deleted 1 year ago
Deleted 1 year ago
(1 edit)

Hi, this error mean that the name of the quest "qnicolas01" doesn't exist. Is the quest "qnicolas01" declared into the chapter ???

Deleted post

Hey, there. I have a bug where I just drag and dropped your folder into my project with no edits and its throwing this error Exception: Screen diary_open_btn is not known. Is there a way the screens are supposed to be setup? 

Did you solve this problem? If yes, please tell me how you did it.

I already figured it out myself, thanks u anyway :)

I actually have not. I moved on to a different part of the code with a plan of returning. Mind sharing what you did to solve this? 

u need to write this into file screens.rpy

There is code

This is awesome and I'm so thankful, that you have given us this amazing tool! I have one question, that is probably, already answered, but im just not finding it. 


How can I activate events, depending on the status of a Quest? 
Example: If quest with Id "007" is unlocked jump to this label, elif quest with id "008" is unlocked jump to... and so on.

So basically what would be the code for having jumps depending on the Quests? 

Probably a simple If script line, but I rather ask an expert like you, before I do something wrong.

Thank you <3

Hi thank for your nice comment !
You can easily activate events depending on the status with the quest.is_state() function. This is an example: 


# Define the chapter
define test = (
Quest("test01", _("Test01"), _("Introduction"), "completed"),
Quest("test02", _("Test02"), _("Introduction"), "in progress"),

)

label start:

#Load the chapter into the game
$ quest.load(test)

#Add the conditional state
if quest.is_state("test01", " completed"):
jump choice01
else:
jump choice02

label choice01:
c "First"

label choice02:
c "Two"

Thank you so much. I understood this. I'm amazed by myself. :3 Thank you. This explanation was clear and straight to the point. Thank you so much :)

Deleted post

Thanks :)

This is awesome, mate! Thanks for your hard work :D

(+1)

Your welcome :)