//-------------------------------------------------------------------------------------- //【クエストスキル】 //アイテム使うと職業別にクエストスキルを習得。 //セージのエレメンタルチェンジは覚えない、全て覚えるの2通りを用意。(初期は覚えない) //return値 0=既に習得済 1=習得 // //※個別でエレメンタルチェンジを覚えるなら↓に用意したスクリプトを使用してください。 //-------------------------------------------------------------------------------------- //【item_db】 //クエストスキル全員用 //15080,Quest_Skill_All,クエストブック,2,10000,,100,,,,,1000333311,2,,,,,,{callfunc "Quest_Skill_All",15080;},{} //-------------------------------------------------------------------------------------- //【職業別クエストスキル習得スクリプト】 //callfunc "Quest_Skill_All",スキル習得済時に返却するアイテムID(0以下なら返却しない); function script Quest_Skill_All { set @Quest_Skill_Get,0; //クエストスキルを既に習得しているか(0=未修得 1=習得済) //職業別クエストスキル習得 switch(Class){ //-------------------------------------------------------------------------------------- case 0://ノービス if((getskilllv(142) >= 1) && (getskilllv(143) >= 1)){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 skill 143,1,0;//死んだふり break; //-------------------------------------------------------------------------------------- case 1://剣士 if((getskilllv(142) >= 1) && (getskilllv(144) >= 1) && (getskilllv(145) >= 1) && (getskilllv(146) >= 1)){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 skill 144,1,0;//移動時HP回復 skill 145,1,0;//急所攻撃 skill 146,1,0;//オートバーサーク break; //-------------------------------------------------------------------------------------- case 2://マジシャン if((getskilllv(142) >= 1) && (getskilllv(157) >= 1)){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 skill 157,1,0;//エナジーコート break; //-------------------------------------------------------------------------------------- case 3://アーチャー if((getskilllv(142) >= 1) && (getskilllv(147) >= 1) && (getskilllv(148) >= 1)){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 skill 147,1,0;//矢作成 skill 148,1,0;//チャージアロー break; //-------------------------------------------------------------------------------------- case 4://アコライト if((getskilllv(142) >= 1) && (getskilllv(156) >= 1)){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 skill 156,1,0;//ホーリーライト break; //-------------------------------------------------------------------------------------- case 5://シーフ if((getskilllv(142) >= 1) && (getskilllv(149) >= 1) && (getskilllv(150) >= 1) && (getskilllv(151) >= 1) && (getskilllv(152) >= 1)){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 skill 149,1,0;//砂まき skill 150,1,0;//バックステップ skill 151,1,0;//石拾い skill 152,1,0;//石投げ break; //-------------------------------------------------------------------------------------- case 6://商人 if((getskilllv(142) >= 1) && (getskilllv(153) >= 1) && (getskilllv(154) >= 1) && (getskilllv(155) >= 1)){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 skill 153,1,0;//カートレボリューション skill 154,1,0;//チェンジカート skill 155,1,0;//ラウドボイス break; //-------------------------------------------------------------------------------------- case 7://ナイト if((getskilllv(142) >= 1) && (getskilllv(144) >= 1) && (getskilllv(145) >= 1) && (getskilllv(146) >= 1) && (getskilllv(1001) >= 1)){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 skill 144,1,0;//移動時HP回復 skill 145,1,0;//急所攻撃 skill 146,1,0;//オートバーサーク skill 1001,1,0;//チャージアタック break; //-------------------------------------------------------------------------------------- case 8://プリースト if((getskilllv(142) >= 1) && (getskilllv(156) >= 1) && (getskilllv(1014) >= 1)){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 skill 156,1,0;//ホーリーライト skill 1014,1,0;//レデムプティオ break; //-------------------------------------------------------------------------------------- case 9://ウィザード if((getskilllv(142) >= 1) && (getskilllv(157) >= 1) && (getskilllv(1006) >= 1)){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 skill 157,1,0;//エナジーコート skill 1006,1,0;//サイトブラスター break; //-------------------------------------------------------------------------------------- case 10://ブラックスミス if((getskilllv(142) >= 1) && (getskilllv(153) >= 1) && (getskilllv(154) >= 1) && (getskilllv(155) >= 1) && (getskilllv(1012) >= 1) && (getskilllv(1013) >= 1)){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 skill 153,1,0;//カートレボリューション skill 154,1,0;//チェンジカート skill 155,1,0;//ラウドボイス skill 1012,1,0;//フェイクゼニー skill 1013,1,0;//グリード break; //-------------------------------------------------------------------------------------- case 11://ハンター if((getskilllv(142) >= 1) && (getskilllv(147) >= 1) && (getskilllv(148) >= 1) && (getskilllv(1009) >= 1)){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 skill 147,1,0;//矢作成 skill 148,1,0;//チャージアロー skill 1009,1,0;//ファンタスミックアロー break; //-------------------------------------------------------------------------------------- case 12://アサシン if((getskilllv(142) >= 1) && (getskilllv(149) >= 1) && (getskilllv(150) >= 1) && (getskilllv(151) >= 1) && (getskilllv(152) >= 1) (getskilllv(1003) >= 1) && (getskilllv(1004) >= 1)){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 skill 149,1,0;//砂まき skill 150,1,0;//バックステップ skill 151,1,0;//石拾い skill 152,1,0;//石投げ skill 1003,1,0;//ソニックアクセラレーション skill 1004,1,0;//ベナムナイフ break; //-------------------------------------------------------------------------------------- case 14://クルセイダー if((getskilllv(142) >= 1) && (getskilllv(144) >= 1) && (getskilllv(145) >= 1) && (getskilllv(146) >= 1) && (getskilllv(1002) >= 1)){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 skill 144,1,0;//移動時HP回復 skill 145,1,0;//急所攻撃 skill 146,1,0;//オートバーサーク skill 1002,1,0;//シュリンク break; //-------------------------------------------------------------------------------------- case 15://モンク if((getskilllv(142) >= 1) && (getskilllv(156) >= 1) && (getskilllv(1015) >= 1) && (getskilllv(1016) >= 1)){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 skill 156,1,0;//ホーリーライト skill 1015,1,0;//気功転移 skill 1016,1,0;//寸勁 break; //-------------------------------------------------------------------------------------- case 16://セージ:エレメンタルチェンジは別で覚える if((getskilllv(142) >= 1) && (getskilllv(157) >= 1) && (getskilllv(1007) >= 1)){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 skill 157,1,0;//エナジーコート skill 1007,1,0;//クリエイトコンバーター break; //-------------------------------------------------------------------------------------- // case 16://セージ:エレメンタルチェンジを全部習得する場合 // if((getskilllv(142) >= 1) && // (getskilllv(157) >= 1) && // (getskilllv(1007) >= 1) && (getskilllv(1008) >= 1) && (getskilllv(1017) >= 1) && (getskilllv(1018) >= 1) && (getskilllv(1019) >= 1) &&){//習得済かチェック // set @Quest_Skill_Get,1; // break; // } // // skill 142,1,0;//応急手当 // // skill 157,1,0;//エナジーコート // // skill 1007,1,0;//クリエイトコンバーター // skill 1008,1,0;//ウォーターエレメンタルチェンジ // skill 1017,1,0;//アースエレメンタルチェンジ // skill 1018,1,0;//ファイアーエレメンタルチェンジ // skill 1019,1,0;//ウィンドエレメンタルチェンジ // break; //-------------------------------------------------------------------------------------- case 17://ローグ if((getskilllv(142) >= 1) && (getskilllv(149) >= 1) && (getskilllv(150) >= 1) && (getskilllv(151) >= 1) && (getskilllv(152) >= 1) && (getskilllv(1005) >= 1)){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 skill 149,1,0;//砂まき skill 150,1,0;//バックステップ skill 151,1,0;//石拾い skill 152,1,0;//石投げ skill 1005,1,0;//クローズコンファイン break; //-------------------------------------------------------------------------------------- case 18://アルケミスト if((getskilllv(142) >= 1) && (getskilllv(153) >= 1) && (getskilllv(154) >= 1) && (getskilllv(155) >= 1) && (getskilllv(238) >= 1)){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 skill 153,1,0;//カートレボリューション skill 154,1,0;//チェンジカート skill 155,1,0;//ラウドボイス skill 238,1,0;//生命倫理 break; //-------------------------------------------------------------------------------------- case 19://バード if((getskilllv(142) >= 1) && (getskilllv(147) >= 1) && (getskilllv(148) >= 1) && (getskilllv(1010) >= 1)){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 skill 147,1,0;//矢作成 skill 148,1,0;//チャージアロー skill 1010,1,0;//パンボイス break; //-------------------------------------------------------------------------------------- case 20://ダンサー if((getskilllv(142) >= 1) && (getskilllv(147) >= 1) && (getskilllv(148) >= 1) && (getskilllv(1011) >= 1)){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 skill 147,1,0;//矢作成 skill 148,1,0;//チャージアロー skill 1011,1,0;//魅惑のウィンク break; //-------------------------------------------------------------------------------------- case 23://スパノビ case 24://テコン case 25://ケンセイ case 27://ソウルリンカー case 28://ガンスリンガー case 29://忍者 if(getskilllv(142) >= 1){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 142,1,0;//応急手当 break; //-------------------------------------------------------------------------------------- } //アイテム返却処理 if((getarg(0) >= 1) && (@Quest_Skill_Get > 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; //名前無し dispbottom "既に習得しています。"; return 0; } return 1; } //【職業別クエストスキル習得スクリプト終了】 //-------------------------------------------------------------------------------------- //【エレメンタルチェンジ】 //個別でエレメンタルチェンジを覚える為のスクリプト。 //-------------------------------------------------------------------------------------- //【item_db】 //15081,Quest_Skill_Sage_0,エレメンタルチェンジ(水),2,10000,,100,,,,,65536,2,,,,,,{callfunc "Quest_Skill_Sage",15081,0;},{} //15082,Quest_Skill_Sage_1,エレメンタルチェンジ(土),2,10000,,100,,,,,65536,2,,,,,,{callfunc "Quest_Skill_Sage",15082,1;},{} //15083,Quest_Skill_Sage_2,エレメンタルチェンジ(火),2,10000,,100,,,,,65536,2,,,,,,{callfunc "Quest_Skill_Sage",15083,2;},{} //15084,Quest_Skill_Sage_3,エレメンタルチェンジ(風),2,10000,,100,,,,,65536,2,,,,,,{callfunc "Quest_Skill_Sage",15084,3;},{} //-------------------------------------------------------------------------------------- //【エレメンタルチェンジ個別習得スクリプト】 //callfunc "Quest_Skill_Sage",スキル習得済時に返却するアイテムID(0以下なら返却しない),覚える属性(0=水 1=土 2=火 3=風); function script Quest_Skill_Sage { if(Class != 16) return;//セージ以外は終了 set @Quest_Skill_Get,0; //クエストスキルを既に習得しているか(0=未修得 1=習得済) switch(getarg(1)){ case 0://ウォーターエレメンタルチェンジ習得 if(getskilllv(1008) >= 1){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 1008,1,0;//ウォーターエレメンタルチェンジ skill 1017,0,0;//アースエレメンタルチェンジ skill 1018,0,0;//ファイアーエレメンタルチェンジ skill 1019,0,0;//ウィンドエレメンタルチェンジ break; case 1://アースエレメンタルチェンジ習得 if(getskilllv(1017) >= 1){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 1008,0,0;//ウォーターエレメンタルチェンジ skill 1017,1,0;//アースエレメンタルチェンジ skill 1018,0,0;//ファイアーエレメンタルチェンジ skill 1019,0,0;//ウィンドエレメンタルチェンジ break; case 2://ファイアーエレメンタルチェンジ習得 if(getskilllv(1018) >= 1){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 1008,0,0;//ウォーターエレメンタルチェンジ skill 1017,0,0;//アースエレメンタルチェンジ skill 1018,1,0;//ファイアーエレメンタルチェンジ skill 1019,0,0;//ウィンドエレメンタルチェンジ break; case 3://ウィンドエレメンタルチェンジ習得 if(getskilllv(1019) >= 1){//習得済かチェック set @Quest_Skill_Get,1; break; } skill 1008,0,0;//ウォーターエレメンタルチェンジ skill 1017,0,0;//アースエレメンタルチェンジ skill 1018,0,0;//ファイアーエレメンタルチェンジ skill 1019,1,0;//ウィンドエレメンタルチェンジ break; } //アイテム返却処理 if((getarg(0) >= 1) && (@Quest_Skill_Get > 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; //名前無し dispbottom "既に習得しています。"; return 0; } return 1; } //【エレメンタルチェンジ個別習得スクリプト終了】 //--------------------------------------------------------------------------------------