/*******************************************************************\ 仙境傳說 遊戲腳本 ********************************************************************* 名稱:jobs 類型:快速轉職腳本 版本:v1.0 設計:xuwujun 編製:xuwujun 版權:xuwujun OICQ:4834412(如腳本有錯請聯繫我) ********************************************************************* -------------------------- 更新及簡要說明 --------------------------- 註:此版本是可以選職業的,也就是轉生前和轉生後的職業可以不同,腳本未測 試過,請朋友幫忙測試一下,如有問題,請回帖,謝謝。 1、全部職業轉職 a. 一轉(包含超初) b. 二轉(包含新二轉) c. 轉生(時加入負重的判斷,防止造成負的負重) d. 進階一轉 e. 進階二轉 2、新技能學習 3、洗點 a. 洗屬性點的時加入負重的判斷,防止造成負的負重 4、租東西(如果已經租有東西在身就無法再租) a. 租大嘴鳥 b. 嘟嘟鳥 c. 獵鷹 d. 手推車 \*******************************************************************/ //-------------------------------- 一轉轉職程序 -------------------------------- //------------------------------------------------------------------------------ prontera.gat,164,174,0 script 一轉輔助人員 730,{ if((joblevel < 10) || (class != 0) || (skillpoint !=0)) goto G_Job1_1chgerr; mes "[一轉/超初輔助人員]"; mes "請先選擇您想要轉的職業,謝謝:"; next; //一轉職業選單 menu "劍士", G_1_1_1, "法師", G_1_1_2, "弓箭手", G_1_1_3, "服事", G_1_1_4, "商人", G_1_1_5, "盜賊", G_1_1_6, "超級初學者", G_1_1_23, "結束對話",G_Quit; //防止非法入侵 callfunc "Jobs_MsgCn1"; //轉職為劍士 G_1_1_1: Jobchange 1; goto G_Jobchgok; //轉職為法師 G_1_1_2: Jobchange 2; goto G_Jobchgok; //轉職為弓箭手 G_1_1_3: Jobchange 3; goto G_Jobchgok; //轉職為服侍 G_1_1_4: Jobchange 4; goto G_Jobchgok; //轉職為商人 G_1_1_5: Jobchange 5; goto G_Jobchgok; //轉職為盜賊 G_1_1_6: Jobchange 6; goto G_Jobchgok; //轉職為超級初學者 G_1_1_23: if(baselevel<45) goto G_Job1_1_23chgerr; Jobchange 23; goto G_Jobchgok; //一轉轉職中出錯 G_Job1_1chgerr: mes "[一轉/超初輔助人員]"; mes "下面是一轉轉職過程中發現的錯誤:"; if(joblevel < 10) mes "^0049FF你的職業等級未達到10級。^000000"; if(skillpoint !=0) mes "^0049FF你的技能點數還未加完。^000000"; if(class != 0) mes "^0049FF你已經不是初學者了。^000000"; goto G_Quit; G_Job1_1_23chgerr: mes "[一轉/超初輔助人員]"; mes "下面是一轉轉職過程中發現的錯誤:"; if(baselevel<45) mes "^0049FF你的基本等級還未達到45級。^000000"; if(joblevel < 10) mes "^0049FF你的職業等級未達到10級。^000000"; if(skillpoint !=0) mes "^0049FF你的技能點數還未加完。^000000"; if(class != 0) mes "^0049FF你已經不是初學者了。^000000"; goto G_Quit; G_Jobchgok: mes "[輔助人員]"; mes "恭喜你轉職成功。"; mes "希望快樂常伴你左右。"; mes "再見!^_^"; goto G_Quit; G_Quit: close; end; OnInit: waitingroom "一轉/超初輔助人員",0; end; } //-------------------------------- 二轉轉職程序 -------------------------------- //------------------------------------------------------------------------------ prontera.gat,164,171,0 script 二轉輔助人員 730,{ if((joblevel < 40) || (class == 0 || class > 6) || (skillpoint !=0)) goto G_Job1_2chgerr; mes "[二轉輔助人員]"; mes "請先選擇您想要轉的職業,謝謝:"; next; //二轉職業選單 menu "騎士", G_1_2_7, "牧師", G_1_2_8, "巫師", G_1_2_9, "鐵匠", G_1_2_10, "獵人", G_1_2_11, "刺客", G_1_2_12, "十字軍", G_1_2_14, "武僧", G_1_2_15, "賢者", G_1_2_16, "流氓", G_1_2_17, "煉金術士", G_1_2_18, "詩人/舞孃", G_1_2_1920, "結束對話",G_Quit; //防止非法入侵 // callfunc "Jobs_MsgCn1"; //轉職為騎士 G_1_2_7: if(class!=1) goto G_Job1_2chgerr; Jobchange 7; goto G_Jobchgok; //轉職為牧師 G_1_2_8: if(class!=4) goto G_Job1_2chgerr; Jobchange 8; goto G_Jobchgok; //轉職為巫師 G_1_2_9: if(class!=2) goto G_Job1_2chgerr; Jobchange 9; goto G_Jobchgok; //轉職為鐵匠 G_1_2_10: if(class!=5) goto G_Job1_2chgerr; Jobchange 10; goto G_Jobchgok; //轉職為獵人 G_1_2_11: if(class!=3) goto G_Job1_2chgerr; Jobchange 11; goto G_Jobchgok; //轉職為刺客 G_1_2_12: if(class!=6) goto G_Job1_2chgerr; Jobchange 12; goto G_Jobchgok; //轉職為十字軍 G_1_2_14: if(class!=1) goto G_Job1_2chgerr; Jobchange 14; goto G_Jobchgok; //轉職為武僧 G_1_2_15: if(class!=4) goto G_Job1_2chgerr; Jobchange 15; goto G_Jobchgok; //轉職為賢者 G_1_2_16: if(class!=2) goto G_Job1_2chgerr; Jobchange 16; goto G_Jobchgok; //轉職為流氓 G_1_2_17: if(class!=6) goto G_Job1_2chgerr; Jobchange 17; goto G_Jobchgok; //轉職為煉金術士 G_1_2_18: if(class!=5) goto G_Job1_2chgerr; Jobchange 18; goto G_Jobchgok; //轉職為詩人/舞孃 G_1_2_1920: if(class!=3) goto G_Job1_2chgerr; Jobchange 19; Jobchange 20; goto G_Jobchgok; //二轉轉職中出錯 G_Job1_2chgerr: mes "[二轉輔助人員]"; mes "下面是二轉轉職過程中發現的錯誤:"; if(joblevel < 40) mes "^0049FF你的職業等級未達到40級。^000000"; if(skillpoint !=0) mes "^0049FF你的技能點數還未加完。^000000"; if(class == 0 || class > 6) mes "^0049FF你現屬的職業無法進行二轉轉職。^000000"; if((joblevel >= 40) && (skillpoint ==0) && (class > 0 && class < 7)) mes "^0049FF你現屬的職業無法轉成所選的職業。^000000"; goto G_Quit; G_Jobchgok: mes "[輔助人員]"; mes "恭喜你轉職成功。"; mes "希望快樂常伴你左右。"; mes "再見!^_^"; goto G_Quit; G_Quit: close; end; OnInit: waitingroom "二轉輔助人員",0; end; } //-------------------------------- 轉世重生程序 -------------------------------- //------------------------------------------------------------------------------ prontera.gat,164,168,0 script 轉世重生輔助人員 730,{ if((baselevel < 99) || (joblevel < 50) || (class<7 || class>20) || (uper==10) || (skillpoint !=0)) goto G_rejob_err; mes "[轉世重生輔助人員]"; mes "很好,你已經滿足轉生的要求了。"; mes "是否要轉生呢?"; mes "請選擇吧。"; next; menu "是的,我要轉生。",-,"結束對話",G_Quit; jobchange 0,1; resetskill; set SkillPoint,0; resetstatus; set StatusPoint,0; resetlvl(1); setoption 0; set uper,uper+1; set StatusPoint,StatusPoint+125*uper; savepoint "prontera.gat",156,175; mes "[轉世重生輔助人員]"; mes "上帝是公平的..."; mes "從現在開始起,你將變得更強!!"; goto G_Quit; //轉生中出錯 G_rejob_err: if(baselevel < 99) goto G_rejob_err1; if(joblevel < 50) goto G_rejob_err1; if(skillpoint !=0) goto G_rejob_err1; if(uper==10) goto G_rejob_err1; if((class<4007 || class>4020)) goto G_rejob_err1; mes "[轉世重生輔助人員]"; mes "很好,你已經滿足轉生的要求了。"; set uper,uper+1; mes "是否要第[^FF0000 " + uper + "^000000 ]次轉生呢?"; set uper,uper-1; mes "請選擇吧。"; next; menu "是的,我要轉生。",-,"結束對話",G_Quit; jobchange 0,1; resetskill; set SkillPoint,0; resetstatus; set StatusPoint,0; set BaseLevel,1; resetlvl(1); set uper,uper+1; set StatusPoint,StatusPoint+125*uper; savepoint "prontera.gat",156,175; mes "[轉世重生輔助人員]"; mes "上帝是公平的..."; mes "從現在開始起,你將變得更強!!"; goto G_Quit; G_rejob_err1: mes "[轉世重生輔助人員]"; mes "下面是轉生過程中發現的錯誤:"; if(baselevel < 99) mes "^0049FF你的基本等級還未達到99級。^000000"; if(joblevel < 50) mes "^0049FF你的職業等級還未達到50級。^000000"; if(uper==10) mes "^0049FF你已經轉生過十次了,目前最高的轉生次數只限十次。^000000"; if(skillpoint !=0) mes "^0049FF你的技能點數還未加完。^000000"; if(class<7 || class>20) mes "^0049FF你現屬的職業無法進行轉生。^000000"; goto G_Quit; G_Quit: close; end; OnInit: waitingroom "轉世重生輔助人員",0; end; } //------------------------------ 進階一轉轉職程序 ------------------------------ //------------------------------------------------------------------------------ prontera.gat,164,165,0 script 進階一轉輔助人員 730,{ if((joblevel < 10) || (class != 4001) || (skillpoint !=0)) goto G_Job2_1chgerr; mes "[進階一轉輔助人員]"; mes "請先選擇您想要轉的職業,謝謝:"; next; //進階一轉職業選單 menu "進階劍士", G_2_1_1, "進階法師", G_2_1_2, "進階弓箭手", G_2_1_3, "進階服事", G_2_1_4, "進階商人", G_2_1_5, "進階盜賊", G_2_1_6, "結束對話",G_Quit; //防止非法入侵 // callfunc "Jobs_MsgCn1"; //轉職為進階劍士 G_2_1_1: Jobchange 1,1; goto G_Jobchgok; //轉職為進階法師 G_2_1_2: Jobchange 2,1; goto G_Jobchgok; //轉職為進階弓箭手 G_2_1_3: Jobchange 3,1; goto G_Jobchgok; //轉職為進階服侍 G_2_1_4: Jobchange 4,1; goto G_Jobchgok; //轉職為進階商人 G_2_1_5: Jobchange 5,1; goto G_Jobchgok; //轉職為進階盜賊 G_2_1_6: Jobchange 6,1; goto G_Jobchgok; //進階一轉轉職中出錯 G_Job2_1chgerr: mes "[進階一轉輔助人員]"; mes "下面是進階一轉轉職過程中發現的錯誤:"; if(joblevel < 10) mes "^0049FF你的職業等級未達到10級。^000000"; if(skillpoint !=0) mes "^0049FF你的技能點數還未加完。^000000"; if(class != 4001) mes "^0049FF你還不是進階初學者。^000000"; if(uper < 1) mes "^0049FF你還沒有轉身過。^000000"; goto G_Quit; G_Jobchgok: mes "[輔助人員]"; mes "恭喜你轉職成功。"; mes "希望快樂常伴你左右。"; mes "再見!^_^"; goto G_Quit; G_Quit: close; end; OnInit: waitingroom "進階一轉輔助人員",0; end; } //------------------------------ 進階二轉轉職程序 ------------------------------ //------------------------------------------------------------------------------ prontera.gat,164,162,0 script 進階二轉輔助人員 730,{ if((joblevel < 40) || (class == 4001 || class > 4007) || (skillpoint !=0)) goto G_Job2_2chgerr; mes "[進階二轉輔助人員]"; mes "請先選擇您想要轉的職業,謝謝:"; next; //進階二轉職業選單 menu "騎士領主", G_2_2_7, "神官", G_2_2_8, "超魔導師", G_2_2_9, "神工匠", G_2_2_10, "狙擊手", G_2_2_11, "十字刺客", G_2_2_12, "聖殿十字軍", G_2_2_14, "武術宗師", G_2_2_15, "智者", G_2_2_16, "神行太保", G_2_2_17, "創造者", G_2_2_18, "搞笑藝人/冷艷舞姬", G_2_2_1920, "結束對話",G_Quit; //防止非法入侵 // callfunc "Jobs_MsgCn1"; //轉職為騎士領主 G_2_2_7: if(class!=4002) goto G_Job2_2chgerr; Jobchange 7,1; goto G_Jobchgok; //轉職為神官 G_2_2_8: if(class!=4005) goto G_Job2_2chgerr; Jobchange 8,1; goto G_Jobchgok; //轉職為超魔導師 G_2_2_9: if(class!=4003) goto G_Job2_2chgerr; Jobchange 9,1; goto G_Jobchgok; //轉職為神工匠 G_2_2_10: if(class!=4006) goto G_Job2_2chgerr; Jobchange 10,1; goto G_Jobchgok; //轉職為狙擊手 G_2_2_11: if(class!=4004) goto G_Job2_2chgerr; Jobchange 11,1; goto G_Jobchgok; //轉職為十字刺客 G_2_2_12: if(class!=4007) goto G_Job2_2chgerr; Jobchange 12,1; goto G_Jobchgok; //轉職為聖殿十字軍 G_2_2_14: if(class!=4002) goto G_Job2_2chgerr; Jobchange 14,1; goto G_Jobchgok; //轉職為武術宗師 G_2_2_15: if(class!=4005) goto G_Job2_2chgerr; Jobchange 15,1; goto G_Jobchgok; //轉職為智者 G_2_2_16: if(class!=4003) goto G_Job2_2chgerr; Jobchange 16,1; goto G_Jobchgok; //轉職為神行太保 G_2_2_17: if(class!=4007) goto G_Job2_2chgerr; Jobchange 17,1; goto G_Jobchgok; //轉職為創造者 G_2_2_18: if(class!=4006) goto G_Job2_2chgerr; Jobchange 18,1; goto G_Jobchgok; //轉職為搞笑藝人/冷艷舞姬 G_2_2_1920: if(class!=4004) goto G_Job2_2chgerr; Jobchange 19,1; Jobchange 20,1; goto G_Jobchgok; //進階二轉轉職中出錯 G_Job2_2chgerr: mes "[進階二轉輔助人員]"; mes "下面是進階二轉轉職過程中發現的錯誤:"; if(joblevel < 40) mes "^0049FF你的職業等級未達到40級。^000000"; if(skillpoint !=0) mes "^0049FF你的技能點數還未加完。^000000"; if(class == 4001 || class > 4007) mes "^0049FF你現屬的職業無法進行進階二轉轉職。^000000"; if((joblevel >= 40) && (skillpoint ==0) && (class > 4001 && class < 4008)) mes "^0049FF你現屬的職業無法轉成所選的職業。^000000"; goto G_Quit; //------------------------------------------------------------------------------ //轉職成功後的話 G_Jobchgok: mes "[輔助人員]"; mes "恭喜你轉職成功。"; mes "希望快樂常伴你左右。"; mes "再見!^_^"; goto G_Quit; G_Quit: close; end; OnInit: waitingroom "進階二轉輔助人員",0; end; } //--------------------------------- 學習新技能 --------------------------------- //------------------------------------------------------------------------------ prontera.gat,164,159,0 script 新技能輔助人員 730,{ if(class==0 || class==4001) goto LeaChu; if(class==1 || class==7 || class==14 || class==4008 || class==4002 || class==4014 || class==4015) goto LeaJian; if(class==2 || class==9 || class==16 || class==4003 || class==4010 || class==4017) goto LeaFashi; if(class==3 || class==11 || class==19 || class==20 || class==4004 || class==4012 || class==4020 || class==4021) goto LeaGong; if(class==4 || class==8 || class==15 || class==4005 || class==4009 || class==4016) goto LeaFushi; if(class==5 || class==10 || class==18 || class==4006 || class==4011 || class==4019) goto LeaShang; if(class==6 || class==12 || class==17 || class==4007 || class==4013 || class==4018) goto LeaDao; mes "[新技能輔助人員]"; mes "對不起,這是不是你該來的地方。"; close; LeaChu: skill 142,1,0; skill 143,1,0; goto Leasucceed; LeaJian: skill 144,1,0; skill 145,1,0; skill 146,1,0; goto Leasucceed; LeaFashi: skill 157,1,0; goto Leasucceed; LeaGong: skill 147,1,0; skill 148,1,0; goto Leasucceed; LeaFushi: skill 156,1,0; goto Leasucceed; LeaShang: skill 153,1,0; skill 154,1,0; skill 155,1,0; goto Leasucceed; LeaDao: skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; goto Leasucceed; //學習新技能後的話 Leasucceed: mes "[新技能輔助人員]"; mes "我已經把新技能教給你了,打開技能表看一下吧"; mes "雖然不是什麼厲害技能,但是也可以在一定程度上幫助你的"; mes "祝你在^0049FF仙境傳說^000000中玩得愉快。"; goto G_Quit; G_Quit: close; end; OnInit: waitingroom "新技能輔助人員",0; end; } //--------------------------------- 租東西部分 --------------------------------- //------------------------------------------------------------------------------ prontera.gat,164,156,0 script 租東西輔助人員 730,{ if((class==7 || class==14 || class==4008 || class==4014 || class==4015) && zeny>=500 && getskilllv(63)>0 && checkoption(32)<1 && checkoption(16)<1 && checkoption(8)<1 && checkoption(128)<1 && checkoption(256)<1 && checkoption(512)<1 && checkoption(1024)<1) goto Lrentdzn; if((class==11 || class==4012 || class==4020 || class==4021) && zeny>=500 && getskilllv(127)>0 && checkoption(32)<1 && checkoption(16)<1 && checkoption(8)<1 && checkoption(128)<1 && checkoption(256)<1 && checkoption(512)<1 && checkoption(1024)<1) goto Lrently; if((class==23 || class==5 || class==10 || class==18 || class==4006 || class==4011 || class==4019) && zeny>=500 && getskilllv(39)>0 && checkoption(32)<1 && checkoption(16)<1 && checkoption(8)<1 && checkoption(128)<1 && checkoption(256)<1 && checkoption(512)<1 && checkoption(1024)<1) goto Lrentcar; mes "[租東西輔助人員]"; mes "下面是租東西過程中發現的錯誤:"; if(class!=7 || class!=14 || class!=4008 || class!=4014 || class!=4015 || class!=11 || class!=4012 || class!=4020 || class!=4021 || class!=23 || class!=5 || class!=10 || class!=18 || class!=4006 || class!=4011 || class!=4019) mes "^0049FF現在還沒有適合你這個職業的可租道具。^000000"; if(zeny<500) mes "^0049FF你的現金不夠500Zeny。^000000"; if((class==7 || class==14 || class==4008 || class==4014 || class==4015) && getskilllv(63)<1) mes "^0049FF你還沒有學會乘騎術。^000000"; if((class==11 || class==4012 || class==4020 || class==4021) && getskilllv(127)<1) mes "^0049FF你還沒有學會訓鷹術。^000000"; if((class==23 || class==5 || class==10 || class==18 || class==4006 || class==4011 || class==4019) && getskilllv(39)<1) mes "^0049FF你還沒有學會手推車使用。^000000"; if(checkoption(32)>0 && checkoption(16)>0 && checkoption(8)>0 && checkoption(128)>0 && checkoption(256)>0 && checkoption(512)>0 && checkoption(1024)>0) mes "^0049FF你已經租過了並且還在使用中。^000000"; goto G_Quit; Lrentdzn: setriding; set zeny,zeny-500; goto Lrentsucceed; Lrently: setfalcon; set zeny,zeny-500; goto Lrentsucceed; Lrentcar: setcart; set zeny,zeny-500; goto Lrentsucceed; //租東西後的話 Lrentsucceed: mes "[租東西輔助人員]"; mes "好吧,這傢伙歸你了。"; mes "歡迎下次再來哦。"; goto G_Quit; G_Quit: close; end; OnInit: waitingroom "租東西輔助人員",0; end; } //--------------------------------- 洗點的部分 --------------------------------- //------------------------------------------------------------------------------ prontera.gat,164,153,0 script 洗點輔助人員 730,{ mes "[洗點輔助人員]"; mes "你想重置什麼呢?"; next; menu "屬性點數[^0000FF50W^000000]",-,"技能點數[^0000FF50W^000000]",Lresetskill,"結束對話",G_Quit; if(zeny<500000 || weight>0) goto G_Reseterr; mes "[洗點輔助人員]"; mes "已經重置好了"; mes "^FF3355請好好分配^000000"; set Zeny,Zeny-500000; resetstatus; set StatusPoint,StatusPoint+125*uper; goto G_Quit; Lresetskill: if(zeny<500000) goto G_Reseterr; mes "[洗點輔助人員]"; mes "已經重置好了"; mes "^FF3355請好好分配^000000"; set Zeny,Zeny-500000; resetskill; goto G_Quit; G_Reseterr: mes "[洗點輔助人員]"; mes "下面是洗點過程中發現的錯誤:"; if(Zeny<500000) mes "^0049FF你帶的錢不夠。^000000"; if(weight > 0) mes "^0049FF你的負重不能超過0。^000000"; goto G_Quit; G_Quit: close; end; OnInit: waitingroom "洗點輔助人員",0; end; } //--------------------------------- 全部結束 ----------------------------------- //------------------------------------------------------------------------------