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

Project1

 找回密码
 注册会员
搜索
查看: 1481|回复: 2
打印 上一主题 下一主题

[已经解决] 【伸手就砍掉】如何修改数据库框架?只需告知一个方法

[复制链接]

Lv1.梦旅人

梦石
0
星屑
239
在线时间
2399 小时
注册时间
2008-4-11
帖子
12326

贵宾第6届短篇游戏比赛季军

跳转到指定楼层
1
发表于 2013-7-9 02:57:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x

如图,我们一直使用的数据库界面,但是用了这么久数据库后台,总感觉有些功能不是很爽啦
很早前有幸看到II师兄正在做的那个VX的外挂数据库,他说做好的时候,VX将会比VA还有自由性,
真的很崇拜,所以想问问数据库如何做到修改?

我知道P叔不喜欢太过伸手的人啦,我这贴里面只问问如何修改数据库输入框的位数上限:
主要是那个道具出售价格拉,最多只能设定到99万,根本就不够用嘛,可是数据库都把你设定了上限,
不能超过输入位数的,怎么样才能突破输入上限呢?就和道具介绍那个框一样,输入的文字多了,就会
隐藏前面输入的内容,但是一直都是可以输入进去的,而不会发出那种“咚”的禁止声。


Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4684
在线时间
5240 小时
注册时间
2009-4-29
帖子
14318

贵宾

2
发表于 2013-7-9 09:13:52 | 只看该作者
我介绍两种方法,希望瞬叔能举一反三。
方法一:扩大倍数法。我们以maxmp举例,maxmp在数据库中范围是0-9999,此时我希望敌人的maxmp为35000,怎么修改?
首先提高最大MP的上限,Game_Battler类下找到def maxmp并这样改,这并不是修改数据库的输入上限,而是修改从数据库中获取数据后(此时数据可以扩大)的数据上限:
  1.   def maxmp
  2.     return [[base_maxmp + @maxmp_plus, 0].max, 999999].min
  3.   end
复制代码
然后最重要的在这里,Game_Enemy类下有def base_maxmp,这样改:
  1.   def base_maxmp
  2.     if enemy.maxmp <= 9000
  3.       return enemy.maxmp
  4.     else
  5.       return (enemy.maxmp - 9000) * 100
  6.     end
  7.   end
复制代码
瞬叔你这么聪明应该能看懂吧?如果敌人数据库中的最大MP小于等于9000时,返回数据库中的数据,否则(大于9000时),返回数据库数据减去9000后的100倍。此时我希望敌人的maxmp为35000,那么数据库中就写9350,因为(9350-9000)*100 = 35000。如果我希望敌人的maxmp为9500,请问瞬叔应该怎么写?答案请看白字:9095。(9095-9000)*100 = 9500

方法二:沉影不器的备注栏读取法,直接在备注栏中写maxmp要等于的数值,然后在maxmp的定义处利用沉影不器的脚本来读取备注。要修改的地方和上面是一样的,但要记得插入读取备注脚本。

点评

让mp的数值变成浮点数是不是可以解决都是一百的倍数的问题呢?  发表于 2013-7-9 10:09

评分

参与人数 1梦石 +1 收起 理由
Luciffer + 1 认可答案

查看全部评分

《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 09:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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