Project1

标题: 法玲珑1。0版 [打印本页]

作者: 越前リョーマ    时间: 2007-7-8 17:43
标题: 法玲珑1。0版
费话不多说,下载地址:http://rpg.blue/upload_program/files/范例小柯修改.exe

就是用输入项设置,使用起来更方便而已~
作者: 越前リョーマ    时间: 2007-7-8 17:43
标题: 法玲珑1。0版
费话不多说,下载地址:http://rpg.blue/upload_program/files/范例小柯修改.exe

就是用输入项设置,使用起来更方便而已~
作者: 越前リョーマ    时间: 2007-7-8 21:21
仅仅是修改了原版的法玲珑~

PS。:其实跟完全改了没两样……(毕竟范例里没设置什么东西{/gg})
作者: 2月30号    时间: 2007-7-11 01:40
老柯,我和你一起合作做1个直接加满的法玲珑吧,跟问道一摸一样!
QQ297459463
等你咯!
作者: 越前リョーマ    时间: 2007-7-11 01:45
直接加满也很简单……

把血代入变量后,
血增加就这个变量的数就可以了。

其实直接恢复HP就好了……(或者恢复9999HP,基本就可以加满……)
作者: seeyou    时间: 2007-7-11 01:51
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2007-7-11 02:27
以下引用seeyou于2007-7-10 17:51:00的发言:

想要血池灵池的说....

什么意思……?
作者: 2月30号    时间: 2007-7-13 02:02
就是每回合战斗后都会帮你加满{/dy}
作者: 2月30号    时间: 2007-7-13 02:03
还有,如果加满血,加的那点量也要-下去!
直接加那不是太BT了
作者: 越前リョーマ    时间: 2007-7-13 02:11
每回合啊……

不知道并行处理的事件在战斗中会不会有用……
有用的话,
就设置持有[XXX]携带中,
设置回合,每回合,每角色加血为[加血变量]……

===============
总血数带入变量[加血变量],减去以有血的变量……?
作者: 精灵使者    时间: 2007-7-13 20:55
以下引用2月30号于2007-7-12 18:02:55的发言:

就是每回合战斗后都会帮你加满

这个……太简单了……参见此条。
http://rpg.blue/web/htm/news149.htm
你可以在这里动些小手脚。
作者: 越前リョーマ    时间: 2007-7-13 20:58
引用一下……
【升级补血】

不少游戏都有升级的时候把HP,SP补慢的功能。在RMXP中怎么制作呢?我先说制作方法,再简单讲一下原理和碰到其他新脚本之后的更改方法。

1、默认情况下的升级加HP,SP方法:

Scene_Battle 2 的173行开始,有如下3段内容:

        if actor.level > last_level
          @status_window.level_up(i)
        end

这里就是升级的内容,只要在if那个下面一行添加
actor.hp = actor.maxhp;          actor.sp = actor.maxsp

就可以补满血。如果需要增加50%的最大生命和最大SP,则写
actor.hp += actor.maxhp*0.5;          actor.sp += actor.maxsp*0.5

2、雅土的升级提示脚本:

首先你得确定是本站提供的脚本,否则行数会略有偏差,用ctrl+f搜索即可。在279行内容如下:

        if actor.level > last_level

在行此下面一行添加:actor.hp = actor.maxhp;          actor.sp = actor.maxsp
如果需要增加50%的最大生命和最大SP,则写actor.hp += actor.maxhp*0.5;          actor.sp += @actor.maxsp*0.5

3、RTAB

首先你得确定是本站提供的脚本,否则行数会略有偏差,用ctrl+f搜索即可。在773行内容如下:

        if actor.level > last_level

在行此下面一行添加:actor.hp = actor.maxhp;          actor.sp = actor.maxsp
如果需要增加50%的最大生命和最大SP,则写actor.hp +=actor.maxhp*0.5;          actor.sp += actor.maxsp*0.5

【原理】

其实所有的升级补血都是在升级出现提示表现之后帮忙把HP和SP补满。所以只需要在脚本中按ctrl+shift+f搜索
if actor.level > last_level
就可以了。不过有的脚本写得不是非常规范,可能会写成if actor.level >last_level这样(和最标准的格式比缺一个空格),这样搜索就搜不到了。这是可以全局搜索.level,然后自己挑出来。这个.level是默认定义的,一般的脚本不会随便更改这个。

actor.hp = actor.maxhp,就是把现在的hp赋值为最大hp (maxhp),SP也相同。如果使用增加一些hp或sp,就使用 += 的方法增加现有值。

【战斗结束后补血补气】

了解上面的原理,比如我现在想模拟仙剑的效果每次战斗结束恢复50%受伤的生命和精神,这样不会完全补满,又不至于受伤过重难度太大。方法其实很简单了:

在Window_BattleResult中(这个是用来表示战斗结束时、显示获得的 EXP 及金钱的窗口),在initialize或者refresh函数定义中,添加如下内容(比如添加在28行下面):

for actor in $game_party.actors
  actor.hp += 0.5*(actor.maxhp-actor.hp)
  actor.sp += 0.5*(actor.maxsp-actor.sp)
end

你应该可以看明白这个简短的脚本是怎么运行的。
#--------------------------------------------------------------------------
# ● 更改 EXP
#     exp : 新的 EXP
#--------------------------------------------------------------------------
def exp=(exp)
   @exp = [[exp, 9999999].min, 0].max
   # 升级
   while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
     @level += 1
     @hp = maxhp
     @sp = maxsp
     # 学会特技
     for j in $data_classes[@class_id].learnings
       if j.level == @level
         learn_skill(j.skill_id)
       end
     end
   end
   # 降级
   while @exp < @exp_list[@level]
     @level -= 1
   end
   # 修正当前的 HP 与 SP 超过最大值
   @hp = [@hp, self.maxhp].min
   @sp = [@sp, self.maxsp].min
end

其实把血加满好像没什么意思……
不如用想加多少加多少更好……{/gg}
作者: 沉影不器    时间: 2008-2-18 04:54
提示: 作者被禁止或删除 内容自动屏蔽
作者: 天邪    时间: 2008-11-29 08:53
提示: 作者被禁止或删除 内容自动屏蔽




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