Project1

标题: 使用了宠物系统出现了BUG [打印本页]

作者: 花天酒地    时间: 2017-6-16 15:28
标题: 使用了宠物系统出现了BUG
使用了宠物系统出现两个问题,求教大神帮我整理下,
第一个是使用了金牌抓捕卡抓捕宠物没有成功,它的说明是百分百的成功,我测试2次都没成功。
第二个是脚本出现问题,大大请看图片

1.png (11.65 KB, 下载次数: 7)

1.png

2.png (127.85 KB, 下载次数: 12)

2.png

宠物系统.rar

556.08 KB, 下载次数: 92


作者: sirenke    时间: 2017-6-16 22:07
actor_x就是文字的X坐标,actor_x = 1 * 160 + 4或者自己改,捕捉率的确不是百分百,还是要看敌人血量减少量,
CATCH_PET_ITEMS = {34=>60, 35=>80, 36=>20000}设置成20000,敌人减百分之1血也能百分百捕捉
作者: 花天酒地    时间: 2017-6-17 15:52
sirenke 发表于 2017-6-16 22:07
actor_x就是文字的X坐标,actor_x = 1 * 160 + 4或者自己改,捕捉率的确不是百分百,还是要看敌人血量减少 ...

#物品—>捕捉卡 ID 以及其增加的捕捉成功率。(百分比)
CATCH_PET_ITEMS = {34=>60, 35=>80, 36=>20000}
这里使用了20000还是抓捕不是百分百成功的,宠物是根据它的血量多少来使用道具增加抓捕成功率的
作者: 花天酒地    时间: 2017-6-17 15:55
sirenke 发表于 2017-6-16 22:07
actor_x就是文字的X坐标,actor_x = 1 * 160 + 4或者自己改,捕捉率的确不是百分百,还是要看敌人血量减少 ...

def refresh
    self.contents.clear
    actor = $game_party.actors[0]
    return if actor == nil
    draw_actor_graphic(actor, 20, 40)
    draw_actor_name(actor, 0, 0)
    draw_actor_hp(actor, 80, 32, 120)
    draw_actor_sp(actor, 80, 64, 120)
    if @level_up_flags[0]
      self.contents.font.color = normal_color
      self.contents.draw_text(actor_x, 240, 120, 32, "LEVEL UP!")
    else
      draw_actor_state(actor, 80, 96)
    end
  end



你帮我加下好吗,对脚本不熟悉
作者: sirenke    时间: 2017-6-17 16:21
我也只会点F1帮助里面的,总之在def与if之间加入actor_x=1*160+4这行就行了
捕捉率公式
    i = CATCH_PET_ITEMS[item.id]                      #获取设置的数值
    h = (self.maxhp - self.hp) * 100.0 / self.maxhp #获取受到伤害百分比,所以满血不能捕捉
    n = Integer(i * h / 200.0)                              #然后相乘除以200
    if rand (100) < n                                           #n>随机数0..99就Get!
      self.damage = "Get!"
      $game_party.add_pet(self.id)
    else
      self.damage = "Miss!"
    end
作者: 花天酒地    时间: 2017-6-18 10:15
花天酒地 发表于 2017-6-17 15:52
#物品—>捕捉卡 ID 以及其增加的捕捉成功率。(百分比)
CATCH_PET_ITEMS = {34=>60, 35=>80, 36=>20000} ...

我在def和if之间加入了actor_x=1*160+4
结果可以了,但是又出现个小问题,就是战斗完以后整个画面有点小小的跳动,一直持续
作者: 花天酒地    时间: 2017-6-18 10:20
sirenke 发表于 2017-6-17 16:21
我也只会点F1帮助里面的,总之在def与if之间加入actor_x=1*160+4这行就行了
捕捉率公式
    i = CATCH_PET_ ...

恩 谢谢了 。最后个问题就是这个代码放在哪个地方




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