OK論壇

 找回密碼
 註冊
查看: 1546|回復: 12

想請問如何偵測"物品欄"內的"不特定裝備"

 關閉 [複製鏈接]
  • TA的每日心情

    2018-4-30 01:14 PM
  • 簽到天數: 377 天

    連續簽到: 1 天

    [LV.9]以壇為家II

    發表於 2015-4-30 22:13:59 | 顯示全部樓層 |閱讀模式
    EA
    私服版號: EA14367
    問題內容: 腳本問題
    本帖最後由 m820528 於 2015-5-1 03:22 PM 編輯

    最近再寫一個附魔的腳本,為了能夠快速附魔,

    我想要一個能夠偵測"物品欄"裡的"所有裝備類"的語法,

    但是卡在"物品種類很多",所以不知道該從哪裡去下判斷式??

    爬過很多文和NPC(精煉等等)都是從裝備起來的部位下去找的,

    只好求教各位,請各位幫忙,謝謝。
    回復

    使用道具 舉報

  • TA的每日心情
    開心
    2023-5-27 04:43 PM
  • 簽到天數: 17 天

    連續簽到: 1 天

    [LV.4]偶爾看看III

    發表於 2015-4-30 22:31:19 | 顯示全部樓層
    給妳幾個大方向

    *getiteminfo(<item ID>,<type>)
    取得道具信息,包括裝備類型

    *getinventorylist;
    取得全身道具清單

    詳細用法可以去doc學習

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2018-4-30 01:14 PM
  • 簽到天數: 377 天

    連續簽到: 1 天

    [LV.9]以壇為家II

     樓主| 發表於 2015-4-30 23:18:35 | 顯示全部樓層
    本帖最後由 m820528 於 2015-4-30 11:20 PM 編輯
    plus724254 發表於 2015-4-30 10:31 PM
    給妳幾個大方向

    *getiteminfo(,)

    getiteminfo(itemid,2) =物品裝備類型

    getinventorylist;

    這兩個我都會了..

    只是不知道如何套用在未知物品的形況下QAQ...
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2018-8-18 01:15 PM
  • 簽到天數: 1517 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

    發表於 2015-5-1 09:48:44 | 顯示全部樓層
    1. prontera,150,280,5    script    調閱所有裝備清單    940,{
    2.     getinventorylist;
    3.     for(set .@i,0; .@i<@inventorylist_count; set .@i,.@i+1){
    4.             mes getiteminfo(@inventorylist_id[.@i],5)?getitemname(@inventorylist_id[.@i]):"";
    5.     }
    6. }
    複製代碼
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2018-9-15 03:18 PM
  • 簽到天數: 842 天

    連續簽到: 1 天

    [LV.10]以壇為家III

    發表於 2015-5-1 12:21:38 | 顯示全部樓層
    m820528 發表於 2015-4-30 11:18 PM
    getiteminfo(itemid,2) =物品裝備類型

    getinventorylist;

    抓物品欄會有缺陷在

    建議還是使用裝備欄去判斷會比較理想

    getinvetorylist還會有暫存問題
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2018-4-30 01:14 PM
  • 簽到天數: 377 天

    連續簽到: 1 天

    [LV.9]以壇為家II

     樓主| 發表於 2015-5-1 12:31:02 | 顯示全部樓層
    本帖最後由 m820528 於 2015-5-1 12:47 PM 編輯
    game1993 發表於 2015-5-1 09:48 AM

    謝謝大大分享,我目前人在外面還沒辦法測試是否可行,
    待我回家測試後有問題再請教^^

    另外,因為大大您是用mes所以結果應該是顯示在對話欄上,
    如果要改成顯示在下拉式選單上的項目的方式的話,該如何改呢??

    (可以提供個大方向或語法給我嗎,我回去再仔細研究一下>_<)
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2018-4-30 01:14 PM
  • 簽到天數: 377 天

    連續簽到: 1 天

    [LV.9]以壇為家II

     樓主| 發表於 2015-5-1 12:33:25 | 顯示全部樓層
    o03126 發表於 2015-5-1 12:21 PM
    抓物品欄會有缺陷在

    建議還是使用裝備欄去判斷會比較理想

    因為副魔是應用delitem再用item2給予新物品的方式,

    所以副魔後會有卸掉裝備的問題,若是要再次副魔就得再次穿上,

    大大延長了重複副魔的時間,所以希望能夠藉由讀取物品欄的方式讓玩家們能夠方便些>_<!
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2018-9-15 03:18 PM
  • 簽到天數: 842 天

    連續簽到: 1 天

    [LV.10]以壇為家III

    發表於 2015-5-1 13:37:53 | 顯示全部樓層
    m820528 發表於 2015-5-1 12:33 PM
    因為副魔是應用delitem再用item2給予新物品的方式,

    所以副魔後會有卸掉裝備的問題,若是要再次副魔就 ...

    你預設條件 是在有相同裝備情況下

    所以就算用getinventorylist 你還是有可能附到不同裝備上

    如果都是單一裝備情況下 用equip判斷也一樣 也能equip回去
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2018-4-30 01:14 PM
  • 簽到天數: 377 天

    連續簽到: 1 天

    [LV.9]以壇為家II

     樓主| 發表於 2015-5-1 13:40:45 | 顯示全部樓層
    本帖最後由 m820528 於 2015-5-1 02:03 PM 編輯
    game1993 發表於 2015-5-1 09:48 AM

    我剛才試了一下,將您給我的語法改編成這樣
    結果下拉式選單只能出現所有裝備類中單一個裝備,
    請問是我哪裡改錯了嗎?
    1. prontera,150,280,5        script        調閱所有裝備清單        940,{
    2.         set .@i,0;          //重置變數
    3.         set @inventorylist_id,0;
    4.         set @remove_count,0;
    5.         set @remove_id,0;
    6. -------------------------------------------------------------------------------------
    7.         getinventorylist;  //讀取物品欄

    8.         for(set .@i,0; .@i<@inventorylist_count; set .@i,.@i+1){
    9.         if(getiteminfo(@inventorylist_id[.@i],2) != 4){           //2為裝備類別,排除掉武器類(4),不顯示武器
    10.         set @remove_count,@remove_count+1;
    11.         set @remove_id[@remove_count],@inventorylist_id[.@i];
    12.         set @remove_item$,"";
    13.         set @remove_item$,@remove_item$+" "+getitemname(@remove_id[.@i]);
    14.         if(.@i != @remove_count) set @remove_item$,@remove_item$+":";
    15. }
    16. }
    17.         mes "你身上的裝備有";
    18.         next;
    19.         select(@remove_item$);
    20.         close;
    21. }
    複製代碼

    本帖子中包含更多資源

    您需要 登錄 才可以下載或查看,沒有帳號?註冊

    x
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2018-4-30 01:14 PM
  • 簽到天數: 377 天

    連續簽到: 1 天

    [LV.9]以壇為家II

     樓主| 發表於 2015-5-1 13:43:08 | 顯示全部樓層
    o03126 發表於 2015-5-1 01:37 PM
    你預設條件 是在有相同裝備情況下

    所以就算用getinventorylist 你還是有可能附到不同裝備上

    我有用判斷式限制只能帶相同的裝備一個,

    所以沒有附到另外一個相同物品的問題

    equip這個語法我第一次看到過,所以也不會用..
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2018-9-15 03:18 PM
  • 簽到天數: 842 天

    連續簽到: 1 天

    [LV.10]以壇為家III

    發表於 2015-5-1 14:58:02 | 顯示全部樓層
    m820528 發表於 2015-5-1 01:43 PM
    我有用判斷式限制只能帶相同的裝備一個,

    所以沒有附到另外一個相同物品的問題

    就單純裝上 裝備而已

    *equip <item id>;
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2018-9-15 03:18 PM
  • 簽到天數: 842 天

    連續簽到: 1 天

    [LV.10]以壇為家III

    發表於 2015-5-1 15:10:55 | 顯示全部樓層
    m820528 發表於 2015-5-1 01:40 PM
    我剛才試了一下,將您給我的語法改編成這樣
    結果下拉式選單只能出現所有裝備類中單一個裝備,
    請問是我 ...

    set @remove_item$,"";
    搬到初始化那邊
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情

    2018-4-30 01:14 PM
  • 簽到天數: 377 天

    連續簽到: 1 天

    [LV.9]以壇為家II

     樓主| 發表於 2015-5-1 15:13:15 | 顯示全部樓層
    o03126 發表於 2015-5-1 02:58 PM
    就單純裝上 裝備而已

    *equip ;

    感謝你,

    將equip放上去之後可以直接將附魔好的裝備裝回去了,

    雖然也想要能夠直接從裝備欄來搜尋,

    但是你提供的方法比較簡單也從根本上解決了我在意的問題(卸下裝備的問題),

    真的非常謝謝>_<

    回復 支持 反對

    使用道具 舉報

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

    本版積分規則

    Archiver|手機版|小黑屋|OK討論區

    GMT+8, 2024-5-3 10:55 PM , Processed in 0.060018 second(s), 21 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回復 返回頂部 返回列表