Project1

标题: 关于战斗事件触发 [打印本页]

作者: 你最珍贵    时间: 2024-5-18 11:31
标题: 关于战斗事件触发

现在的战斗事件:敌人出现了-偷袭判断-触发0回合事件
我想让他变成:触发0回合事件-敌人出现了-偷袭判断
应该怎么改呢
作者: sunhihi    时间: 2024-5-18 11:31
本帖最后由 sunhihi 于 2024-5-19 14:28 编辑
你最珍贵 发表于 2024-5-19 14:00
随机遇敌


那你需要兩個功能
1. 能夠在計算
BattleManager._preemptive
BattleManager._surprise
這兩個參數時插入變數隨時控制的功能

2. 能夠統一在戰鬥前與戰鬥後插入自由事件的功能

當然如果你的公式是固定的 只要用第一個功能改就好了
下週我再找時時間把這兩個功能加到我的核心插件裡,你有興趣就拿去用巴
作者: sunhihi    时间: 2024-5-18 13:01
本帖最后由 sunhihi 于 2024-5-18 13:06 编辑

突擊無效 與 先發制人率
這兩個能力是唯一可以控制你遭遇敵人會不會遇到這兩種狀況的方法
然後就是你團隊的速度與敵方的速度比

手動強制觸發突襲....沒有寫插件或腳本做不到呢

BattleManager.startBattle = function() {
    this._phase = "start";
    $gameSystem.onBattleStart();
    $gameParty.onBattleStart(this._preemptive);
    $gameTroop.onBattleStart(this._surprise);
    this.displayStartMessages();
};

在這裡插入 變數或是開關判斷 控制this._preemptive與this._surprise
注意一點this._preemptive與this._surprise兩者不能同時為true

這真是一個不錯的必要功能~~回頭就加到我的插件裡~~

還有進入戰鬥後才控制是沒有用的....所以你的思路一開始就是錯的
作者: 你最珍贵    时间: 2024-5-18 14:44
sunhihi 发表于 2024-5-18 13:01
突擊無效 與 先發制人率
這兩個能力是唯一可以控制你遭遇敵人會不會遇到這兩種狀況的方法
然後就是你團隊的 ...

有别的办法实现么
作者: sunhihi    时间: 2024-5-19 12:36
你最珍贵 发表于 2024-5-18 14:44
有别的办法实现么

你是隨機遇敵還是事件遇敵?
作者: 你最珍贵    时间: 2024-5-19 14:00
sunhihi 发表于 2024-5-19 12:36
你是隨機遇敵還是事件遇敵?

随机遇敌
作者: 你最珍贵    时间: 2024-5-19 15:57
sunhihi 发表于 2024-5-19 14:15
那你需要兩個功能
1. 能夠在計算
BattleManager._preemptive

Ok 发布了@一下窝
作者: 你最珍贵    时间: 2024-5-19 19:59
@小秋橙  实现了现在的功能,我后面还需要实现,野外遇剧本敌人(使用敌人变身),所以数量有点多,想看看能不能另辟蹊径
作者: sunhihi    时间: 2024-5-20 16:17
本帖最后由 sunhihi 于 2024-5-20 16:20 编辑
你最珍贵 发表于 2024-5-19 15:57
Ok 发布了@一下窝


Sun_0_CoreEngine 3.0.0

新增了幾個功能
基礎公式增加
         公式12.觸發搶先攻擊的機率公式: a >= b ? 0.05 : 0.03;
         公式13.被敵人偷襲的機率公式: a >= b ? 0.03 : 0.05;

功能十: 可以設定地圖遇敵死亡是否會GAMEOVER

功能十一: 新增某些時間點插入一般事件的功能
                     時間點1. 進入戰鬥前
                     時間點2. 戰鬥勝利後
                     時間點3. 戰鬥逃跑後
                     時間點4. 戰鬥失敗後


你如果要使用變數控制 被敵人偷襲 或是搶先攻擊敵人的話
那在公式設 v[x] (變數X)  只要設的參數 > 1 那就絕對會觸發了

然後你可以在 [時間點1. 進入戰鬥前]
指定一個一般事件
在那個一般事件你就可以做事件判定了
作者: 你最珍贵    时间: 2024-5-20 18:24
sunhihi 发表于 2024-5-20 16:17
Sun_0_CoreEngine 3.0.0

新增了幾個功能

已更新,这个事件触发对白可以,但是对敌人的设置还是无效,敌人出现变身、添加状态这些,是我设置错误吗
作者: sunhihi    时间: 2024-5-20 19:43
本帖最后由 sunhihi 于 2024-5-20 20:03 编辑
你最珍贵 发表于 2024-5-20 18:24
已更新,这个事件触发对白可以,但是对敌人的设置还是无效,敌人出现变身、添加状态这些,是我设置错误吗 ...


這東西其實....不是給你這樣用的說
你在進入戰鬥之前先設定一個變數或是開關
進到戰鬥後透過那個開關判定
然後再你原本設定哪裡進行對話與變身

你想要做出來的東西有些是在進入戰鬥後才能進行動作
有些則是要在進入戰鬥前就動作

我這個插件是讓你能夠在戰鬥前實作 (原本的功能只有事件戰鬥能做到)
作者: 你最珍贵    时间: 2024-5-20 20:43
sunhihi 发表于 2024-5-20 19:43
這東西其實....不是給你這樣用的說
你在進入戰鬥之前先設定一個變數或是開關
進到戰鬥後透過那個開關判定 ...

好滴,这个功能也对我很有帮助,感谢~~
作者: 你最珍贵    时间: 2024-5-20 23:47
sunhihi 发表于 2024-5-20 19:43
這東西其實....不是給你這樣用的說
你在進入戰鬥之前先設定一個變數或是開關
進到戰鬥後透過那個開關判定 ...

RangeError
Maximum call stack size exceeded

出现这个错误是为什么呀,遭遇战不会出现,战斗处理就会
作者: sunhihi    时间: 2024-5-21 06:59
本帖最后由 sunhihi 于 2024-5-21 08:58 编辑
你最珍贵 发表于 2024-5-20 23:47
RangeError
Maximum call stack size exceeded


遇到這種系統錯誤你按一下F12,再截圖給我看
然後你可能要讓我知道你是不是有用其他的插件
然後戰鬥處理實際上是做了怎樣的處理你也要讓我知道


OK我知道問題了~ 有點尷尬
修好跟你說
作者: sunhihi    时间: 2024-5-21 09:12
你最珍贵 发表于 2024-5-20 23:47
RangeError
Maximum call stack size exceeded

你去下載 3.0.1版本

本來進入戰鬥前觸發通用事件我是期望只要戰鬥都會觸發
看來是不行~ 現在調整為只有地圖遇敵會觸發
如果你要事件遇敵那就只能自己進入戰鬥前手動呼叫通用事件
(我覺得不是啥大問題)
作者: 你最珍贵    时间: 2024-5-21 09:44
sunhihi 发表于 2024-5-21 09:12
你去下載 3.0.1版本

本來進入戰鬥前觸發通用事件我是期望只要戰鬥都會觸發

ok~~




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