rx8gtr3563 發表於 2014-8-30 02:21:50

請各位大大教我設定輪迴限制

本帖最後由 rx8gtr3563 於 2014-8-30 03:39 PM 編輯

function        script        Job_System_Turn        {

if(ReturnSystem)
        callfunc "ReturnSystem";

        mes "[輪迴系統]";
        mes "加入輪迴後";
        mes "無法使用直接轉職服務";
        mes "^ff0000*   一旦加入後無法還原^000000";
        mes "^00ff00------------------------------^000000";
        mes "加入後等級及職業恢復為初學者狀態";
        mes "開放互轉";
        mes "^00ff00------------------------------^000000";
        mes "但隨著輪迴次數";
        mes "可以增加隨機素質";
        mes "^00ff00------------------------------^000000";
        mes "輪迴次數上限:^ff0000輪迴100^000000";
        mes "如 :";
        mes "   我輪迴次數為 100";
        mes "   100點將隨機分布於下方";
        mes "   STR.AGI.VIT.INT.DEX.LUK";
        mes "   六種不同的素質上";
        next;
        menu
                "取消",-,
                "加入",A;

        close;

A:

        jobchange 4001;
        resetlvl 1;
        set joblevel,1;
        set ReturnSystem,1;
        set statuspoint,300;
        mes "完成.";
        mes "轉職、技能等服務";
        mes "請點輪迴系統";
        close;

}

function        script        ReturnSystem        {

        mes "[輪迴系統]";
        mes "請選擇你想要的服務";
        mes "^00ff00------------------------------^000000";
        mes "*   99 等即可輪迴";
        mes "^00ff00------------------------------^000000";
        mes "輪迴次數到達 ^0000ff" +ReturnNumber+ "^000000 次";
        mes "^00ff00------------------------------^000000";
        if(ReturnStr)        mes "Str + "+ReturnStr;
        if(ReturnAgi)        mes "Agi + "+ReturnAgi;
        if(ReturnVit)        mes "Vit + "+ReturnVit;
        if(ReturnInt)        mes "Int + "+ReturnInt;
        if(ReturnDex)        mes "Dex + "+ReturnDex;
        if(ReturnLuk)        mes "Luk + "+ReturnLuk;
        mes "^00ff00------------------------------^000000";
        next;
        switch(select("轉職","輪迴"))
        {
                case 1:
                        callfunc "Return_Job";
                case 2:
                        callfunc "Return";
        }

}

function        script        Return        {

        if ( skillpoint > 0 ) {
                mes "[輪迴系統]";
                mes "技能點數有剩餘的點數無法進行轉生!";
                mes "再打一次 allskill";
                close;
        }

if( BaseLevel < 99 )
{
        mes "[輪迴系統]";
        mes "等級^FF000099級^000000才能進行轉生!";
        close;
}

        mes "深呼吸";
        mes "輪迴次數越高";
        mes "系統執行速度越慢";
        mes "請耐心等候";
        next;

        if(ReturnStr)        set ReturnStr,0;
        if(ReturnAgi)        set ReturnAgi,0;
        if(ReturnVit)        set ReturnVit,0;
        if(ReturnInt)        set ReturnInt,0;
        if(ReturnDex)        set ReturnDex,0;
        if(ReturnLuk)        set ReturnLuk,0;
        jobchange 4001;
        resetlvl 1;
        set joblevel,1;
        set ReturnNumber,ReturnNumber + 1;
        set statuspoint,300;

set .@i,ReturnNumber;


        mes "^ff0000系統處理中^000000";
        mes "請勿做任何動作";
        mes "^00ff00------------------------------^000000";
        mes "出現 ^0000ff下一頁^000000";
        mes "表示處理完成";
        mes "^00ff00------------------------------^000000";

do
{

        set .@a,rand(1,6);
        if(.@a==1)        set ReturnStr,ReturnStr+1;
        if(.@a==2)        set ReturnAgi,ReturnAgi+1;
        if(.@a==3)        set ReturnVit,ReturnVit+1;
        if(.@a==4)        set ReturnInt,ReturnInt+1;
        if(.@a==5)        set ReturnDex,ReturnDex+1;
        if(.@a==6)        set ReturnLuk,ReturnLuk+1;

        set .@i,.@i-1;

        if(.@i%100==0)
        {
                mes "處理中";
                sleep2(100);
        }

}while(.@i!=0);

        next;
        mes "^00ff00------------------------------^000000";
        mes "輪迴次數到達 ^0000ff" +ReturnNumber+ "^000000 次";
        mes "^00ff00------------------------------^000000";
        if(ReturnStr)        mes "Str + "+ReturnStr;
        if(ReturnAgi)        mes "Agi + "+ReturnAgi;
        if(ReturnVit)        mes "Vit + "+ReturnVit;
        if(ReturnInt)        mes "Int + "+ReturnInt;
        if(ReturnDex)        mes "Dex + "+ReturnDex;
        if(ReturnLuk)        mes "Luk + "+ReturnLuk;
        mes "^00ff00------------------------------^000000";
        mes "*   隨意穿(脫)裝備 , 才會有效果 .";
//        announce "[輪迴系統]   恭喜玩家 " +strcharinfo(0)+ " , 輪迴次數到達 " +ReturnNumber+ " 次.",bc_all,0xB44B3C;
        close;

}

function        script        Return_Job        {


        if ( skillpoint > 0 ) {
                mes "[輪迴系統]";
                mes "技能點數有剩餘的點數無法進行轉職!";
                mes "再打一次 allskill";
                close;
        }

//一轉條件檢查
        if ( class == 4001 ) {
                if ( JobLevel < 10 ) {
                        mes "[輪迴系統]";
                        mes "職業等級^FF000010級^000000才能進行轉職!";
                               close;
                }
                        callfunc "Return_Job1";
        }

//二轉條件檢查
        if ( ( class >= 4002 && class <= 4007 ) || ( class == 4046 ) ) {
                if ( JobLevel < 50 ) {
                        mes "[輪迴系統]";
                        mes "職業等級^FF000050級^000000才能進行轉職!";
                        close;
                }
                        callfunc "Return_Job2";
        }

//三轉條件檢查
        if ( class >= 4008 && class <= 4021 ) {
                if( BaseLevel < 99 )
                {
                        mes "[輪迴系統]";
                        mes "等級^FF000099級^000000才能進行轉職!";
                        close;
                }
                if ( JobLevel < 70 ) {
                        mes "[輪迴系統]";
                        mes "職業等級^FF000070級^000000才能進行轉職!";
                        close;
                }
                        callfunc "Return_Job3";
        }

        if( class == 24 || class == 4047 || class == 4049 )
        {
                mes "無法再轉職囉.";
                close;
        }
        if( class == 25 )
        {
                if ( JobLevel < 70 ) {
                        mes "[輪迴系統]";
                        mes "職業等級^FF000070級^000000才能進行轉職!";
                        close;
                }
                if(sex==2){ set @jobchange,4212; }
                else { set @jobchange,4211; }
                mes "[輪迴系統]";
                mes "您確定要轉職成為^FF0000"+jobname(@jobchange)+"^000000嗎?";
                mes "^00ff00------------------------------^000000";
                mes "*   99 等即可轉生";
                next;
                switch(select("否!!","是!!")) {
                case 1:
                        close;
                case 2:
                        jobchange @jobchange;
                        break;
                }
                mes "[輪迴系統]";
                mes "恭喜您轉職服務順利完成!";
                close;
        }
        if( class == 23 )
        {
                if ( JobLevel < 99 ) {
                        mes "[輪迴系統]";
                        mes "職業等級^FF000099級^000000才能進行轉職!";
                        close;
                }
                set @jobchange,4190;
                mes "[輪迴系統]";
                mes "您確定要轉職成為^FF0000"+jobname(@jobchange)+"^000000嗎?";
                mes "^00ff00------------------------------^000000";
                mes "*   99 等即可轉生";
                next;
                switch(select("否!!","是!!")) {
                case 1:
                        close;
                case 2:
                        jobchange @jobchange;
                        break;
                }
                mes "[輪迴系統]";
                mes "恭喜您轉職服務順利完成!";
                close;
        }

        mes "此階段的你應該不適合此服務";
        close;

}

function        script        Return_Job1        {

                mes "[輪迴系統]";
                mes "您已是^FF0000進階人物^000000!!";
                mes "請選擇想要轉職的職業";
                next;
                switch(select("進階劍士","進階魔法師","進階弓箭手","進階服事","進階商人","進階盜賊","超級初心者","槍手","忍者","跆拳者")) {
                case 1:
                        set @jobchange,4002;        break;
                case 2:
                        set @jobchange,4003;        break;
                case 3:
                        set @jobchange,4004;        break;
                case 4:
                        set @jobchange,4005;        break;
                case 5:
                        set @jobchange,4006;        break;
                case 6:
                        set @jobchange,4007;        break;
                case 7:
                        set @jobchange,23;        break;
                case 8:
                        set @jobchange,24;        break;
                case 9:
                        set @jobchange,25;        break;
                case 10:
                        set @jobchange,4046;        break;
                }

        mes "[輪迴系統]";
        mes "您確定要轉職成為^FF0000"+jobname(@jobchange)+"^000000嗎?";
        next;
        switch(select("否!!","是!!")) {
        case 1:
                close;
        case 2:
                jobchange @jobchange;
                break;
        }
        mes "[輪迴系統]";
        mes "恭喜您轉職服務順利完成!";
        close;


}

function        script        Return_Job2        {

                mes "[輪迴系統]";
                mes "您已是^FF0000進階人物^000000!!";
                mes "請選擇想要轉職的職業";
                next;
                switch(class) {
                case 4002:
                        switch(select("騎士領主","聖殿十字軍")) {
                        case 1:
                                set @jobchange,4008;        break;
                        case 2:
                                set @jobchange,4015;        break;
                        }
                        break;
                case 4003:
                        switch(select("超魔導士","智者")) {
                        case 1:
                                set @jobchange,4010;        break;
                        case 2:
                                set @jobchange,4017;        break;
                        }
                        break;
                case 4004:
                        switch(select("神射手","搞笑藝人/冷艷舞姬")) {
                        case 1:
                                set @jobchange,4012;        break;
                        case 2:
                                if (Sex) {
                                        set @jobchange,4020;
                                } else {
                                        set @jobchange,4021;
                                }
                        }
                        break;
                case 4005:
                        switch(select("神官","武術宗師")) {
                        case 1:
                                set @jobchange,4009;        break;
                        case 2:
                                set @jobchange,4016;        break;
                        }
                        break;
                case 4006:
                        switch(select("神工匠","創造者")) {
                        case 1:
                                set @jobchange,4011;        break;
                        case 2:
                                set @jobchange,4019;        break;
                        }
                        break;
                case 4007:
                        switch(select("十字刺客","神行太保")) {
                        case 1:
                                set @jobchange,4013;        break;
                        case 2:
                                set @jobchange,4018;        break;
                        }
                        break;
                case 4046:
                        switch(select("拳聖","悟靈士")) {
                        case 1:
                                set @jobchange,4047;        break;
                        case 2:
                                set @jobchange,4049;        break;
                        }
                        break;
                }

        mes "[輪迴系統]";
        mes "您確定要轉職成為^FF0000"+jobname(@jobchange)+"^000000嗎?";
        next;
        switch(select("否!!","是!!")) {
        case 1:
                close;
        case 2:
                jobchange @jobchange;
                break;
        }
        mes "[輪迴系統]";
        mes "恭喜您轉職服務順利完成!";
        close;

}

function        script        Return_Job3        {

        switch(class) {
                case 4008:
                        set @jobchange,4060;
                        break;
                case 4009:
                        set @jobchange,4063;
                        break;
                case 4010:
                        set @jobchange,4061;
                        break;
                case 4011:
                        set @jobchange,4064;
                        break;
                case 4012:
                        set @jobchange,4062;
                        break;
                case 4013:
                        set @jobchange,4065;
                        break;
                case 4015:
                        set @jobchange,4073;
                        break;
                case 4016:
                        set @jobchange,4077;
                        break;
                case 4017:
                        set @jobchange,4074;
                        break;
                case 4018:
                        set @jobchange,4079;
                        break;
                case 4019:
                        set @jobchange,4078;
                        break;
                case 4020:
                        set @jobchange,4075;
                        break;
                case 4021:
                        set @jobchange,4076;
                        break;
        }

        mes "[輪迴系統]";
        mes "您確定要轉職成為^FF0000"+jobname(@jobchange)+"^000000嗎?";
        next;
        switch(select("否!!","是!!")) {
        case 1:
                close;
        case 2:
                jobchange @jobchange;
                break;
        }
        if(checkcart()) setcart 0;
        if(checkfalcon()) setfalcon 0;
        if(checkriding()) setriding 0;
        mes "[輪迴系統]";
        mes "恭喜您轉職服務順利完成!";
        close;

}

-        script        ReturnHaha        -1,{

end;
OnPCStatCalcEvent:

        if(ReturnStr)        bonus bStr,ReturnStr;
        if(ReturnAgi)        bonus bAgi,ReturnAgi;
        if(ReturnVit)        bonus bVit,ReturnVit;
        if(ReturnInt)        bonus bInt,ReturnInt;
        if(ReturnDex)        bonus bDex,ReturnDex;
        if(ReturnLuk)        bonus bLuk,ReturnLuk;
end;

}
頁: [1]
查看完整版本: 請各位大大教我設定輪迴限制