jhg681291 發表於 2013-11-14 21:45:03

徵求一位腳本高手幫我修改

我已經測試過好幾次了 還是無法成功
我想在這裡面 加入 防爆道具

我已經預設防爆道具了 只是 我看了 新版跟舊版的腳本
還是搞不出來
        //以下設定為:防具 , 一級武器 , 二級武器 , 三級武器 , 四級武器 , { Type , Type2 }

        //精煉需要的礦石
        //Type = 失敗時扣多少的精練值
        //Type2 = Script 判斷用勿做更改
        setarray .@Item1,985,1010,1011,984,984,0,1;                //一般礦石
        setarray .@Item2,7619,7620,7620,7620,7620,0,2;        //濃縮礦石
        setarray .@Item3,6241,6240,6240,6240,6240,1,3;        //高濃縮礦石
        setarray .@Item4,6223,6224,6224,6224,6224,3,4;        //鈣
        setarray .@Item5,6225,6226,6226,6226,6226,1,4;        //高密度鈣
       
        //精煉需要的費用
        setarray .@Zeny,2000,50,200,5000,20000;

        //使用濃縮礦石所增加的機率
        setarray .@AddRand,10,10,10,10,10;

        //每多少點的素質可以增加 1% 的精練成功機率
        //如要關閉此功能請設定為 0 即可
        //Type = 透過素質增加的機率不可超過幾% ( 預設 10% )
        //Str
        setarray .@StrAddRand,0,24,30,36,42,10;
        //Agi
        setarray .@AgiAddRand,15,22,29,37,50,10;
        //Vit
        setarray .@VitAddRand,24,0,0,0,0,10;
        //Int
        setarray .@IntAddRand,15,20,25,30,30,10;
        //Dex
        setarray .@DexAddRand,17,21,27,35,37,10;
        //Luk
        setarray .@LukAddRand,12,12,12,12,12,10;
        //防爆物品(預設為傑勒比結晶,請自行修改)
        set @stone,6438;        setarray .@Equip$,"頭上","衣服","左手","右手","掛披","鞋子","飾品","飾品","頭中","頭下";
        for ( set @i,1; @i <= 10; set @i,@i+1 ) {
                if ( getequipname(@i) ) {
                        setd "@EquipName"+@i+"$",.@Equip$[@i]+"–^FF0000沒有裝備物品^000000";
                } else {
                        if ( getequipisenableref(@i) ) {
                                setd "@EquipName"+@i+"$",.@Equip$[@i]+"–^0000FF+"+getequiprefinerycnt(@i)+" "+getequipname(@i)+"^000000["+getitemslots(getequipid(@i))+"S]";
                        } else {
                                setd "@EquipName"+@i+"$",.@Equip$[@i]+"–^0000FF"+getequipname(@i)+"^000000["+getitemslots(getequipid(@i))+"S]";
                        }
                }
        }
        if ( @RItem ) {
                set @ReRItem,@RItem;
                set @RItem,select("^FF0000精煉記憶位置^000000[^0000FF"+.@Equip$[@ReRItem]+"^000000]",@EquipName1$,@EquipName2$,@EquipName3$,@EquipName4$,@EquipName5$,@EquipName6$,@EquipName7$,@EquipName8$,@EquipName9$,@EquipName10$)-1;
                if ( @RItem == 0 ) {
                        set @RItem,@ReRItem;
                        set @ReRItem,0;
                }
        } else {
                set @RItem,select(@EquipName1$,@EquipName2$,@EquipName3$,@EquipName4$,@EquipName5$,@EquipName6$,@EquipName7$,@EquipName8$,@EquipName9$,@EquipName10$);
        }
        for ( set @i,1; @i <= 10; set @i,@i+1 ) {
                setd "@EquipName"+@i+"$","";
        }
        if ( getequipisequiped(@RItem) == 0 ) {
                mes $@RrcssNPC_Str$;
                mes "這個位置還沒有裝備物品唷!";
                close;
        }
        if ( getequipisenableref(@RItem) == 0 ) {
                mes $@RrcssNPC_Str$;
                mes "這個物品是無法精煉的唷!";
                close;
        }
        if ( getequiprefinerycnt(@RItem) >= 20 ) {
                mes $@RrcssNPC_Str$;
                mes "這個物品已經精煉到最高等級了唷!";
                close;
        }
        copyarray .@Item,.@Item1,7;

Refine_Rand:

        set @AddRand,getequippercentrefinery(@RItem);
        if(.@StrAddRand){if((getbattlestatus(getcharid(3),1)/.@StrAddRand)>.@StrAddRand){set @AddRand,@AddRand+.@StrAddRand;}else{set @AddRand,@AddRand+(getbattlestatus(getcharid(3),1)/.@StrAddRand);}}
        if(.@AgiAddRand){if((getbattlestatus(getcharid(3),2)/.@AgiAddRand)>.@AgiAddRand){set @AddRand,@AddRand+.@AgiAddRand;}else{set @AddRand,@AddRand+(getbattlestatus(getcharid(3),2)/.@AgiAddRand);}}
        if(.@VitAddRand){if((getbattlestatus(getcharid(3),3)/.@VitAddRand)>.@VitAddRand){set @AddRand,@AddRand+.@VitAddRand;}else{set @AddRand,@AddRand+(getbattlestatus(getcharid(3),3)/.@VitAddRand);}}
        if(.@IntAddRand){if((getbattlestatus(getcharid(3),4)/.@IntAddRand)>.@IntAddRand){set @AddRand,@AddRand+.@IntAddRand;}else{set @AddRand,@AddRand+(getbattlestatus(getcharid(3),4)/.@IntAddRand);}}
        if(.@DexAddRand){if((getbattlestatus(getcharid(3),5)/.@DexAddRand)>.@DexAddRand){set @AddRand,@AddRand+.@DexAddRand;}else{set @AddRand,@AddRand+(getbattlestatus(getcharid(3),5)/.@DexAddRand);}}
        if(.@LukAddRand){if((getbattlestatus(getcharid(3),6)/.@LukAddRand)>.@LukAddRand){set @AddRand,@AddRand+.@LukAddRand;}else{set @AddRand,@AddRand+(getbattlestatus(getcharid(3),6)/.@LukAddRand);}}
        goto Refine_Ing;

Refine_Check:

        copyarray .@Item,.@Item1,7;
        if ( getequippercentrefinery(@RItem) < 100 ) {
                mes $@RrcssNPC_Str$+"[^0000FF"+@AddRand+"%^000000]";
                mes "[原機率^FF0000"+getequippercentrefinery(@RItem)+"%^000000 , 素質增加^FF0000"+(@AddRand-getequippercentrefinery(@RItem))+"%^000000]";
                mes "物品已經達到它的^FF0000安定值^000000,";
                mes "繼續精煉可能會使裝備損壞,";
                mes "即使這樣您還要繼續精煉嗎?";
                next;
                if (getequiprefinerycnt(@RItem) < 10) {
                        switch(select("使用^0000FF"+getitemname(.@Item1)+"^000000!","使用^0000FF"+getitemname(.@Item2)+"^000000!","使用^0000FF"+getitemname(.@Item3)+"^000000!","不了!")) {
                        case 1:
                                break;
                        case 2:
                                copyarray .@Item,.@Item2,7;
                                mes $@RrcssNPC_Str$;
                                if ( @AddRand >= 100 ) {
                                        mes "只有精煉成功機率低於^FF0000100%^000000的物品才可以";
                                        mes "使用^0000FF"+getitemname(.@Item)+"^000000精煉唷!";
                                        close;
                                }
                                mes "使用^0000FF"+getitemname(.@Item)+"^000000精煉";
                                mes "額外增加精煉成功率^FF0000"+.@AddRand+"%^000000!";
                                next;
                                break;
                        case 3:
                                copyarray .@Item,.@Item3,7;
                                if ( getequiprefinerycnt(@RItem) < 8 || getequiprefinerycnt(@RItem) >= 10 ) {
                                        mes $@RrcssNPC_Str$;
                                        mes "只有 ^FF0000+8^000000 到 ^FF0000+10^000000 的物品才可以";
                                        mes "使用^0000FF"+getitemname(.@Item)+"^000000精煉唷!";
                                        close;
                                }
                                break;
                        case 4:
                                close;
                        }
                } else {
                        switch(select("使用^0000FF"+getitemname(.@Item4)+"^000000!","使用^0000FF"+getitemname(.@Item5)+"^000000!","不了!")) {
                        case 1:
                                copyarray .@Item,.@Item4,7;
                                break;
                        case 2:
                                copyarray .@Item,.@Item5,7;
                                break;
                        case 3:
                                close;
                        }
                }
        }

Refine_Ing:

        if (getequippercentrefinery(@RItem) < 100 || .@Item == 0 ) {
                if ( ( .@Item == 4 && getequiprefinerycnt(@RItem) < 10 ) ||
                        ( .@Item == 3 && ( getequiprefinerycnt(@RItem) < 8 || getequiprefinerycnt(@RItem) >= 10 ) ) ||
                        ( .@Item == 2 &&getequiprefinerycnt(@RItem) >= 10 ) ||
                        ( .@Item == 1 &&getequiprefinerycnt(@RItem) >= 10 ) ||
                        ( .@Item == 0 ) ) {
                        goto Refine_Check;
                }
        }
        if ( @AddRand >= 100 ) {
                set @AddRand,100;
        }
        if ( .@Item == 2 ) {
                set @AddRand,@AddRand+.@AddRand;
        }
        mes $@RrcssNPC_Str$+"[^0000FF"+@AddRand+"%^000000]";
        mes "精煉 ^0000FF+"+getequiprefinerycnt(@RItem)+" "+getequipname(@RItem)+"^000000["+getitemslots(getequipid(@RItem))+"S] 這項物品";
        mes "需要 ^FF0000"+getitemname(.@Item)+" 1^000000 個";
        mes " 和 ^FF0000金錢 "+.@Zeny+"^000000 z";
        next;
        if (select("是的!","不了!")==2) {
                close;
        }
        mes $@RrcssNPC_Str$;
        mes "鏘!鏘!鏘!";
        next;
        if ( countitem(.@Item) < 1 || Zeny < .@Zeny ) {
                mes $@RrcssNPC_Str$;
                mes "抱歉您身上的物品不足!";
                close;
        }
        set Zeny,Zeny - .@Zeny;
        delitem .@Item,1;
        if ( @AddRand >= rand(100) ) {
                successrefitem @RItem;
                if ( getequiprefinerycnt(@RItem) < 20 ) {
                        mes $@RrcssNPC_Str$;
                        mes "請問您還要繼續精煉嗎?";
                        next;
                        if (select("是的!","不了!")==1) {
                                        goto Refine_Rand;
                        }
                }
                mes $@RrcssNPC_Str$;
                mes "恭喜您物品已精煉成功了!";
        } else {
                mes $@RrcssNPC_Str$;
                mes "抱歉您的物品精煉失敗了!";
                if ( .@Item ) {
                        failedrefitem2 @RItem,.@Item;
                } else {
                        failedrefitem @RItem;
                }
        }
        close;
}

jhg681291 發表於 2013-11-16 20:56:12

以自行完成腳本了
請板主幫忙刪帖 謝謝
頁: [1]
查看完整版本: 徵求一位腳本高手幫我修改