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

Project1

 找回密码
 注册会员
搜索
123
返回列表 发新帖
楼主: 无心孤云
打印 上一主题 下一主题

请教个战棋系统范围闪烁总是失败的问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
65
在线时间
400 小时
注册时间
2005-10-24
帖子
634
21
发表于 2009-4-28 00:38:52 | 只看该作者
那发一下data应该可以

ps:不用前辈前辈的
回复 支持 反对

使用道具 举报

Lv1.梦旅人

垃圾死人

梦石
0
星屑
50
在线时间
285 小时
注册时间
2009-1-27
帖子
2420

贵宾

22
 楼主| 发表于 2009-4-28 00:57:12 | 只看该作者
我整理了下。把没用到的都先删掉了。现在还有2M多点。在论坛传到头都大了还没传完
叶子前辈有QQ么?QQ上传给你?

PS:达者为师,指导我的都是前辈,这是宗旨哦!


努力努力再努力
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
400 小时
注册时间
2005-10-24
帖子
634
23
发表于 2009-4-28 01:11:42 | 只看该作者
Scene_SLG(主流程) 第42行
  1.     # 生成地图状态窗口
  2. #   @slg_status_window = Window_SLG_Status.new
复制代码

注释掉以后,@slg_status_window就没有被初始化了,后面当然出错了..估计是因为这行出错才注释掉吧
原因应该是脚本没有复制全,这里是 柳柳-Window_SLG_Status 和 ショウ-显示血条,还有没其它就不清楚了
阿尔西斯战记工程中,所有带个◎脚本都是经过少量修改的,这些脚本可以复制整个或只移植修改的地方。所有名字跟原装脚本不一样的脚本都是新的,这些都要复制过去
回复 支持 反对

使用道具 举报

Lv1.梦旅人

垃圾死人

梦石
0
星屑
50
在线时间
285 小时
注册时间
2009-1-27
帖子
2420

贵宾

24
 楼主| 发表于 2009-4-28 01:21:32 | 只看该作者
啊!对
之前因为一直不行所以我用了排除法一个一个的弄
到后面一直失败就忘记弄上去了
现在我都全补充上去了
然后刚进去弄的时候发现有显示闪烁了。。。
同时晕人的是还没完全成功,,,
就是有范围但是却没有可选择移动到哪的那个方格圈。。。
然后出现新的错误
和之前使用的脚本有冲突。。。也就是其中哪个|-Bitmap(描绘渐变色)
出现问题:|-Bitmap(描绘渐变色)的13行发生了systemstackerror stack level roo deep
我试图删除此脚本,但是删除后依然是失败的。。。
努力努力再努力
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
400 小时
注册时间
2005-10-24
帖子
634
25
发表于 2009-4-28 01:22:26 | 只看该作者
还有在还没进入战斗的时候,在那可以看状态之类的,本来看状态看物品等是不改变背景的,现在整合了战旗系统后看状态什么的背景都是黑色了

这个的话,要加背景一般是加个Spriteset_Map之类的,但是在Scene_Menu中看不到这个东西,所以也不清楚了..理论上战棋的脚本没有碰Scene_Menu这些地方
回复 支持 反对

使用道具 举报

Lv1.梦旅人

垃圾死人

梦石
0
星屑
50
在线时间
285 小时
注册时间
2009-1-27
帖子
2420

贵宾

26
 楼主| 发表于 2009-4-28 01:24:56 | 只看该作者
这个背景问题先不管了。。。现在我重新上传了补充好哪些脚本的。。。
出现了这个新问题
再此麻烦前辈下
更改仲。。。
努力努力再努力
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
400 小时
注册时间
2005-10-24
帖子
634
27
发表于 2009-4-28 01:37:05 | 只看该作者
以下引用xcyog于2009-4-27 17:21:32的发言:

啊!对
之前因为一直不行所以我用了排除法一个一个的弄
到后面一直失败就忘记弄上去了
现在我都全补充上去了
然后刚进去弄的时候发现有显示闪烁了。。。
同时晕人的是还没完全成功,,,
就是有范围但是却没有可选择移动到哪的那个方格圈。。。
然后出现新的错误
和之前使用的脚本有冲突。。。也就是其中哪个|-Bitmap(描绘渐变色)
出现问题:|-Bitmap(描绘渐变色)的13行发生了systemstackerror stack level roo deep
我试图删除此脚本,但是删除后依然是失败的。。。

原因是ショウ的东西太好用了,导致KKME整合系统和战棋系统中都有用他的脚本,两次重复alias造成此错误
把 ショウ-显示血条 中下面这些内容去掉即可,其他不用动
  1.   #--------------------------------------------------------------------------
  2.   # ● HP ゲージの描画
  3.   #--------------------------------------------------------------------------
  4.   # オリジナルのHP描画を draw_actor_hp_original と名前変更
  5.   alias :draw_actor_hp_original :draw_actor_hp
  6.   def draw_actor_hp(actor, x, y, width = 144)
  7.     # 変数rateに 現在のHP/MHPを代入
  8.     if actor.maxhp != 0
  9.       rate = actor.hp.to_f / actor.maxhp
  10.     else
  11.       rate = 0
  12.     end
  13.     # plus_x:X座標の位置補正 rate_x:X座標の位置補正(%) plus_y:Y座標の位置補正
  14.     # plus_width:幅の補正 rate_width:幅の補正(%) height:縦幅
  15.     # align1:描画タイプ1 0:左詰め 1:中央揃え 2:右詰め
  16.     # align2:描画タイプ2 0:上詰め 1:中央揃え 2:下詰め
  17.     # align3:ゲージタイプ 0:左詰め 1:右詰め
  18.     plus_x = 0
  19.     rate_x = 0
  20.     plus_y = 25
  21.     plus_width = 0
  22.     rate_width = 100
  23.     height = 10
  24.     align1 = 1
  25.     align2 = 2
  26.     align3 = 0
  27.     # グラデーション設定 grade1:空ゲージ grade2:実ゲージ
  28.     # (0:横にグラデーション 1:縦にグラデーション 2:斜めにグラデーション(激重))
  29.     grade1 = 1
  30.     grade2 = 0
  31.     # 色設定。color1:外枠,color2:中枠
  32.     # color3:空ゲージダークカラー,color4:空ゲージライトカラー
  33.     # color5:実ゲージダークカラー,color6:実ゲージライトカラー
  34.     color1 = Color.new(0, 0, 0, 192)
  35.     color2 = Color.new(255, 255, 192, 192)
  36.     color3 = Color.new(0, 0, 0, 192)
  37.     color4 = Color.new(64, 0, 0, 192)
  38.     color5 = Color.new(80 - 24 * rate, 80 * rate, 14 * rate, 192)
  39.     color6 = Color.new(240 - 72 * rate, 240 * rate, 62 * rate, 192)
  40.     # 変数spに描画するゲージの幅を代入
  41.     if actor.maxhp != 0
  42.       hp = (width + plus_width) * actor.hp * rate_width / 100 / actor.maxhp
  43.     else
  44.       hp = 0
  45.     end
  46.     # ゲージの描画
  47.     gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
  48.                 width, plus_width + width * rate_width / 100,
  49.                 height, hp, align1, align2, align3,
  50.                 color1, color2, color3, color4, color5, color6, grade1, grade2)
  51.     # オリジナルのHP描画処理を呼び出し
  52.     draw_actor_hp_original(actor, x, y, width)
  53.   end
  54.   #--------------------------------------------------------------------------
  55.   # ● SP ゲージの描画
  56.   #--------------------------------------------------------------------------
  57.   # オリジナルのSP描画を draw_actor_sp_original と名前変更
  58.   alias :draw_actor_sp_original :draw_actor_sp
  59.   def draw_actor_sp(actor, x, y, width = 144)
  60.     # 変数rateに 現在のSP/MSPを代入
  61.     if actor.maxsp != 0
  62.       rate = actor.sp.to_f / actor.maxsp
  63.     else
  64.       rate = 1
  65.     end
  66.     # plus_x:X座標の位置補正 rate_x:X座標の位置補正(%) plus_y:Y座標の位置補正
  67.     # plus_width:幅の補正 rate_width:幅の補正(%) height:縦幅
  68.     # align1:描画タイプ1 0:左詰め 1:中央揃え 2:右詰め
  69.     # align2:描画タイプ2 0:上詰め 1:中央揃え 2:下詰め
  70.     # align3:ゲージタイプ 0:左詰め 1:右詰め
  71.     plus_x = 0
  72.     rate_x = 0
  73.     plus_y = 25
  74.     plus_width = 0
  75.     rate_width = 100
  76.     height = 10
  77.     align1 = 1
  78.     align2 = 2
  79.     align3 = 0
  80.     # グラデーション設定 grade1:空ゲージ grade2:実ゲージ
  81.     # (0:横にグラデーション 1:縦にグラデーション 2:斜めにグラデーション(激重))
  82.     grade1 = 1
  83.     grade2 = 0
  84.     # 色設定。color1:外枠,color2:中枠
  85.     # color3:空ゲージダークカラー,color4:空ゲージライトカラー
  86.     # color5:実ゲージダークカラー,color6:実ゲージライトカラー
  87.     color1 = Color.new(0, 0, 0, 192)
  88.     color2 = Color.new(255, 255, 192, 192)
  89.     color3 = Color.new(0, 0, 0, 192)
  90.     color4 = Color.new(0, 64, 0, 192)
  91.     color5 = Color.new(14 * rate, 80 - 24 * rate, 80 * rate, 192)
  92.     color6 = Color.new(62 * rate, 240 - 72 * rate, 240 * rate, 192)
  93.     # 変数spに描画するゲージの幅を代入
  94.     if actor.maxsp != 0
  95.       sp = (width + plus_width) * actor.sp * rate_width / 100 / actor.maxsp
  96.     else
  97.       sp = (width + plus_width) * rate_width / 100
  98.     end
  99.     # ゲージの描画
  100.     gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
  101.                 width, plus_width + width * rate_width / 100,
  102.                 height, sp, align1, align2, align3,
  103.                 color1, color2, color3, color4, color5, color6, grade1, grade2)
  104.     # オリジナルのSP描画処理を呼び出し
  105.     draw_actor_sp_original(actor, x, y, width)
  106.   end
  107.   #--------------------------------------------------------------------------
  108.   # ● EXP ゲージの描画
  109.   #--------------------------------------------------------------------------
  110.   # オリジナルのEXP描画を draw_actor_sp_original と名前変更
  111.   alias :draw_actor_exp_original :draw_actor_exp
  112.   def draw_actor_exp(actor, x, y, width = 204)
  113.     # 変数rateに 現在のexp/nextexpを代入
  114.     if actor.next_exp != 0
  115.       rate = actor.now_exp.to_f / actor.next_exp
  116.     else
  117.       rate = 1
  118.     end
  119.     # plus_x:X座標の位置補正 rate_x:X座標の位置補正(%) plus_y:Y座標の位置補正
  120.     # plus_width:幅の補正 rate_width:幅の補正(%) height:縦幅
  121.     # align1:描画タイプ1 0:左詰め 1:中央揃え 2:右詰め
  122.     # align2:描画タイプ2 0:上詰め 1:中央揃え 2:下詰め
  123.     # align3:ゲージタイプ 0:左詰め 1:右詰め
  124.     plus_x = 0
  125.     rate_x = 0
  126.     plus_y = 25
  127.     plus_width = 0
  128.     rate_width = 100
  129.     height = 10
  130.     align1 = 1
  131.     align2 = 2
  132.     align3 = 0
  133.     # グラデーション設定 grade1:空ゲージ grade2:実ゲージ
  134.     # (0:横にグラデーション 1:縦にグラデーション 2:斜めにグラデーション(激重))
  135.     grade1 = 1
  136.     grade2 = 0
  137.     # 色設定。color1:外枠,color2:中枠
  138.     # color3:空ゲージダークカラー,color4:空ゲージライトカラー
  139.     # color5:実ゲージダークカラー,color6:実ゲージライトカラー
  140.     color1 = Color.new(0, 0, 0, 192)
  141.     color2 = Color.new(255, 255, 192, 192)
  142.     color3 = Color.new(0, 0, 0, 192)
  143.     color4 = Color.new(64, 0, 0, 192)
  144.     color5 = Color.new(80 * rate, 80 - 80 * rate ** 2, 80 - 80 * rate, 192)
  145.     color6 = Color.new(240 * rate, 240 - 240 * rate ** 2, 240 - 240 * rate, 192)
  146.     # 変数expに描画するゲージの幅を代入
  147.     if actor.next_exp != 0
  148.       exp = (width + plus_width) * actor.now_exp * rate_width /
  149.                                                           100 / actor.next_exp
  150.     else
  151.       exp = (width + plus_width) * rate_width / 100
  152.     end
  153.     # ゲージの描画
  154.     gauge_rect(x + plus_x + width * rate_x / 100, y + plus_y,
  155.                 width, plus_width + width * rate_width / 100,
  156.                 height, exp, align1, align2, align3,
  157.                 color1, color2, color3, color4, color5, color6, grade1, grade2)
  158.     # オリジナルのEXP描画処理を呼び出し
  159.     draw_actor_exp_original(actor, x, y)
  160.   end
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

垃圾死人

梦石
0
星屑
50
在线时间
285 小时
注册时间
2009-1-27
帖子
2420

贵宾

28
 楼主| 发表于 2009-4-28 01:48:22 | 只看该作者
终于又解决一个问题了
我把所有的东西都补全了。包括以前删除的脚本
然后现在移动也没问题了
但是又出现了俩个问题
一是进入战斗的时候会突然出现:(好像这个问题在敌人先行动的时候会出现)
脚本scene_slg(敌人AI)的196行发生nomethoderror undefined method setup_event for nil:nilclass

晕呀。。。。

http://rpg.blue/upload_program/d/xcyog_新问题_121282716.rar
努力努力再努力
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-27 08:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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