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

Project1

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

[已经过期] 急求:ztbs系统里的CP制问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
61
在线时间
696 小时
注册时间
2011-1-4
帖子
208
跳转到指定楼层
1
发表于 2011-1-14 15:13:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 cjlzbb 于 2011-1-14 15:27 编辑

1.如何把这段脚本改为当我方CP满时停止CP增加而不是除非把光标移到人物身上并且选择人物之后才停止增加

研究了一整天实在搞不懂


第一次发帖,怎么脚本里多了些表情…………


2.另外我还有个按行动类型来消耗CP的范例,就像是假设满CP是100,然后主角ACP满了,于是轮到主角A的回合,移动需要10点CP,那么主角A移动以后主角A的回合就结束了,不过只要等主角A的CP增长10之后又是主角A回合……貌似表述地很乱,不过对这系统超感兴趣的,因为可以做出WOW里的囧急速效果囧= =!  这个没有注释,不晓得怎么拼到一起

  #--------------------------------------------------------------------------
  # ● 框架更新(我方回合 阶段 1: 队员选择)
  #--------------------------------------------------------------------------
  def update_phase1_step1  
    #/*
    # 唔,找不到取消選擇的那一刻,于是放在這裡……
    # 作用是重新啟動 CP 量的加算
    unlock
    #*/
    # 光标位置的战斗者(活动)取得
    get_cursor_battler
    # 如果光标位置战斗者在
    if @battler != nil
      # 设置帮助窗口 队员 或 敌人
      set_battler_info
      # 是战斗者的情况
      if $game_system.tactics_actors.keys.include?(@battler.id)
        # 如果 C 按钮被按下(Enter、Space键)
        if Input.trigger?(Input::C) and !$game_player.moving?
          # 是未行动的情况
          actor = $game_system.tactics_actors[@battler.id]
         
    #/*
    # 判斷玩家角色是否滿CP
    # 如果是就凍結 CP 量加算,進入選擇模式
    # 否則就返回
    # 這裡應該有一個音效播放的……
    #*/
          if actor.cp >= 65535
            lock
          else
            return
          end

          if [email protected] and !actor.restriction != 4
            # 演奏决定 SE
            $game_system.se_play($data_system.decision_se)
            # 固定光标
            $game_player.not_update = true
            # 转移向阶段 2
            $game_system.tactics_step = 2
            # 作成指令窗
            make_command_window
          else
            # 演奏蜂鸣 SE
            $game_system.se_play($data_system.buzzer_se)
          end
        end
        # 如果 L 按钮被按下(Q键)
        if Input.trigger?(Input::L)
          # 演奏光标 SE
          $game_system.se_play($data_system.cursor_se)
          # 前面的队员
          back_actor
        end
        # 如果 R 按钮被按下(W键)
        if Input.trigger?(Input::R)
          # 演奏光标 SE
          $game_system.se_play($data_system.cursor_se)
          # 下面的队员
          next_actor
        end
      # 是敌人的情况
      else
        # 如果 L 按钮被按下(Q键)
        if Input.trigger?(Input::L)
          # 演奏光标 SE
          $game_system.se_play($data_system.cursor_se)
          # 最后的队员
          actor = $game_map.events[$game_system.tactics_actors.keys[$game_system.tactics_actors.keys.size - 1]]
          $game_player.moveto(actor.x, actor.y)
        end
        # 如果 R 按钮被按下(W键)
        if Input.trigger?(Input::R)
         # 演奏光标 SE
          $game_system.se_play($data_system.cursor_se)
          # 最前的队员
          actor = $game_map.events[$game_system.tactics_actors.keys[0]]
          $game_player.moveto(actor.x, actor.y)
        end
      end
    # 光标位置战斗者不在的情况,隐藏帮助窗口
    else
      @help_window.visible = false
      # 如果 L 按钮被按下(Q键)
      if Input.trigger?(Input::L)
        # 演奏光标 SE
        $game_system.se_play($data_system.cursor_se)
        # 最后的队员
        actor = $game_map.events[$game_system.tactics_actors.keys[$game_system.tactics_actors.keys.size - 1]]
        $game_player.moveto(actor.x, actor.y)
      end
      # 如果 R 按钮被按下(W键)
      if Input.trigger?(Input::R)
        # 演奏光标 SE
        $game_system.se_play($data_system.cursor_se)
        # 最前的队员
        actor = $game_map.events[$game_system.tactics_actors.keys[0]]
        $game_player.moveto(actor.x, actor.y)
      end
    end
    # 如果 B 按钮被按下(Esc键)
    if Input.trigger?(Input::B) and !$game_player.moving?
      # 演奏决定 SE
      $game_system.se_play($data_system.decision_se)
      # 转移向阶段 0
      $game_system.tactics_step = 0
      # 作成指令窗
      make_command_window
      # 固定光标
      $game_player.not_update = true
    end
    else
            lock
            end
  end



2/。下了范例 仿空轨战棋战斗系统.rar (2.52 MB, 下载次数: 162) 以后把这个脚本 Scripts.rar (171.55 KB, 下载次数: 79) 放进去覆盖原本的那个


cjlzbb于2011-1-15 01:28补充以下内容:
不是我想连贴的…………在线盯了半天只看到往下沉了。。


cjlzbb于2011-1-15 17:42补充以下内容:
………………36小时到了吗

点评

就是变成了我方全体攻击完后轮到敌方行动然后敌方全体攻击完又轮回来,囧难道我的CP条被怪物们吃掉了吗囧  发表于 2011-1-14 18:40
我就是想抽附件范例里的那个CP进去,结果抽进去以后囧CP条不见了囧,更囧的是除此之外完全可以运行,只是变成了囧纯粹的回合制囧  发表于 2011-1-14 18:39
脚本都很长不想看。建议把他的CP抽出来。放一个普通的CP进去  发表于 2011-1-14 18:24

Lv3.寻梦者

梦石
0
星屑
1235
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

2
发表于 2011-1-15 20:27:47 | 只看该作者
本帖最后由 DeathKing 于 2011-1-16 09:24 编辑

10VIP造福群众啊{:nm_4:}

这个CP条并不是ZTBS内建的,我央禾西前辈完成了她。设置cp,直接使用cp()这个方法进行减算就行了。
  1. actor_you_want_to_minus_cp.cp -= 100
复制代码
现在在Linux下,没办法打开工程给看看。不过你还有一个选择,花点VIP央禾西前辈给你提供点支持。


By the Way

我手上的CP Mod版本中,已经加入了当CP 满时对于CP 满了的人物弹出命令框的功能了。

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
696 小时
注册时间
2011-1-4
帖子
208
3
 楼主| 发表于 2011-1-15 22:44:49 | 只看该作者
回复 DeathKing 的帖子

那条减算真美啊…………


还有,为啥搜不到央合西前辈是哪位…………
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1235
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

4
发表于 2011-1-16 10:37:57 | 只看该作者
回复 cjlzbb 的帖子

“央”是一个动词{:nm_7:}



Game_Battler类定义了cp=()和cp()两个方法,利用这两个方法操作对象就行了。

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
61
在线时间
696 小时
注册时间
2011-1-4
帖子
208
5
 楼主| 发表于 2011-1-16 13:26:09 | 只看该作者
本帖最后由 cjlzbb 于 2011-1-16 14:26 编辑

回复 DeathKing 的帖子
    if @battler.nil?
      return 0
    else
      if @battler.acted
        begin  #這是玩家角色
            if $game_system.tactics_actors[@battler.id].cp >= 65535
              $game_system.tactics_actors[@battler.id].cp -= 20000
            end
        rescue #這是敵人
          if @attacker.cp >= 65535
          @attacker.cp -= 20000
          end
        end
        unlock
        return 1
      else
        return 0
      end
    end
  end
在使用技能后的那个地方加上了这个,而原来减算的部分也调了数值。
可是发现了一个新的问题,也不算是新问题。也就是@battler.acted 这句判断是否已行动的句子导致了当一次行动后假如在敌人满CP之前已经满CP的话,人物还是已行动的状态,结果就是再次-20000CP。
上面这片搞定了~~~~ 发现还有一大堆问题


另外,cp=()和cp()
这两个能详细讲解下吗
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-21 06:22

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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