Перейти к содержанию

Darkness

Проверенные
  • Постов

    179
  • Зарегистрирован

  • Посещение

  • Победитель дней

    25

Сообщения, опубликованные Darkness

  1. Cтандартный джобмастер.



    //===== eAthena Script =======================================
    //= eAthena Jobchanger AKA Job Master
    //===== By: ==================================================
    //= eAthena Dev Team [Ori:LunatikBunnie] [Cur:Lance]
    //===== Current Version: =====================================
    //= 1.5a
    //===== Compatible With: =====================================
    //= eAthena SVN Trunk 6674
    //===== Description: =========================================
    //= Changes your job without asking too much
    //= For other info, please contact me at Lunatikbunnie@gmail.com
    //= Editted menu to avoid button mashing.
    //= 1.3 Added TK/SL/SG, thanks to Haplo. Fixed minor bugs [Lupus]
    //= script leaves grabage variable: 'lastJob'
    //= 1.4 Added NJ/GS, changed all job numbers to Job_* constants.
    //= All credits go to pxxx [Skotlex]
    //= 1.5 Rewrite everything from scratch. [Lance]
    //= 1.5a fixed Baby -> Super Baby change. Switched to JobName() [Lupus]
    //============================================================
    prontera,153,193,6 script Job Master 123,{
    mes "^ff0000[Job Master]^000000";
    if(Upper == 1 && Class >= Job_Lord_Knight) goto L_noReq;
    if(SkillPoint != 0){
    mes "I'm sorry, please use up all your skill points before changing jobs";
    mes "Please come again soon!";
    close;
    }
    if(JobLevel < 10) goto L_LvError;
    switch(Class){
    case Job_Novice_High:
    case Job_Baby:
    case Job_Novice:
    skill 142,1,0;
    skill 143,1,0;
    mes "Welcome, please select the job you wish to change into";
    if(lastJob != 0 && Class == Job_Novice_High){
    switch(lastJob){
    case Job_Knight:
    case Job_Crusader:
    set @target_job, Job_Swordman_High;
    break;
    case Job_Monk:
    case Job_Priest:
    set @target_job, Job_Acolyte_High;
    break;
    case Job_Alchemist:
    case Job_Blacksmith:
    set @target_job, Job_Merchant_High;
    break;
    case Job_Rogue:
    case Job_Assassin:
    set @target_job, Job_Thief_High;
    break;
    case Job_Wizard:
    case Job_Sage:
    set @target_job, Job_Mage_High;
    break;
    case Job_Hunter:
    case Job_Bard:
    case Job_Dancer:
    set @target_job, Job_Archer_High;
    break;
    }
    } else {
    switch(select("Swordsman","Mage","Archer","Acolyte","Merchant","Thief",
    "Super Novice","Taekwon","Gunslinger","Ninja")){
    case 7:
    if(Class == Job_Novice_High) goto L_noReq;
    if($@JC_SupNovM > BaseLevel) goto L_BvError;
    if(Upper == 2)
    set @target_job, Job_Super_Baby;
    else
    set @target_job, Job_SuperNovice;
    break;
    case 8:
    if(Class == Job_Novice_High) goto L_noReq;
    if(Upper == 2) goto L_noReq;
    set @target_job, Job_Taekwon;
    break;
    case 9:
    case 10:
    if(Class == Job_Novice_High || Upper == 2) goto L_noReq;
    set @target_job, @menu + 15;
    break;
    default:
    set @target_job, @menu;
    if(Class == Job_Novice_High) set @target_job, @target_job + 4001;
    break;
    }
    }
    mes "Are you sure you want to change to " + JobName(@target_job) + "?";
    if(select("No","Yes") == 2){
    callfunc "Job_Change", @target_job;
    if(@target_job == Job_Gunslinger || @target_job == Job_Ninja || @target_job == Job_Taekwon) {
    callfunc "F_ClearJobVar";
    } else {
    if($@JC_Plat) goto L_GivePlat;
    }
    }
    close;
    break;
    default:
    if(JobLevel < $@JC_MinimumJB) goto L_LvError;
    deletearray @job_opt, getarraysize(@job_opt);
    if(Class < Job_Knight || Class == Job_Taekwon || (Class > Job_Baby && Class < Job_Baby_Knight) || (Class > Job_Novice_High && Class < Job_Lord_Knight)){
    if(lastJob != 0){
    set @target_job, lastJob + 4001;
    } else {
    switch(Class){
    case Job_Swordman_High:
    case Job_Baby_Swordman:
    case Job_Swordman:
    set @job_opt[0], Job_Knight;
    set @job_opt[1], Job_Crusader;
    break;
    case Job_Mage_High:
    case Job_Baby_Mage:
    case Job_Mage:
    set @job_opt[0], Job_Wizard;
    set @job_opt[1], Job_Sage;
    break;
    case Job_Archer_High:
    case Job_Baby_Archer:
    case Job_Archer:
    set @job_opt[0], Job_Hunter;
    if(Sex == 0)
    set @job_opt[1], Job_Dancer;
    else
    set @job_opt[1], Job_Bard;
    break;
    case Job_Acolyte_High:
    case Job_Baby_Acolyte:
    case Job_Acolyte:
    set @job_opt[0], Job_Priest;
    set @job_opt[1], Job_Monk;
    break;
    case Job_Merchant_High:
    case Job_Baby_Merchant:
    case Job_Merchant:
    set @job_opt[0], Job_Blacksmith;
    set @job_opt[1], Job_Alchemist;
    break;
    case Job_Thief_High:
    case Job_Baby_Thief:
    case Job_Thief:
    set @job_opt[0], Job_Assassin;
    set @job_opt[1], Job_Rogue;
    break;
    default:
    set @job_opt[0], Job_Star_Gladiator;
    set @job_opt[1], Job_Soul_Linker;
    break;
    }
    mes "Welcome, please select the job you wish to change into";
    set @target_job, @job_opt[select(JobName(@job_opt[0]), JobName(@job_opt[1]))-1];
    if(Class > Job_Novice_High && Class < Job_Lord_Knight) set @target_job, @target_job + 4001;
    }
    mes "Are you sure you want to change to " + JobName(@target_job) + "?";
    if(select("No","Yes")==2){
    callfunc "Job_Change", @target_job;
    if(@target_job == Job_Star_Gladiator || @target_job == Job_Soul_Linker) {
    callfunc "F_ClearJobVar";
    } else {
    if($@JC_Plat) goto L_GivePlat;
    }
    }
    close;
    }
    if(checkfalcon() || checkcart() || checkriding()) goto L_remove;
    if((Class >=Job_Knight) && (Class <=Job_Crusader2)){
    mes "Do you want to reborn?";
    if(select("Yes","No")==1){
    if(BaseLevel < 99 || JobLevel < 50) goto L_cantCh;
    set lastJob, Class;
    if(Class == Job_Knight2){
    set lastJob, Job_Knight;
    } else {
    if(Class == Job_Crusader2){
    set lastJob, Job_Crusader;
    }
    }
    jobchange Job_Novice_High;
    resetlvl(1);
    skill 142,1,0;
    skill 143,1,0;
    }
    close;
    }
    }
    mes "I'm sorry, there are no further classes for your job.";
    close;

    L_GivePlat:
    if (BaseClass==Job_SuperNovice) goto L_sSuperN;
    if (BaseClass==Job_Swordman) goto L_sSword;
    if (BaseClass==Job_Mage) goto L_sMage;
    if (BaseClass==Job_Archer) goto L_sArcher;
    if (BaseClass==Job_Acolyte) goto L_sAcolyte;
    if (BaseClass==Job_Merchant) goto L_sMerchant;
    if (BaseClass==Job_Thief) goto L_sThief;
    close;
    L_sSuperN:
    skill 142,1,0;
    close;
    L_sSword:
    skill 142,1,0;
    skill 144,1,0;
    skill 145,1,0;
    skill 146,1,0;
    close;
    L_sMage:
    skill 142,1,0;
    skill 157,1,0;
    close;
    L_sArcher:
    skill 142,1,0;
    skill 147,1,0;
    skill 148,1,0;
    close;
    L_sAcolyte:
    skill 142,1,0;
    skill 156,1,0;
    close;
    L_sMerchant:
    skill 142,1,0;
    skill 153,1,0;
    skill 154,1,0;
    skill 155,1,0;
    close;
    L_sThief:
    skill 142,1,0;
    skill 149,1,0;
    skill 150,1,0;
    skill 151,1,0;
    skill 152,1,0;
    close;

    L_cantCh:
    mes "I'm sorry, you do not meet the requirements to change";
    mes "Please come again soon!";
    close;

    L_LvError:
    mes "I'm sorry, you do not seem to have enough Job Levels";
    mes "Please come again soon!";
    close;

    L_BvError:
    mes "I'm sorry, you do not seem to have enough Base Levels";
    mes "Please come again soon!";
    close;

    L_noReq:
    mes "I'm sorry, you do not meet the requirements to change";
    mes "Please come again soon!";
    close;

    L_remove:
    mes "Please remove your cart,falcon or peco";
    mes "Please come again soon!";
    close;

    OnInit:
    // Variable Setup
    set $@JC_MinimumJB, 40; //Minimum job level for changing between 2nd and advance Class (Default : 40)
    set $@JC_Plat, 1; //Give Platinum skills on Jobchange (Default : 1-yes)
    set $@JC_SupNovM, 45; //Base Level to change into Super Novice (Default : 45)
    end;
    }

  2. prontera,153,193,6 script Job Master 123,{

    mes "^ff0000[Job Master]^000000";

    if(Upper == 1 && Class >= Job_Lord_Knight) goto L_noReq;

    if(SkillPoint != 0){

    mes "I'm sorry, please use up all your skill points before changing jobs";

    mes "Please come again soon!";

    close;

    }

    if(JobLevel < 10) goto L_LvError;

    switch(Class){

    case Job_Novice_High:

    case Job_Baby:

    case Job_Novice:

    skill 142,1,0;

    skill 143,1,0;

    mes "Welcome, please select the job you wish to change into";

    if(lastJob != 0 && Class == Job_Novice_High){

    switch(lastJob){

    case Job_Knight:

    case Job_Crusader:

    set @target_job, Job_Swordman_High;

    break;

    case Job_Monk:

    case Job_Priest:

    set @target_job, Job_Acolyte_High;

    break;

    case Job_Alchemist:

    case Job_Blacksmith:

    set @target_job, Job_Merchant_High;

    break;

    case Job_Rogue:

    case Job_Assassin:

    set @target_job, Job_Thief_High;

    break;

    case Job_Wizard:

    case Job_Sage:

    set @target_job, Job_Mage_High;

    break;

    case Job_Hunter:

    case Job_Bard:

    case Job_Dancer:

    set @target_job, Job_Archer_High;

    break;

    }

    } else {

    switch(select("Swordsman","Mage","Archer","Acolyte","Merchant","Thief",

    "Super Novice","Taekwon","Gunslinger","Ninja")){

    case 7:

    if(Class == Job_Novice_High) goto L_noReq;

    if($@JC_SupNovM > BaseLevel) goto L_BvError;

    if(Upper == 2)

    set @target_job, Job_Super_Baby;

    else

    set @target_job, Job_SuperNovice;

    break;

    case 8:

    if(Class == Job_Novice_High) goto L_noReq;

    if(Upper == 2) goto L_noReq;

    set @target_job, Job_Taekwon;

    break;

    case 9:

    case 10:

    if(Class == Job_Novice_High || Upper == 2) goto L_noReq;

    set @target_job, @menu + 15;

    break;

    default:

    set @target_job, @menu;

    if(Class == Job_Novice_High) set @target_job, @target_job + 4001;

    break;

    }

    }

    mes "Are you sure you want to change to " + JobName(@target_job) + "?";

    if(select("No","Yes") == 2){

    callfunc "Job_Change", @target_job;

    if(@target_job == Job_Gunslinger || @target_job == Job_Ninja || @target_job == Job_Taekwon) {

    callfunc "F_ClearJobVar";

    } else {

    if($@JC_Plat) goto L_GivePlat;

    }

    }

    close;

    break;

    default:

    if(JobLevel < $@JC_MinimumJB) goto L_LvError;

    deletearray @job_opt, getarraysize(@job_opt);

    if(Class < Job_Knight || Class == Job_Taekwon || (Class > Job_Baby && Class < Job_Baby_Knight) || (Class > Job_Novice_High && Class < Job_Lord_Knight)){

    if(lastJob != 0){

    set @target_job, lastJob + 4001;

    } else {

    switch(Class){

    case Job_Swordman_High:

    case Job_Baby_Swordman:

    case Job_Swordman:

    set @job_opt[0], Job_Knight;

    set @job_opt[1], Job_Crusader;

    break;

    case Job_Mage_High:

    case Job_Baby_Mage:

    case Job_Mage:

    set @job_opt[0], Job_Wizard;

    set @job_opt[1], Job_Sage;

    break;

    case Job_Archer_High:

    case Job_Baby_Archer:

    case Job_Archer:

    set @job_opt[0], Job_Hunter;

    if(Sex == 0)

    set @job_opt[1], Job_Dancer;

    else

    set @job_opt[1], Job_Bard;

    break;

    case Job_Acolyte_High:

    case Job_Baby_Acolyte:

    case Job_Acolyte:

    set @job_opt[0], Job_Priest;

    set @job_opt[1], Job_Monk;

    break;

    case Job_Merchant_High:

    case Job_Baby_Merchant:

    case Job_Merchant:

    set @job_opt[0], Job_Blacksmith;

    set @job_opt[1], Job_Alchemist;

    break;

    case Job_Thief_High:

    case Job_Baby_Thief:

    case Job_Thief:

    set @job_opt[0], Job_Assassin;

    set @job_opt[1], Job_Rogue;

    break;

    default:

    set @job_opt[0], Job_Star_Gladiator;

    set @job_opt[1], Job_Soul_Linker;

    break;

    }

    mes "Welcome, please select the job you wish to change into";

    set @target_job, @job_opt[select(JobName(@job_opt[0]), JobName(@job_opt[1]))-1];

    if(Class > Job_Novice_High && Class < Job_Lord_Knight) set @target_job, @target_job + 4001;

    }

    mes "Are you sure you want to change to " + JobName(@target_job) + "?";

    if(select("No","Yes")==2){

    callfunc "Job_Change", @target_job;

    if(@target_job == Job_Star_Gladiator || @target_job == Job_Soul_Linker) {

    callfunc "F_ClearJobVar";

    } else {

    if($@JC_Plat) goto L_GivePlat;

    }

    }

    close;

    }

    if(checkfalcon() || checkcart() || checkriding()) goto L_remove;

    if((Class >=Job_Knight) && (Class <=Job_Crusader2)){

    mes "Do you want to reborn?";

    if(select("Yes","No")==1){

    if(BaseLevel < 99 || JobLevel < 50) goto L_cantCh;

    set lastJob, Class;

    if(Class == Job_Knight2){

    set lastJob, Job_Knight;

    } else {

    if(Class == Job_Crusader2){

    set lastJob, Job_Crusader;

    }

    }

    jobchange Job_Novice_High;

    resetlvl(1);

    skill 142,1,0;

    skill 143,1,0;

    }

    close;

    }

    }

    mes "I'm sorry, there are no further classes for your job.";

    close;

    L_GivePlat:

    if (BaseClass==Job_SuperNovice) goto L_sSuperN;

    if (BaseClass==Job_Swordman) goto L_sSword;

    if (BaseClass==Job_Mage) goto L_sMage;

    if (BaseClass==Job_Archer) goto L_sArcher;

    if (BaseClass==Job_Acolyte) goto L_sAcolyte;

    if (BaseClass==Job_Merchant) goto L_sMerchant;

    if (BaseClass==Job_Thief) goto L_sThief;

    close;

    L_sSuperN:

    skill 142,1,0;

    close;

    L_sSword:

    skill 142,1,0;

    skill 144,1,0;

    skill 145,1,0;

    skill 146,1,0;

    close;

    L_sMage:

    skill 142,1,0;

    skill 157,1,0;

    close;

    L_sArcher:

    skill 142,1,0;

    skill 147,1,0;

    skill 148,1,0;

    close;

    L_sAcolyte:

    skill 142,1,0;

    skill 156,1,0;

    close;

    L_sMerchant:

    skill 142,1,0;

    skill 153,1,0;

    skill 154,1,0;

    skill 155,1,0;

    close;

    L_sThief:

    skill 142,1,0;

    skill 149,1,0;

    skill 150,1,0;

    skill 151,1,0;

    skill 152,1,0;

    close;

    L_cantCh:

    mes "I'm sorry, you do not meet the requirements to change";

    mes "Please come again soon!";

    close;

    L_LvError:

    mes "I'm sorry, you do not seem to have enough Job Levels";

    mes "Please come again soon!";

    close;

    L_BvError:

    mes "I'm sorry, you do not seem to have enough Base Levels";

    mes "Please come again soon!";

    close;

    L_noReq:

    mes "I'm sorry, you do not meet the requirements to change";

    mes "Please come again soon!";

    close;

    L_remove:

    mes "Please remove your cart,falcon or peco";

    mes "Please come again soon!";

    close;

    OnInit:

    // Variable Setup

    set $@JC_MinimumJB, 40; //Minimum job level for changing between 2nd and advance Class (Default : 40)

    set $@JC_Plat, 1; //Give Platinum skills on Jobchange (Default : 1-yes)

    set $@JC_SupNovM, 45; //Base Level to change into Super Novice (Default : 45)

    end;

    }

    Хз где ошибка.

    • Downvote 2
  3. Вообщем афина не воспринимает джоб мастера(не дает профу)

    prontera,153,185,3 script Высший 114,{

    if(JobLevel < 10) {

    mes "[Высший]";

    mes "Вы не достаточно сильны!";

    close;

    }

    if(class < 1) {

    mes "Выбирай профессию!";

    switch(select("Лорд кнайт:Паладин:Чампион:Кузнец:Креатор:Профессор:Епископ:Хай виззард:Ассасин кросс:Сталкер:Снипер:Клоун:Гипся:Соул Линкер:Ниньзя:Ганслингер:Стар гладиатор:Супер новис")){

    case 1:

    atcommand "@job 4008";

    atcommand "@skillall";

    close;

    Case 2:

    atcommand "@job 4015";

    atcommand "@skillall";

    close;

    Case 3:

    atcommand "@job 4016";

    atcommand "@skillall";

    close;

    Case 4:

    atcommand "@job 4011";

    atcommand "@skillall";

    close;

    Case 5:

    atcommand "@job 4019";

    atcommand "@skillall";

    close;

    Case 6:

    atcommand "@job 4017";

    atcommand "@skillall";

    close;

    Case 7:

    atcommand "@job 4009";

    atcommand "@skillall";

    close;

    Case 8:

    atcommand "@job 4010";

    atcommand "@skillall";

    close;

    Case 9:

    atcommand "@job 4013";

    atcommand "@skillall";

    close;

    Case 10:

    atcommand "@job 4018";

    atcommand "@skillall";

    close;

    Case 11:

    atcommand "@job 4012";

    atcommand "@skillall";

    close;

    Case 12:

    atcommand "@job 4020";

    atcommand "@skillall";

    close;

    Case 13:

    atcommand "@job 4021";

    atcommand "@skillall";

    close;

    Case 14:

    atcommand "@job 4049";

    atcommand "@skillall";

    close;

    Case 15:

    atcommand "@job 25";

    atcommand "@skillall";

    close;

    Case 16:

    atcommand "@job 24";

    atcommand "@skillall";

    close;

    Case 17:

    atcommand "@job 4047";

    atcommand "@skillall";

    close;

    Case 18:

    atcommand "@job 23";

    atcommand "@skillall";

    close;

    }

    }

    }

×
×
  • Создать...
Яндекс.Метрика