//【転職・転生】 //【説明】 //アイテムで転職、転生を行ないます。 //転生は↓の【転生】のとこに説明があります、多少の設定変更可。 // //全部に職チェック&転生前の職業チェック掛けてるつもりだけど //洩れがあるだろうから、item_dbの方でアイテム使用可能職業の調整をするべき。 // //テコン系&新職の養子があるのかは不明( ´_ゝ`) // //転職成功時returnに1を返す、転生成功は2、失敗は0。 //-------------------------------------------------------------------------------------- //callfunc "Job_Change_and_Trans",失敗時に返却するアイテムID(0以下で返却無し),転職する職業(転生は99),成功時のエフェクト番号(マイナス値の場合エフェクト無し); function script Job_Change_and_Trans { if ((getarg(1) >=1) && (getarg(1) <=6)) goto Tensyoku1_1; //1次転職 if ((getarg(1) >=7) && (getarg(1) <=20)) goto Tensyoku2_1; //2次転職 if (getarg(1) ==23) goto Super_Nov1_1; //スパノビ転職 if (getarg(1) ==24) goto Tensyoku1_1; //テコン転職(1次転職で処理) if ((getarg(1) ==25) || (getarg(1) ==27)) goto Tensyoku2_1; //ケンセイ、リンカー転職(2次転職で処理) if ((getarg(1) ==28) || (getarg(1) ==29)) goto Tensyoku1_1; //銃士、忍者転職(1次職で処理) if (getarg(1) ==99) goto Trans; //転生 goto No_Change; //どれにも引っかからない場合 //-------------------------------------------------------------------------------------- 【1次職転職(テコン、ガンスリンガー、忍者含む)】 Tensyoku1_1: if (getskilllv(1) <9) goto No_Change; //基本スキルは9未満なら終了 if (Class !=0) goto No_Change; //クラスがノビ以外は終了 //未転生ノビ、転生前の職が2次職以外は終了 if (!((Syoku ==0) || (Syoku ==25) || ((Syoku >=27) && (Syoku <=29)) || ((Syoku >=7) && (Syoku <=20)))) goto No_Change; //養子の転職判定 if ((Yousi == 2) || (Upper == 2)){ if (Syoku ==0) set Syoku,getarg(1); //養子で未転生はSyokuに値をセット jobchange getarg(1),2; goto Tensyoku1_3; //転生用クエストスキル設定にジャンプ } //未転生の転職判定 if (Syoku ==0){ set Syoku,getarg(1); //未転生の場合はSyokuに値をセット jobchange getarg(1),0; goto Tensyoku1_4; //1次転職終了にジャンプ } //転生しているかもう一度チェック if (Kaisuu ==0) goto No_Change; //Upperで判定するとテコンが抜けてしまうのでKaisuuでチェック //転生後の1次転職判定 if ((getarg(1) ==1) && ((Syoku ==7) || (Syoku ==14))) goto Tensyoku1_2; //剣士 if ((getarg(1) ==2) && ((Syoku ==9) || (Syoku ==16))) goto Tensyoku1_2; //マジシャン if ((getarg(1) ==3) && ((Syoku ==11) || (Syoku ==19) || (Syoku ==20))) goto Tensyoku1_2;//アーチャー if ((getarg(1) ==4) && ((Syoku ==8) || (Syoku ==15))) goto Tensyoku1_2; //アコライト if ((getarg(1) ==5) && ((Syoku ==10) || (Syoku ==18))) goto Tensyoku1_2; //マーチャント if ((getarg(1) ==6) && ((Syoku ==12) || (Syoku ==17))) goto Tensyoku1_2; //シーフ if ((getarg(1) ==24) && ((Syoku ==25) || (Syoku ==27))) goto Tensyoku1_2; //テコン if ((getarg(1) ==28) && (Syoku ==28)) goto Tensyoku1_2; //ガンスリンガー if ((getarg(1) ==29) && (Syoku ==29)) goto Tensyoku1_2; //ニンジャ goto No_Change; //ここで転生者は1次に転職 Tensyoku1_2: //テコン系&新職は元々転生が無いのでUpperを0にセット if ((getarg(1) ==24) || (getarg(1) ==28) || (getarg(1) ==29)) jobchange getarg(1),0; else jobchange getarg(1),1; //テコン&新職以外の転生者の転職 goto Tensyoku1_3; //転生者はクエストスキルを習得 Tensyoku1_3: if ((Kaisuu>=1) && (getarg(1)==1)) { skill 144,1,0; skill 145,1,0; skill 146,1,0; } if ((Kaisuu>=1) && (getarg(1)==2)) { skill 157,1,0; } if ((Kaisuu>=1) && (getarg(1)==3)) { skill 147,1,0; skill 148,1,0; } if ((Kaisuu>=1) && (getarg(1)==4)) { skill 156,1,0; } if ((Kaisuu>=1) && (getarg(1)==5)) { skill 153,1,0; skill 154,1,0; skill 155,1,0; } if ((Kaisuu>=1) && (getarg(1)==6)) { skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; } //1次転職終了 Tensyoku1_4: if (getarg(2) >= 0) misceffect getarg(2);//転職成功時エフェクト return 1; //-------------------------------------------------------------------------------------- //【2次職転職(ケンセイ、ソウルリンカー含む)】 Tensyoku2_1: if (!(((Class >=1) && (Class <=6)) || (Class ==24))) goto No_Change; //クラスが1次以外は終了 //未転生1次、転生前の職が2次職以外は終了 if (JobLevel>=40 && (Syoku==Class || Syoku==getarg(1))) Goto Tensyoku2_2; goto No_Change; Tensyoku2_2: //if (getarg(1)==19 && Sex==0) goto No_Change; //if (getarg(1)==20 && Sex==1) goto No_Change; if Kaisuu==0 set Syoku,getarg(1); //未転生ならSyokuの値をセット //養子チェック if ((Yousi == 2) || (Upper == 2)){ jobchange getarg(1),2; goto Tensyoku2_3; } //転生者転職 if ((getarg(1) >=7) && (getarg(1) <=20)){ jobchange getarg(1); goto Tensyoku2_3; } if ((getarg(1) ==25) || (getarg(1) ==27)){ jobchange getarg(1),0; goto Tensyoku2_4; } Tensyoku2_3: if ((Kaisuu>=1) && (getarg(1)==7)) skill 1001,1,0; //騎士 if ((Kaisuu>=1) && (getarg(1)==14)) skill 1002,1,0; //クルセイダー if ((Kaisuu>=1) && (getarg(1)==12)) skill 1004,1,0; //アサシン if ((Kaisuu>=1) && (getarg(1)==17)) skill 1005,1,0; //ローグ if ((Kaisuu>=1) && (getarg(1)==9)) skill 1006,1,0; //ウィザード if ((Kaisuu>=1) && (getarg(1)==11)) skill 1009,1,0; //ハンター if ((Kaisuu>=1) && (getarg(1)==19)) skill 1010,1,0; //バード if ((Kaisuu>=1) && (getarg(1)==20)) skill 1011,1,0; //ダンサー if ((Kaisuu>=1) && (getarg(1)==10)) { skill 1012,1,0; //ブラックスミス skill 1013,1,0; //ブラックスミス } if ((Kaisuu>=1) && (getarg(1)==8)) skill 1014,1,0; //プリースト if ((Kaisuu>=1) && (getarg(1)==15)) { //モンク skill 1015,1,0; skill 1016,1,0; } if ((Kaisuu>=1) && (getarg(1)==16)) { //セージ skill 1007,1,0; // skill 1008,1,0; // skill 1017,1,0; // skill 1018,1,0; // skill 1019,1,0; } if ((Kaisuu>=1) && (getarg(1)==18)){ skill 238,1,0; //アルケミスト、生命倫理 skill 1013,1,0; //アルケミスト、貧欲 } //2次転職終了 Tensyoku2_4: if (getarg(2) >= 0) misceffect getarg(2);//転職成功時エフェクト return 1; //-------------------------------------------------------------------------------------- //【スパノビ転職】 Super_Nov1_1: if (Class !=0) goto No_Change; if (((getskilllv(1) >=9) && (BaseLevel >=45)) && ((Syoku ==0) || (Syoku ==23))) Goto Super_Nov1_2; goto No_Change; Super_Nov1_2: if Kaisuu==0 set Syoku,23; if ((Yousi == 2) || (Upper == 2)) jobchange 23,2; else jobchange 23,0; //転生スパノビにクエストスキルを追加 //if Kaisuu >= 1 { // skill 145,1,0;//急所攻撃 // skill 153,1,0;//カートレボリューション // skill 156,1,0;//ホーリーライト // skill 157,1,0;//エナジーコート // } if (getarg(2) >= 0) misceffect getarg(2);//転職成功時エフェクト return 1; //-------------------------------------------------------------------------------------- //【転生】 //転生出来るキャラ→2次職,スパノビ(,ケンセイ,ソウルリカンカー,ガンスリ,忍者) + 養子も転生可 //転生必要Lv = 転生必要Lv + (転生回数 × 転生必要Lv上げ幅) // //〔初期値〕 //転生必要Lv[@Tensei_Base]は99、転生必要Lv上げ幅[@Tensei_Lv_Up]は5、嫌なら↓で変えて下さい。 //5だと1回目 99、2回目 104、3回目 109・・・、0だと何回目でもBaseLv99で転生になります。 // //〔備考〕 //転生10+Lv150のステポイント3622、ジョブポイント137になる Trans: set @Tensei_Base,99; //転生必要Lv set @Tensei_Lv_Up,5; //転生必要Lv上げ幅 set @Tensei_Max,10; //最大転生回数 if ((Class>=7 && Class<=20) && (((BaseLevel >= @Tensei_Base) && Kaisuu==0 && JobLevel>=50) || ((BaseLevel>=(@Tensei_Base + Kaisuu * @Tensei_Lv_Up)) && Kaisuu>=1 && JobLevel>=70)) && (Kaisuu < @Tensei_Max)) Goto Tensei; if (Class==23 && (BaseLevel>=(@Tensei_Base + Kaisuu * @Tensei_Lv_Up)) && JobLevel>=99 && (Kaisuu < @Tensei_Max)) Goto Tensei; if ((Class==25 || Class==27) && (BaseLevel>=(@Tensei_Base + Kaisuu * @Tensei_Lv_Up)) && JobLevel>=50 && (Kaisuu < @Tensei_Max)) Goto Tensei; if ((Class==28 || Class==29) && (BaseLevel>=(@Tensei_Base + Kaisuu * @Tensei_Lv_Up)) && JobLevel>=70 && (Kaisuu < @Tensei_Max)) Goto Tensei; goto No_Change; Tensei: set Kaisuu,Kaisuu+1; //転生回数の保存 setoption 0x0000; //カート、ペコ、鷹の解除 set Yousi,Upper; //Upperの保存(養子判定に使う) jobchange 0,1; //転生ノビに転職 if (Yousi==2) jobchange 0,Yousi; //養子チェック set BaseLevel,1; resetstatus; resetskill; //クエストスキル取得 skill 143,1,0; skill 142,1,0; set SkillPoint,Kaisuu; //スキルポイント= 転生回数分 set StatusPoint,Kaisuu*100; //ステータスポイント = 転生回数 × 100 if (getarg(2) >= 0) misceffect getarg(2);//転生成功時エフェクト return 2; //-------------------------------------------------------------------------------------- //【共通処理】 //転職&転生条件が満たない No_Change: dispbottom "条件が合いません。"; goto Back_Item; //失敗なのでアイテム返還 Back_Item: if(getarg(0) >0){ if(usediteminfo(1)>0) //消耗アイテムに名前があるか判定 getitem2 getarg(0),1,1,0,0,254,0,usediteminfo(1)&0xffff,(usediteminfo(1)>>16)&0xffff; //名前付で返却 else getitem getarg(0),1; //名前無し } return 0; }