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

Project1

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

呐。又来请教你们了~

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
28 小时
注册时间
2009-1-18
帖子
64
跳转到指定楼层
1
发表于 2009-2-16 05:04:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
呃……
最近问题颇多。
假如刚进入游戏的时候给了一把新手剑,如何让此剑经过N次战斗以后自动消失?
此贴于 2009-2-16 9:29:58 被版主redant提醒,请楼主看到后对本贴做出回应。
此贴于 2009-2-16 17:38:26 被版主redant提醒,请楼主看到后对本贴做出回应。

Lv1.梦旅人

蚂蚁卡卡

梦石
0
星屑
116
在线时间
66 小时
注册时间
2007-12-16
帖子
3081
2
发表于 2009-2-16 05:14:09 | 只看该作者
可以数据库-角色 直接配戴

也可以 在初期地图里 设定事件 给予

至于打仗N次消失 搜索 耐久
《隋唐乱》完整解密版点击进入
米兰,让我怎么说离开……

曾经我也是一个有志青年,直到我膝盖中了一箭……

《隋唐乱》博客地址
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
28 小时
注册时间
2009-1-18
帖子
64
3
 楼主| 发表于 2009-2-16 05:18:00 | 只看该作者
那么战斗N次消失怎么设定。。。
表PIA我。。。我是新手。。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

神之利剑

梦石
0
星屑
50
在线时间
2 小时
注册时间
2008-10-31
帖子
519
4
发表于 2009-2-16 05:20:59 | 只看该作者
装备耐久
http://rpg.blue/viewthread.php?tid=78776&ntime=2008%2D8%2D31+23%3A48%3A16

怎么用 我也不清楚 因为我没有用过 ........你自己慢慢理解和思考吧
有时候命运就是我的一切~======以下是我的论坛ID======梦影天翼梦翼的马甲天翼的马甲==以下是论坛的不可思议事件==事件               证明 1、太空邮件         OK (经过验证)2、回帖不见         OK (经过验证)3、两人一号发帖无事 NO (没有发现)4、聊帖的亡灵       NO (没有发现)5、监狱自救         OK (近期发现)[水木木]6、等待更新7、等待更新
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
28 小时
注册时间
2009-1-18
帖子
64
5
 楼主| 发表于 2009-2-16 05:25:52 | 只看该作者
以下引用梦影天翼于2009-2-15 21:20:59的发言:

装备耐久
http://rpg.blue/viewthread.php?tid=78776&ntime=2008%2D8%2D31+23%3A48%3A16

怎么用 我也不清楚 因为我没有用过 ........你自己慢慢理解和思考吧

我一点没看懂=_=
回复 支持 反对

使用道具 举报

Lv1.梦旅人

神之利剑

梦石
0
星屑
50
在线时间
2 小时
注册时间
2008-10-31
帖子
519
6
发表于 2009-2-16 05:27:37 | 只看该作者
- -......目前就这个可以设置耐久
有时候命运就是我的一切~======以下是我的论坛ID======梦影天翼梦翼的马甲天翼的马甲==以下是论坛的不可思议事件==事件               证明 1、太空邮件         OK (经过验证)2、回帖不见         OK (经过验证)3、两人一号发帖无事 NO (没有发现)4、聊帖的亡灵       NO (没有发现)5、监狱自救         OK (近期发现)[水木木]6、等待更新7、等待更新
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
28 小时
注册时间
2009-1-18
帖子
64
7
 楼主| 发表于 2009-2-16 05:29:10 | 只看该作者
问题是我就想让这一个物品爆掉= =|
版主对此帖的评论:『自主结贴?没有你认为正确的答案?』,积分『-0』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
1 小时
注册时间
2008-2-17
帖子
76
8
发表于 2009-2-16 07:29:48 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
37925
在线时间
5468 小时
注册时间
2006-11-10
帖子
6554
9
发表于 2009-2-16 09:52:59 | 只看该作者
  1. #==============================================================================
  2. # ■ Scene_Battle (分割定义 1)
  3. #------------------------------------------------------------------------------
  4. #  处理战斗画面的类。
  5. #==============================================================================

  6. class Scene_Battle
  7.   #--------------------------------------------------------------------------
  8.   # ● 主处理
  9.   #--------------------------------------------------------------------------
  10.   def main
  11.     # 初始化战斗用的各种暂时数据
  12.     $game_temp.in_battle = true
  13.     $game_temp.battle_turn = 0
  14.     $game_temp.battle_event_flags.clear
  15.     $game_temp.battle_abort = false
  16.     $game_temp.battle_main_phase = false
  17.     $game_temp.battleback_name = $game_map.battleback_name
  18.     $game_temp.forcing_battler = nil
  19.     #########################菜刀王到此一游#####################
  20.     if $game_actors[1].weapon_id == 1 and $game_party.actors.include?($game_actors[1])
  21.       $game_variables[1] -= 1
  22.     end
  23.     #########################菜刀王到此一游#####################
  24.     # 初始化战斗用事件解释器
  25.     $game_system.battle_interpreter.setup(nil, 0)
  26.     # 准备队伍
  27.     @troop_id = $game_temp.battle_troop_id
  28.     $game_troop.setup(@troop_id)
  29.     # 生成角色命令窗口
  30.     s1 = $data_system.words.attack
  31.     s2 = $data_system.words.skill
  32.     s3 = $data_system.words.guard
  33.     s4 = $data_system.words.item
  34.     @actor_command_window = Window_Command.new(160, [s1, s2, s3, s4])
  35.     @actor_command_window.y = 160
  36.     @actor_command_window.back_opacity = 160
  37.     @actor_command_window.active = false
  38.     @actor_command_window.visible = false
  39.     # 生成其它窗口
  40.     @party_command_window = Window_PartyCommand.new
  41.     @help_window = Window_Help.new
  42.     @help_window.back_opacity = 160
  43.     @help_window.visible = false
  44.     @status_window = Window_BattleStatus.new
  45.     @message_window = Window_Message.new
  46.     # 生成活动块
  47.     @spriteset = Spriteset_Battle.new
  48.     # 初始化等待计数
  49.     @wait_count = 0
  50.     # 执行过渡
  51.     if $data_system.battle_transition == ""
  52.       Graphics.transition(20)
  53.     else
  54.       Graphics.transition(40, "Graphics/Transitions/" +
  55.         $data_system.battle_transition)
  56.     end
  57.     # 开始自由战斗回合
  58.     start_phase1
  59.     # 主循环
  60.     loop do
  61.       # 刷新游戏画面
  62.       Graphics.update
  63.       # 刷新输入信息
  64.       Input.update
  65.       # 刷新画面
  66.       update
  67.       # 如果画面切换的话就中断循环
  68.       if $scene != self
  69.         break
  70.       end
  71.     end
  72.     # 刷新地图
  73.     $game_map.refresh
  74.     # 准备过渡
  75.     Graphics.freeze
  76.     # 释放窗口
  77.     @actor_command_window.dispose
  78.     @party_command_window.dispose
  79.     @help_window.dispose
  80.     @status_window.dispose
  81.     @message_window.dispose
  82.     if @skill_window != nil
  83.       @skill_window.dispose
  84.     end
  85.     if @item_window != nil
  86.       @item_window.dispose
  87.     end
  88.     if @result_window != nil
  89.       @result_window.dispose
  90.     end
  91.     # 释放活动块
  92.     @spriteset.dispose
  93.     # 标题画面切换中的情况
  94.     if $scene.is_a?(Scene_Title)
  95.       # 淡入淡出画面
  96.       Graphics.transition
  97.       Graphics.freeze
  98.     end
  99.     # 战斗测试或者游戏结束以外的画面切换中的情况
  100.     if $BTEST and not $scene.is_a?(Scene_Gameover)
  101.       $scene = nil
  102.     end
  103.   end
  104.   #--------------------------------------------------------------------------
  105.   # ● 胜负判定
  106.   #--------------------------------------------------------------------------
  107.   def judge
  108.     # 全灭判定是真、并且同伴人数为 0 的情况下
  109.     if $game_party.all_dead? or $game_party.actors.size == 0
  110.       # 允许失败的情况下
  111.       if $game_temp.battle_can_lose
  112.         # 还原为战斗开始前的 BGM
  113.         $game_system.bgm_play($game_temp.map_bgm)
  114.         # 战斗结束
  115.         battle_end(2)
  116.         # 返回 true
  117.         return true
  118.       end
  119.       # 设置游戏结束标志
  120.       $game_temp.gameover = true
  121.       # 返回 true
  122.       return true
  123.     end
  124.     # 如果存在任意 1 个敌人就返回 false
  125.     for enemy in $game_troop.enemies
  126.       if enemy.exist?
  127.         return false
  128.       end
  129.     end
  130.     # 开始结束战斗回合 (胜利)
  131.     start_phase5
  132.     # 返回 true
  133.     return true
  134.   end
  135.   #--------------------------------------------------------------------------
  136.   # ● 战斗结束
  137.   #     result : 結果 (0:胜利 1:失败 2:逃跑)
  138.   #--------------------------------------------------------------------------
  139.   def battle_end(result)
  140.     # 清除战斗中标志
  141.     $game_temp.in_battle = false
  142.     # 清除全体同伴的行动
  143.     $game_party.clear_actions
  144.     # 解除战斗用状态
  145.     for actor in $game_party.actors
  146.       actor.remove_states_battle
  147.     end
  148.     # 清除敌人
  149.     $game_troop.enemies.clear
  150.     # 调用战斗返回调用
  151.     if $game_temp.battle_proc != nil
  152.       $game_temp.battle_proc.call(result)
  153.       $game_temp.battle_proc = nil
  154.     end
  155.     # 切换到地图画面
  156.     ############菜刀王到此一游#############
  157.     if $game_variables[1] == 0 and $game_actors[1].weapon_id == 1
  158.       $game_actors[1].equip(0, 0)
  159.       $game_party.gain_weapon(1,-1)
  160.       p "武器已经坏掉了"
  161.     end
  162.     ############菜刀王到此一游#############
  163.     $scene = Scene_Map.new
  164.   end
  165.   #--------------------------------------------------------------------------
  166.   # ● 设置战斗事件
  167.   #--------------------------------------------------------------------------
  168.   def setup_battle_event
  169.     # 正在执行战斗事件的情况下
  170.     if $game_system.battle_interpreter.running?
  171.       return
  172.     end
  173.     # 搜索全部页的战斗事件
  174.     for index in 0...$data_troops[@troop_id].pages.size
  175.       # 获取事件页
  176.       page = $data_troops[@troop_id].pages[index]
  177.       # 事件条件可以参考 c
  178.       c = page.condition
  179.       # 没有指定任何条件的情况下转到下一页
  180.       unless c.turn_valid or c.enemy_valid or
  181.              c.actor_valid or c.switch_valid
  182.         next
  183.       end
  184.       # 执行完毕的情况下转到下一页
  185.       if $game_temp.battle_event_flags[index]
  186.         next
  187.       end
  188.       # 确认回合条件
  189.       if c.turn_valid
  190.         n = $game_temp.battle_turn
  191.         a = c.turn_a
  192.         b = c.turn_b
  193.         if (b == 0 and n != a) or
  194.            (b > 0 and (n < 1 or n < a or n % b != a % b))
  195.           next
  196.         end
  197.       end
  198.       # 确认敌人条件
  199.       if c.enemy_valid
  200.         enemy = $game_troop.enemies[c.enemy_index]
  201.         if enemy == nil or enemy.hp * 100.0 / enemy.maxhp > c.enemy_hp
  202.           next
  203.         end
  204.       end
  205.       # 确认角色条件
  206.       if c.actor_valid
  207.         actor = $game_actors[c.actor_id]
  208.         if actor == nil or actor.hp * 100.0 / actor.maxhp > c.actor_hp
  209.           next
  210.         end
  211.       end
  212.       # 确认开关条件
  213.       if c.switch_valid
  214.         if $game_switches[c.switch_id] == false
  215.           next
  216.         end
  217.       end
  218.       # 设置事件
  219.       $game_system.battle_interpreter.setup(page.list, 0)
  220.       # 本页的范围是 [战斗] 或 [回合] 的情况下
  221.       if page.span <= 1
  222.         # 设置执行结束标志
  223.         $game_temp.battle_event_flags[index] = true
  224.       end
  225.       return
  226.     end
  227.   end
  228.   #--------------------------------------------------------------------------
  229.   # ● 刷新画面
  230.   #--------------------------------------------------------------------------
  231.   def update
  232.     # 执行战斗事件中的情况下
  233.     if $game_system.battle_interpreter.running?
  234.       # 刷新解释器
  235.       $game_system.battle_interpreter.update
  236.       # 强制行动的战斗者不存在的情况下
  237.       if $game_temp.forcing_battler == nil
  238.         # 执行战斗事件结束的情况下
  239.         unless $game_system.battle_interpreter.running?
  240.           # 继续战斗的情况下、再执行战斗事件的设置
  241.           unless judge
  242.             setup_battle_event
  243.           end
  244.         end
  245.         # 如果不是结束战斗回合的情况下
  246.         if @phase != 5
  247.           # 刷新状态窗口
  248.           @status_window.refresh
  249.         end
  250.       end
  251.     end
  252.     # 系统 (计时器)、刷新画面
  253.     $game_system.update
  254.     $game_screen.update
  255.     # 计时器为 0 的情况下
  256.     if $game_system.timer_working and $game_system.timer == 0
  257.       # 中断战斗
  258.       $game_temp.battle_abort = true
  259.     end
  260.     # 刷新窗口
  261.     @help_window.update
  262.     @party_command_window.update
  263.     @actor_command_window.update
  264.     @status_window.update
  265.     @message_window.update
  266.     # 刷新活动块
  267.     @spriteset.update
  268.     # 处理过渡中的情况下
  269.     if $game_temp.transition_processing
  270.       # 清除处理过渡中标志
  271.       $game_temp.transition_processing = false
  272.       # 执行过渡
  273.       if $game_temp.transition_name == ""
  274.         Graphics.transition(20)
  275.       else
  276.         Graphics.transition(40, "Graphics/Transitions/" +
  277.           $game_temp.transition_name)
  278.       end
  279.     end
  280.     # 显示信息窗口中的情况下
  281.     if $game_temp.message_window_showing
  282.       return
  283.     end
  284.     # 显示效果中的情况下
  285.     if @spriteset.effect?
  286.       return
  287.     end
  288.     # 游戏结束的情况下
  289.     if $game_temp.gameover
  290.       # 切换到游戏结束画面
  291.       $scene = Scene_Gameover.new
  292.       return
  293.     end
  294.     # 返回标题画面的情况下
  295.     if $game_temp.to_title
  296.       # 切换到标题画面
  297.       $scene = Scene_Title.new
  298.       return
  299.     end
  300.     # 中断战斗的情况下
  301.     if $game_temp.battle_abort
  302.       # 还原为战斗前的 BGM
  303.       $game_system.bgm_play($game_temp.map_bgm)
  304.       # 战斗结束
  305.       battle_end(1)
  306.       return
  307.     end
  308.     # 等待中的情况下
  309.     if @wait_count > 0
  310.       # 减少等待计数
  311.       @wait_count -= 1
  312.       return
  313.     end
  314.     # 强制行动的角色存在、
  315.     # 并且战斗事件正在执行的情况下
  316.     if $game_temp.forcing_battler == nil and
  317.        $game_system.battle_interpreter.running?
  318.       return
  319.     end
  320.     # 回合分支
  321.     case @phase
  322.     when 1  # 自由战斗回合
  323.       update_phase1
  324.     when 2  # 同伴命令回合
  325.       update_phase2
  326.     when 3  # 角色命令回合
  327.       update_phase3
  328.     when 4  # 主回合
  329.       update_phase4
  330.     when 5  # 战斗结束回合
  331.       update_phase5
  332.     end
  333.   end
  334. end
复制代码


把这个脚本替换原来的SCENE BATTLE1, 当1号角色装备1号武器的时候打一场战斗武器的耐久就消耗1点,耐久为0的时候武器坏掉,不装备1号武器不会消耗耐久度。只有1号武器具备耐久度,武器的耐久度等于变量1。

然后,在获得该武器的事件里增加一条,变量1 = XXX数字(这个数字就是你希望这个武器打多少场战斗就坏掉,2就是打两场就损坏)

这个应该是楼主想要的效果了吧-。-
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-16 22:44

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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