rpg制作大师吧 关注:79,230贴子:429,046

回复:RPG制作大师吧问答求助贴

只看楼主收藏回复

请问mz能用的简单的修改物品字体颜色的插件可有吗。在论坛上找到的都是绑定了n多功能的...


IP属地:北京140楼2023-08-07 21:38
收起回复
    整合脚本重复出现提示窗口
    把三角龙的《经验提示》和66的《升级有技能提示》脚本整合了一下。如果用事件获得全体经验的话,队里有几个人,就会出现几次经验获得提示窗口,实际获得的经验值是正确的,后续的技能获得提示也是正确的。求大佬指出问题点。
    $不显示升级窗口 = 46
    $不提示经验窗口 = 45
    def command_315
    # 获取操作值
    value = operate_value(@parameters[1], @parameters[2], @parameters[3])
    # 如果 不显示升级窗口开关 关闭,则初始化纪录升级角色和纪录角色学会特级的变量
    if $game_switches[$不显示升级窗口] == false
    level_uper = []
    learned_skill = ""
    end
    # 处理重复
    iterate_actor(@parameters[0]) do |actor|
    # 如果 不显示升级窗口开关 关闭
    if $game_switches[$不显示升级窗口] == false
    last_level = actor.level
    # 更改角色 EXP
    actor.exp += value
    #############整合处#################
    if $game_switches[$不提示经验窗口]==false
    @udexp_window=Window_Base.new((654-240)/2,170,240,100)
    @udexp_window.contents=Bitmap.new(240 - 32, 100 - 32)
    @udexp_window.opacity = 160
    # 生成窗口
    if @parameters[0]==0
    then name_tt="全体队员"
    else
    name_tt=$data_actors[@parameters[0]].name
    end
    # 决定给某个队员还是全体队员
    if value>=0 then
    @udexp_window.contents.draw_text(0 + 0,0,180,32,name_tt)
    @udexp_window.contents.draw_text(0 + 25,0,180,32,"获得",2)
    Audio.me_play("Audio/SE/"+"006-System06",80,100) # 更改为相同SE~
    else
    @udexp_window.contents.draw_text(0 + 0,0,180,32,name_tt)
    @udexp_window.contents.draw_text(0 + 25,0,180,32,"失去",2)
    Audio.me_play("Audio/SE/"+"005-System05",80,100)
    end
    # 显示队员名及播放SE
    @udexp_window.contents.draw_text(0 + 5, 32, 212, 32,"EXP")
    @udexp_window.contents.draw_text(0 - 0, 32, 200, 32,value.abs.to_s,2)
    # 显示经验
    for i in 0..30 #从60至30 ,减少等待时间
    Graphics.update
    end
    # 让窗口停它60帧
    for i in 0..10
    @udexp_window.opacity-=30
    @udexp_window.contents_opacity-=30
    Graphics.update
    end
    # 渐渐淡出窗口
    @udexp_window.dispose
    end
    ###################################
    # 如果经验增加后角色升级
    if actor.level > last_level
    # 在纪录升级角色的变量里纪录升级角色
    level_uper.push(actor.name.split(/·/)[0])
    # 如果因升级学会特技
    for level in last_level+1..actor.level
    for j in $data_classes[actor.class_id].learnings
    if j.level == level
    # 把角色的升级学会技能信息记录入变量
    learned_skill += actor.name.split(/·/)[0] + "学会了新特技“" + $data_skills[j.skill_id].name + "”。\n"
    end
    end
    end
    end
    # 此外(如果 不显示升级窗口开关 开启)
    else
    actor.exp += value
    end
    end
    # 如果 不显示升级窗口开关 关闭,且有角色升级
    if $game_switches[$不显示升级窗口] == false and level_uper.size > 0
    # 播放升级提示 SE,可以自己改
    Audio.se_play("Audio/SE/"+"056-Right02",80,100)
    # 等待 10 祯
    for i in 0..10
    Graphics.update
    end
    # 如果所有同伴都升级了
    if level_uper.size == $game_party.actors.size
    # 生成升级提示窗口
    level_uper_window = Window_Base.new(215, 169, 234, 97)
    level_uper_window.contents = Bitmap.new(200, 64)
    level_uper_window.opacity = 160
    # 描绘升级信息
    level_uper_window.contents.draw_text(0, 16, 200, 32, " 全体同伴 LEVEL UP!!! ")
    # 此外(如果只有部分角色升级)
    else
    # 生成升级提示窗口
    height = level_uper.size * 32 + 33
    level_uper_window = Window_Base.new(201, (435 - height) / 2, 262, height)
    level_uper_window.contents = Bitmap.new(230, height - 32)
    level_uper_window.opacity = 160
    # 描绘升级信息
    y = 0
    for level_up_actor in level_uper
    level_uper_window.contents.draw_text(10, y, 210, 32, level_up_actor)
    level_uper_window.contents.draw_text(10, y, 210, 32, " LEVEL UP!!!", 2)
    y += 32
    end
    end
    # 显示 50 祯
    for i in 0..30
    Graphics.update
    end
    # 用 10 祯过渡消失升级提示窗口
    for i in 0..10
    level_uper_window.opacity -= 30
    level_uper_window.contents_opacity -= 30
    Graphics.update
    end
    # 释放升级提示窗口
    level_uper_window.dispose
    # 如果有角色因为升级而学会技能
    if learned_skill != ""
    # 播放学会技能 ME,可以自己改
    Audio.me_play("Audio/ME/"+"010-Item01",100,100)
    # 更改对话框各个选项
    $game_system.message_position = 2
    $game_system.message_frame = 0
    $mes_id = nil
    $mes_name = ""
    # 显示学会技能信息
    @message_waiting = true
    $game_temp.message_proc = Proc.new { @message_waiting = false }
    # message_text 设置为 1 行
    $game_temp.message_text = "\\c[4]" + learned_skill + "\n"
    end
    end
    # 继续
    return true
    end


    IP属地:江苏141楼2023-08-22 16:22
    收起回复
      2025-12-24 17:59:39
      广告
      不感兴趣
      开通SVIP免广告
      你好,请问MV可以通过什么途径实现以下的功能:
      1、在游戏中进行方块/建筑物的放置拆除
      2、大地图上出现随机分布的地牢
      3、地牢内随机地图
      4、某区域的怪物强度按玩家某个属性变化而变化
      谢谢大佬 !


      IP属地:广东142楼2023-08-24 09:40
      收起回复
        @光的离心率
        你看是这样的不
        $不提示经验窗口 = 45
        $不显示升级窗口 = 46
        class Interpreter
        def command_315
        # 获取操作值
        value = operate_value(@parameters[1], @parameters[2], @parameters[3])
        # 如果 不显示升级窗口开关 关闭,则初始化纪录升级角色和纪录角色学会特级的变量
        if $game_switches[$不显示升级窗口] == false
        level_uper = []
        learned_skill = ""
        end
        #===============增加=============================
        first_actor = true
        #===============================
        # 处理重复
        iterate_actor(@parameters[0]) do |actor|
        # 如果 不显示升级窗口开关 关闭
        if $game_switches[$不显示升级窗口] == false
        last_level = actor.level
        # 更改角色 EXP
        actor.exp += value
        ##############整合处################
        if $game_switches[$不提示经验窗口]==false
        #============增加处====================
        if first_actor == true #限制多次循环
        #==================================
        @udexp_window=Window_Base.new((654-240)/2,170,240,100)
        @udexp_window.contents=Bitmap.new(240 - 32, 100 - 32)
        @udexp_window.opacity = 160
        # 生成窗口
        if @parameters[0]==0
        then name_tt="全体队员"
        else
        name_tt=$data_actors[@parameters[0]].name
        end
        # 决定给某个队员还是全体队员
        if value>=0 then
        @udexp_window.contents.draw_text(0 + 0,0,180,32,name_tt)
        @udexp_window.contents.draw_text(0 + 25,0,180,32,"获得",2)
        Audio.me_play("Audio/SE/"+"006-System06",80,100) # 更改为相同SE~
        else
        @udexp_window.contents.draw_text(0 + 0,0,180,32,name_tt)
        @udexp_window.contents.draw_text(0 + 25,0,180,32,"失去",2)
        Audio.me_play("Audio/SE/"+"005-System05",80,100)
        end
        # 显示队员名及播放SE
        @udexp_window.contents.draw_text(0 + 5, 32, 212, 32,"EXP")
        @udexp_window.contents.draw_text(0 - 0, 32, 200, 32,value.abs.to_s,2)
        # 显示经验
        for i in 0..30 #从60至30 ,减少等待时间
        Graphics.update
        end
        # 让窗口停它60帧
        for i in 0..10
        @udexp_window.opacity-=30
        @udexp_window.contents_opacity-=30
        Graphics.update
        end
        # 渐渐淡出窗口
        @udexp_window.dispose
        #======================额外增加的操作=======================
        first_actor = false
        else
        end
        #===================额外增加的操作============================
        end
        ###################################
        # 如果经验增加后角色升级
        if actor.level > last_level
        # 在纪录升级角色的变量里纪录升级角色
        level_uper.push(actor.name.split(/·/)[0])
        # 如果因升级学会特技
        for level in last_level+1..actor.level
        for j in $data_classes[actor.class_id].learnings
        if j.level == level
        # 把角色的升级学会技能信息记录入变量
        learned_skill += actor.name.split(/·/)[0] + "学会了新特技“" + $data_skills[j.skill_id].name + "”。\n"
        end
        end
        end
        end
        # 此外(如果 不显示升级窗口开关 开启)
        else
        actor.exp += value
        ##############################
        if $game_switches[$不提示经验窗口]==false
        #============增加处====================
        if first_actor == true #限制多次循环
        #==================================
        @udexp_window=Window_Base.new((654-240)/2,170,240,100)
        @udexp_window.contents=Bitmap.new(240 - 32, 100 - 32)
        @udexp_window.opacity = 160
        # 生成窗口
        if @parameters[0]==0
        then name_tt="全体队员"
        else
        name_tt=$data_actors[@parameters[0]].name
        end
        # 决定给某个队员还是全体队员
        if value>=0 then
        @udexp_window.contents.draw_text(0 + 0,0,180,32,name_tt)
        @udexp_window.contents.draw_text(0 + 25,0,180,32,"获得",2)
        Audio.me_play("Audio/SE/"+"006-System06",80,100) # 更改为相同SE~
        else
        @udexp_window.contents.draw_text(0 + 0,0,180,32,name_tt)
        @udexp_window.contents.draw_text(0 + 25,0,180,32,"失去",2)
        Audio.me_play("Audio/SE/"+"005-System05",80,100)
        end
        # 显示队员名及播放SE
        @udexp_window.contents.draw_text(0 + 5, 32, 212, 32,"EXP")
        @udexp_window.contents.draw_text(0 - 0, 32, 200, 32,value.abs.to_s,2)
        # 显示经验
        for i in 0..30 #从60至30 ,减少等待时间
        Graphics.update
        end
        # 让窗口停它60帧
        for i in 0..10
        @udexp_window.opacity-=30
        @udexp_window.contents_opacity-=30
        Graphics.update
        end
        # 渐渐淡出窗口
        @udexp_window.dispose
        #======================额外增加的操作=======================
        first_actor = false
        else
        end
        #===================额外增加的操作============================
        end
        ###################################
        end
        end
        # 如果 不显示升级窗口开关 关闭,且有角色升级
        if $game_switches[$不显示升级窗口] == false and level_uper.size > 0
        # 播放升级提示 SE,可以自己改
        Audio.se_play("Audio/SE/"+"056-Right02",80,100)
        # 等待 10 祯
        for i in 0..10
        Graphics.update
        end
        # 如果所有同伴都升级了
        if level_uper.size == $game_party.actors.size
        # 生成升级提示窗口
        level_uper_window = Window_Base.new(215, 169, 234, 97)
        level_uper_window.contents = Bitmap.new(200, 64)
        level_uper_window.opacity = 160
        # 描绘升级信息
        level_uper_window.contents.draw_text(0, 16, 200, 32, " 全体同伴 LEVEL UP!!! ")
        # 此外(如果只有部分角色升级)
        else
        # 生成升级提示窗口
        height = level_uper.size * 32 + 33
        level_uper_window = Window_Base.new(201, (435 - height) / 2, 262, height)
        level_uper_window.contents = Bitmap.new(230, height - 32)
        level_uper_window.opacity = 160
        # 描绘升级信息
        y = 0
        for level_up_actor in level_uper
        level_uper_window.contents.draw_text(10, y, 210, 32, level_up_actor)
        level_uper_window.contents.draw_text(10, y, 210, 32, " LEVEL UP!!!", 2)
        y += 32
        end
        end
        # 显示 50 祯
        for i in 0..30
        Graphics.update
        end
        # 用 10 祯过渡消失升级提示窗口
        for i in 0..10
        level_uper_window.opacity -= 30
        level_uper_window.contents_opacity -= 30
        Graphics.update
        end
        # 释放升级提示窗口
        level_uper_window.dispose
        # 如果有角色因为升级而学会技能
        if learned_skill != ""
        # 播放学会技能 ME,可以自己改
        Audio.me_play("Audio/ME/"+"010-Item01",100,100)
        # 更改对话框各个选项
        $game_system.message_position = 2
        $game_system.message_frame = 0
        $mes_id = nil
        $mes_name = ""
        # 显示学会技能信息
        @message_waiting = true
        $game_temp.message_proc = Proc.new { @message_waiting = false }
        # message_text 设置为 1 行
        $game_temp.message_text = "\\c[4]" + learned_skill + "\n"
        end
        end
        # 继续
        return true
        end
        end


        IP属地:江苏144楼2023-08-25 10:47
        回复
          各位大神,请教一个问题 rpg maker mz 系统2里 怎么增加攻击动作,系统默认的是30个,怎么武器动作的上限。


          IP属地:广东145楼2023-08-28 17:08
          收起回复
            伤害数字多了一卡就报错有办法解决吗


            IP属地:浙江146楼2023-09-03 20:32
            收起回复
              想问问,mz怎么在游戏内可以看到完整描述,也就是点击物品或者装备后可以看到属性


              IP属地:广西来自Android客户端147楼2023-09-19 10:20
              收起回复
                谁有rpgmaker2000的资源啊,中文版的那种


                IP属地:广东来自Android客户端148楼2023-10-07 23:44
                收起回复
                  2025-12-24 17:53:39
                  广告
                  不感兴趣
                  开通SVIP免广告
                  请问楼主,我要怎么样才能制作类似星露谷和牧场物语的游戏?(因为是小白,不知道怎么入手,想做个同人存档游戏


                  IP属地:广东来自Android客户端149楼2023-10-20 14:04
                  收起回复
                    吧主,刚入手的萌新要怎么制作种存档游戏?


                    IP属地:广东来自Android客户端150楼2023-10-20 14:07
                    收起回复
                      新人求助,rm2003怎么修改主角的移动速度?感觉默认移动速度太快了


                      IP属地:广东来自Android客户端152楼2023-11-01 19:59
                      收起回复
                        MV有没有能一键删除所有存档的脚本啊,如果玩家做了非常过分的选项,我想直接把他存档全给删了


                        IP属地:广西来自Android客户端153楼2023-11-03 01:50
                        收起回复
                          想找个很多年前玩过一个游戏,游戏开头是主角刚进入大学。后面的剧情忘了,但是记得这个游戏制作组做了很久更新迭代了很多次,我记得好像还挺有名的


                          154楼2023-11-06 17:07
                          回复
                            如何在游戏中插入视频


                            IP属地:黑龙江来自Android客户端155楼2023-12-02 22:57
                            回复
                              2025-12-24 17:47:39
                              广告
                              不感兴趣
                              开通SVIP免广告
                              RPG maker vx ace战斗时候闪退,尤其连续战斗两次就直接闪退游戏,存档之后再打就没事,打一次存档一次太麻烦。不知道怎么解决。


                              IP属地:吉林来自Android客户端156楼2023-12-21 14:50
                              回复