黃易群俠傳M脫機外掛應用程式黃易神行
1840
1

[發問] 做水巨集問題..誠心發問

okdkwxfdl 發表於 2011-4-30 13:11:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |
原是自動做酒精存取倉一切都正常,但我想改成做其他藥瓶。
有個問題點: 我發現材料做完她會開倉存放 [可是又要提領材料時,卻有錯誤] 想請問大大 我領材料的地方有錯誤嗎??  

原是自動做酒精存取倉一切都正常,但我想改成做其他藥瓶。
有個問題點: 我發現材料做完她會開倉存放 [可是又要提領材料時,卻有錯誤] 想請問大大 我領材料的地方有錯誤嗎??  似乎這行也有錯誤的樣子(改了很多次,總覺有個地方漏改了 可是我找不出來ˊˋ) 希望能有大大幫忙解決。
$usedMedicineBowls = @eval($tempMedicineBowls - @invamount(藥缽))
備註:此文轉載他人文章,我參考他人的東西練習巨集
================================
automacro initiate {
        run-once 1
        call {
                # 以下設定卡普拉所在座標,可根據不同的卡普拉 NPC 座標作更改
                $npcLocation = 175 226 payon
                # 其他想要初始化設定什麼的可以在下面新增
                do conf storageAuto 0
                do conf sellAuto 0
                do conf autoTalkCont 0
                do conf logPartyChat 1
                do conf sitAuto_sp_lower 20
                do conf sitAuto_sp_upper 70
                do conf sitAuto_over_50 0
                # 一組材料重 14
                do eval $::Macro::Data::varStack{controlAmount} = int(($::char->{'weight_max'} * 0.5 - $::char->{'weight'}) / 14)
                # $controlAmount = @eval(int(($.maxweight * 0.5 - $.weight) / 14))
                log 最大可攜帶 $controlAmount 組材料而不負重
                if ($controlAmount > 0) goto jump1
                        log ***** 注意!未攜帶材料前已負重,可能導致巨集執行錯誤! *****
                :jump1
                if (@invamount(鹽酸瓶製作說明書) != 0) goto jump2
                        log ***** 注意!鹽酸瓶製作說明書尚未帶在身上 *****
                :jump2
                log 設定值初始化完畢
        }
}
# 補貨判斷
automacro refillCheck {
        sp > 95%
        inventory "鹽酸瓶製作說明書" == 1
        inventory "藥缽" = 0
        inventory "空瓶" >= 0
        inventory "不死心臟" >= 0
        # 以下為倉庫物品存量判斷
        var medicineBowls > 150
        var emptyBOTtles > 250
        var immortalHeart > 250
        run-once 1
        call start
}
# 補貨
macro start {
        lock pharmacy
        pause 1
        do talk @npc (175 226)
        pause 1
        do talk cont
        pause 2
        do talk resp 1
        pause 2
        # 若身上有上次做出來的酒精,則存入倉庫
        if (@invamount(鹽酸瓶) == 0) goto jump
                $usedMedicineBowls = @eval($tempMedicineBowls - @invamount(藥缽))
                $finishedAmount = @invamount(鹽酸瓶)
                do storage add @inventory(鹽酸瓶) @invamount(鹽酸瓶)
        # 本 if 為計算成功率用
        if ($usedMedicineBowls <= 0) goto jump
                $rateOfSuccess = @eval($finishedAmount / $usedMedicineBowls)
                do eval $::Macro::Data::varStack{rateOfSuccess} = sprintf("%.2f",$::Macro::Data::varStack{rateOfSuccess} * 100) . '%';
                do p 上批製造 $usedMedicineBowls 個鹽酸瓶成功率 $rateOfSuccess
        :jump
        # 由倉庫取出材料
        do storage get @storage(藥缽) @eval(150 - @invamount(藥缽))
        do storage get @storage(空瓶) @eval(150 - @invamount(空瓶))
        do storage get @storage(不死心臟) @eval(750 - @invamount(不死心臟))
        [
        $medicineBowls = @storamount(藥缽)
        $emptyBottles = @storamount(空瓶)
        $ImmortalHeart = @storamount(不死心臟)
        $tempMedicineBowls = @invamount(藥缽)
        ]
        # 由隊頻顯示並記錄倉庫材料剩餘量與成品數量
        do p 藥缽尚餘 $medicineBowls 個
        do p 空瓶尚餘 $emptyBottles 個
        do p 鹽酸瓶庫存 @storamount(鹽酸瓶) 個
do p 不死心臟尚餘 $ImmortalHeart 個
        pause 1
        do storage close
        release refillCheck
        release pharmacy
}
# 製藥判斷
automacro pharmacy {
        sp > 20
        inventory "鹽酸瓶製作說明書" == 1
        inventory "藥缽" >= 1
        inventory "空瓶" >= 1
        inventory "不死心臟" >= 1
        exclusive 1
        run-once 1
        call {
                do ss 228 10
                do send 8E 01 E0 1B 00 00 00 00 00 00
                release pharmacy
        }
}
收藏收藏 分享分享 讚 幹 分享分享 FB分享
Royalty
回覆

使用道具 舉報


[X] 當前離線
UID
1561059
熱心
2263 值
嘉獎
0 次
違規
0 次
在線時間
354 小時
經驗
2176 點
積分
49895
精華
0
最後登錄
2013-4-1
閱讀權限
60
註冊時間
2010-10-8
論壇幣
45088 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 7Rank: 7Rank: 7
[X] 2011-5-1 18:26:22
你所謂的有錯誤是怎樣的錯誤?(請具體說明
我認為有一些錯誤的地方,提出來你參考看看
1.
製作鹽酸瓶=藥缽x1+空瓶x1+不死心臟x1
那你提領時為何不死心臟要領到750個?
2.
你定義倉庫殘留的不死心臟餘量是用$ImmortalHeart
可是在補貨判斷的自動巨集refillCheck的設定條件卻是immortalHeart
這樣會觸發提領嗎?

以下我有修改過了,使用時注意以下幾點
1.一開始時身上除了鹽酸瓶製作說明書之外,不要有其他不必要的東西(製作材料也不要事先放在身上
2.開啟外掛後,當外掛視窗出現"設定值初始化完畢"後輸入macro start啟動巨集
3.當倉庫裡藥缽,空瓶,不死心臟的餘量低於150時,製作結束後就不會再繼續製作了

================================
automacro initiate {
        run-once 1
        call {
                # 以下設定卡普拉所在座標,可根據不同的卡普拉 NPC 座標作更改
                $npcLocation = 175 226 payon
                # 其他想要初始化設定什麼的可以在下面新增
                do conf storageAuto 0
                do conf sellAuto 0
                do conf autoTalkCont 0
                do conf logPartyChat 1
                do conf sitAuto_sp_lower 20
                do conf sitAuto_sp_upper 70
                do conf sitAuto_over_50 0
                # 一組材料重 14
                do eval $::Macro::Data::varStack{controlAmount} = int(($::char->{'weight_max'} * 0.5 - $::char->{'weight'}) / 14)
                # $controlAmount = @eval(int(($.maxweight * 0.5 - $.weight) / 14))
                log 最大可攜帶 $controlAmount 組材料而不負重
                if ($controlAmount > 0) goto jump1
                        log ***** 注意!未攜帶材料前已負重,可能導致巨集執行錯誤! *****
                :jump1
                if (@invamount(鹽酸瓶製作說明書) != 0) goto jump2
                        log ***** 注意!鹽酸瓶製作說明書尚未帶在身上 *****
                :jump2
                log 設定值初始化完畢
        }
}
# 補貨判斷
automacro refillCheck {
        sp > 95%
        inventory "鹽酸瓶製作說明書" == 1
        inventory "藥缽" = 0
        inventory "空瓶" = 0
        inventory "不死心臟" = 0
        # 以下為倉庫物品存量判斷
        var medicineBowls > 150
        var emptyBottles > 150
        var immortalHeart > 150
        run-once 1
        call start
}
# 補貨
macro start {
        lock pharmacy
        pause 1
        do talk @npc (175 226)
        pause 1
        do talk cont
        pause 2
        do talk resp 1
        pause 2
        # 若身上有上次做出來的酒精,則存入倉庫
        if (@invamount(鹽酸瓶) == 0) goto jump
                $usedMedicineBowls = @eval($tempMedicineBowls - @invamount(藥缽))
                $finishedAmount = @invamount(鹽酸瓶)
                do storage add @inventory(鹽酸瓶) @invamount(鹽酸瓶)
        # 本 if 為計算成功率用
        if ($usedMedicineBowls <= 0) goto jump
                $rateOfSuccess = @eval($finishedAmount / $usedMedicineBowls)
                do eval $::Macro::Data::varStack{rateOfSuccess} = sprintf("%.2f",$::Macro::Data::varStack{rateOfSuccess} * 100) . '%';
                do p 上批製造 $usedMedicineBowls 個鹽酸瓶成功率 $rateOfSuccess
        :jump
        # 由倉庫取出材料
        do storage get @storage(藥缽) @eval(150 - @invamount(藥缽))
        do storage get @storage(空瓶) @eval(150 - @invamount(空瓶))
        do storage get @storage(不死心臟) @eval(150 - @invamount(不死心臟))
        [
        $medicineBowls = @storamount(藥缽)
        $emptyBottles = @storamount(空瓶)
        $immortalHeart = @storamount(不死心臟)
        $tempMedicineBowls = @invamount(藥缽)
        ]
        # 由隊頻顯示並記錄倉庫材料剩餘量與成品數量
        do p 藥缽尚餘 $medicineBowls 個
        do p 空瓶尚餘 $emptyBottles 個
        do p 鹽酸瓶庫存 @storamount(鹽酸瓶) 個
        do p 不死心臟尚餘 $immortalHeart 個
        pause 1
        do storage close
        release refillCheck
        release pharmacy
}
# 製藥判斷
automacro pharmacy {
        sp > 20
        inventory "鹽酸瓶製作說明書" == 1
        inventory "藥缽" >= 1
        inventory "空瓶" >= 1
        inventory "不死心臟" >= 1
        exclusive 1
        run-once 1
        call {
                do ss 228 10
                do send 8E 01 E0 1B 00 00 00 00 00 00
                release pharmacy
        }
}
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊


手機版 | Archiver | 外掛聯合國

GMT+8, 2024-11-26 04:52 , Processed in 0.050613 second(s), 16 queries , Memcache On.

版權說明:
  本站不會製作、經銷、代理外掛程式。僅免費提供外掛程式下載前之掃毒及掃木馬等安全檢測驗證,協助會員遠離盜號危險程式。本站所有資料均來自網際網路收集整理,說明文字暨下載連結轉載自原程 式開發站。站上出現之公司名稱、遊戲名稱、程式等,商標及著作權,均歸各公司及程式原創所有,本站程式所有權歸外掛聯合國所有。本程式所有權歸外掛聯合國所有.......

回頂部
第二步?
第三步?