设为首页收藏本站同能贴吧 切换语言 繁体中文
开启辅助访问 切换到窄版
扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 72|回复: 0

[制作教程] Using Events to Give a Random Quest

[复制链接]
累计送礼:
0 个
累计收礼:
1 个
  • TA的每日心情
    开心
    前天 04:10
  • 签到天数: 209 天

    连续签到: 2 天

    [LV.7]常住居民III

    4456

    主题

    864

    回帖

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    7
    卡币
    22919
    OK点
    16
    推广点
    0
    同能卷
    50
    积分
    28269

    灌水之王

    发表于 前天 07:46 | 显示全部楼层 |阅读模式
    In this tutorial we look at how eventing can be used to create a quest giver that gives a random quest and doesn’t let you take another quest unless the previous quest has been completed (or abandoned).



    Goal

    We want to create an NPC such that


    • The first time you talk to it, it will offer one of several quests, randomly
    • When you have accepted the quest, the next time you talk to the NPC, it will ask whether you have completed the task
    • When the task is complete, you may then go back and obtain another random quest
    And the cycle repeats itself.

    Deciding on some Quests

    Let’s pick some quests to offer.


    • Buy an Apple from the market in town.
    • Clean up the yard (fight some slime in the yard)
    • Find an item in the cave outside of town.
    For simplicity, I have chosen to work with three quests.

    Randomly Selecting a Quest

    In order to randomly select a quest to offer, we will use the “Control Variables” command to store a random number between 1 and 3 into a variable. This variable will be used to control how other events will behave depending on which quest we are on.



    This takes care of the randomization part. The rest is a matter of filling out your event with conditional branches depending on which number was randomly chosen.





    Beginning a Quest

    Once you have taken a quest, the game needs to know that you are on a quest. There are two easy ways to do this:


    • Use a switch. If the switch is ON, then you are on a quest. If the switch is OFF, then you are not on a quest.
    • Use the same variable that you used to store the random number. We can say that when the value is 0, then we are not on a quest.
    It is up to you which one you prefer to use; some people find a switch easier to understand, while others understand that quest 0 means no quest or something like that. Of course, if you plan to use the number 0 to mean something else later, then it might be safer to use a switch.

    I will go with the switch approach. Once you have received your quest, we turn on our “Quest In Progress” switch:



    Completing a Quest

    Now that you have taken a quest, we want the NPC to interact with us differently. We can use the same NPC for this by creating a second event page and adding a “Switch” page condition that requires our “Quest In Progress” switch to be ON.


     
    Because we have three possible quests, and the objectives for each quest are different, we would need to use conditional branches again to handle each case separately.


     
    And finally, if the quest has been completed, we will turn off our “Quest In Progress” switch so that we can receive another random quest from the NPC.
    And that’s it!

    What’s Next?

    The event I have shown is a very simple skeleton that simply shows messages to demonstrate there is something going on. You should be able to test the event a few times to verify that it gives you a random task most of the time.

    Although I have only chosen three quests, you may have a very large quest bank to choose from. The principle remains the same: use a variable to keep track of which quest you are on for this NPC and perhaps use a switch to specify whether this NPC will offer any quests or not.

    Spread the Word

    If you liked the post and feel that others could benefit from it, consider tweeting it or sharing it on whichever social media channels that you use. You can also follow @HimeWorks on Twitter or like my Facebook page to get the latest updates or suggest topics that you would like to read about. I also create videos showcasing various RPG Maker techniques on my Youtube channel.

    Originally posted at HimeWorks.


    本贴来自国际rpgmaker官方论坛作者:Tsukihime处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/using-events-to-give-a-random-quest.37988/

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    简体中文
    繁體中文
    English(英语)
    日本語(日语)
    Deutsch(德语)
    Русский язык(俄语)
    بالعربية(阿拉伯语)
    Türkçe(土耳其语)
    Português(葡萄牙语)
    ภาษาไทย(泰国语)
    한어(朝鲜语/韩语)
    Français(法语)
    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2026-7-14 15:48 , Processed in 0.116857 second(s), 53 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表