Project1

标题: 1个很高手的问题 [打印本页]

作者: 灯泡    时间: 2008-7-27 06:19
提示: 作者被禁止或删除 内容自动屏蔽
作者: hgr    时间: 2008-7-27 06:36
提示: 作者被禁止或删除 内容自动屏蔽
作者: 灯笼菜刀王    时间: 2008-7-27 07:25
其实,要实现这类的很简单。

技能引用公共事件,然后用一个变量 来当做概率。然后技能升级的时候就把这个变量的数值提高就行了。

事件举例a,b,c,d等是变量
a 取随机数0-100
b 就是技能的概率。
当a比b小的时候
全体敌人附加催眠。

如果想用单体技能,就用状态法判断。

学习技能的NPC这样设置。
       c = 金钱
       d = 学习技能的钱
       当c 大于 d 的时候
        金钱-d
        b += 1 #变量b加上1%也就是技能增加了1%的命中。
        d += 100 #变量d加上100,也就是下次学习技能要比现在多贵100快。
       条件不满足的时候
        “没钱就别想升级技能。”

设置OK。

作者: 凌冰    时间: 2008-7-27 11:27
还好我之前做得游戏用到这个
http://rpg.blue/web/htm/news145.htm
还要插入一段脚本
  1. class Interpreter
  2. def sklvup(actor_id,skill_id,level_plus,level=nil)
  3. actor = $game_actors[actor_id]
  4. skill = $data_skills[skill_id]
  5. old_level = actor.skill_level[skill_id]
  6. new_level = old_level+level_plus if level == nil
  7. new_level = level if level != nil
  8. loop do
  9. actor.skill_update_main(actor, skill)
  10. if actor.skill_level[skill_id] >= new_level
  11. break
  12. end
  13. end
  14. end
复制代码

在事件中插入脚本sklvup(a,s,lp,lv) 来实现技能的升级
其中
a为角色ID
s为技能ID
lp为等级差
lv为新等级【可以省略,即sklvup(a,s,lp),若不省略,则lp无效化,但是lp不能省略】

另外,脚本中引用游戏变量
$game_variables[xxx]
xxx为变量ID
方法告诉你了,怎么灵活运用就看你自己了

再另外,事件中脚本的书写规则
可以这样写
sklvup(
a,s,lp)
可以这样写
sklvup(a,
s,lp)
不可以这样写
sklvup
(a,s,lp)
不可以这样写
sklvup(a
,s,lp)
之所以说这个,是因为事件中脚本会自动分行


作者: 灯泡    时间: 2008-7-27 18:40
提示: 作者被禁止或删除 内容自动屏蔽




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