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

Project1

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

[已经过期] 数据库中同一个可升级的“武器”,如何等级不同?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
129 小时
注册时间
2009-3-29
帖子
432
跳转到指定楼层
1
发表于 2012-2-14 13:33:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 失去的记忆 于 2012-3-21 14:55 编辑

举个例子:
数据库中编号为 1 的武器,名字是“武器1”,他可以升级,升级方式是,每使用这把武器攻击敌人一次,就增加经验值1点,
当达到100点的时候,这把武器就升级为编号 2 的“武器2
”,这个时候还是没问题的,我可以实现,不过问题来了:
如果角色拥有2把“武器1”,装备了 1 把,剩下的一把在物品里面,当获得经验值的时候,2把武器都可以获得经验值。。。
也就是说——无法将这2把武器分开,因为id是同一个。。,所以想请问,有没有什么好的方法,实现这种方式??




做一个游戏也用这么长时间........
PS:说我自己呢

Lv3.寻梦者

昨日的黄昏

梦石
0
星屑
1005
在线时间
937 小时
注册时间
2006-11-5
帖子
4128

第2届短篇游戏比赛季军第3届短篇游戏大赛小游戏及其他组季军

2
发表于 2012-2-14 16:49:55 | 只看该作者
本帖最后由 七夕小雨 于 2012-2-14 16:50 编辑

给武器对象里面加一个exp的属性不就好了嘛?……

点评

这方法相对有点小高端了……  发表于 2012-2-14 16:51
[url=http://weibo.com/2238291690?s=6uyXnP]
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

3
发表于 2012-2-14 16:52:39 | 只看该作者
简单点还是通过剧情设定让同样的武器整个游戏过程中只能获得一把吧,这样的话对于你的设定就相对容易控制一些了。

点评

当然可以,但是就需要你下面所说的高端方法了。  发表于 2012-2-15 10:59
额。。如果是这样的话,我就不会来这边问各位了啊,我就想知道啊,不过能不能在获得一把武器的时候,自动的给它追加一个虚拟的ID呢?  发表于 2012-2-15 09:52
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
129 小时
注册时间
2009-3-29
帖子
432
4
 楼主| 发表于 2012-2-15 09:50:47 | 只看该作者
七夕小雨 发表于 2012-2-14 16:49
给武器对象里面加一个exp的属性不就好了嘛?……

别啊,什么高端.. 我知道啊,就是exp,我明白的啊,你仔细想想呗,这个exp是针对同一个id的武器的,不能针对一个武器的多个数量。。啊

点评

对象?? 怎么讲?? 说的具体点呗,每个武器的对象?,同一个武器还能有多个对象??  发表于 2012-2-15 11:12
都说了是给每个武器对象的了,和同一个id的武器没有关系了。  发表于 2012-2-15 11:00
做一个游戏也用这么长时间........
PS:说我自己呢
回复

使用道具 举报

Lv3.寻梦者

昨日的黄昏

梦石
0
星屑
1005
在线时间
937 小时
注册时间
2006-11-5
帖子
4128

第2届短篇游戏比赛季军第3届短篇游戏大赛小游戏及其他组季军

5
发表于 2012-2-15 14:48:33 | 只看该作者
本帖最后由 七夕小雨 于 2012-2-15 14:50 编辑

对象的具体概念可以参考面向对象编程-。-

大概意思就是,我和你都是人,但是我们所有的属性都不相同
两把剑也是,虽然是同样的武器,但是实际是两个对象这样,在你新购买一把剑的时候,其实给内存增加了一个剑的对象,而不是单纯的引用数据库,A剑的磨损 和B剑磨损不一样,当然也可以是你说的经验-。-

可以通过F1找到下面的东西咩-。-
  1. module RPG
  2.   class Weapon
  3.     def initialize
  4.       @id = 0
  5.       @name = ""
  6.       @icon_name = ""
  7.       @description = ""
  8.       @animation1_id = 0
  9.       @animation2_id = 0
  10.       @price = 0
  11.       @atk = 0
  12.       @pdef = 0
  13.       @mdef = 0
  14.       @str_plus = 0
  15.       @dex_plus = 0
  16.       @agi_plus = 0
  17.       @int_plus = 0
  18.       @element_set = []
  19.       @plus_state_set = []
  20.       @minus_state_set = []
  21.       @exp = 0 #我是新加的
  22.     end
  23.     attr_accessor :id
  24.     attr_accessor :name
  25.     attr_accessor :icon_name
  26.     attr_accessor :description
  27.     attr_accessor :animation1_id
  28.     attr_accessor :animation2_id
  29.     attr_accessor :price
  30.     attr_accessor :atk
  31.     attr_accessor :pdef
  32.     attr_accessor :mdef
  33.     attr_accessor :str_plus
  34.     attr_accessor :dex_plus
  35.     attr_accessor :agi_plus
  36.     attr_accessor :int_plus
  37.     attr_accessor :element_set
  38.     attr_accessor :plus_state_set
  39.     attr_accessor :minus_state_set
  40.     attr_accessor :exp #我也是新加的
  41.   end
  42. end
复制代码
$data_weapons[@actor.weapon_id] 就可以获得角色装备的武器对象-。-

$data_weapons[@actor.weapon_id].exp就是你装备了武器角色的武器经验属性-。-

@actor= $game_party.actors[角色id]  @actor的来路-。-

写的比较乱而且部没有实践,不知道你懂了没有

$data_weapons[@actor.weapon_id].exp += 1      = =加1点经验……不知道可以不……

点评

测试完毕,如果这样改的话,2把武器的exp都会加1。。你仔细想想吧,武器的weapon_id相同,你获得对象都是一样的。。。  发表于 2012-2-19 13:56
[url=http://weibo.com/2238291690?s=6uyXnP]
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
129 小时
注册时间
2009-3-29
帖子
432
6
 楼主| 发表于 2012-3-21 14:54:56 | 只看该作者
晕死。。没人来回答??!!
PS:问题还没解决呢,咋就关闭了呢?!
做一个游戏也用这么长时间........
PS:说我自己呢
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-1 13:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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