设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

什么插件能在角色状态栏 增加其他属性,比如杀戮值。

查看数: 7077 | 评论数: 10 | 收藏 10
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-3-22 16:02

正文摘要:

本人在做一款修仙类的小游戏,需要杀戮值 来对应突破的时候对应的天劫,或者突破的时候的成功率。 还有一问,怎么在游戏开始菜单之前插入 自己的图片或游戏说明 ...

回复

jgwx0000 发表于 2016-3-23 14:16:54
jgwx0000 发表于 2016-3-23 14:11
为什么我左右对不齐呢。

JAVASCRIPT 代码复制
  1. Window_Status.prototype.drawUsertxt = function(x, y) {
  2.     var lineHeight = this.lineHeight();
  3.     this.changeTextColor(this.systemColor());
  4.         this.drawText("修为", x, y2, 160);
  5.       this.resetTextColor();
  6.         var xiuwei =$gameVariables.value(33)
  7.                 this.drawText(xiuwei, x + 160, y, 60, 'right');
  8.           this.changeTextColor(this.systemColor());
  9.          this.drawText("修为", x, y+lineHeight, 160);
  10.           this.changeTextColor(this.systemColor());
  11.           this.drawText("修为", x, y+2*lineHeight, 160);
  12.            this.changeTextColor(this.systemColor());
  13.           this.drawText("修为", x, y+3*lineHeight, 160);
  14.            this.changeTextColor(this.systemColor());
  15.           this.drawText("修为", x, y+4*lineHeight, 160);
  16.            this.changeTextColor(this.systemColor());
  17.           this.drawText("修为", x, y+5*lineHeight, 160);
  18.            this.changeTextColor(this.systemColor());
  19.           this.drawText("修为", x, y+6*lineHeight, 160);
  20.  
  21.  
  22. };

点评

这种不对成是Y坐标的问题,通常需要不断调整的。  发表于 2016-3-23 21:07
很明显你需要调整y的值y+lineHeight你可以把每个对应的这条属性改成lineHeight - 某个值,  发表于 2016-3-23 21:00
salvareless 发表于 2016-3-23 01:00:00
jgwx0000 发表于 2016-3-22 22:58
我计划中渡劫的时候 是根据杀戮只决定渡劫时收到的伤害大小,不过现在练气阶段还没弄完。 主要状态栏需要杀 ...


你这个容易啊,你可以把数据库里面用来显示昵称的那个值拿来当作副职业的职称用,当然这样你就要个改变windows.js里面显示职业(calss)和昵称(nickname)的位置,函数Window_Status.prototype.drawBlock1 = function(y) 具体应该在2551-2552行,交换他们的值,建议改成这样:
  1. Window_Status.prototype.drawBlock1 = function(y) {
  2.     this.drawActorName(this._actor, 6, y);
  3.     this.drawActorClass(this._actor, 432, y);
  4.     this.drawActorNickname(this._actor, 192, y);
  5. };
复制代码
这样你就可以用昵称来做副职业的称号,还可以用事件在操作进行晋级什么的。
置于成功率么- -这个不必显示在状态栏中,我发给你一个地址,你看看这个合成物品的插件你用的上不?可以合成所有种类的物品,道具,武器,装甲等等,还可以给每个配方单独设成功率,也有对应合成技能的等级,每进行一次合成会根据配方的设定增加对应的合成技能等级,我那个帖子写的很详细,这里就不细讲了。
地址在这里:https://rpg.blue/thread-385568-3-1.html
从25楼开始,我发了一个实装物BUG的插件,以及接下来的几楼都是一些常见的问题的处理,你看了就明白了。
置于境界的问题,我其实建议不要以100级为一个坎- -这样游戏的耗时会非常恐怖,其实10级一个坎就很不错了,我明白你是想体现境界碾压效应或者等级碾压效应,但这其实可以用伤害公式来解决的。例如你的伤害公式这样写:(4 * a.atk - 2 * b.def) * a.luk / (b.luk * 400)  因为怪物没有等级这个属性,所以在设数据库的时候我就把luk设为和等级相等了。你看这个伤害公式,攻击力的提升,以及自身等级的提升都能提升伤害,当然,这个公式还不够极端,具体你自己可以改改看。

然后是境界的显示问题,这里只能再改代码了。这要看你是想改哪里,有两个地方,一个是主菜单,它会简单显示角色的头像,名字,职业,生命值,法力值。另一个是状态页面,这里显示的比较详细。但是实际上是同一个函数在控制:Window_Base.prototype.drawActorLevel = function(actor, x, y),在YEP_CoreEngine.js的1183行:这里需要加一些判断。改好之后大概是这样:
把1190行的this.drawText(level, x + dw1, y, dw2, 'right');替换为以下代码:
  1.         if (level > 99){
  2.                 this.drawText("飞升" + level +"层", x + dw1 + 20, y, 120, 'right');
  3.         } else if (level > 89){
  4.                 this.drawText("大乘" + level +"层", x + dw1 + 20, y, 120, 'right');
  5.         } else if (level > 79){
  6.                 this.drawText("渡劫" + level +"层", x + dw1 + 20, y, 120, 'right');
  7.         } else if (level > 69){
  8.                 this.drawText("合体" + level +"层", x + dw1 + 20, y, 120, 'right');
  9.         } else if (level > 59){
  10.                 this.drawText("化身" + level +"层", x + dw1 + 20, y, 120, 'right');
  11.         } else if (level > 49){
  12.                 this.drawText("元婴" + level +"层", x + dw1 + 20, y, 120, 'right');
  13.         } else if (level > 39){
  14.                 this.drawText("金丹" + level +"层", x + dw1 + 20, y, 120, 'right');
  15.         } else if (level > 29){
  16.                 this.drawText("假丹" + level +"层", x + dw1 + 20, y, 120, 'right');
  17.         } else if (level > 19){
  18.                 this.drawText("筑基" + level +"层", x + dw1 + 20, y, 120, 'right');
  19.         } else if (level > 9){
  20.                 this.drawText("练气" + level +"层", x + dw1 + 20, y, 120, 'right');
  21.         } else {
  22.                 this.drawText("锻体" + level +"层", x + dw1 + 20, y, 120, 'right');
  23.         }
复制代码
具体的境界名称,就根据你的设计来改了~~~

话说是不是是不是觉得我知道得太多了~~~~~哈哈哈哈~~~~是因为你问的问题我自己之前都在自己的工程里实现过,后来改剧本,就放弃掉了一部分想法,恰好你问到的这些我都有自己狠花时间研究,做出来过= =我那么厉害= =
其实我还有很多奇葩的修改:
比如为每个主角分配不同的修炼路线,例如法修,灵修,妖修,修神,这样就还要判断是那个主角,然后为它单独写不同的境界名称。
再比如,还是上面的情况,因为每个人修炼路线不同,所以吸收的能量也不同,然后分别为每个主角规定不同的法力值和怒气值的名称。
其他诸如不用金币而用上中下品灵石当作货币(金银铜模式),声望啊之类的都有过。我想我应该可以帮到你不少忙。
啊~~~~~打一个哈欠~~~~~~,都一点了= =睡觉了,还有什么问题就=就明天回复了哟。
salvareless 发表于 2016-3-22 23:07:10
这个你要学的话,还是论坛那句老话:多开些工程胡改瞎改看看会变成什么样,看看各个类,函数,方法是怎么实现的,然后慢慢就能摸索到一些了。另外我给你说一段代码,要是有时候想调用属性或者参数,但是找不到正确的写法的时候可以把它插在一些函数的尾部,测试游戏时按F8就能返回这个函数中的一些情况。如下:
console.log(this._actor)//返回当前角色的所有属性
console.log(item)//返回F8可查看的当点道具的详细属性
console.log()这个方法作用应该很多,不多我目前摸索出来就这两个写法是对的,可以准确返回。如果你需要调用类似于一把武器加了多少暴击这种属性,你就会用得到这个。



jgwx0000 发表于 2016-3-22 23:03:32
jgwx0000 发表于 2016-3-22 22:58
我计划中渡劫的时候 是根据杀戮只决定渡劫时收到的伤害大小,不过现在练气阶段还没弄完。 主要状态栏需要杀 ...

还有需要状态栏显示的就是修为, 我设想的是每个阶段分 初期 中期后期 还有巅峰   比如练气阶段 分101-200 201-300 301-400  401到500 就是巅峰   突破大阶段就直接到1000  后面类推 筑基期 1001-2000 2001-3000 3001-4000 4001-5000 10000以后就是金丹期了 这样体现大阶段 实力差距比较明显
jgwx0000 发表于 2016-3-22 22:58:19
我计划中渡劫的时候 是根据杀戮只决定渡劫时收到的伤害大小,不过现在练气阶段还没弄完。 主要状态栏需要杀戮值  炼丹能力 (可以学习新的配方还有丹药书提升 或者炼丹次数也少量增加) 状态栏显示 1品-10品炼丹或者炼器师 对应不同品级装备的成功率。
游戏以休闲为主 多种线路可以进行  善于发现隐藏剧情, 任务以寻找材料 宝物 破解机关为主  同一地图过关模式不少于3个。js代码慢慢研究还行。 就是地图 美工 难搞,美工盲。还有就是具体怪物 还有boss的伤害比较难  要慢慢测试才能得到很好的效果。
jgwx0000 发表于 2016-3-22 22:49:45
salvareless 发表于 2016-3-22 17:13
这个不需要特定的插件,你自己修改一下插件就可以了。你看我的状态界面:

右侧的属性都是我自己加上去的。 ...

能改就很厉害了,我现在底层的代码一个都不明白。你这个给我启发很大。
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-24 00:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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