Project1

标题: 【急】请教一个显示战斗力的脚本 [打印本页]

作者: jqkice1    时间: 2013-4-2 14:02
标题: 【急】请教一个显示战斗力的脚本
本帖最后由 jqkice1 于 2013-4-2 14:09 编辑

     本人小白一个,刚接触RGSS,想写一个脚本,在状态界面右下角显示角色的战斗力,这里的战斗力我想设置为:显示“战斗力”,“战斗力”后面显示(weapon_id + armor1_id + armor2_id + armor3_id + armor4_id)*10,例:在数据库中将剑的id设置为4 ,帽子的id为2,布衣的id为3,草鞋的id为1………………,数据库物品排列为由弱到强,这样当我出生时的物品装备为(4+2+3+1)*10=100,战斗力就为100,如果我装备高级的武器——列:创世之剑数据库id为52,则我的战斗力为(52+2+3+1)*10=580,或者是建立一个数组比如让剑、帽子、布衣、草鞋的值都为1,不知道各位大神明白我的意思了么?   我该怎么设置?脚本怎么改?求指点,谢谢。
   我在Window_Status下
36   draw_actor_parameter(@actor, 96, 400, 6)
37   self.contents.font.color = system_color
38   self.contents.draw_text(320, 48, 80, 32, "EXP")
39   self.contents.draw_text(320, 80, 80, 32, "NEXT")
40   self.contents.font.color = normal_color
41   self.contents.draw_text(320 + 80, 48, 84, 32, @actor.exp_s, 2)
42   self.contents.draw_text(320 + 80, 80, 84, 32, @actor.next_rest_exp_s, 2)
43   self.contents.font.color = system_color
44   self.contents.draw_text(320, 160, 96, 32, "装备")
45   self.contents.draw_text(320, 400, 96, 32, "战斗力")
46   self.contents.draw_text(345, 400, 96, 32,newid = $data_weapons.weapon_id+……………………)   这一行是错的,我不懂脚本,应该怎么写?????????????
47   draw_item_name($data_weapons[@actor.weapon_id], 320 + 16, 208)
48   draw_item_name($data_armors[@actor.armor1_id], 320 + 16, 256)
49   draw_item_name($data_armors[@actor.armor2_id], 320 + 16, 304)
50   draw_item_name($data_armors[@actor.armor3_id], 320 + 16, 352)
51   draw_item_name($data_armors[@actor.armor4_id], 320 + 16, 400)
52  end
作者: joe5491    时间: 2013-4-2 16:59
代码复制
  1. self.contents.draw_text(345, 400, 96, 32, ((@actor.weapon_id + @actor.armor1 + @actor.armor2 + @actor.armor3 + @actor.armor4)*10).to_s)

作者: 芯☆淡茹水    时间: 2013-4-2 23:39
在 Window_Base 中增加定义(为了调用方便)
  1. def draw_actor_ce(actor, x, y)
  2.   text = actor.weapon_id + actor.armor1_id + actor.armor2_id +
  3.          actor.armor3_id + actor.armor4_id
  4.   text *= 10
  5.   text = text.to_s
  6.   self.contents.font.color = system_color
  7.   self.contents.draw_text(x, y, 120, 32, "战斗力:")
  8.   self.contents.font.color = normal_color
  9.   self.contents.draw_text(x + 120, y, 240, 32, text)
  10.   end
复制代码
然后在需要描绘战斗力的地方直接写上:  draw_actor_ce(actor, x, y)

作者: jqkice1    时间: 2013-4-3 08:58
joe5491 发表于 2013-4-2 16:59
self.contents.draw_text(345, 400, 96, 32, ((@actor.weapon_id + @actor.armor1 + @actor.armor2 + @a ...

复制到46行后提示 不能找到 method    'armor1' for#<Game_Actor:0X16f1608>
作者: jqkice1    时间: 2013-4-3 09:02
芯☆淡茹水 发表于 2013-4-2 23:39
在 Window_Base 中增加定义(为了调用方便)然后在需要描绘战斗力的地方直接写上:  draw_actor_ce(actor,  ...

已成功,非常感谢几位的帮助。
   还有一个问题想请教?能不能用其他方法,比如让 剑 草鞋 布衣 帽子的值都等于1呢,
作者: joe5491    时间: 2013-4-3 19:03
jqkice1 发表于 2013-4-3 08:58
复制到46行后提示 不能找到 method    'armor1' for#

self.contents.draw_text(345, 400, 96, 32, ((@actor.weapon_id + @actor.armor1_id + @actor.armor2_id + @actor.armor3_id + @actor.armor4_id)*10).to_s)
我突然發現少打的幾個字= =|||
作者: 芯☆淡茹水    时间: 2013-4-3 23:33
本帖最后由 芯☆淡茹水 于 2013-4-3 23:51 编辑

传送门 +广告

http://rpg.blue/thread-303654-1-1.html
作者: asd1321259972    时间: 2013-4-3 23:49
哦哦哦支持下
作者: 芯☆淡茹水    时间: 2013-4-4 20:07
joe5491 发表于 2013-4-2 16:59
self.contents.draw_text(345, 400, 96, 32, ((@actor.weapon_id + @actor.armor1 + @actor.armor2 + @a ...

   LZ提到战斗力,鄙人帮忙解决问题,怕以后还有类似问题,所以挂到技术区,方便以后只一个传送门就行了。
说本人盗用LZ创意,请问本人得到了什么好处么?可以去看看本人发的一些脚本和工程,全部都不需要经念
阿什么的。
  退一万步来说,“战斗力”这个词,貌似很多游戏都有吧!




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