Jump to content
  • 0
hadiesyafiq

Request Job Quest Place Warper...

Question

Hi all....can someone share to me npc like a warper but it for send player to making job quest...

i got some npc from rathena but not work on my server...

Quote

//===== Hercules Script ======================================
//= Job Warper
//===== By: ==================================================
//= Euphy, edit by Hadie
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: ===================================== 
//= Project : Geovani
//===== Description: =========================================
//= A functional job warper.
//============================================================

prontera,153,182,6    script    Job Warper    2_F_MAGICMASTER,{
function Job_Menu;
    mes "[Job Warper]";
    if (Class > 4049) {
        mes "No more jobs are available.";
        close;
    }
    set .@eac, eaclass();
    set .@i, ((.ThirdClass)?roclass(.@eac&EAJ_UPPERMASK):Class);
    if (.@i > 6 && .@i < 22) {
        if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[1]) {
            set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .Rebirth[1]-JobLevel;
            mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue.";
            close;
        }
        while(1) {
            mes "Select an option.";
            next;
            set .@i, select(" ~ ^0055FFRebirth^000000:"+((.ThirdClass)?" ~ ^FF0000Third Class^000000":"")+": ~ ^777777Cancel^000000");
            if (.@i==3) close;
            mes "[Job Warper]";
            mes "Are you sure?";
            next;
            Job_Menu(((.@i==1)?4001:roclass(.@eac|EAJL_THIRD)));
            mes "[Job Warper]";
        }
    }
    set .@j1, roclass(.@eac|EAJL_2_1); set .@j2,roclass(.@eac|EAJL_2_2);
    if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) setarray .@exp[0],roclass(.@eac|EAJL_THIRD),99;
    if (Class == Job_Ninja || Class == Job_Gunslinger) setarray .@exp[0],.@j1,70;
    if (.@exp[0] && .SecondExpanded) {
        if (BaseLevel < .Rebirth[0] || JobLevel < .@exp[1]) {
            set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .@exp[1]-JobLevel;
            mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue.";
            close;
        }
        mes "Switch to "+jobname(.@exp[0])+"?";
        next;
        Job_Menu(.@exp[0]);
        close;
    }
    if (.@eac&EAJL_2)
        if (.@eac&(EAJL_UPPER|EAJL_BABY) || roclass(.@eac|EAJL_UPPER) == -1) {
            mes "No more jobs are available.";
            close;
        }
    if ((.@eac&EAJ_BASEMASK) == EAJ_NOVICE) {
        if (JobLevel < .JobReq[0])
            mes "A job level of "+.JobReq[0]+" is required to change into the 1st Class.";
        else if (Class == 4001 && .LastJob && lastJob) {
            mes "Switch classes now?";
            next;
            Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER));
        } else switch(Class) {
            case 0: Job_Menu(1,2,3,4,5,6,23,4046,24,25,4023);
            case 4001: Job_Menu(4002,4003,4004,4005,4006,4007);
            case 4023: Job_Menu(4024,4025,4026,4027,4028,4029,4045);
            default: mes "An error has occurred."; break;
        }
        close;
    }
    if (roclass(.@eac|EAJL_2_1) == -1 || roclass(.@eac|EAJL_2_2) == -1)
        mes "No more jobs are available.";
    else if (!(.@eac&EAJL_2) && JobLevel < .JobReq[1])
        mes "A job level of "+.JobReq[1]+" is required to change into the 2nd Class.";
    else if (.LastJob && lastJob && (.@eac&EAJL_UPPER)) {
        mes "Switch classes now?";
        next;
        Job_Menu(lastJob+4001);
    } else
        Job_Menu(.@j1,.@j2);
    close;

function Job_Menu {
    while(1) {
        if (getargcount() > 1) {
            mes "Select a job.";
            set .@menu$,"";
            for(set .@i,0; .@i<getargcount(); set .@i,.@i+1)
                set .@menu$, .@menu$+" ~ "+jobname(getarg(.@i))+":";
            set .@menu$, .@menu$+" ~ ^777777Cancel^000000";
            next;
            set .@i, getarg(select(.@menu$)-1,0);
            if (!.@i) close;
            if ((.@i == 23 || .@i == 4045) && BaseLevel < .SNovice) {
                mes "[Job Warper]";
                mes "A base level of "+.SNovice+" is required to turn into a "+jobname(.@i)+".";
                close;
            }
            mes "[Job Warper]";
            mes "Are you sure?";
            next;
        } else
            set .@i, getarg(0);
        if (select(" ~ Want to become a ^0055FF"+jobname(.@i)+"^000000 class: ~ ^777777"+((getargcount() > 1)?"Go back":"Cancel")+"^000000") == 1) {
            mes "[Job Warper]";
            mes "You are getting Warped to "+callfunc("F_InsertArticle",jobname(.@i))+" Quest Npc!";
            if (.@i==4001 && .LastJob) set lastJob, Class;
            //mes .@i;
            goto Job;
            //Warps here !!!!
            if (.@i==4001 || .@i==4023) warp "yuno_in02",88,164;
            //specialeffect2 EF_ANGEL2; specialeffect2 EF_ELECTRIC;
            close;
        }
        if (getargcount() == 1) return;
        mes "[Job Warper]";
    }
    end;
    
}
Job:
    if(.@i > 4000 && .@i < 4030 && !4046 && !4047 && !4049){
        warp "valkyrie", 48, 48;
    }else{
        switch(.@i){
            case 1:
                warp "izlude", 52, 137;
                break;
            case 2:
                warp "geffen", 64, 177;
                break;
            case 3:
                warp "pay_arche", 145, 164;
                break;        
            case 4:
                warp "prontera", 234, 314;
                break;
            case 5:
                warp "alberta", 36, 42;
                break;
            case 6:
                warp "moc_ruins", 58, 159;
                break;    
            case 7:
                warp "prontera", 35, 346;
                break;    
            case 8:
                warp "prt_church", 16, 41;
                break;    
            case 9:
                warp "geffen", 120, 111;
                break;    
            case 10:
                warp "einbroch", 255, 107;
                break;    
            case 11:
                warp "hu_in01", 381, 368;
                break;            
            case 12:
                warp "in_moc_16", 19, 33;
                break;    
            case 14:
                warp "prontera", 156, 356;
                break;
            case 15:
                warp "prt_monk", 184, 16;
                break;    
            case 16:
                warp "yuno_in03", 154, 35;
                break;    
            case 17:
                warp "cmd_fild07", 196, 117;
                break;    
            case 18:
                warp "alde_alche", 27, 185;
                break;    
            case 19:
                warp "comodo", 226, 122;
                break;    
            case 20:
                warp "comodo", 193, 150;
                break;    
            case 23:
                warp "aldebaran", 116, 63;
                break;
            case 24:
                warp "Einbroch Tower", 134,199;
                break;
            case 25:
                warp "alberta", 30,63;
                break;
            case 4046:
                warp "payon", 158, 140;
                break;
            case 4047:
                warp "payon", 215, 102;
                break;
            case 4049:
                warp "morocc", 55,259;
                break;
//==============3rd============================================
            case 4054:
            case 4060:
                warp "prt_in", 164, 23;
                break;
            case 4055:
            case 4061:
                warp "morroc", 102, 143;
                break;
            case 4056:
            case 4062:
                warp "tur_dun01", 157, 54;
                break;
            case 4057:
            case 4063:
                warp "prt_church", 103, 88;
                break;
            case 4058:
            case 4064:
                warp "yuno", 129, 156;
                break;
            case 4059:
            case 4065:
                warp "morroc", 45, 107;
                break;
            case 4066:
            case 4073:
                warp "prt_castle", 48, 161;
                break;
            case 4067:
            case 4074:
                warp "gef_tower", 102, 34;
                break;
            case 4068:
            case 4075:
                warp "alberta", 196, 133;
                break;
            case 4069:
            case 4076:
                warp "xmas", 161, 209;
                break;
            case 4070:
            case 4077:
                warp "ve_in", 241, 128;
                break;
            case 4071:
            case 4078:
                warp "alde_alche", 35, 185;
                break;
            case 4072:
            case 4079:
                warp "morroc", 156, 70;
                break;
            case 4211:
            case 4212:
                warp "amatsu", 21, 76;
                break;
            case 4215:
                warp "Hugel", 70,137;
                break;
        } 
    }
    end;
OnInit:

    setarray .Rebirth[0],99,50;    // Minimum base level, job level to rebirth OR change to third class
    setarray .JobReq[0],10,40;    // Minimum job level to turn into 1st class, 2nd class
    set .ThirdClass,0;        // Enable third classes? (1: yes / 0: no)
    set .SecondExpanded,1;        // Enable new expanded second classes: Ex. Super Novice, Kagerou/Oboro, Rebellion? (1: yes / 0: no)
    set .SNovice,45;        // Minimum base level to turn into Super Novice
    set .LastJob,1;            // Enforce linear class changes? (1: yes / 0: no)
    set .SkillPointCheck,1;        // Force player to use up all skill points? (1: yes / 0: no)
    set .Platinum,0;        // Get platinum skills automatically? (1: yes / 0: no)
    end;
}

 

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.