Project1

标题: 如何设置一个不放回的抽卡系统以及使用事件换装 [打印本页]

作者: 渣画圣手花某人    时间: 2024-4-25 15:08
标题: 如何设置一个不放回的抽卡系统以及使用事件换装
这里是初次做游戏的新人,遇到了一些问题,提前感谢各位前辈老师们的指点!
1.如何设置一个不放回的抽卡系统?
我想要做一个扭蛋机,里面大概有10多个物品,想要设置的效果是:玩家使用有限的扭蛋币抽卡,随机抽出物品,将扭蛋机抽空之后会获得最终奖。(最终奖对游戏流程非常重要,需要保证玩家能够抽空奖池)
因为是初学者,所以我暂时只想到了用事件编辑,但是也存在很多问题:
(1)第一种方法:用最笨的条件分支,但工作量实在太大;
(2)第二种方法:抽出的物品设置公共事件,可以将重复物品兑换为扭蛋币。但这种方法会出现重复的物品,剧情设定这些东西都有唯一性,抽出许多个感觉有点出戏。
想请各位大佬指点迷津,感谢!


2.如何使用事件换装?
我想要做一个换装系统,想要实现的效果是:队伍里常驻一位主角和一个跟宠,主角有10套装扮,跟宠有7套装扮,希望能够独立地进行换装。我尝试用进队离队的事件实现这个功能,但在编写事件的时候发现,我不能确定玩家在进行换装的时候队伍里是哪两个装扮,所以我只好编写了十几条“**”离队的命令确保所有的装扮角色都离队,再按顺序添加指定的装扮角色。
但是这样有一个问题,在跟宠已有装扮,玩家仅更换主角装扮的情况下,我无法确定跟宠原本的装扮是什么,这样就又需要加入条件分支,变得十分麻烦。
我想请问我这么编写的大段指令是正常的吗?还有没有方法改进呢?

新人第一次发帖求助,有什么疏漏错误的地方还请多多包涵!
作者: haohaoniu    时间: 2024-4-25 15:27
变量操作:#变量1= 随机 1....n
如果:#变量1= 1
   如果:队伍持有:物品A
       增减物品:代币 +1
    否则
       增减物品:物品A +1
否则
如果:#变量1= 2
   如果:队伍持有:物品B
       增减物品:代币 +1
    否则
       增减物品:物品B +1
否则
...............

不知道能否看懂。

第二个我不太理解你的换装系统是怎么样的换装系统。如果只是角色外观变化的话。最简单就是你做几个空白技能,技能名叫套装1,套装2,套装3。使用场合选菜单画面,效果栏那里选公共事件,公共事件做几个不同的,里面选更改角色图像。
作者: kyjoke    时间: 2024-4-25 15:51
换装系统我建议你使用插件 可以简化大部分的操作 比如可以用行走图图层插件 直接往行走图上面加一层衣服 或者功能更强大的可以控制立绘跟行走图的也有 反正看你需求
至于你原来的写法问题实属是把我绕晕了 难道你希望不绑定数据库里的装备 技能 这些东西来换装?还是说你只是遇到了离队的时候判断过于复杂的问题?如果是后者我建议你使用插件
作者: 505681468    时间: 2024-4-25 16:59
复杂需求,不会代码的话,就只能找插件了
作者: HM495    时间: 2024-4-25 17:03
本帖最后由 HM495 于 2024-4-25 17:09 编辑

变量1 = [奖品A的ID,奖品B的ID,奖品C的ID……]//奖品ID的数组

分支 IF 变量1.length>0

变量2 = Math.floor(Math.random() * 变量1.length); //从数组里抽选奖品
变量3 = 变量1[变量2];//你抽出来的奖品ID
获得 ID为变量3的道具
变量1.splice(变量2 , 1);//把抽过的ID从数组里拿掉

ELSE
获得道具 大奖  //奖池抽空了,变量1的长度为0,发放最终的奖励



第二个问题
你在每次换装,也就是角色入队的时候,用变量记录下换了哪套不就是了




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1