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

Project1

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

[原创发布] 菜鸟版绿色装备耐久系统

[复制链接]

Lv5.捕梦者

梦石
0
星屑
39021
在线时间
5719 小时
注册时间
2006-11-10
帖子
6619
跳转到指定楼层
1
发表于 2018-4-5 02:52:05 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 灯笼菜刀王 于 2018-4-7 16:30 编辑

之所以叫"绿色"是因为我没用到热门地盘description... 这年头XP数据库地皮紧张, 能不用它就不用了XD

支持 持有复数同类型装备,支持装备丢包裹也能保存耐久,支持每个人的装备都独立耐久

设置:价格的前两位是 耐久度, 价格的后4位是价格 千万数着来别设置错,   你说这样装备贬值了?  为了不通货膨胀, 市面流通的货币还是能少则少吧

耐久设置为99 就是无限耐久

然后做N件同名字的装备,N为允许所持同类型装备的数量, 注意所持有是包括全员装备上的也算

超过的话,再次获得会直接消失 ,商店超过数量就不让你买了

冲突 ,不太清楚 应该或许可能也许说不定大概maybe 可以和那些用到description的一起用{:4_86:}



  不好意思,之前的有BUG, 粗心造成的, 已经更新脚本和范例(2018,4,6), 经几次测试确认没问题了......

RUBY 代码复制
  1. # 菜鸟版耐久度系统  by 灯笼菜刀酱
  2. #
  3. # 设置:价格的前两位是 耐久度, 价格的后4位是价格 千万数着来别设置错 =v= ....
  4. #  耐久设置为99 就是无限耐久
  5. #
  6. # 然后做N件同名字的装备,N为允许所持同类型装备的数量,超过的话,再次获得会
  7. # 直接消失@_@,商店超过数量就不让你买了
  8. #
  9. # 获取武器的方法: $game_party.入手("铁剑") 记得双引号别丢
  10. # 获取防具的方法: $game_party.入手("帽子",1)
  11. # 丢弃武器的方法: $game_party.丢弃("铁剑")
  12. # 丢弃防具的方法: $game_party.丢弃("帽子",1)
  13. # 持有XX武器数量: $game_party.持有("铁剑")
  14. # 持有XX防具数量: $game_party.持有("帽子",1)
  15. # 全身修理: $game_party.actors[队伍位数].全修
  16. #============================================
  17. module XOXO
  18.   WEAPON_MAX = 10 #允许同类型武器所持最大数(根据你做的武器数量设置,用于商店可买的上限)
  19.   ARMOR_MAX = 10 #允许同类型装备所持最大数(根据你做的防具数量设置,用于商店可买的上限)
  20.   NORMAL_ATTACK = 1 #普通攻击消耗武器耐久
  21.   SKILL_ATTACK = 2 #技能攻击消耗武器耐久
  22.   NORMAL_DAMAGE = 1 #普通挨打消耗防具耐久
  23.   SKILL_DAMAGE = 1  #技能挨打消耗防具耐久
  24. end
  25. #============================================
  26. module RPG
  27. class Weapon
  28.   def durable
  29.    return @price % 100
  30.   end
  31.   def price
  32.    return @price / 100
  33.   end
  34. end
  35. class Armor
  36.   def durable
  37.    return @price % 100
  38.   end
  39.   def price
  40.    return @price / 100
  41.   end
  42. end
  43. end
  44. class Game_Actor < Game_Battler
  45.   attr_accessor :durable
  46.   alias xoxo_setup setup
  47.   def setup(actor_id)
  48.     xoxo_setup(actor_id)
  49.     actor = $data_actors[actor_id]
  50.     @durable = []
  51.     a = actor.weapon_id == 0 ? 0 : $data_weapons[actor.weapon_id].durable
  52.     @durable.push(a)
  53.     a = actor.armor1_id == 0 ? 0 : $data_armors[actor.armor1_id].durable
  54.     @durable.push(a)
  55.     a = actor.armor2_id == 0 ? 0 : $data_armors[actor.armor2_id].durable
  56.     @durable.push(a)
  57.     a = actor.armor3_id == 0 ? 0 : $data_armors[actor.armor3_id].durable
  58.     @durable.push(a)
  59.     a = actor.armor4_id == 0 ? 0 : $data_armors[actor.armor4_id].durable
  60.     @durable.push(a)
  61.   end
  62.   def armorid
  63.     a = []
  64.     a.push(@armor1_id)
  65.     a.push(@armor2_id)
  66.     a.push(@armor3_id)
  67.     a.push(@armor4_id)
  68.     return a
  69.   end
  70.   def equip(t, id)
  71.     case t
  72.     when 0  
  73.       if id == 0 or $game_party.weapon_number(id) > 0
  74.        $game_party.gain_weapon(@weapon_id,@durable[0])
  75.        @weapon_id = id
  76.        @durable[0] = $game_party.weapon_number(id)
  77.        $game_party.lose_weapon(id,@durable[0])
  78.       end
  79.     else
  80.       f = self.armorid
  81.       if id == 0 or $game_party.armor_number(id) > 0
  82.         update_auto_state($data_armors[f[t-1]], $data_armors[id])
  83.         $game_party.gain_armor(f[t-1], @durable[t])
  84.         f[t-1] = id
  85.         @durable[t] = $game_party.armor_number(id)
  86.         $game_party.lose_armor(id, @durable[t])
  87.       end
  88.       @armor1_id = f[0]
  89.       @armor2_id = f[1]
  90.       @armor3_id = f[2]
  91.       @armor4_id = f[3]
  92.     end
  93.   end
  94.   def 损坏
  95.     f = self.armorid
  96.     if @durable[0] <= 0
  97.      @weapon_id = 0
  98.      @durable[0] = 0
  99.     end
  100.     for i in 1..4
  101.       if @durable[i] <= 0
  102.         f[i-1] = 0
  103.         @durable[i] = 0
  104.       end
  105.     end
  106.     @armor1_id = f[0]
  107.     @armor2_id = f[1]
  108.     @armor3_id = f[2]
  109.     @armor4_id = f[3]
  110.   end
  111.   def 全修
  112.     @durable[0] = $data_weapons[@weapon_id].durable if @weapon_id != 0
  113.     for i in 1..4
  114.       @durable[i] = $data_weapons[self.armorid[i-1]].durable if self.armorid[i-1] != 0
  115.     end
  116.   end
  117. end
  118.  
  119. class Game_Party
  120.   def 入手(name,t=0)
  121.     f = []
  122.     q = []
  123.     case t
  124.     when 1  
  125.       for j in 1...$data_actors.size
  126.         for k in 0..3
  127.          q.push($game_actors[j].armorid[k])
  128.         end
  129.       end
  130.       for i in 1...$data_armors.size
  131.       if $data_armors[i].name == name
  132.         if $game_party.armor_number(i) > 0
  133.           next
  134.         elsif q.include?(i)
  135.           next
  136.         else
  137.           f.push(i)
  138.         end
  139.       end
  140.       end
  141.       a = f[rand(f.size - 1)]
  142.       if a != nil and a != 0
  143.        $game_party.gain_armor(a,$data_armors[a].durable)
  144.       else
  145.        $game_system.se_play($data_system.buzzer_se)
  146.       end
  147.     else
  148.       for j in 1...$data_actors.size
  149.         q.push($game_actors[j].weapon_id)
  150.       end
  151.       for i in 1...$data_weapons.size
  152.       if $data_weapons[i].name == name
  153.         if $game_party.weapon_number(i) > 0
  154.           next
  155.         elsif q.include?(i)
  156.           next
  157.         else
  158.           f.push(i)
  159.         end
  160.       end
  161.       end
  162.       a = f[rand(f.size - 1)]
  163.       if a != nil and a != 0
  164.       $game_party.gain_weapon(a,$data_weapons[a].durable)
  165.       else
  166.       $game_system.se_play($data_system.buzzer_se)
  167.       end
  168.     end
  169.   end
  170.   def 丢弃(name,t=0)
  171.     case t
  172.     when 0
  173.       for i in @weapons.keys
  174.         if $data_weapons[i].name == name
  175.           $game_party.lose_weapon(i, $game_party.weapon_number(i))
  176.           break
  177.         end
  178.       end
  179.     else
  180.       for i in @armors.keys
  181.         if $data_armors[i].name == name
  182.           $game_party.lose_armor(i, $game_party.armor_number(i))
  183.           break
  184.         end
  185.       end
  186.     end
  187.   end
  188.   def 持有(name,t=0)
  189.     a = 0
  190.     case t
  191.     when 0
  192.     for i in @weapons.keys
  193.       if $game_party.weapon_number(i) > 0 and $data_weapons[i].name == name
  194.        a += 1
  195.       end
  196.     end
  197.     for j in 1...$data_actors.size
  198.      if $game_actors[j].weapon_id !=0 and $data_weapons[$game_actors[j].weapon_id] != 0
  199.        a += 1 if $data_weapons[$game_actors[j].weapon_id].name == name
  200.      end
  201.     end
  202.    else
  203.     for i in @armors.keys
  204.       if $game_party.armor_number(i)>0 and $data_armors[i].name == name
  205.         a += 1
  206.       end
  207.     end
  208.     for j in 1...$data_actors.size
  209.       for k in 0..3
  210.         if $game_actors[j].armorid[k] != 0 and $data_armors[$game_actors[j].armorid[k]] != 0
  211.          a += 1 if $data_armors[$game_actors[j].armorid[k]].name == name
  212.         end
  213.       end
  214.     end
  215.    end
  216.    return a
  217. end
  218. end
  219.  
  220. class Window_EquipRight < Window_Selectable
  221.   def refresh
  222.     self.contents.clear
  223.     @data = []
  224.     @data.push($data_weapons[@actor.weapon_id])
  225.     @data.push($data_armors[@actor.armor1_id])
  226.     @data.push($data_armors[@actor.armor2_id])
  227.     @data.push($data_armors[@actor.armor3_id])
  228.     @data.push($data_armors[@actor.armor4_id])
  229.     @item_max = @data.size
  230.     self.contents.font.color = system_color
  231.     self.contents.draw_text(4, 32 * 0, 92, 32, $data_system.words.weapon)
  232.     self.contents.draw_text(4, 32 * 1, 92, 32, $data_system.words.armor1)
  233.     self.contents.draw_text(4, 32 * 2, 92, 32, $data_system.words.armor2)
  234.     self.contents.draw_text(4, 32 * 3, 92, 32, $data_system.words.armor3)
  235.     self.contents.draw_text(5, 32 * 4, 92, 32, $data_system.words.armor4)
  236.     draw_item_name(@data[0], 92, 32 * 0)
  237.     draw_item_name(@data[1], 92, 32 * 1)
  238.     draw_item_name(@data[2], 92, 32 * 2)
  239.     draw_item_name(@data[3], 92, 32 * 3)
  240.     draw_item_name(@data[4], 92, 32 * 4)
  241.     for i in 0..3
  242.       if @actor.armorid[i] != 0
  243.         number = @actor.durable[i+1]
  244.         self.contents.draw_text(230,32 + 32*i, 48, 32,"耐久")
  245.         if $data_armors[@actor.armorid[i]].durable == 99
  246.           self.contents.draw_text(240,32 + 32*i,96,32,"--/--",2)
  247.         else
  248.          self.contents.draw_text(240,32 + 32*i, 96, 32,number.to_s + "/" + $data_armors[@actor.armorid[i]].durable.to_s, 2)
  249.         end
  250.       end
  251.     end
  252.    if @actor.weapon_id != 0
  253.     number = @actor.durable[0]
  254.     self.contents.draw_text(230,0, 48, 32,"耐久")
  255.     if $data_weapons[@actor.weapon_id].durable == 99
  256.      self.contents.draw_text(240,0,96,32,"--/--",2)
  257.     else
  258.      self.contents.draw_text(240, 0, 96, 32,number.to_s + "/" + $data_weapons[@actor.weapon_id].durable.to_s, 2)
  259.     end
  260.    end
  261.   end
  262. end
  263. class Window_EquipItem < Window_Selectable
  264.   def draw_item(index)
  265.     item = @data[index]
  266.     x = 4 + index % 2 * (288 + 32)
  267.     y = index / 2 * 32
  268.     case item
  269.     when RPG::Weapon
  270.       number = $game_party.weapon_number(item.id)
  271.       a = $data_weapons[item.id].durable
  272.     when RPG::Armor
  273.       number = $game_party.armor_number(item.id)
  274.       a = $data_armors[item.id].durable
  275.     end
  276.     bitmap = RPG::Cache.icon(item.icon_name)
  277.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
  278.     self.contents.font.color = normal_color
  279.     self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
  280.     self.contents.draw_text(x + 146, y, 48, 32, "耐久", 2)
  281.     if a == 99
  282.       self.contents.draw_text(x + 160, y, 96, 32, "--/--", 2)
  283.     else
  284.       self.contents.draw_text(x + 160, y, 96, 32, number.to_s + "/" + a.to_s, 2)
  285.     end
  286.   end
  287. end
  288. class Game_Battler
  289.   alias xoxo_attack_effect attack_effect
  290.   def attack_effect(attacker)
  291.     xoxo_attack_effect(attacker)
  292.     if attacker.is_a?(Game_Actor)
  293.       if self.damage != "MISS"
  294.          attacker.durable[0] -= XOXO::NORMAL_ATTACK if attacker.durable[0] != 99
  295.          attacker.损坏
  296.       end
  297.     end
  298.     if self.is_a?(Game_Actor)
  299.       if self.damage != "MISS"
  300.         for i in 1..4
  301.          self.durable[i] -= XOXO::NORMAL_DAMAGE if self.durable[i] != 99
  302.         end
  303.         self.损坏
  304.       end
  305.     end
  306.   end
  307.   alias xoxo_skill_effect skill_effect
  308.   def skill_effect(user, skill)
  309.     xoxo_skill_effect(user, skill)
  310.     if user.is_a?(Game_Actor)
  311.       if self.damage != "MISS"
  312.          user.durable[0] -= XOXO::SKILL_ATTACK if user.durable[0] != 99
  313.          user.损坏
  314.       end
  315.     end
  316.     if self.is_a?(Game_Actor)
  317.       if self.damage != "MISS"
  318.         for i in 1..4
  319.          self.durable[i] -= XOXO::SKILL_DAMAGE if self.durable[i] != 99
  320.         end
  321.         self.损坏
  322.       end
  323.     end
  324.   end
  325. end  
  326. class Window_ShopNumber < Window_Base
  327.   def set(item, max, price)
  328.     if item.is_a?(RPG::Item)
  329.     @no = true
  330.     else
  331.     @no = false
  332.     end
  333.     @item = item
  334.     @max = max
  335.     @price = price
  336.     @number = 1
  337.     refresh
  338.   end
  339.   def update
  340.     super
  341.     if self.active
  342.       if @no
  343.        if Input.repeat?(Input::RIGHT) and @number < @max
  344.         $game_system.se_play($data_system.cursor_se)
  345.         @number += 1
  346.         refresh
  347.        end
  348.        if Input.repeat?(Input::LEFT) and @number > 1
  349.         $game_system.se_play($data_system.cursor_se)
  350.         @number -= 1
  351.         refresh
  352.        end
  353.        if Input.repeat?(Input::UP) and @number < @max
  354.         $game_system.se_play($data_system.cursor_se)
  355.         @number = [@number + 10, @max].min
  356.         refresh
  357.        end
  358.        if Input.repeat?(Input::DOWN) and @number > 1
  359.         $game_system.se_play($data_system.cursor_se)
  360.         @number = [@number - 10, 1].max
  361.         refresh
  362.        end
  363.       else
  364.         if Input.dir4 != 0
  365.         $game_system.se_play($data_system.decision_se)
  366.         end
  367.       end
  368.     end
  369.   end
  370. end
  371. class Scene_Shop
  372.   def update_number
  373.     # 按下 B 键的情况下
  374.     if Input.trigger?(Input::B)
  375.       # 演奏取消 SE
  376.       $game_system.se_play($data_system.cancel_se)
  377.       # 设置个数输入窗口为不活动·非可视状态
  378.       @number_window.active = false
  379.       @number_window.visible = false
  380.       # 命令窗口光标位置分支
  381.       case @command_window.index
  382.       when 0  # 购买
  383.         # 窗口状态转向购买模式
  384.         @buy_window.active = true
  385.         @buy_window.visible = true
  386.       when 1  # 卖出
  387.         # 窗口状态转向卖出模式
  388.         @sell_window.active = true
  389.         @sell_window.visible = true
  390.         @status_window.visible = false
  391.       end
  392.       return
  393.     end
  394.     # 按下 C 键的情况下
  395.     if Input.trigger?(Input::C)
  396.       # 演奏商店 SE
  397.       $game_system.se_play($data_system.shop_se)
  398.       # 设置个数输入窗口为不活动·非可视状态
  399.       @number_window.active = false
  400.       @number_window.visible = false
  401.       # 命令窗口光标位置分支
  402.       case @command_window.index
  403.       when 0  # 购买
  404.         # 购买处理
  405.         $game_party.lose_gold(@number_window.number * @item.price)
  406.         case @item
  407.         when RPG::Item
  408.           $game_party.gain_item(@item.id, @number_window.number)
  409.         when RPG::Weapon
  410.           $game_party.入手(@item.name)
  411.         when RPG::Armor
  412.           $game_party.入手(@item.name,1)
  413.         end
  414.         # 刷新各窗口
  415.         @gold_window.refresh
  416.         @buy_window.refresh
  417.         @status_window.refresh
  418.         # 窗口状态转向购买模式
  419.         @buy_window.active = true
  420.         @buy_window.visible = true
  421.       when 1  # 卖出
  422.         # 卖出处理
  423.         $game_party.gain_gold(@number_window.number * (@item.price / 2))
  424.         case @item
  425.         when RPG::Item
  426.           $game_party.lose_item(@item.id, @number_window.number)
  427.         when RPG::Weapon
  428.           $game_party.lose_weapon(@item.id, $game_party.weapon_number(@item.id))
  429.         when RPG::Armor
  430.           $game_party.lose_armor(@item.id, $game_party.armor_number(@item.id))
  431.         end
  432.         # 刷新各窗口
  433.         @gold_window.refresh
  434.         @sell_window.refresh
  435.         @status_window.refresh
  436.         # 窗口状态转向卖出模式
  437.         @sell_window.active = true
  438.         @sell_window.visible = true
  439.         @status_window.visible = false
  440.       end
  441.       return
  442.     end
  443.   end
  444. end
  445. class Window_ShopBuy < Window_Selectable
  446.   def draw_item(index)
  447.     item = @data[index]
  448.     # 获取物品所持数
  449.     case item
  450.     when RPG::Item
  451.       number = $game_party.item_number(item.id)
  452.       max = 99
  453.     when RPG::Weapon
  454.       number = $game_party.持有(item.name)
  455.       max = XOXO::WEAPON_MAX
  456.     when RPG::Armor
  457.       number = $game_party.持有(item.name,1)
  458.       max = XOXO::ARMOR_MAX
  459.     end
  460.     # 价格在所持金以下、并且所持数不是 99 的情况下为普通文字颜色
  461.     # 除此之外的情况设置为无效文字色
  462.     if item.price <= $game_party.gold and number < max
  463.       self.contents.font.color = normal_color
  464.     else
  465.       self.contents.font.color = disabled_color
  466.     end
  467.     x = 4
  468.     y = index * 32
  469.     rect = Rect.new(x, y, self.width - 32, 32)
  470.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  471.     bitmap = RPG::Cache.icon(item.icon_name)
  472.     opacity = self.contents.font.color == normal_color ? 255 : 128
  473.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24), opacity)
  474.     self.contents.draw_text(x + 28, y, 212, 32, item.name, 0)
  475.     self.contents.draw_text(x + 240, y, 88, 32, item.price.to_s, 2)
  476.   end
  477. end


范例一只
Project2.rar (383.03 KB, 下载次数: 146)

评分

参与人数 4+4 收起 理由
y967 + 1 塞糖
xp兔子徒弟 + 1 我很赞同
chd114 + 1 塞糖
1696993583 + 1 精品文章

查看全部评分

Lv5.捕梦者

梦石
0
星屑
39021
在线时间
5719 小时
注册时间
2006-11-10
帖子
6619
30
 楼主| 发表于 2018-4-7 18:13:00 | 只看该作者
本帖最后由 灯笼菜刀王 于 2018-4-7 18:52 编辑
1696993583 发表于 2018-4-7 17:58
所以具体是修改哪些地方啊...我不敢乱改


钱的上限 ,找到game party这类, 可以看到获取金钱, 改变那一堆9就可以了

道具的持有数量也一样,但是总数可就不是一行改动就OK的事,

而且,改变默认脚本的后果就是会有无数意想不到的东西出现, 如果你没能力解决它们,那就别乱改动.

最好的栗子你已经看到过了, 我写的脚本, 原理很简单, "把装备的持有数量变成耐久度" 就这13个汉字, 出了多少麻烦,你应该能感受得到吧

要限制原本可以无限容纳的背包就不是个简单的事, 牵涉到的不会比改个装备耐久显示少

所以我才说, 仓库系统最主要的功能,不是怎么存东西,而应该是限制你怎么带东西才对.

至于我贴的那张背包图, 那只是把所持道具放到一个数组里而已, 我是用原本的道具栏当做仓库,然后背包就用这个数组,

能这样做,因为我这个游戏不重视道具用途, 战斗期间无法使用道具, 敌人也不会掉落道具, 而且背包里不会放装备(连装炮,舰载机你怎么塞包里?=3=), 道具基本只是战斗节点之间补给用而已, 所以只要具备,存储,取出功能就OK(也就是大部分仓库系统的功能, 然而我是相反操作XD)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
209
在线时间
23 小时
注册时间
2018-3-10
帖子
31
29
发表于 2018-4-7 17:58:16 | 只看该作者
所以具体是修改哪些地方啊...我不敢乱改




















另外请有着踔绝之能的您告诉我哪里修改最大持钱数 最大物品持有数(超过数量直接消失) 以及'最大物品种类(包含已经装备的防具武器 超过这个种类的物品直接小时)持有数啊?

捕获.PNG (71.5 KB, 下载次数: 36)

捕获.PNG
只能做成火柴人的了.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
209
在线时间
23 小时
注册时间
2018-3-10
帖子
31
28
发表于 2018-4-7 16:37:03 | 只看该作者
灯笼菜刀王 发表于 2018-4-7 16:11
数量是随你设置的, 只要你能保证游戏里不会出现相同的装备, 1件一个也是可以的(如果设置1个,获得第二个就 ...

所以偷懒的办法到底是什么啊!

点评

定类方法,我直接用icon.name, 因为我同样类型的装备都是用同一个icon  发表于 2018-4-7 16:57
到装备描绘窗口那用各种东西筛选就行, 我是用给装备定义分类,然后按类筛选,像驱逐舰就筛选出小型炮和鱼雷分类的装备描绘即可  发表于 2018-4-7 16:55
只能做成火柴人的了.
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39021
在线时间
5719 小时
注册时间
2006-11-10
帖子
6619
27
 楼主| 发表于 2018-4-7 16:11:25 | 只看该作者
本帖最后由 灯笼菜刀王 于 2018-4-7 16:16 编辑
1696993583 发表于 2018-4-7 16:02
比如说我们有32种武器还有32钟装备.每一种最大上限10个.就要打32x10+32x10=640个勾
然后有12个职业.还要再 ...


数量是随你设置的, 只要你能保证游戏里不会出现相同的装备, 1件一个也是可以的(如果设置1个,获得第二个就会直接:"嘟---"的一声,然后蒸发=3=)

主要是放商店里的货, 要注意上限要一致, 比如商店要卖  铁剑,铜剑, 铁盾,帽子, 那这些就要做一样的数量出来

然后改下这里

WEAPON_MAX = 10 #允许同类型武器所持最大数(根据你做的武器数量设置, 用于商店可买的上限)
  ARMOR_MAX = 10 #允许同类型装备所持最大数(根据你做的防具数量设置, 用于商店可买的上限)
  NORMAL_ATTACK = 1 #普通攻击消耗武器耐久
  SKILL_ATTACK = 2 #技能攻击消耗武器耐久
  NORMAL_DAMAGE = 1 #普通挨打消耗防具耐久
  SKILL_DAMAGE = 1  #技能挨打消耗防具耐久

脚本最上面的这里就是让你方便的设置数据的.


至于嫌勾起来麻烦, 看得懂脚本的话是有偷懒的做法, 看不懂就老老实实的勾吧.

我的舰R 20个职业 350个角色外加改1呢XD
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
209
在线时间
23 小时
注册时间
2018-3-10
帖子
31
26
发表于 2018-4-7 16:02:09 | 只看该作者
比如说我们有32种武器还有32钟装备.每一种最大上限10个.就要打32x10+32x10=640个勾
然后有12个职业.还要再打12x640=....咳咳

....PNG (20.37 KB, 下载次数: 29)

....PNG
只能做成火柴人的了.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
209
在线时间
23 小时
注册时间
2018-3-10
帖子
31
25
发表于 2018-4-7 15:52:35 | 只看该作者
1696993583 发表于 2018-4-7 15:31
我的天呐... 到底是我的游戏有问题还是你的脚本有问题啊?

哦{:4_112:
只能做成火柴人的了.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
209
在线时间
23 小时
注册时间
2018-3-10
帖子
31
24
发表于 2018-4-7 15:50:28 | 只看该作者
无语了.

到底是哪里出问题了啊!.PNG (39.51 KB, 下载次数: 36)

到底是哪里出问题了啊!.PNG

是我的游戏有问题吗.PNG (13 KB, 下载次数: 34)

是我的游戏有问题吗.PNG
只能做成火柴人的了.
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
209
在线时间
23 小时
注册时间
2018-3-10
帖子
31
23
发表于 2018-4-7 15:31:57 | 只看该作者
我的天呐... 到底是我的游戏有问题还是你的脚本有问题啊?

商店界面弹出.PNG (63.8 KB, 下载次数: 36)

商店界面弹出.PNG

是我的游戏有问题吗.PNG (13 KB, 下载次数: 34)

是我的游戏有问题吗.PNG

数据没错吧.PNG (98.04 KB, 下载次数: 34)

数据没错吧.PNG

点评

脚本重新复制下, 楼上那位发现的错误是确实存在的=3=, 当你有没装备武器的队员的时候, 判断持有就会出错  发表于 2018-4-7 15:50
名字必须一字不差的10个哦, 如果想要后面加些什么东西, 全局搜索我的脚本 XXX.name == name 改成 XXX.name.include?(name)  发表于 2018-4-7 15:37
只能做成火柴人的了.
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1358
在线时间
1295 小时
注册时间
2012-8-4
帖子
749
22
发表于 2018-4-7 15:15:00 | 只看该作者
本帖最后由 夜狠简单 于 2018-4-7 15:19 编辑
灯笼菜刀王 发表于 2018-4-7 14:33
那是当然的,你不按我设置的来

# 获取武器的方法: $game_party.入手("铁剑") 记得双引号别丢


额,不能点评,我想说的是你排除的是$data_weapons[$game_actors[j].weapon_id] != 0的情况
但是没有考虑到排除
$game_actors[j].weapon_id = 0时
$data_weapons[$game_actors[j].weapon_id] = nil 的情况

改完大大再更新主楼,一个实用脚本的脚本就产生了.
像我这样的,

IDE启动,10行代码15个BUG.
学习编写脚本放弃

点评

= = 你说的不错,这个确实是疏忽, 忘记XP是允许卸下武器的.  发表于 2018-4-7 15:49
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 21:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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