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

Project1

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

[已经解决] 鎖定領隊角色的方式

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
158 小时
注册时间
2016-1-7
帖子
129
跳转到指定楼层
1
发表于 2016-4-13 03:41:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
現在我可以按x換角色(設置為鍵盤A鍵)【曾發過的、已解決覺得問題帖: 用公用事件達成按鍵更換領隊為何無效】,而目前隊裡只有兩個角色A跟B
在某段劇情裡我必須只能控制B,然而A還是在隊裡

請問有什麼方式可以在不梯隊員的情況下,鎖定操縱角色是誰嗎?

目前我可行的方法是

事件設為"並行處理"
然後移除A再讓A入隊,這能保證$game_party.actors[0]絕對不是A
遊戲也能運行,打開選單看AB也確實都在隊伍中。
唯一的小問題就是按下換領隊的A鍵後,A鍵實際上還是有作用所以角色會閃一下+有換角音效,但因為上述移除A再讓A入隊是併行處理,所以還是會回到操控角色為B

我想在事件指令裡用腳本操作,直覺想到的方法是$game_party.actors[0]和$game_party.actors[1]對調
所以我這樣寫
RUBY 代码复制
  1. $game_party.actors[1] =  $game_party.actors[0]
  2. $game_party.actors[0] = $game_actors[5]
  3. $game_player.refresh

但當我要開系統選單或者按A鍵時,遊戲就會出現錯誤訊息然後我就只好關掉了。


我認為是第一行這樣寫有問題,所以還嘗試過把它換成
($game_variables[52] 存放了A的id)
RUBY 代码复制
  1. $game_party.actors[1] = $game_actors[$game_variables[52]]

結果還是會出現


我覺得並行處理的不斷移出加入角色作法並不是很好,並且還存在著我上面說的問題
想請問後來用腳本的寫法是不是能銷給哪個地方就可以用,或者有別的方式可以達成鎖定領隊角色的辦法

這是在Game_Player最下面加了更換領隊腳本的整個腳本

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9418
在线时间
2749 小时
注册时间
2008-9-5
帖子
3544

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

2
发表于 2016-4-13 15:24:06 | 只看该作者
本帖最后由 cinderelmini 于 2016-4-14 15:09 编辑

给换领队代码加了个开关…………开关打开将不能更换领队。
此外,如果想要指定领队为数据库指定ID的角色的话,可以试试事件里使用【脚本】:
  1. $game_player.order_leader(指定数据库中的人物ID)
复制代码
指定的任务必须存在队伍中,并且不是现在的领队的时候才会生效。

点评

2333手抖~那句的意思是如果领队不是指定队员就一直切换领队直到对上号。  发表于 2016-4-14 15:10
謝謝大大!!!然後第10行的最後多了 ")" 會有Syntax Error,拿掉就可以用拉~~ 然後看不懂until,這句是這樣理解嗎? "暫存隊伍角色的改變 直到 領隊==order_actor"   发表于 2016-4-14 03:18
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
158 小时
注册时间
2016-1-7
帖子
129
3
 楼主| 发表于 2016-4-14 03:46:26 | 只看该作者
指定领队为数据库指定ID的角色
  1. $game_player.order_leader(指定数据库中的人物ID)
复制代码
作為參數的指定数据库中的人物ID我可以用$game_variables[XX]或者$game_party.actors[X].id帶入使用嗎?
$game_variables[XX]我有設置 = 指定数据库中的人物ID (ex. $game_variables[52] = 1)
$game_party.actors[X].id 照理說也是等於指定数据库中的人物ID
可是我這樣使用會出現如下訊息
錯誤訊息截圖
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9418
在线时间
2749 小时
注册时间
2008-9-5
帖子
3544

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

4
发表于 2016-4-14 15:18:25 | 只看该作者
燕征 发表于 2016-4-14 03:46
指定领队为数据库指定ID的角色作為參數的指定数据库中的人物ID我可以用$game_variables[XX]或者$game_party ...

这种情况没必要用变量吧?已经是要指定角色了,为什么还用变量呢?
还是说是用在公共事件里?
如果要用变量的话
  1. $game_player.order_leader($game_variables[XX])
复制代码
就可以,ID是从1开始算的,而且数据库中这个ID的位置必须要存在角色。

第二种,各种意义上都不建议使用$game_party.actors[X].id这种格式,
因为领队任何时候都可以变化,$game_party.actors的序列并不是固定不变的,
$game_party.actors[X].id可以是队伍里的任何一个人,代入之后也许根本不是想要的角色ID。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
158 小时
注册时间
2016-1-7
帖子
129
5
 楼主| 发表于 2016-4-15 01:50:43 | 只看该作者
為什麼會覺得是公共事件呢?我很少用公共事件耶,能用地圖事件我就地圖事件搞定了(決定查察資料再看看要不要問這個~
好吧上面那句不是重點。我昨天有試過這個
  1. $game_player.order_leader($game_variables[52])
复制代码
然後會出現截圖1的錯誤訊息,所以覺得困擾

$game_player.order_leader(人物ID)不是得人在隊伍中才行嗎?
而用變數去帶是因為我的主角是用2選1,所以不能直接指定

之前在[已经过期] 立繪顯示的問題(\f[檔名])有放設置了要用的$game_variables的腳本
大意就是我選角的時候順便用了$game_variables[52]記錄了選取角色的ID
把$game_variables[52
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9418
在线时间
2749 小时
注册时间
2008-9-5
帖子
3544

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

6
发表于 2016-4-15 15:30:05 | 只看该作者
燕征 发表于 2016-4-15 01:50
為什麼會覺得是公共事件呢?我很少用公共事件耶,能用地圖事件我就地圖事件搞定了(決定查察資料再看看要不要 ...

哦……大概是代码太长了,被换行了的锅……
可以分割来弄:
  1. i = $game_variables[52]
  2. $game_player.order_leader(i)
复制代码
这样应该就没事了。

点评

這鍋;w;總算是翻了 謝謝大大  发表于 2016-4-16 01:58

评分

参与人数 1梦石 +1 收起 理由
RyanBern + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-27 07:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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