Jump to content

Dark Theme was set as default for all members. Please report any issues here.

  • 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 [email protected], eaclass();
    set [email protected], ((.ThirdClass)?roclass([email protected]&EAJ_UPPERMASK):Class);
    if ([email protected] > 6 && [email protected] < 22) {
        if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[1]) {
            set [email protected], .Rebirth[0]-BaseLevel; set [email protected], .Rebirth[1]-JobLevel;
            mes "You need "+(([email protected]>0)[email protected]+" more base levels "+(([email protected]>0)?"/ ":""):"")+(([email protected]>0)[email protected]+" more job levels ":"")+"to continue.";
            close;
        }
        while(1) {
            mes "Select an option.";
            next;
            set [email protected], select(" ~ ^0055FFRebirth^000000:"+((.ThirdClass)?" ~ ^FF0000Third Class^000000":"")+": ~ ^777777Cancel^000000");
            if ([email protected]==3) close;
            mes "[Job Warper]";
            mes "Are you sure?";
            next;
            Job_Menu((([email protected]==1)?4001:roclass([email protected]|EAJL_THIRD)));
            mes "[Job Warper]";
        }
    }
    set [email protected], roclass([email protected]|EAJL_2_1); set [email protected],roclass([email protected]|EAJL_2_2);
    if (([email protected]&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) setarray [email protected][0],roclass([email protected]|EAJL_THIRD),99;
    if (Class == Job_Ninja || Class == Job_Gunslinger) setarray [email protected][0],[email protected],70;
    if ([email protected][0] && .SecondExpanded) {
        if (BaseLevel < .Rebirth[0] || JobLevel < [email protected][1]) {
            set [email protected], .Rebirth[0]-BaseLevel; set [email protected], [email protected][1]-JobLevel;
            mes "You need "+(([email protected]>0)[email protected]+" more base levels "+(([email protected]>0)?"/ ":""):"")+(([email protected]>0)[email protected]+" more job levels ":"")+"to continue.";
            close;
        }
        mes "Switch to "+jobname([email protected][0])+"?";
        next;
        Job_Menu([email protected][0]);
        close;
    }
    if ([email protected]&EAJL_2)
        if ([email protected]&(EAJL_UPPER|EAJL_BABY) || roclass([email protected]|EAJL_UPPER) == -1) {
            mes "No more jobs are available.";
            close;
        }
    if (([email protected]&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([email protected]|EAJL_2_1) == -1 || roclass([email protected]|EAJL_2_2) == -1)
        mes "No more jobs are available.";
    else if (!([email protected]&EAJL_2) && JobLevel < .JobReq[1])
        mes "A job level of "+.JobReq[1]+" is required to change into the 2nd Class.";
    else if (.LastJob && lastJob && ([email protected]&EAJL_UPPER)) {
        mes "Switch classes now?";
        next;
        Job_Menu(lastJob+4001);
    } else
        Job_Menu([email protected],[email protected]);
    close;

function Job_Menu {
    while(1) {
        if (getargcount() > 1) {
            mes "Select a job.";
            set [email protected]$,"";
            for(set [email protected],0; [email protected]<getargcount(); set [email protected],[email protected]+1)
                set [email protected]$, [email protected]$+" ~ "+jobname(getarg([email protected]))+":";
            set [email protected]$, [email protected]$+" ~ ^777777Cancel^000000";
            next;
            set [email protected], getarg(select([email protected]$)-1,0);
            if ([email protected]) close;
            if (([email protected] == 23 || [email protected] == 4045) && BaseLevel < .SNovice) {
                mes "[Job Warper]";
                mes "A base level of "+.SNovice+" is required to turn into a "+jobname([email protected])+".";
                close;
            }
            mes "[Job Warper]";
            mes "Are you sure?";
            next;
        } else
            set [email protected], getarg(0);
        if (select(" ~ Want to become a ^0055FF"+jobname([email protected])+"^000000 class: ~ ^777777"+((getargcount() > 1)?"Go back":"Cancel")+"^000000") == 1) {
            mes "[Job Warper]";
            mes "You are getting Warped to "+callfunc("F_InsertArticle",jobname([email protected]))+" Quest Npc!";
            if ([email protected]==4001 && .LastJob) set lastJob, Class;
            //mes [email protected];
            goto Job;
            //Warps here !!!!
            if ([email protected]==4001 || [email protected]==4023) warp "yuno_in02",88,164;
            //specialeffect2 EF_ANGEL2; specialeffect2 EF_ELECTRIC;
            close;
        }
        if (getargcount() == 1) return;
        mes "[Job Warper]";
    }
    end;
    
}
Job:
    if([email protected] > 4000 && [email protected] < 4030 && !4046 && !4047 && !4049){
        warp "valkyrie", 48, 48;
    }else{
        switch([email protected]){
            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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

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