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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: hanguang85
打印 上一主题 下一主题

[已经解决] 我想在技能数据库里添加技能,或是修改现有技能消耗

[复制链接]

Lv2.观梦者

梦石
0
星屑
585
在线时间
923 小时
注册时间
2011-5-11
帖子
438
11
发表于 2013-9-10 00:08:04 手机端发表。 | 只看该作者
hanguang85 发表于 2013-9-9 23:55
如果用 Actor.sp -= Skill.mp_cost   会不会因为MP本身  有很多关连的参数 导致各种问题? ...

这个应该不会。你在战斗时生成的skilllist里就对技能是否可用做过判断了。现在用手机上网不方便,明天仔细看看了给予答复
回复 支持 反对

使用道具 举报

Lv2.观梦者

无节操

梦石
0
星屑
607
在线时间
795 小时
注册时间
2009-2-6
帖子
3939

开拓者贵宾

12
发表于 2013-9-10 00:14:55 | 只看该作者
hanguang85 发表于 2013-9-9 23:54
如果用 Actor.sp -= Skill.mp_cost   会不会因为MP本身  有很多关连的参数 导致各种问题? ...

不,首先,不是在脚本里改sp,而是在数据库,在“用语”那一页,将mp改写为sp,或者soul或者别的什么。
脚本内还是mp。这点不要弄混了(否则工作量何止是大)。因为你根本用不到mp,那么只要玩家以为这是sp就没问题。
第二,因为你始终不正面描述需求,我就按照你放技能涨一个魂,通过事件掉魂或者判断剧情进程这么认为。
那么,可以认为你的技能基本没有消耗。因为始终是在增加资源(SP),这样的话大部分冲突可以无视,直接在pay_skill_cost中,将mp的减号换成加号,并在skill_cost_payable?中将关于mp的语句直接删除。(即使要加上限也只需要改成mp + skill_mp_cost(skill) >= 约定值)
这样,你在数据库中,只要将魔力值消耗处填上你需要加的魂数,在使用时就是增加了……
Brandnew day, Brandnew Life
                              实在  中
暂为素材区版主,版其  琢磨
应援一下~
RPG制作大师授权素材推广计划
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
74 小时
注册时间
2012-8-9
帖子
35
13
 楼主| 发表于 2013-9-10 00:27:45 | 只看该作者
moy 发表于 2013-9-10 00:14
不,首先,不是在脚本里改sp,而是在数据库,在“用语”那一页,将mp改写为sp,或者soul或者别的什么。
...

看到你这么认真的回复 我都不好意思了
其实就是一个很简单的设定  玩过 万智牌魔法风云会之天命战场 的人  会很好理解
就是每回合 涨一个豆  任何动作 技能都要消耗 一定量的 豆   
比如说 你有三个豆  你可以攻击一次  放一个消耗为一个豆的技能  最后再防御一次
所以一切都是围绕这个豆做文章的
所以才担心  冲突之类的 因为我是大新手一只  处理不了这么多脚本
好了  现在你大概应该了解我的意图了吧
请帮我出出主意 拜谢
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
74 小时
注册时间
2012-8-9
帖子
35
14
 楼主| 发表于 2013-9-10 00:30:26 | 只看该作者
另外  怎么 修改 已有的技能   比如我想让  某个技能 增加一个 sp_cost = 1

评分

参与人数 1星屑 -1 收起 理由
熊喵酱 -1 連帖....

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

无节操

梦石
0
星屑
607
在线时间
795 小时
注册时间
2009-2-6
帖子
3939

开拓者贵宾

15
发表于 2013-9-10 00:50:19 | 只看该作者
本帖最后由 moy 于 2013-9-10 00:51 编辑
hanguang85 发表于 2013-9-10 00:27
看到你这么认真的回复 我都不好意思了
其实就是一个很简单的设定  玩过 万智牌魔法风云会之天命战场 的人 ...


什么,万智牌
好吧,如果你是指标示物一类的东西,那么确实要稍微考虑下。

首先根据需求,你需要将技能分为三类
1.对SP无影响
2.增加SP
3.减少SP

万幸的是,标示物不存在上限(这也是最万恶的一点…)所以不管是1还是2,都不会造成超出限度
那么着眼点在3上面。而3和通常的mp消耗其实采用的是同样的规则。
那么,只要在pay_skill_cost中加一个判断语句,判断是否是某种特定的技能,就可以方便的识别是加还是减SP。
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 扣除技能的使用消耗
  3.   #--------------------------------------------------------------------------
  4.   def pay_skill_cost(skill)
  5.     if(skill.id==15)
  6.        self.mp -= skill_mp_cost(skill)
  7.     else
  8.        self.mp += skill_mp_cost(skill)
  9.     end
  10.     self.tp -= skill_tp_cost(skill)
  11.   end

同理,在skill_cost_payable?中,加一个判断,看是否需要进行“mp”最小值的限定(也就是SP必须够才能放减少SP的技能)
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 判定是否足够扣除技能的使用消耗
  3.   #--------------------------------------------------------------------------
  4.   def skill_cost_payable?(skill)
  5.     tp >= skill_tp_cost(skill) && if(skill.id==15) mp >= skill_mp_cost(skill)
  6.   end

这里用的15号技能举例。如果有很多,可以设置一个数组,保存着技能的编号,然后判断所使用的技能是否在数组内。

(PS:连帖会被扣分…

评分

参与人数 1星屑 +220 收起 理由
熊喵酱 + 220 非常細心的回答

查看全部评分

Brandnew day, Brandnew Life
                              实在  中
暂为素材区版主,版其  琢磨
应援一下~
RPG制作大师授权素材推广计划
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
74 小时
注册时间
2012-8-9
帖子
35
16
 楼主| 发表于 2013-9-10 21:51:48 | 只看该作者
moy 发表于 2013-9-10 00:50
什么,万智牌
好吧,如果你是指标示物一类的东西,那么确实要稍微考虑下。

拜谢。。。我回去试下
(PS:扣就扣吧。。。大不了我再写两首BGM传上来。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-17 20:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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