OK論壇

 找回密碼
 註冊
查看: 3147|回復: 18

點數累積兌換腳本 版本:v2.6 獎品紀錄問題

 關閉 [複製鏈接]
  • TA的每日心情
    慵懶
    2010-6-16 04:01 PM
  • 簽到天數: 20 天

    連續簽到: 0 天

    [LV.4]偶爾看看III

    發表於 2010-5-22 14:52:04 | 顯示全部樓層 |閱讀模式
    本帖最後由 傲殺 於 2010-5-25 06:15 AM 編輯

    我設定好分類設定換物品設定到第2種物品以後我就再也無法設定了進去設定那邊會卡住沒反應
    黑窗上會寫
    RUN_SCRIPT:INFINITY LOOP
    http://okayro.com/thread-86414-1-1.html<;<<腳本
    回復

    使用道具 舉報

  • TA的每日心情
    開心
    2019-8-18 04:57 PM
  • 簽到天數: 2148 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

    發表於 2010-5-22 14:54:37 | 顯示全部樓層
    把[            ]改成[            ]
    再 把[                                                  ] 去掉
    用[                                  ]替 換

    評分

    參與人數 1積分 +1 收起 理由
    sinya + 1 原創內容

    查看全部評分

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    慵懶
    2010-6-16 04:01 PM
  • 簽到天數: 20 天

    連續簽到: 0 天

    [LV.4]偶爾看看III

     樓主| 發表於 2010-5-22 15:02:28 | 顯示全部樓層
    不懂你的意思= =
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2019-8-18 04:57 PM
  • 簽到天數: 2148 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

    發表於 2010-5-22 15:06:10 | 顯示全部樓層
    我在校正你的"空氣"腳本啊
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    慵懶
    2010-6-16 04:01 PM
  • 簽到天數: 20 天

    連續簽到: 0 天

    [LV.4]偶爾看看III

     樓主| 發表於 2010-5-22 15:09:13 | 顯示全部樓層
    抱歉忘記補上
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    慵懶
    2010-6-16 04:01 PM
  • 簽到天數: 20 天

    連續簽到: 0 天

    [LV.4]偶爾看看III

     樓主| 發表於 2010-5-22 15:49:56 | 顯示全部樓層
    黑窗上會寫
    RUN_SCRIPT:INFINITY LOOP
    回復 支持 反對

    使用道具 舉報

    該用戶從未簽到

    發表於 2010-5-22 17:52:32 | 顯示全部樓層
    #6
    無限迴圈
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    慵懶
    2010-6-16 04:01 PM
  • 簽到天數: 20 天

    連續簽到: 0 天

    [LV.4]偶爾看看III

     樓主| 發表於 2010-5-22 23:12:12 | 顯示全部樓層
    不好意思
    我不知道改怎麼修正
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    郁悶
    2021-5-4 06:13 PM
  • 簽到天數: 365 天

    連續簽到: 1 天

    [LV.9]以壇為家II

    發表於 2010-5-22 23:17:10 | 顯示全部樓層
    我在校正你的"空氣"腳本啊
    goddameit 發表於 2010年5月22日 03:06 PM


    哈哈
    這個我笑了=  =|||
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2017-12-31 10:40 PM
  • 簽到天數: 27 天

    連續簽到: 1 天

    [LV.4]偶爾看看III

    發表於 2010-5-23 03:57:38 | 顯示全部樓層
    迴圈內加一行sleep 1;
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    慵懶
    2010-6-16 04:01 PM
  • 簽到天數: 20 天

    連續簽到: 0 天

    [LV.4]偶爾看看III

     樓主| 發表於 2010-5-23 07:07:40 | 顯示全部樓層
    function        script        PtNEDExC        {
            function GetAllSwitch {
                    for(set .@i,31;.@i;set .@i,.@i-1)if(getarg(0)&(1<<(.@i-1)))set .@nb,.@nb+1;
                    return .@nb;
            }
            function GetCopyStr {
                    for(set .@i,getarg(0);.@i>0;set .@i,.@i-1)set .@h$,.@h$+getarg(1);
                    return .@h$;
            }
            function GetBetweenStrCS { return GetCopyStr((getarg(4)&1?1getarg(0)-getstrlen((getarg(4)&1?getarg(1):"")+(getarg(4)&2?getarg(2):"")+(getarg(4)&4?getarg(3):"")))/(3-GetAllSwitch(getarg(4)))),getarg(1))+GetCopyStr((getarg(4)&2?1getarg(0)-getstrlen((getarg(4)&1?getarg(1):"")+(getarg(4)&2?getarg(2):"")+(getarg(4)&4?getarg(3):"")))/(3-GetAllSwitch(getarg(4)))),getarg(2))+GetCopyStr((getarg(4)&4?1getarg(0)-getstrlen((getarg(4)&1?getarg(1):"")+(getarg(4)&2?getarg(2):"")+(getarg(4)&4?getarg(3):"")))/(3-GetAllSwitch(getarg(4)))),getarg(3)); }
            function PtGetEID { return getd("$Pt_ExCMenu_"+getarg(0)+"["+getarg(1)+"]"); }
            function ExCNamed {
                    announce "請輸入兌換名稱"+(!getarg(1)?"":"(輸入 NO 則不命名)")+"(請勿超過 35 字元,半形占 1 字元,全形占 2 字元)",bc_self;
            do{
                    input .@Input$;
                    if(getstrlen(.@Input$)>35)announce "請勿超過 35 字元,半形占 1 字元,全形占 2 字元",bc_self,0xff0000;
                    if(getarg(1) && .@Input$ == "NO") {
                            set .@Input$,"";
                            break;
                    }
            }while(getstrlen(.@Input$)>35);
                    setd "$Pt_ExCName_"+getarg(0)+"$",.@Input$;
                    return;
            }
            function PtSetItem {
                    function GetGD { return (getarg(0)?"Del":"Get"); }
                    for(set .@i,0;.@i<2;set .@i,.@i+1) {
                            if(!(getarg(2)&(1<<.@i)))continue;
                            setd ".@Pt_ExC"+GetGD(.@i)+"Item",getd("$Pt_ExC"+GetGD(.@i)+"Item_"+getarg(0)+"["+getarg(1)+"]");
                            setd ".@Pt_ExC"+GetGD(.@i)+"Var",getd("$Pt_ExC"+GetGD(.@i)+"Var_"+getarg(0)+"["+getarg(1)+"]");
                            if(!.@i) {
                                    set .@Pt_ExCGetRefine,getd("$Pt_ExCGetRefine_"+getarg(0)+"["+getarg(1)+"]");
                                    for(set .@c,4;.@c;set .@c,.@c-1)setd ".@Pt_ExCGet"+(.@c-1)+"CardID",getd("$Pt_ExCGet"+(.@c-1)+"CardID_"+getarg(0)+"["+getarg(1)+"]");
                            }
                    do{
                            if(getd(".@Pt_ExC"+GetGD(.@i)+"Var"))select "確定 "+(.@i?"^ff0000付出":"^0000ff換取")+"^000000項目",(.@i?"^ff0000付出":"^0000ff換取")+"^000000 "+getd(".@Pt_ExC"+GetGD(.@i)+"Var")+(getd(".@Pt_ExC"+GetGD(.@i)+"Item")<getarraysize($Pt_TypeName$)?"":" 個"),(getd(".@Pt_ExC"+GetGD(.@i)+"Item")<getarraysize($Pt_TypeName$)?$Pt_TypeName$[getd(".@Pt_ExC"+GetGD(.@i)+"Item")%128]:getitemname(getd(".@Pt_ExC"+GetGD(.@i)+"Item"))+(getiteminfo(getd(".@Pt_ExC"+GetGD(.@i)+"Item"),10)?"["+getiteminfo(getd(".@Pt_ExC"+GetGD(.@i)+"Item"),10)+"]":"")),(.@i || getiteminfo(getd(".@Pt_ExC"+GetGD(.@i)+"Item"),2)!=4 && getiteminfo(getd(".@Pt_ExC"+GetGD(.@i)+"Item"),2)!=5?"::::":" 精煉:"+(.@Pt_ExCGetRefine?"+"+.@Pt_ExCGetRefine:"^888888無^000000")+": 插槽:"+(.@Pt_ExCGet0CardID?getitemname(.@Pt_ExCGet0CardID)+": 插槽:"+(.@Pt_ExCGet1CardID?getitemname(.@Pt_ExCGet1CardID)+": 插槽:"+(.@Pt_ExCGet2CardID?getitemname(.@Pt_ExCGet2CardID)+": 插槽:"+(.@Pt_ExCGet3CardID?getitemname(.@Pt_ExCGet3CardID):"^888888無插卡^000000"):"^888888無插卡^000000:"):"^888888無插卡^000000::"):"^888888無插卡^000000:::")),(getd("$Pt_ExC"+GetGD(.@i)+"Var_"+getarg(0)+"["+getarg(1)+"]")?"^ff0000刪除":"^888888取消")+" "+(.@i?"付出":"換取")+"項目^000000";
                            else set @menu,3;
                            switch(@menu) {
                            case 3:
                                    set .@Menu$,"";
                                    for(set .@j,getarraysize($Pt_TypeName$);.@j;set .@j,.@j-1)set .@Menu$,.@Menu$+(.@i?"^ff0000付出":"^0000ff換取")+"^000000 "+$Pt_TypeName$[getarraysize($Pt_TypeName$)-.@j]+":";
                                    setd ".@Pt_ExC"+GetGD(.@i)+"Item",select(.@Menu$+(.@i?"^ff0000付出":"^0000ff換取")+"^000000 物品 ...")-1;
                                    if(getd(".@Pt_ExC"+GetGD(.@i)+"Item")==getarraysize($Pt_TypeName$)) {
                                            announce "請輸入物品編號",bc_self;
                                    while(1) {
                                            input getd(".@Pt_ExC"+GetGD(.@i)+"Item");
                                            if(getitemname(getd(".@Pt_ExC"+GetGD(.@i)+"Item")) != "null")break;
                                            announce "輸入錯誤,請重新輸入",bc_self,0xff0000;
                                    }
                                    }
                                    if(getd(".@Pt_ExC"+GetGD(.@i)+"Var"))break;
                            case 2:
                                    announce "請輸入 "+(.@i?"需付出":"可換取")+" 的兌換目標",bc_self;
                                    announce "請輸入 "+(.@i?"需付出":"可換取")+" 的 "+(getd(".@Pt_ExC"+GetGD(.@i)+"Item")<getarraysize($Pt_TypeName$)?$Pt_TypeName$[getd(".@Pt_ExC"+GetGD(.@i)+"Item")%128]:getitemname(getd(".@Pt_ExC"+GetGD(.@i)+"Item")))+" 數量",bc_self;
                                    input getd(".@Pt_ExC"+GetGD(.@i)+"Var"),1,2147483647;
                                    break;
                            case 4:
                                    announce "請輸入 "+getitemname(getd(".@Pt_ExC"+GetGD(.@i)+"Item"))+" 的精練程度",bc_self;
                                    input .@Pt_ExCGetRefine;
                                    break;
                            case 9:
                                    deletearray getd("$Pt_ExC"+GetGD(.@i)+"Item_"+getarg(0)+"["+getarg(1)+"]"),1;
                                    deletearray getd("$Pt_ExC"+GetGD(.@i)+"Var_"+getarg(0)+"["+getarg(1)+"]"),1;
                                    if(!.@i) {
                                            deletearray getd("$Pt_ExCGetRefine_"+getarg(0)+"["+getarg(1)+"]"),1;
                                            for(set .@c,4;.@c;set .@c,.@c-1)deletearray getd("$Pt_ExCGet"+(.@c-1)+"CardID_"+getarg(0)+"["+getarg(1)+"]"),1;
                                    }
                                    return;
                            case 1:
                                    set @menu,0;
                                    break;
                            default:
                                    announce "請輸入卡片編號(輸入 0 即為不限制)",bc_self;
                                    set .@slot,@menu-5;
                            while(1) {
                                    input .@Input;
                                    if(!.@Input || getitemname(.@Input) != "null") {
                                            if(.@Input && getiteminfo(.@Input,2)!=6) {
                                                    announce getitemname(.@Input)+" 不是一張卡片,請問是否真的要將 "+getitemname(.@Input)+" 插入 "+getitemname(getd(".@Pt_ExCGetItem"))+" 的插槽中嗎?",bc_self;
                                                    if(select("是!","不是!")==2) {
                                                            announce "請輸入卡片編號(輸入 0 即為不限制)",bc_self;
                                                            continue;
                                                    }
                                            }
                                            setd ".@Pt_ExCGet"+.@slot+"CardID",.@Input;
                                            if(!getd(".@Pt_ExCGet"+.@slot+"CardID") && .@slot < 3)for(set .@c,.@slot;.@c<4;set .@c,.@c+1)setd ".@Pt_ExCGet"+.@c+"CardID",getd(".@Pt_ExCGet"+(.@c+1)+"CardID");
                                            break;
                                    }
                                    announce "輸入錯誤,請重新輸入(輸入 0 即為不限制)",bc_self,0xff0000;
                            }
                            }
                    }while(@menu);
                    }
                    if(getd("$Pt_ExCName_"+getarg(0)+"$")=="" && (getstrlen((.@Pt_ExCGetItem<getarraysize($Pt_TypeName$)?$Pt_TypeName$[.@Pt_ExCGetItem%128].@Pt_ExCGetRefine?"+"+.@Pt_ExCGetRefine:"")+getitemname(.@Pt_ExCGetItem)+(getiteminfo(.@Pt_ExCGetItem,10)?"["+getiteminfo(.@Pt_ExCGetItem,10)+"]":"")+(.@Pt_ExCGet0CardID?"+":""))+.@Pt_ExCGetVar)>$@Pt_GetLen || getstrlen((.@Pt_ExCDelItem<getarraysize($Pt_TypeName$)?$Pt_TypeName$[.@Pt_ExCDelItem%128]:getitemname(.@Pt_ExCDelItem))+.@Pt_ExCDelVar)>31-$@Pt_GetLen || getarg(1)))ExCNamed getarg(0),0;
                   
                    for(set .@i,0;.@i<2;set .@i,.@i+1) {
                            if(!(getarg(2)&(1<<.@i)))continue;
                            setd "$Pt_ExC"+GetGD(.@i)+"Item_"+getarg(0)+"["+getarg(1)+"]",getd(".@Pt_ExC"+GetGD(.@i)+"Item");
                            setd "$Pt_ExC"+GetGD(.@i)+"Var_"+getarg(0)+"["+getarg(1)+"]",getd(".@Pt_ExC"+GetGD(.@i)+"Var");
                            if(!.@i) {
                                    setd "$Pt_ExCGetRefine_"+getarg(0)+"["+getarg(1)+"]",.@Pt_ExCGetRefine;
                                    for(set .@c,4;.@c;set .@c,.@c-1)setd "$Pt_ExCGet"+(.@c-1)+"CardID_"+getarg(0)+"["+getarg(1)+"]",getd(".@Pt_ExCGet"+(.@c-1)+"CardID");
                            }
                    }
            }


    方便幫忙看一下嗎
    裡面好像很多迴圈
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    慵懶
    2010-6-16 04:01 PM
  • 簽到天數: 20 天

    連續簽到: 0 天

    [LV.4]偶爾看看III

     樓主| 發表於 2010-5-23 07:08:01 | 顯示全部樓層
    set .@EID,PtGetEID(getarg(0),getarg(1));
            if(!getd("$Pt_ExCONOFF_"+.@EID) && !getd("$Pt_ExCAllVar_"+.@EID))setd "$Pt_ExCAllVar_"+.@EID,-1;
            if(!getd("$Pt_ExCGetVar_"+.@EID) || !getd("$Pt_ExCDelVar_"+.@EID))PtSetItem .@EID,0,3;
    while(1){
            set .@GSize,getarraysize(getd("$Pt_ExCGetVar_"+.@EID));
            set .@DSize,getarraysize(getd("$Pt_ExCDelVar_"+.@EID));
            if(!.@GSize || !.@DSize)set @menu,8+.@GSize+.@DSize;
            else {
                    deletearray .@menu$,getarraysize(.@menu$);
                    deletearray .@Page[1],getarraysize(.@Page)-1;
                   
                    for(set .@i,.@GSize;.@i;set .@i,.@i-1) {
                            for(set .@Index,0;getstrlen(.@menu$[.@Index])>1900;set .@Index,.@Index+1)continue;
                            if(.@Index && .@menu$[.@Index] == "")set .@Page[.@Index],.@GSize-.@i;
                            set .@menu$[.@Index],.@menu$[.@Index]+":^440088換取 ^000000"+GetBetweenStrCS(35,(getd("$Pt_ExCGetItem_"+.@EID+"["+(.@i-1)+"]")<getarraysize($Pt_TypeName$)?$Pt_TypeName$[getd("$Pt_ExCGetItem_"+.@EID+"["+(.@i-1)+"]")%128]getd("$Pt_ExCGetRefine_"+.@EID+"["+(.@i-1)+"]")?"+"+getd("$Pt_ExCGetRefine_"+.@EID+"["+(.@i-1)+"]"):"")+getitemname(getd("$Pt_ExCGetItem_"+.@EID+"["+(.@i-1)+"]"))+(getiteminfo(getd("$Pt_ExCGetItem_"+.@EID+"["+(.@i-1)+"]"),10)?"["+getiteminfo(getd("$Pt_ExCGetItem_"+.@EID+"["+(.@i-1)+"]"),10)+"]":"")+(getd("$Pt_ExCGet0CardID_"+.@EID+"["+(.@i-1)+"]")?"+":"")),".",getd("$Pt_ExCGetVar_"+.@EID+"["+(.@i-1)+"]"),5);
                    }
                   
                    for(set .@i,.@DSize;.@i;set .@i,.@i-1) {
                            for(set .@Index,0;getstrlen(.@menu$[.@Index])>1900;set .@Index,.@Index+1)continue;
                            if(.@Index && .@menu$[.@Index] == "")set .@Page[.@Index],.@GSize+.@DSize-.@i;
                            set .@menu$[.@Index],.@menu$[.@Index]+":^880044付出 ^000000"+GetBetweenStrCS(35,(getd("$Pt_ExCDelItem_"+.@EID+"["+(.@i-1)+"]")<getarraysize($Pt_TypeName$)?$Pt_TypeName$[getd("$Pt_ExCDelItem_"+.@EID+"["+(.@i-1)+"]")%128]:getitemname(getd("$Pt_ExCDelItem_"+.@EID+"["+(.@i-1)+"]"))),".",getd("$Pt_ExCDelVar_"+.@EID+"["+(.@i-1)+"]"),5);
                    }
                    while(.@Page && !.@Page[.@Page])set .@Page,.@Page-1;
                    set .@Page[(getarraysize(.@Page)?getarraysize(.@Page):1)],.@GSize+.@DSize;
            ChangePage:
                    select (getd("$Pt_ExCONOFF_"+.@EID)&2?"編輯完成:狀態:"+(getd("$Pt_ExCONOFF_"+.@EID)&1?"^888888關閉^000000":"^0000ff啟動^000000"):"設定完成:")+":名稱:"+(getd("$Pt_ExCName_"+.@EID+"$")==""?"^888888未命名^000000":getd("$Pt_ExCName_"+.@EID+"$"))+":"+(.@GSize+.@DSize==256?"":"^0000ff新增 ...^000000"),(.@Page?"上一頁":"")+.@menu$[.@Page],(.@Page[.@Page+2]?"下一頁":""),(getd("$Pt_ExCAllVar_"+.@EID)?"":"^ff0000")+"存貨:"+(getd("$Pt_ExCAllVar_"+.@EID)==-1?"^888888無限量":"剩餘 "+getd("$Pt_ExCAllVar_"+.@EID)+" 份"),(getd("$Pt_ExCONOFF_"+.@EID)&2?"^ff0000刪除":"^888888取消新")+"兌換^000000";
            }
            if(@menu == 1) {
                    setd "$Pt_ExCONOFF_"+.@EID,getd("$Pt_ExCONOFF_"+.@EID)|2;
                    return;
            }
            else if(@menu == 2)setd "$Pt_ExCONOFF_"+.@EID,getd("$Pt_ExCONOFF_"+.@EID)^1;
            else if(@menu == 3)ExCNamed .@EID,(.@GSize==1 && .@DSize==1 && getstrlen((getd("$Pt_ExCGetItem_"+.@EID)<getarraysize($Pt_TypeName$)?$Pt_TypeName$[getd("$Pt_ExCGetItem_"+.@EID)%128]getd("$Pt_ExCGetRefine_"+.@EID)?"+"+getd("$Pt_ExCGetRefine_"+.@EID):"")+getitemname(getd("$Pt_ExCGetItem_"+.@EID))+(getiteminfo(getd("$Pt_ExCGetItem_"+.@EID),10)?"["+getiteminfo(getd("$Pt_ExCGetItem_"+.@EID),10)+"]":"")+(getd("$Pt_ExCGet0CardID_"+.@EID)?"+":""))+getd("$Pt_ExCGetVar_"+.@EID))<=$@Pt_GetLen && getstrlen((getd("$Pt_ExCDelItem_"+.@EID)<getarraysize($Pt_TypeName$)?$Pt_TypeName$[getd("$Pt_ExCDelItem_"+.@EID)%128]:getitemname(getd("$Pt_ExCDelItem_"+.@EID)))+getd("$Pt_ExCDelVar_"+.@EID))<=31-$@Pt_GetLen);
            else if(@menu == 4) {
                    if(prompt("^0000ff新增^000000 換取...","^0000ff新增^000000 付出...","返回")<3)PtSetItem .@EID,(@menu==1?.@GSize:.@DSize),3&@menu;
            }
            else if(@menu == 5) {
                    set .@Page,.@Page-1;
                    goto ChangePage;
            }
            else if(@menu < .@Page[.@Page+1]-.@Page[.@Page]+6) {
                    if(@menu < .@GSize-.@Page[.@Page]+6)PtSetItem .@EID,5+.@GSize-@menu-.@Page[.@Page],1;
                    else PtSetItem .@EID,5+.@GSize+.@DSize-@menu-.@Page[.@Page],2;
            }
            else if(@menu == .@Page[.@Page+1]-.@Page[.@Page]+6) {
                    set .@Page,.@Page+1;
                    goto ChangePage;
            }
            else if(@menu == .@Page[.@Page+1]-.@Page[.@Page]+7) {
                    announce "請輸入要提供的數量(輸入 -1 即為無限量)",bc_self;
                    input getd("$Pt_ExCAllVar_"+.@EID),-1,2147483647;
            }
            else {
                    callfunc "tItemControlRun",20,getarg(0),getarg(1);
                    return;
            }
    }
    }
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2019-7-27 08:20 PM
  • 簽到天數: 95 天

    連續簽到: 1 天

    [LV.6]常住居民II

    發表於 2010-5-23 07:42:59 | 顯示全部樓層
    哈 太亂看不懂= =

    用代碼貼上來好嗎
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    慵懶
    2010-6-16 04:01 PM
  • 簽到天數: 20 天

    連續簽到: 0 天

    [LV.4]偶爾看看III

     樓主| 發表於 2010-5-23 08:02:04 | 顯示全部樓層
    本帖最後由 傲殺 於 2010年5月23日 08:22 AM 編輯

    用代碼貼上來不是一樣的情況嗎= =
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    慵懶
    2010-6-16 04:01 PM
  • 簽到天數: 20 天

    連續簽到: 0 天

    [LV.4]偶爾看看III

     樓主| 發表於 2010-5-23 08:07:18 | 顯示全部樓層
    本帖最後由 傲殺 於 2010年5月23日 08:23 AM 編輯
    1. function        script        PtNEDExC        {
    2.         function GetAllSwitch {
    3.                 for(set .@i,31;.@i;set .@i,.@i-1)if(getarg(0)&(1<<(.@i-1)))set .@nb,.@nb+1;
    4.                 return .@nb;
    5.         }
    6.         function GetCopyStr {
    7.                 for(set .@i,getarg(0);.@i>0;set .@i,.@i-1)set .@h$,.@hgetarg(1);
    8.                 return .@h$;
    9.         }
    10.         function GetBetweenStrCS { return GetCopyStr((getarg(4)&1?1:(getarg(0)-getstrlen((getarg(4)&1?getarg(1):"")+(getarg(4)&2?getarg(2):"")+(getarg(4)&4?getarg(3):"")))/(3-GetAllSwitch(getarg(4)))),getarg(1))+GetCopyStr((getarg(4)&2?1:(getarg(0)-getstrlen((getarg(4)&1?getarg(1):"")+(getarg(4)&2?getarg(2):"")+(getarg(4)&4?getarg(3):"")))/(3-GetAllSwitch(getarg(4)))),getarg(2))+GetCopyStr((getarg(4)&4?1:(getarg(0)-getstrlen((getarg(4)&1?getarg(1):"")+(getarg(4)&2?getarg(2):"")+(getarg(4)&4?getarg(3):"")))/(3-GetAllSwitch(getarg(4)))),getarg(3)); }
    11.         function PtGetEID { return getd("$Pt_ExCMenu_"+getarg(0)+"["+getarg(1)+"]"); }
    12.         function ExCNamed {
    13.                 announce "請輸入兌換名稱"+(!getarg(1)?"":"(輸入 NO 則不命名)")+"(請勿超過 35 字元,半形占 1 字元,全形占 2 字元)",bc_self;
    14.         do{
    15.                 input .@Input$;
    16.                 if(getstrlen(.@Input$)>35)announce "請勿超過 35 字元,半形占 1 字元,全形占 2 字元",bc_self,0xff0000;
    17.                 if(getarg(1) && .@Input$ == "NO") {
    18.                         set .@Input$,"";
    19.                         break;
    20.                 }
    21.         }while(getstrlen(.@Input$)>35);
    22.                 setd "$Pt_ExCName_"+getarg(0)+"$",.@Input$;
    23.                 return;
    24.         }
    25.         function PtSetItem {
    26.                 function GetGD { return (getarg(0)?"Del":"Get"); }
    27.                 for(set .@i,0;.@i<2;set .@i,.@i+1) {
    28.                         if(!(getarg(2)&(1<<.@i)))continue;
    29.                         setd ".@Pt_ExC"+GetGD(.@i)+"Item",getd("$Pt_ExC"+GetGD(.@i)+"Item_"+getarg(0)+"["+getarg(1)+"]");
    30.                         setd ".@Pt_ExC"+GetGD(.@i)+"Var",getd("$Pt_ExC"+GetGD(.@i)+"Var_"+getarg(0)+"["+getarg(1)+"]");
    31.                         if(!.@i) {
    32.                                 set .@Pt_ExCGetRefine,getd("$Pt_ExCGetRefine_"+getarg(0)+"["+getarg(1)+"]");
    33.                                 for(set .@c,4;.@c;set .@c,.@c-1)setd ".@Pt_ExCGet"+(.@c-1)+"CardID",getd("$Pt_ExCGet"+(.@c-1)+"CardID_"+getarg(0)+"["+getarg(1)+"]");
    34.                         }
    35.                 do{
    36.                         if(getd(".@Pt_ExC"+GetGD(.@i)+"Var"))select "確定 "+(.@i?"^ff0000付出":"^0000ff換取")+"^000000項目",(.@i?"^ff0000付出":"^0000ff換取")+"^000000 "+getd(".@Pt_ExC"+GetGD(.@i)+"Var")+(getd(".@Pt_ExC"+GetGD(.@i)+"Item")<getarraysize($Pt_TypeName$)?"":" 個"),(getd(".@Pt_ExC"+GetGD(.@i)+"Item")<getarraysize($Pt_TypeName$)?$Pt_TypeName$[getd(".@Pt_ExC"+GetGD(.@i)+"Item")%128]:getitemname(getd(".@Pt_ExC"+GetGD(.@i)+"Item"))+(getiteminfo(getd(".@Pt_ExC"+GetGD(.@i)+"Item"),10)?"["+getiteminfo(getd(".@Pt_ExC"+GetGD(.@i)+"Item"),10)+"]":"")),(.@i || getiteminfo(getd(".@Pt_ExC"+GetGD(.@i)+"Item"),2)!=4 && getiteminfo(getd(".@Pt_ExC"+GetGD(.@i)+"Item"),2)!=5?"::::":" 精煉:"+(.@Pt_ExCGetRefine?"+"+.@Pt_ExCGetRefine:"^888888無^000000")+": 插槽:"+(.@Pt_ExCGet0CardID?getitemname(.@Pt_ExCGet0CardID)+": 插槽:"+(.@Pt_ExCGet1CardID?getitemname(.@Pt_ExCGet1CardID)+": 插槽:"+(.@Pt_ExCGet2CardID?getitemname(.@Pt_ExCGet2CardID)+": 插槽:"+(.@Pt_ExCGet3CardID?getitemname(.@Pt_ExCGet3CardID):"^888888無插卡^000000"):"^888888無插卡^000000:"):"^888888無插卡^000000::"):"^888888無插卡^000000:::")),(getd("$Pt_ExC"+GetGD(.@i)+"Var_"+getarg(0)+"["+getarg(1)+"]")?"^ff0000刪除":"^888888取消")+" "+(.@i?"付出":"換取")+"項目^000000";
    37.                         else set @menu,3;
    38.                         switch(@menu) {
    39.                         case 3:
    40.                                 set .@Menu$,"";
    41.                                 for(set .@j,getarraysize($Pt_TypeName$);.@j;set .@j,.@j-1)set .@Menu$,.@Menu(.@i?"^ff0000付出":"^0000ff換取")+"^000000 "+$Pt_TypeName$[getarraysize($Pt_TypeName$)-.@j]+":";
    42.                                 setd ".@Pt_ExC"+GetGD(.@i)+"Item",select(.@Menu(.@i?"^ff0000付出":"^0000ff換取")+"^000000 物品 ...")-1;
    43.                                 if(getd(".@Pt_ExC"+GetGD(.@i)+"Item")==getarraysize($Pt_TypeName$)) {
    44.                                         announce "請輸入物品編號",bc_self;
    45.                                 while(1) {
    46.                                         input getd(".@Pt_ExC"+GetGD(.@i)+"Item");
    47.                                         if(getitemname(getd(".@Pt_ExC"+GetGD(.@i)+"Item")) != "null")break;
    48.                                         announce "輸入錯誤,請重新輸入",bc_self,0xff0000;
    49.                                 }
    50.                                 }
    51.                                 if(getd(".@Pt_ExC"+GetGD(.@i)+"Var"))break;
    52.                         case 2:
    53.                                 announce "請輸入 "+(.@i?"需付出":"可換取")+" 的兌換目標",bc_self;
    54.                                 announce "請輸入 "+(.@i?"需付出":"可換取")+" 的 "+(getd(".@Pt_ExC"+GetGD(.@i)+"Item")<getarraysize($Pt_TypeName$)?$Pt_TypeName$[getd(".@Pt_ExC"+GetGD(.@i)+"Item")%128]:getitemname(getd(".@Pt_ExC"+GetGD(.@i)+"Item")))+" 數量",bc_self;
    55.                                 input getd(".@Pt_ExC"+GetGD(.@i)+"Var"),1,2147483647;
    56.                                 break;
    57.                         case 4:
    58.                                 announce "請輸入 "+getitemname(getd(".@Pt_ExC"+GetGD(.@i)+"Item"))+" 的精練程度",bc_self;
    59.                                 input .@Pt_ExCGetRefine;
    60.                                 break;
    61.                         case 9:
    62.                                 deletearray getd("$Pt_ExC"+GetGD(.@i)+"Item_"+getarg(0)+"["+getarg(1)+"]"),1;
    63.                                 deletearray getd("$Pt_ExC"+GetGD(.@i)+"Var_"+getarg(0)+"["+getarg(1)+"]"),1;
    64.                                 if(!.@i) {
    65.                                         deletearray getd("$Pt_ExCGetRefine_"+getarg(0)+"["+getarg(1)+"]"),1;
    66.                                         for(set .@c,4;.@c;set .@c,.@c-1)deletearray getd("$Pt_ExCGet"+(.@c-1)+"CardID_"+getarg(0)+"["+getarg(1)+"]"),1;
    67.                                 }
    68.                                 return;
    69.                         case 1:
    70.                                 set @menu,0;
    71.                                 break;
    72.                         default:
    73.                                 announce "請輸入卡片編號(輸入 0 即為不限制)",bc_self;
    74.                                 set .@slot,@menu-5;
    75.                         while(1) {
    76.                                 input .@Input;
    77.                                 if(!.@Input || getitemname(.@Input) != "null") {
    78.                                         if(.@Input && getiteminfo(.@Input,2)!=6) {
    79.                                                 announce getitemname(.@Input)+" 不是一張卡片,請問是否真的要將 "+getitemname(.@Input)+" 插入 "+getitemname(getd(".@Pt_ExCGetItem"))+" 的插槽中嗎?",bc_self;
    80.                                                 if(select("是!","不是!")==2) {
    81.                                                         announce "請輸入卡片編號(輸入 0 即為不限制)",bc_self;
    82.                                                         continue;
    83.                                                 }
    84.                                         }
    85.                                         setd ".@Pt_ExCGet"+.@slot+"CardID",.@Input;
    86.                                         if(!getd(".@Pt_ExCGet"+.@slot+"CardID") && .@slot < 3)for(set .@c,.@slot;.@c<4;set .@c,.@c+1)setd ".@Pt_ExCGet"+.@c+"CardID",getd(".@Pt_ExCGet"+(.@c+1)+"CardID");
    87.                                         break;
    88.                                 }
    89.                                 announce "輸入錯誤,請重新輸入(輸入 0 即為不限制)",bc_self,0xff0000;
    90.                         }
    91.                         }
    92.                 }while(@menu);
    93.                 }
    94.                 if(getd("$Pt_ExCName_"+getarg(0)+"$")=="" && (getstrlen((.@Pt_ExCGetItem<getarraysize($Pt_TypeName$)?$Pt_TypeName$[.@Pt_ExCGetItem%128]:(.@Pt_ExCGetRefine?"+"+.@Pt_ExCGetRefine:"")+getitemname(.@Pt_ExCGetItem)+(getiteminfo(.@Pt_ExCGetItem,10)?"["+getiteminfo(.@Pt_ExCGetItem,10)+"]":"")+(.@Pt_ExCGet0CardID?"+":""))+.@Pt_ExCGetVar)>$@Pt_GetLen || getstrlen((.@Pt_ExCDelItem<getarraysize($Pt_TypeName$)?$Pt_TypeName$[.@Pt_ExCDelItem%128]:getitemname(.@Pt_ExCDelItem))+.@Pt_ExCDelVar)>31-$@Pt_GetLen || getarg(1)))ExCNamed getarg(0),0;
    95.                
    96.                 for(set .@i,0;.@i<2;set .@i,.@i+1) {
    97.                         if(!(getarg(2)&(1<<.@i)))continue;
    98.                         setd "$Pt_ExC"+GetGD(.@i)+"Item_"+getarg(0)+"["+getarg(1)+"]",getd(".@Pt_ExC"+GetGD(.@i)+"Item");
    99.                         setd "$Pt_ExC"+GetGD(.@i)+"Var_"+getarg(0)+"["+getarg(1)+"]",getd(".@Pt_ExC"+GetGD(.@i)+"Var");
    100.                         if(!.@i) {
    101.                                 setd "$Pt_ExCGetRefine_"+getarg(0)+"["+getarg(1)+"]",.@Pt_ExCGetRefine;
    102.                                 for(set .@c,4;.@c;set .@c,.@c-1)setd "$Pt_ExCGet"+(.@c-1)+"CardID_"+getarg(0)+"["+getarg(1)+"]",getd(".@Pt_ExCGet"+(.@c-1)+"CardID");
    103.                         }
    104.                 }
    105.         }
    複製代碼
    回復 支持 反對

    使用道具 舉報

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

    本版積分規則

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

    GMT+8, 2025-7-6 12:23 PM , Processed in 0.195096 second(s), 23 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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