if (getarraysize(.OnClick)) {
if (.OnClick[0]) { specialeffect2 313; percentheal 100,100; }
if (.OnClick[1]) { specialeffect2 42; sc_start SC_BLESSING,600000,10; specialeffect2 37; sc_start SC_INCREASEAGI,600000,10; }
if (.OnClick[2] && getbrokenid(1)) { specialeffect2 101; atcommand "@repairall"; } }
set .@menu$,"";
for (set .@i,0; .@i < getarraysize(.MainMenu$); set .@i,.@i+1) {
if (.MenuOption & pow(2,.@i))
set .@menu$, .@menu$+" ~ "+.MainMenu$[.@i];
set .@menu$, .@menu$+":"; }
switch(select(.@menu$)) {
case 1:
function Job_Menu; function A_An;
if (Class > 4049) {
message strcharinfo(0),"No more jobs are available."; close; }
if (checkfalcon() || checkcart() || checkriding() || ismounting()) {
message strcharinfo(0),"Please remove your "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkriding())?"Peco":"")+((ismounting())?"mount":"")+" before proceeding.";
close; }
if (.SkillPointCheck && SkillPoint) { message strcharinfo(0),"Please use all your skill points before proceeding."; 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;
message strcharinfo(0),"You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue.";
close; }
if (Class > 21) { Job_Menu(roclass(.@eac|EAJL_THIRD)); close; }
while(1) {
set .@i, select(" ~ ^0055FFRebirth^000000:"+((.ThirdClass)?" ~ ^FF0000Third Class^000000":"")+": ~ ^777777Cancel^000000");
if (.@i==3) close;
Job_Menu(((.@i==1)?4001:roclass(.@eac|EAJL_THIRD))); } }
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) setarray .@exp[0],.@j1,70;
if (.@exp[0] && .ThirdClass) {
if (BaseLevel < .Rebirth[0] || JobLevel < .@exp[1]) {
set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .@exp[1]-JobLevel;
message strcharinfo(0),"You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue.";
close; }
Job_Menu(.@exp[0]); close; }
if (.@eac&EAJL_2)
if (.@eac&(EAJL_UPPER|EAJL_BABY) || roclass(.@eac|EAJL_UPPER) == -1) {
message strcharinfo(0),"No more jobs are available."; close; }
if ((.@eac&EAJ_BASEMASK) == EAJ_NOVICE) {
if (JobLevel < .JobReq[0]) message strcharinfo(0),"A job level of "+.JobReq[0]+" is required to change into the 1st Class.";
else if (Class == 4001 && .LastJob && lastJob) 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: message strcharinfo(0),"An error has occurred."; break; }
close; }
if (.@eac&EAJL_THIRD && Upper == 0) { // Non-trans third job
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;
}
Job_Menu(4001);
close;
}
if (roclass(.@eac|EAJL_2_1) == -1 || roclass(.@eac|EAJL_2_2) == -1) message strcharinfo(0),"No more jobs are available.";
else if (!(.@eac&EAJL_2) && JobLevel < .JobReq[1]) message strcharinfo(0),"A job level of "+.JobReq[1]+" is required to change into the 2nd Class.";
else if (.LastJob && lastJob && (.@eac&EAJL_UPPER)) Job_Menu(lastJob+4001);
else Job_Menu(.@j1,.@j2);
close;
function Job_Menu {
if (getargcount() > 1) {
set .@menu$,"";
for(set .@i,0; .@i<getargcount(); set .@i,.@i+1)
set .@menu$, .@menu$+" ~ "+jobname(getarg(.@i))+":";
set .@menu$, .@menu$+" ~ ^777777Cancel^000000"; }
while(1) {
if (getargcount() > 1) {
set .@i, getarg(select(.@menu$)-1,0);
if (!.@i) close; }
else set .@i, getarg(0);
if ((.@i == 23 || .@i == 4045) && BaseLevel < .SNovice) {
message strcharinfo(0),"A base level of "+.SNovice+" is required to turn into a "+jobname(.@i)+"."; }
else if (select(" ~ Change into ^0055FF"+jobname(.@i)+"^000000 class: ~ ^777777Go back^000000")==1) {
message strcharinfo(0),"Became "+A_An(jobname(.@i))+"!";
if (.@i==4001 && .LastJob) set lastJob, Class;
jobchange .@i;
if (.@i==4001 || .@i==4023) resetlvl(1);
specialeffect2 338; specialeffect2 432;
if (.Platinum) Get_Platinum;
close; }
if (getargcount() == 1) return;
} end; }
Edited by Emistry Please use [CODEBOX] or Attachments for long contents.
Question
Kiritoryu
How to disable kagerou and Oboro in this script.
This is euphy all in 1 NPC
Edited by EmistryPlease use [CODEBOX] or Attachments for long contents.
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.