[ModPack] sys4_quests [sys4_quests][git]

Post Reply
User avatar
sys4
Member
Posts: 51
Joined: Thu Nov 26, 2015 13:57
GitHub: sys4-fr
IRC: sys4
In-game: sys4
Contact:

[ModPack] sys4_quests [sys4_quests][git]

by sys4 » Post

Hi everybody !

This mod take the same concept than sys4_achievements but this time without the awards mod as dependencies, but with the mod quests instead.

This modpack provide :
  • An api for easily make quests (sys4_quests)
  • It also provide already written quests. (minetest_quests, ...)
Work for solo and multiplayer.
Work only with Minetest 0.4.14.
Work only if you have first join a world with this mod enabled.

An Example of how to make quests with this API is described in the file "sys4_quests/example.lua"

TARGET :
You have to follow proposed quests and finish them to unlock craft of items they unlock. Otherwise if you intent to craft a locked item, you will obtain a waste item.

INSTALLATION :
Download the source code and place it in a new folder named "sys4_quests" into the mod folder of minetest.
Spoiler
  • sys4_quests
    quests (By TeTpaAka), intllib?
  • minetest_quests
    sys4_quests, default, moreores?, intllib?
  • 3d_armor_quests
    minetest_quests, 3d_armor mod pack by (stujones11), moreores_quests?, ethereal_quests?, intllib?
  • mobs_quests
    minetest_quests, mobs redo by (TenPlus1), intllib?
  • unified_inventory_quests
    minetest_quests, unified_inventory (by RealBadAngel), intllib?
  • moreores_quests
    minetest_quests, moreores (by Calinou), intllib?
  • thirsty_quests
    minetest_quests, thirsty (by Ben), ethereal_quests?, intllib?
  • ethereal_quests
    minetest_quests, ethereal NG (by TenPlus1), moreblocks_quests?, intllib?
  • moreblocks_quests
    minetest_quests, moreblocks (by Calinou), intllib?
  • carts_quests
    minetest_quests, carts (by PilzAdam) or boost_cart (by SmallJoker) moreores_quests? intllib?
CONFIGURATION :
  • You can change the level of difficulty by editing the local variable "level" in sys4_quests/init.lua" file.
  • By default the level is 12 but for an easier gameplay you can set it down to 1. Or above 12 if you want a more difficult gameplay.
  • Because the numbers of quests may be consequent, you would to increase the number of displayed quests by editing the file "hud.lua" of the "quests" mod and set the local variable "show_max" to 15 or 20.
CHAT COMMANDS :
  • /lcraft [on|off] : Enable or not locked crafts. (default is on)
  • /bookmode [on|off] : Enable or not written books that shows you how to craft unlocked items when you reach a quest. (default is off)
  • /lqg [group index] : Display groups of quests or display quests of a group if group index is given as argument.
  • /iquest <quest_name> : Display infos of the quest.
  • /fquest <quest_name> : Force an active quest to be immediately finished.
  • /itemqq <item> : Display the quest to finish which unlock this item.
  • /getcraft <item> : Display craft recipes of this item.
DOWNLOADS :
  • Latest Unstable : .zip
  • Latest Stable : .zip
  • Version 0.2.3 with the following groups of quests : Dark Age, Wood Age, Farming Age, Stone Age, Metal Age, Middle Age.
  • Version 0.1 without groups.
  • Code on gitHub
Caution : Don't upgrade between major versions else you have to restart a new world.
Major versions are those with second digit changed ex : (0.1.* and 0.2.* are different major versions but 0.2.1 and 0.2.3 are minor versions you can upgrade)

TODO (May to change) :
  • Version 0.3 : Add quests for farming_redo and i will try farming_plus, plantlife modpack, moretrees.
  • Version 0.4 : Add a new group called "Modern Age" with support of mesecons, pipeworks, technic and digiline.
Screenshot 1
Screenshot 1
screenshot_20160317_190949.png (41.24 KiB) Viewed 1293 times
Screenshot : Quest description
Screenshot : Quest description
screenshot_20160317_191220.png (66.94 KiB) Viewed 1293 times
Screenshot : Waste
Screenshot : Waste
screenshot_20160317_191331.png (50.28 KiB) Viewed 1293 times
Last edited by sys4 on Thu Jul 14, 2016 20:41, edited 15 times in total.

User avatar
benrob0329
Member
Posts: 1341
Joined: Thu Aug 06, 2015 22:39
GitHub: Benrob0329
IRC: benrob0329
In-game: benrob03
Location: Michigan
Contact:

Re: [ModPack] sys4_quests [sys4_quests][git]

by benrob0329 » Post

Wow, why hasn't anyone replied to this yet? It looks awesome!

User avatar
Don
Member
Posts: 1643
Joined: Sat May 17, 2014 18:40
GitHub: DonBatman
IRC: Batman
In-game: Batman

Re: [ModPack] sys4_quests [sys4_quests][git]

by Don » Post

I agree! This looks awesome.
Many of my mods are now a part of Minetest-mods. A place where you know they are maintained!

A list of my mods can be found here

Minetestforfun
Member
Posts: 940
Joined: Tue Aug 05, 2014 14:09
GitHub: MinetestForFun
IRC: MinetestForFun
In-game: MinetestForFun
Location: On earth
Contact:

Re: [ModPack] sys4_quests [sys4_quests][git]

by Minetestforfun » Post

Happy to see the evolution of the quest system, keep up the good work ! :)

User avatar
sys4
Member
Posts: 51
Joined: Thu Nov 26, 2015 13:57
GitHub: sys4-fr
IRC: sys4
In-game: sys4
Contact:

Re: [ModPack] sys4_quests [sys4_quests][git]

by sys4 » Post

Update.
- Taking into consideration minetest 0.4.14 update.
- Improved API which make possible multi dependencies between quests. (exemple.lua file updated for description)
- Quests entirely rewritten
- Removed ethereal quests
- Add mobs quests
- Add unified_inventory quests (for crafting bags)

I have added Dia diagrams in the project which shows relations between quests.

User avatar
sys4
Member
Posts: 51
Joined: Thu Nov 26, 2015 13:57
GitHub: sys4-fr
IRC: sys4
In-game: sys4
Contact:

Re: [ModPack] sys4_quests [sys4_quests][git]

by sys4 » Post

Update :
- Added moreores quests

MykieDoesStuff
Member
Posts: 136
Joined: Sat Aug 16, 2014 02:44

Re: [ModPack] sys4_quests [sys4_quests][git]

by MykieDoesStuff » Post

This is looking good. Bookmarked.
For fast response... send me a PM

User avatar
sys4
Member
Posts: 51
Joined: Thu Nov 26, 2015 13:57
GitHub: sys4-fr
IRC: sys4
In-game: sys4
Contact:

Re: [ModPack] sys4_quests [sys4_quests][git]

by sys4 » Post

Thanks :)

Update :
- Add new quests for thirsty mod.
- Add custom sounds for (new, fail, successful quests) when central_message mod is detected.
- Merged Xanthin branch for German translations. (So cool Xanthin ;)

Soon i will make videos for demo.

User avatar
sys4
Member
Posts: 51
Joined: Thu Nov 26, 2015 13:57
GitHub: sys4-fr
IRC: sys4
In-game: sys4
Contact:

Re: [ModPack] sys4_quests [sys4_quests][git]

by sys4 » Post

Big update (Version 0.2) :
- Added quest groups implementation:
  • Quests inside a group must be all finished before the next group of quests start. (If any)
  • If some quests are not defined to be inside a group then they are automatically included in a 'global' group.
  • The quests inside the 'global' group are playable in parallel to other group of quests.
Also in this way, there are less quests displayed at the same time. This was a problem i think.

- Rewrite of quests separated in the followings groups : 'Wood Age', 'Farming Age', 'Stone Age', 'Metal Age' and 'Middle Age'
- Some quests was simplified
- Added 'ethereal', 'moreblocks' and 'carts' related quests
- Added support of ethereal:bowl as a replacement of thirsty:wooden_bowl
- Downgraded default level to 12
- Added 5 new chat commands : '/lqg', '/fquest', '/iquest', '/itemqq', '/getcraft'
- Finished french translations
- Added description.txt and screenshot.png in the modpack root directory

The top post has been updated :)

izzyb
Member
Posts: 35
Joined: Thu May 07, 2015 22:41

Re: [ModPack] sys4_quests [sys4_quests][git]

by izzyb » Post

EDIT AGAIN: I think I may have solved both these issues. Turns out my minetest_game was outdated. As was my git pull of minetest. Haven't played with it long, but I've confirmed I can now make ladders, and I haven't been able to trigger a crash with falling blocks yet.

I'm seeing this error pop up when sand or gravel fall in the game. First couple times I was smothered in the sand - this one I was high on a wall when I triggered the fall and the only thing under it was a rat. I didn't capture the error the first couple of times, but this is the relavent part of the log - I hit ctrl-c in the terminal that started minetest when the error came up.

Code: Select all

2016-07-26 19:37:30: WARNING[Main]: Map::getNodeMetadata(): Block not found
2016-07-26 19:37:30: ERROR[Main]: ServerError: Lua: Runtime error from mod '*builtin*' in callback luaentity_Step(): /home/izzyb/.minetest/mods/sys4_quests/sys4_quests/init.lua:685: attempt to index local 'digger' (a nil value)
2016-07-26 19:37:30: ERROR[Main]: stack traceback:
2016-07-26 19:37:30: ERROR[Main]: 	/home/izzyb/.minetest/mods/sys4_quests/sys4_quests/init.lua:685: in function 'callback'
2016-07-26 19:37:30: ERROR[Main]: 	/usr/local/share/minetest/builtin/game/falling.lua:92: in function </usr/local/share/minetest/builtin/game/falling.lua:43>
2016-07-26 19:37:30: ACTION[Main]: Writing quests to file
2016-07-26 19:38:10: [Main]: INFO: signal_handler(): Ctrl-C pressed, shutting down.
I found turning off quest and reloading fixes the problem. Then I can turn quest back on.

I'm loving this mod btw! Was just poking through the example to give quest creation a try. I'm finding I can't create some important items. Ladders for instance. I'm thinking this should be active in the Wood Age. I'll try creating a mod with some of the missing items I need.

EDIT: I just noticed that ladders are defined as part of minetest_quests. Not sure why I can't craft them still. I'm in metal age already. I've confirmed the required quests are listed in my Finished quests. Not sure what's wrong. Thoughts?
cdb_d26897136a4c

User avatar
sys4
Member
Posts: 51
Joined: Thu Nov 26, 2015 13:57
GitHub: sys4-fr
IRC: sys4
In-game: sys4
Contact:

Re: [ModPack] sys4_quests [sys4_quests][git]

by sys4 » Post

Thanks for your feedback izzyb :)
I was thinking i was the only one who loved this mod ;) but you show me i was wrong.

Metal age already ? Wow ! I have to speed up the development of the next releases before you ended all the quests ;)

If you want you can try the unstable version (with a new world). I'm testing farming_redo related quests (for the instance) and i'm planning to add food related quests. And later i'll make a new group called "Modern Age" for introduce quests related to mesecons, pipeworks, technic, ...
btw: If you found another mistakes in this mod, don't hesitate to report it here or in the git repos.

izzyb
Member
Posts: 35
Joined: Thu May 07, 2015 22:41

Re: [ModPack] sys4_quests [sys4_quests][git]

by izzyb » Post

Looks like I was wrong about the falling bug being an update issue. Just got another one...

Code: Select all

2016-07-29 12:34:44: ERROR[Main]: ServerError: Lua: Runtime error from mod '*builtin*' in callback luaentity_Step(): /home/izzyb/.minetest/mods/sys4_quests/sys4_quests/init.lua:685: attempt to index local 'digger' (a nil value)
2016-07-29 12:34:44: ERROR[Main]: stack traceback:
2016-07-29 12:34:44: ERROR[Main]: 	/home/izzyb/.minetest/mods/sys4_quests/sys4_quests/init.lua:685: in function 'callback'
2016-07-29 12:34:44: ERROR[Main]: 	/usr/local/share/minetest/builtin/game/falling.lua:92: in function </usr/local/share/minetest/builtin/game/falling.lua:43>
2016-07-29 12:34:44: ACTION[Server]: izzyb leaves game. List of players: 
2016-07-29 12:34:44: ACTION[Main]: Writing quests to file
Not sure what the gravel fell on.

I'll have a look at the unstable version this weekend maybe. I see in the code you have options to insert a group that are commented out. Is this coming in the development version? I tried adding a group but see it puts it at the end which isn't what I want.

I managed to successfully create a global quest for a couple of items. I'll play some more and post them here for others.
cdb_d26897136a4c

User avatar
sys4
Member
Posts: 51
Joined: Thu Nov 26, 2015 13:57
GitHub: sys4-fr
IRC: sys4
In-game: sys4
Contact:

Re: [ModPack] sys4_quests [sys4_quests][git]

by sys4 » Post

Hmmm... it's annoying.

I can't reproduce it. It's look like this is a random problem, perhaps caused by some lags ? Or a mod you used and i don't have ?
Anyway, in dev branch (unstable) I've make a fix for avoiding the crash when 'digger' is nil, but i don't know if this fix will be enough. To be continued so...

Good to see you create some new quests, i'm curious to have a look in your resulting work. Also effectively, i will finish the implementation of options to insert a group in the wanted order for your pleasure ;) and perhaps for the others. Stay updated with dev version so.

EDIT : It's done with the ability to insert a new group of quests in dev version.
You have to call this function in this manner :

Code: Select all

sys4_quests.insertQuestGroup(existingGroupName, newGroupName)
The new group will take the place of the existing group. The existing group and followers will be displaced after the new group.

izzyb
Member
Posts: 35
Joined: Thu May 07, 2015 22:41

Re: [ModPack] sys4_quests [sys4_quests][git]

by izzyb » Post

I've notice the "Tree Digger Lover" quest from moreblocks_quests only accepts default:tree and default:jungletree as valid trees for the quest. I've spawned in an area with only default:pine_trees around. It accepted them for the Tree Digger quest, so at first I thought something was broken when it wouldn't accept digging pine_trees for the quest. Now I'm wondering if this was intentional to force you to find other types of trees? Seems like a good idea for a quest, but there is no indication to the player that this is what is needed. So, a couple of suggestions/questions...

1) Can you add a field to the quests that let you specify some text to be displayed on the quest info screen for a more complete description of what is needed to complete the quest. That could allow games to provide a more colourful description of the quest to match the games theme.

2) Is it possible to specify group:tree for instance on the tree digging quests? If not, could you add that ability and update these quests to use tree groups. Perhaps creating quests to find specific trees, but not so early in the game when you're still dealing with wood tools.

EDIT: It's occurred to me that I'm using carbon_ng as my base. I thought it was based on the current Minetest Game, but perhaps there are some differences. Could explain the crashes I've seen and my latest problem which is I can't create ladders again. I'm in the farming age already in the latest test world I'm playing in, so this should have been granted already. I'll have to have a closer look in a few days...
cdb_d26897136a4c

izzyb
Member
Posts: 35
Joined: Thu May 07, 2015 22:41

Re: [ModPack] sys4_quests [sys4_quests][git]

by izzyb » Post

sys4 wrote:Hmmm... it's annoying.

I can't reproduce it. It's look like this is a random problem, perhaps caused by some lags ? Or a mod you used and i don't have ?
Anyway, in dev branch (unstable) I've make a fix for avoiding the crash when 'digger' is nil, but i don't know if this fix will be enough. To be continued so...
This will likely solve the crashes which is enough for now. I think this may be a bug in carbon_ng someplace. That's the base I'm using for my world. I'll have a closer look and follow up with them.
Good to see you create some new quests, i'm curious to have a look in your resulting work. Also effectively, i will finish the implementation of options to insert a group in the wanted order for your pleasure ;) and perhaps for the others. Stay updated with dev version so.

EDIT : It's done with the ability to insert a new group of quests in dev version.
You have to call this function in this manner :

Code: Select all

sys4_quests.insertQuestGroup(existingGroupName, newGroupName)
The new group will take the place of the existing group. The existing group and followers will be displaced after the new group.
Cool! I'll work on a Pink Princess Age to go with the Pink mod. My daughter will love it! ;)

I'm currently working on a default quest for the hook mod. Was testing it when I found I couldn't make ladders.
cdb_d26897136a4c

izzyb
Member
Posts: 35
Joined: Thu May 07, 2015 22:41

Re: [ModPack] sys4_quests [sys4_quests][git]

by izzyb » Post

I was just thinking it would be nice to have more then just a linear sequence of quest groups. Then you could have multiple quest paths to follow in parallel. Would be useful for creating a world were players could follow different paths to master different skills. Say a Wizard quest path and a Knight quest path or whatever. Having the option to have one quest block other quests might be useful also. So if you start down the path to being a Wizard, it blocks the knights path for example. Would make for some interesting game play requiring team work from different classes of player.
cdb_d26897136a4c

izzyb
Member
Posts: 35
Joined: Thu May 07, 2015 22:41

Re: [ModPack] sys4_quests [sys4_quests][git]

by izzyb » Post

I'm working on a quest for the fishing mod. The fishing mod requires you to collect worms for bait. The worms come up from soil you've hoed. The worms are entities that get added to your inventory on a right click. Here's the specific code from the register_entity call:

Code: Select all

 on_rightclick = function(self, clicker)
                if clicker:is_player() and clicker:get_inventory() then
                        clicker:get_inventory():add_item("main", "fishing:bait_worm")
                        self.object:remove()
                end
How hard would it be to add a quest type that triggers on right clicks or inventory additions so I can add worm collection to the quest? There are a number of other triggers I can think of - hitting entities for instance; killing entities would be another.

Another question I have relates to overriding quests from other mods. For instance, the cotton_digger quest requires collecting a lot of cotton which I've found to be a long process in normal game play. I'm thinking you should adjust it into different levels like many of the other item quests. But, assuming that wasn't an option for whatever reason, is it possible to override the count value to lower it? I'm going to try adding a "cotton_thief" quest to the farming age that will allow only collecting a few strings. Would it be possible to alter the cotton_digger quest to activate after the new one I create? EDIT: (And can the node counter be a fraction since it's multiplied with the level - so .25 * 12 would give you a count of 3?) -- Never mind, I found the "custom_level = true" attribute.

EDIT: Also could you add a command that resets a users quests to new user status? I've noticed I have to delete my players file in addition to the quests file in order to manually do it. Also, could you output the quests file in a more human readable formate. I've been trying to modify values in it for testing purposes and find it's really difficult to parse manually.
cdb_d26897136a4c

User avatar
sys4
Member
Posts: 51
Joined: Thu Nov 26, 2015 13:57
GitHub: sys4-fr
IRC: sys4
In-game: sys4
Contact:

Re: [ModPack] sys4_quests [sys4_quests][git]

by sys4 » Post

Sorry for my such late response, but life isn't so simple and I had to stop coding since this summer.
But I'm back now and I have intention to continue updating and improving this mod.
Thanks you izzyb, I appreciate your feedbacks. I will seriously pay attention on it for the next days to decide what to do exactly.

User avatar
TechNolaByte
Member
Posts: 465
Joined: Wed May 10, 2017 21:00
GitHub: TechNolaByte

Re: [ModPack] sys4_quests [sys4_quests][git]

by TechNolaByte » Post

can the api be used to yield rewards? any function called like on_quest_finished?
The great quest of alchemy neither failed nor attained gold; programmers are those great alchemists who transmute caffeine into code.

Post Reply

Who is online

Users browsing this forum: No registered users and 27 guests