Project1

标题: EXP(经验值)槽用事件怎么做?。。。。 [打印本页]

作者: TLF    时间: 2009-5-30 14:53
标题: EXP(经验值)槽用事件怎么做?。。。。
变量里只有MAX HP,MP,没有MAX EXP,那么EXP槽可以用事件做么?。。。 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: Tabris_Air    时间: 2009-5-30 17:40
http://rpg.blue/web/htm/news140.htm

用事件不好画图把,看看这个的draw_actor_exp方法吧
作者: TLF    时间: 2009-5-30 20:00
以下引用Tabris_Air于2009-5-30 9:40:57的发言:

http://rpg.blue/web/htm/news140.htm

用事件不好画图把,看看这个的draw_actor_exp方法吧


- -啊,我是说在地图上显示的。。用于像暗黑那样的ARPG游戏~~

现在倒有方法做,但是就是要开99个条件分歧……
作者: 不动明王阵    时间: 2009-5-30 20:11
2

99个条件分歧?
那99个?
作者: TLF    时间: 2009-5-30 20:13
以下引用不动明王阵于2009-5-30 12:11:20的发言:


2

99个条件分歧?
那99个?


因为没有MAX EXP变量,所以得自己根据每级等级变化(毕竟有等级可以代入变量)来做。因为设定是99级,所以每级都得加上一个条件分歧。。。。。不过我自己试了一下,貌似效果不好,等待解答ING……
作者: SeRiKa    时间: 2009-5-31 00:12
提示: 作者被禁止或删除 内容自动屏蔽
作者: 君少    时间: 2009-5-31 00:15
变量
作者: TLF    时间: 2009-5-31 01:10
以下引用SeRiKa于2009-5-30 16:12:32的发言:

名称:EXP表示    目标:并行处理    条件开关:0001:
执行内容:
◆变量操作 : [0001: EXP变化] = [阿尔西斯] 的 EXP
◆条件分岐 : 变量 [0001: EXP变化] == 变量 [0002: EXP变化]
   ◆中断事件处理
   ◆
: 分歧结束
◆变量操作 : [0001: EXP变化] -= 变量 [0002: EXP变化]
◆变量操作 : [0003: EXP最小] += 变量 [0001: EXP变化]
◆条件分岐 : 变量 [0003: EXP最小] >= 变量 [0004: EXP最大]
   ◆变量操作 : [0003: EXP最小] -= 变量 [0004: EXP最大]
   ◆脚本 : $a=$game_actors[1].level + 1
    :     : $b=2.4+10/100.0
    :     : $c=10*(($a+3)**$b)/(5**$b)
    :     : $game_variables[4] = Integer($c)
   ◆
: 分歧结束
◆变量操作 : [0002: EXP变化] = [阿尔西斯] 的 EXP

红色填入:曲线的增加度
紫色填入:曲线的基本值

0003 = 当前EXP
0004 = 最大EXP

0004先代入1次1级所需EXP
工程:http://rpg.blue/upload_program/d/SeRiKa_EXP_124128499.rar




[本贴由作者于 2009-5-30 16:15:15 最后编辑]


抱歉,你这个有点让我摸不清头脑。能够具体说明一下吗?这样子EXP图片怎么判定
作者: 越前リョーマ    时间: 2009-5-31 01:12
以下引用TLF于2009-5-30 17:10:07的发言:


以下引用SeRiKa于2009-5-30 16:12:32的发言:

名称:EXP表示    目标:并行处理    条件开关:0001:
执行内容:
◆变量操作 : [0001: EXP变化] = [阿尔西斯] 的 EXP
◆条件分岐 : 变量 [0001: EXP变化] == 变量 [0002: EXP变化]
  ◆中断事件处理
  ◆
: 分歧结束
◆变量操作 : [0001: EXP变化] -= 变量 [0002: EXP变化]
◆变量操作 : [0003: EXP最小] += 变量 [0001: EXP变化]
◆条件分岐 : 变量 [0003: EXP最小] >= 变量 [0004: EXP最大]
  ◆变量操作 : [0003: EXP最小] -= 变量 [0004: EXP最大]
  ◆脚本 : $a=$game_actors[1].level + 1
   :     : $b=2.4+10/100.0
   :     : $c=10*(($a+3)**$b)/(5**$b)
   :     : $game_variables[4] = Integer($c)
  ◆
: 分歧结束
◆变量操作 : [0002: EXP变化] = [阿尔西斯] 的 EXP

红色填入:曲线的增加度
紫色填入:曲线的基本值

0003 = 当前EXP
0004 = 最大EXP

0004先代入1次1级所需EXP
工程:http://rpg.blue/upload_program/d/SeRiKa_EXP_124128499.rar




[本贴由作者于 2009-5-30 16:15:15 最后编辑]



抱歉,你这个有点让我摸不清头脑。能够具体说明一下吗?这样子EXP图片怎么判定

既然都已经变量化了,
你再按做事件血条的办法显示不就好了…… - -
作者: TLF    时间: 2009-5-31 01:14
以下引用越前リョーマ于2009-5-30 17:12:20的发言:


以下引用TLF于2009-5-30 17:10:07的发言:


以下引用SeRiKa于2009-5-30 16:12:32的发言:

名称:EXP表示    目标:并行处理    条件开关:0001:
执行内容:
◆变量操作 : [0001: EXP变化] = [阿尔西斯] 的 EXP
◆条件分岐 : 变量 [0001: EXP变化] == 变量 [0002: EXP变化]
◆中断事件处理

: 分歧结束
◆变量操作 : [0001: EXP变化] -= 变量 [0002: EXP变化]
◆变量操作 : [0003: EXP最小] += 变量 [0001: EXP变化]
◆条件分岐 : 变量 [0003: EXP最小] >= 变量 [0004: EXP最大]
◆变量操作 : [0003: EXP最小] -= 变量 [0004: EXP最大]
◆脚本 : $a=$game_actors[1].level + 1
  :     : $b=2.4+10/100.0
  :     : $c=10*(($a+3)**$b)/(5**$b)
  :     : $game_variables[4] = Integer($c)

: 分歧结束
◆变量操作 : [0002: EXP变化] = [阿尔西斯] 的 EXP

红色填入:曲线的增加度
紫色填入:曲线的基本值

0003 = 当前EXP
0004 = 最大EXP

0004先代入1次1级所需EXP
工程:http://rpg.blue/upload_program/d/SeRiKa_EXP_124128499.rar




[本贴由作者于 2009-5-30 16:15:15 最后编辑]



抱歉,你这个有点让我摸不清头脑。能够具体说明一下吗?这样子EXP图片怎么判定


既然都已经变量化了,
你再按做事件血条的办法显示不就好了…… - -


等于是说这里面的EXP变量已经可以用作显示吗,是哪一个哦?我用的是未命名的那个方法做的血条
作者: SeRiKa    时间: 2009-5-31 01:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: TLF    时间: 2009-5-31 01:56
以下引用SeRiKa于2009-5-30 17:39:12的发言:


以下引用TLF于2009-5-30 17:14:55的发言:

等于是说这里面的EXP变量已经可以用作显示吗,是哪一个哦?我用的是未命名的那个方法做的血条



0003 = EXP
0004 = MAX EXP

和 HP MP 一样用啊

工程里有范例


[本贴由作者于 2009-5-30 17:40:52 最后编辑]


0 0 你那个写的方式貌似跟未命名的方法有点不同,我再研究一下。。。
还有,说实话,我其实没弄懂原理……
作者: SeRiKa    时间: 2009-5-31 02:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: TLF    时间: 2009-5-31 02:13
以下引用SeRiKa于2009-5-30 18:10:38的发言:


以下引用TLF于2009-5-30 17:56:29的发言:

0 0 你那个写的方式貌似跟未命名的方法有点不同,我再研究一下。。。
还有,说实话,我其实没弄懂原理……



那段脚本是计算下1级需要的经验的

我是用图片移动的X坐标来表示条的

需要图片的上层盖掉下层 所以要把图片靠边 否则会有奇怪的东西

如果改1点点脚本,就可以用 $game_screen.pictures[1].zoom_x = 来表示条的长度 这样就可以放在任意位置了


- -我明白,但是我的是把变量定为a,再将a定为图片的X放大率的方法,而且你看看我的签名上的图,下面的那一长条就是显示经验的……。。。
作者: 越前リョーマ    时间: 2009-5-31 02:22
以下引用TLF于2009-5-30 18:13:25的发言:


以下引用SeRiKa于2009-5-30 18:10:38的发言:


以下引用TLF于2009-5-30 17:56:29的发言:

0 0 你那个写的方式貌似跟未命名的方法有点不同,我再研究一下。。。
还有,说实话,我其实没弄懂原理……



那段脚本是计算下1级需要的经验的

我是用图片移动的X坐标来表示条的

需要图片的上层盖掉下层 所以要把图片靠边 否则会有奇怪的东西

如果改1点点脚本,就可以用 $game_screen.pictures[1].zoom_x = 来表示条的长度 这样就可以放在任意位置了



- -我明白,但是我的是把变量定为a,再将a定为图片的X放大率的方法,而且你看看我的签名上的图,下面的那一长条就是显示经验的……。。。

现在的EXP/MAX EXP = a
这样就和显示血条一样了啊……
作者: TLF    时间: 2009-5-31 02:30
以下引用越前リョーマ于2009-5-30 18:22:24的发言:


以下引用TLF于2009-5-30 18:13:25的发言:


以下引用SeRiKa于2009-5-30 18:10:38的发言:


以下引用TLF于2009-5-30 17:56:29的发言:

0 0 你那个写的方式貌似跟未命名的方法有点不同,我再研究一下。。。
还有,说实话,我其实没弄懂原理……



那段脚本是计算下1级需要的经验的

我是用图片移动的X坐标来表示条的

需要图片的上层盖掉下层 所以要把图片靠边 否则会有奇怪的东西

如果改1点点脚本,就可以用 $game_screen.pictures[1].zoom_x = 来表示条的长度 这样就可以放在任意位置了



- -我明白,但是我的是把变量定为a,再将a定为图片的X放大率的方法,而且你看看我的签名上的图,下面的那一长条就是显示经验的……。。。


现在的EXP/MAX EXP = a
这样就和显示血条一样了啊……


但是问题是:

已经两级了,却没有复位。而且第一级本来是30经验,我打到20经验时却只像是增加了一点,没有成比例……。。。。
作者: 越前リョーマ    时间: 2009-5-31 02:32
以下引用TLF于2009-5-30 18:30:19的发言:


以下引用越前リョーマ于2009-5-30 18:22:24的发言:


以下引用TLF于2009-5-30 18:13:25的发言:


以下引用SeRiKa于2009-5-30 18:10:38的发言:


以下引用TLF于2009-5-30 17:56:29的发言:

0 0 你那个写的方式貌似跟未命名的方法有点不同,我再研究一下。。。
还有,说实话,我其实没弄懂原理……



那段脚本是计算下1级需要的经验的

我是用图片移动的X坐标来表示条的

需要图片的上层盖掉下层 所以要把图片靠边 否则会有奇怪的东西

如果改1点点脚本,就可以用 $game_screen.pictures[1].zoom_x = 来表示条的长度 这样就可以放在任意位置了



- -我明白,但是我的是把变量定为a,再将a定为图片的X放大率的方法,而且你看看我的签名上的图,下面的那一长条就是显示经验的……。。。


现在的EXP/MAX EXP = a
这样就和显示血条一样了啊……



但是问题是:

已经两级了,却没有复位。而且第一级本来是30经验,我打到20经验时却只像是增加了一点,没有成比例……。。。。

因为默认RM是积累经验升级法:
1级30经验,2级50经验,到2级再积累20经验即可,1级的30经验并未清空。
你要复位的话,得清空经验(直接减是不行的,那样会降级…… - -)。
作者: TLF    时间: 2009-5-31 02:35
以下引用越前リョーマ于2009-5-30 18:32:52的发言:


以下引用TLF于2009-5-30 18:30:19的发言:


以下引用越前リョーマ于2009-5-30 18:22:24的发言:


以下引用TLF于2009-5-30 18:13:25的发言:


以下引用SeRiKa于2009-5-30 18:10:38的发言:


以下引用TLF于2009-5-30 17:56:29的发言:

0 0 你那个写的方式貌似跟未命名的方法有点不同,我再研究一下。。。
还有,说实话,我其实没弄懂原理……



那段脚本是计算下1级需要的经验的

我是用图片移动的X坐标来表示条的

需要图片的上层盖掉下层 所以要把图片靠边 否则会有奇怪的东西

如果改1点点脚本,就可以用 $game_screen.pictures[1].zoom_x = 来表示条的长度 这样就可以放在任意位置了



- -我明白,但是我的是把变量定为a,再将a定为图片的X放大率的方法,而且你看看我的签名上的图,下面的那一长条就是显示经验的……。。。


现在的EXP/MAX EXP = a
这样就和显示血条一样了啊……



但是问题是:

已经两级了,却没有复位。而且第一级本来是30经验,我打到20经验时却只像是增加了一点,没有成比例……。。。。


因为默认RM是积累经验升级法:
1级30经验,2级50经验,到2级再积累20经验即可,1级的30经验并未清空。
你要复位的话,得清空经验(直接减是不行的,那样会降级…… - -)。


SeRiKa工程里面已经实现了升级复位了。只是他用的是移动的方法,如果套用到我这上面来没有用……
作者: 越前リョーマ    时间: 2009-5-31 02:36
以下引用TLF于2009-5-30 18:35:20的发言:
引用太长,咔嚓了。

那你EXP条用她那个就好了嘛…… - -
作者: TLF    时间: 2009-5-31 02:42
以下引用越前リョーマ于2009-5-30 18:36:34的发言:


以下引用TLF于2009-5-30 18:35:20的发言:
引用太长,咔嚓了。


那你EXP条用她那个就好了嘛…… - -


。。。。。。。。。她那个要靠边放,而我这个已经设计好了。。。。。。。
召唤SeRiKa,求教……
作者: SeRiKa    时间: 2009-5-31 02:48
提示: 作者被禁止或删除 内容自动屏蔽
作者: TLF    时间: 2009-5-31 02:51
以下引用SeRiKa于2009-5-30 18:48:22的发言:

我不知道你那个是怎么表示的啊....



看看这是HP的
作者: SeRiKa    时间: 2009-5-31 03:00
提示: 作者被禁止或删除 内容自动屏蔽
作者: TLF    时间: 2009-5-31 03:07
以下引用SeRiKa于2009-5-30 19:00:08的发言:

◆变量操作 : [0011: 放大率] = 变量 [0003: EXP最小]
◆变量操作 : [0011: 放大率] *= 100
◆变量操作 : [0011: 放大率] /= 变量 [0004: EXP最大]
◆脚本 : a = $game_variables[11]
:     : $game_screen.pictures[1].move(3,0,\     # "\" 是换行的功能
:     : 180,34,a,100,255,0)

你第2行 /= 100 做什么用的? 算%比只要3行就可以了

( HP表示的正确吗?)


[本贴由作者于 2009-5-30 19:04:34 最后编辑]


那是按照另外的方法……我试用*100的方法,但是显示出来有问题,所以用/100

- -但是在MAX HP 为100时是有用的,可一旦MAX HP改变了却出现了问题:图片被拉伸到外面去了。。
可是按照这个算法算出来的应该是正确的,而且我发现这方法还不稳定。。2级的时候拉得长一点,到了5级还缩回去了……所以说应该是哪里出了问题


VERY GOOD!按照你的方法问题就解决了
作者: SeRiKa    时间: 2009-5-31 03:16
提示: 作者被禁止或删除 内容自动屏蔽
作者: TLF    时间: 2009-5-31 03:26
以下引用SeRiKa于2009-5-30 19:16:58的发言:

你那4步百分比计算是错误的

当前 * 100 / 最大  要这样

◆变量操作 : [0003: 神木HP] = [神木] 的 HP
◆变量操作 : [0003: 神木HP] *= 100
◆变量操作 : [0003: 神木HP] /= [神木] 的 MaxHP

14变量可以省了- -


恩恩,我明白了,现在终于可以继续弄其他的了~~




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