幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2734|回复: 15

[RM2K&2K3] 这个关于血条的和一些杂问题

[复制链接]

10

主题

52

帖子

574

积分

⑤进阶

积分
574
发表于 2007-12-2 01:32:31 | 显示全部楼层 |阅读模式
整理了一夜  敌人血条倒是明白了

可是我方血条怎样显示  竟务必放出所有代码  虽然我有些编程基础 但是都是C语言的  这个语言看起来有些麻烦   请务必帮忙谢谢

还有就是   改成横版后 战斗结束时的经验升级  窗口改怎样调高 以至于不被角色图片覆盖上

另外就是思路问题

我有一个任务

NPC交给主角任务后  出现分支  有物品完成 和  没有物品   其中在说任务前NPC会说一些无关的话,  怎样设定 使玩家第一次不同意后  再去接任务  NPC会直接说任务   让玩家再次选择


谢谢 各位
回不到过去,去不了未来.我无路可逃.......
回复

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2007-12-2 08:30:46 | 显示全部楼层
1.我是懒人。。。放出全部代码,等待勤快人吧。。。
PS:鄙人,不分对象的懒
2。找到window  的super  第二个参数调低他  也可能是 调用时候  有个 。y  搜索  改了那个就好了。。。你用的什么脚本阿。。。说清楚才能告诉你具体位置阿。。要不那知道具体改那个。。只能告诉你这个方法拉
3。完全是独立开关  就可以解决。。。你哪块不会做?还是这个都不会。。。????
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

10

主题

52

帖子

574

积分

⑤进阶

积分
574
 楼主| 发表于 2007-12-2 11:33:04 | 显示全部楼层
....呃 我相信世界还是勤快人多.....

我用的是改坐标修改任务位置的   CASE                 的那个
                                                                        WHEN

独立开关的那个  我看了半天也没明白  应该是那里  流程没啥关系  能给我个网址吗???
回不到过去,去不了未来.我无路可逃.......
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2007-12-2 16:29:25 | 显示全部楼层
2。跟case没有关系啊
3。那个要什么网址阿?
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

10

主题

52

帖子

574

积分

⑤进阶

积分
574
 楼主| 发表于 2007-12-2 16:42:52 | 显示全部楼层
def screen_y
    case self.index
      when 0
        return 280
      when 1
        return 218
      when 2
        return 280
      when 3
        return 325
      else
        return 1000

怎么能没关系呢???

关于独立开关的用法

拜托帮弄个血条的脚本  万分感谢
回不到过去,去不了未来.我无路可逃.......
回复 支持 反对

使用道具 举报

88

主题

4889

帖子

38万

积分

版主

年度最佳拖稿王

Rank: 7Rank: 7Rank: 7

积分
386227

声命组铜赏

QQ
发表于 2007-12-2 21:46:44 | 显示全部楼层
独立开关和任务的话 参考一下这个吧....

http://bbs.rpgchina.com/read.php?tid=31201
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2007-12-3 17:52:37 | 显示全部楼层
引用第4楼wolfwood于2007-12-02 16:42发表的  :
def screen_y
    case self.index
      when 0
        return 280
      when 1
.......

你发现是这了  就把几个数都弄低了不就可以了?
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

10

主题

52

帖子

574

积分

⑤进阶

积分
574
 楼主| 发表于 2007-12-5 21:41:06 | 显示全部楼层
###########################################################################
# 画我方HP条
# 设计by盗帅冬瓜,颜色渐变法by樱雅在土(没这个就很难画出渐变色)
###########################################################################
def draw_hp_barforactor(actor,x,y)
  width = 108
  black = Color.new(0,0,0,200)
  black2 = Color.new(0,0,0,100)
  #RP颜色计算法
  val = 255 * ((actor.hp*100)/actor.maxhp)
  green = 0 + val/100
  val2 = 255 * ((actor.hp*100)/actor.maxhp)
  red2 = 255 - val2/100
  green2 = 0 + val2/100
  startcolor = Color.new(red2,green2,0,150)
  endcolor = Color.new(255,green,0,150)
  w = width * actor.hp / actor.maxhp
  #黑色倒影
  draw_line(x+4, y+18, x+width+4, y+18, black, 7, black2)
  #画血条(横板渐变色,颜色变化法由樱雅在土提供)
  draw_line(x, y+14, x+w, y+14, startcolor, 7, endcolor)
  #写上HP两个大字,顺便表示HP的数值。
  self.contents.font.size = 20
  self.contents.font.color = system_color
  self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
  self.contents.font.color = actor.hp == 0 ? knockout_color :
    actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
  self.contents.draw_text(x, y, 68, 32, actor.hp.to_s, 2)
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 68, y, 12, 32, "/", 1)
    self.contents.draw_text(x + 80, y, 48, 32, actor.maxhp.to_s)
    self.contents.font.size = 22
  end
###########################################################################
# 画我方SP条
# 设计by盗帅冬瓜,颜色渐变法by樱雅在土(没这个就很难画出渐变色)
###########################################################################
def draw_sp_barforactor(actor,x,y)
  width = 108
  black = Color.new(0,0,0,200)
  black2 = Color.new(0,0,0,100)
  startcolor = Color.new(0,0,255,150)
  endcolor = Color.new(0,255,255,150)
  w = width * actor.sp / actor.maxsp
  #黑色倒影
  draw_line(x+4, y+18, x+width+4, y+18, black, 7, black2)
  #画气条(横板渐变色,颜色变化法由樱雅在土提供)
  draw_line(x, y+14, x+w, y+14, startcolor, 7, endcolor)
  #写上SP两个大字,顺便表示SP的数值。
  self.contents.font.size = 20
  self.contents.font.color = system_color
  self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
  self.contents.font.color = actor.sp == 0 ? knockout_color :
    actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
  self.contents.draw_text(x, y, 68, 32, actor.sp.to_s, 2)
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 68, y, 12, 32, "/", 1)
    self.contents.draw_text(x + 80, y, 48, 32, actor.maxsp.to_s)
    self.contents.font.size = 22
  end
#--------------------------------------------------------------------------
# ● ライン描画 by 桜雅 在土
#--------------------------------------------------------------------------
def draw_line(start_x, start_y, end_x, end_y, start_color, width = 1, end_color = start_color)
  # 描写距離の計算。大きめに直角時の長さ。
  distance = (start_x - end_x).abs + (start_y - end_y).abs
  # 描写開始
  if end_color == start_color
    for i in 1..distance
    x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
    y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
    if width == 1
      self.contents.set_pixel(x, y, start_color)
    else
      self.contents.fill_rect(x, y, width, width, start_color)
    end
    end
  else
    for i in 1..distance
    x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i
    y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i
    r = start_color.red * (distance-i)/distance + end_color.red * i/distance
    g = start_color.green * (distance-i)/distance + end_color.green * i/distance
    b = start_color.blue * (distance-i)/distance + end_color.blue * i/distance
    a = start_color.alpha * (distance-i)/distance + end_color.alpha * i/distance
    if width == 1
      self.contents.set_pixel(x, y, Color.new(r, g, b, a))
    else
      self.contents.fill_rect(x, y, width, width, Color.new(r, g, b, a))
    end
    end
  end
end
###########################################################################


这个脚本怎么用   我看了半天 新建类也不行  改WINDOW_HELP也不行  帮帮忙吧
回不到过去,去不了未来.我无路可逃.......
回复 支持 反对

使用道具 举报

550

主题

9117

帖子

214748万

积分

超级版主

如同神一般的存在,腿神!拖后腿的神~~

Rank: 8Rank: 8

积分
2147483647
发表于 2007-12-5 22:42:03 | 显示全部楼层
晕!那行么  !!!!!!!! [s:5]

既然你勤快的找出脚本来了。。。那我解释一下哈

做血条,魔条,CP条之类的各种条  都是把这个放到window_base里的

插到最后一个end前面

然后在别的window里调用。。。就是这样的

def draw_line(start_x, start_y, end_x, end_y, start_color, width = 1, end_color = start_color)
都不用看注释。。这个一眼就能够看出来是渐变色的条

参数对应上调用就可以了
我就是你们的神,庶民们,追随我吧!跟着我一起拖后腿!
回复 支持 反对

使用道具 举报

10

主题

52

帖子

574

积分

⑤进阶

积分
574
 楼主| 发表于 2007-12-5 22:46:57 | 显示全部楼层
敌人的不就用WINDOW_HP就能改么  但是听说我方的就不行  我看看你的方法
回不到过去,去不了未来.我无路可逃.......
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2025-6-21 07:14 , Processed in 0.012166 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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