Jump to content

Jaburak

Members
  • Posts

    1125
  • Joined

  • Days Won

    31

Posts posted by Jaburak

  1. 
    

    //===== 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 [email protected]

    //= 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,149,187,6 script Job Master 743,{

    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;

    getitem 13945,1;

    close;

    L_sMage:

    skill 142,1,0;

    skill 157,1,0;

    getitem 13946,1;

    close;

    L_sArcher:

    skill 142,1,0;

    skill 147,1,0;

    skill 148,1,0;

    getitem 13948,1;

    close;

    L_sAcolyte:

    skill 142,1,0;

    skill 156,1,0;

    getitem 13947,1;

    close;

    L_sMerchant:

    skill 142,1,0;

    skill 153,1,0;

    skill 154,1,0;

    skill 155,1,0;

    getitem 13949,1;

    close;

    L_sThief:

    skill 142,1,0;

    skill 149,1,0;

    skill 150,1,0;

    skill 151,1,0;

    skill 152,1,0;

    getitem 13950,1;

    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. 
    

    - script Test -1,{

    OnNPCKillEvent:

    setarray .mobid[0],1511,1647,1785,1630,1399,1039,1874,2068,1272,1719,1046,1389,1112,1115,1957,1418,1871,1252,1768,1086,1688,1646,

    1373,1147,1059,1150,1956,2022,1087,1190,1038,1157,1159,1502,1623,1650,1583,1708,1312,1751,1685,1648,1917,1658; // Add MvP Ids

    set .a, 1;

    for (set .@c, 0; .@c < getarraysize(.mobid); set .@c, .@c + 1)

    if (killedrid == .mobid[.@c])

    set .@s, 1;

    if (!.@s) end;

    if (.a)

    if (getgmlevel() >= 1) {

    announce "[ GM ] "+strcharinfo(0)+" has killed MVP Monster named [ "+getmonsterinfo(killedrid,0)+" ] which located at the map of [ "+strcharinfo(3)+" ]",0;

    end;

    }

    }

  3. You're using old version of quest shop.

    Try this one..

    trunk/npc/custom/quests/quest_shop.txt

    //===== Additional Comments: =================================
    //= 1.0 Initial script.
    //= 1.2 Added category support.
    //= 1.3 More options and fixes.
    //= 1.4 Added debug settings.
    //= 1.5 Replaced categories with shop IDs.
    //= 1.6 Added support for purchasing stackables.
    //= 1.6a Added support for previewing costumes and robes.
    //============================================================
  4. 
    

    prontera,150,150,0 script Test 123,{

    mes "Do you want to make Apple?";

    menu "Sure!",-;

    next;

    mes "You have to bring me these ingredients!";

    menu "Okay",-;

    next;

    mes "5 White Potion";

    mes "5 Blue Potion";

    mes "5 Green Potion";

    mes "5 Red Herb";

    menu "I have them",-;

    if(countitem(504) < 5 || countitem(505) < 5 || countitem(506) < 5 || countitem(507) < 5) goto Lne;

    next;

    mes "Okay, here you go!";

    delitem 504,5;

    delitem 505,5;

    delitem 506,5;

    delitem 507,5;

    getitem 512,1;

    close;

    Lne:

    mes "Are you trying to fool me!?";

    close;

    }

  5. 
    

    //===== 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 [email protected]

    //= 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,149,187,6 script Job Master 743,{

    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;

    getitem 13945,1;

    break;

    case Job_Monk:

    case Job_Priest:

    set @target_job, Job_Acolyte_High;

    getitem 13947,1;

    break;

    case Job_Alchemist:

    case Job_Blacksmith:

    set @target_job, Job_Merchant_High;

    getitem 13949,1;

    break;

    case Job_Rogue:

    case Job_Assassin:

    set @target_job, Job_Thief_High;

    getitem 13950,1;

    break;

    case Job_Wizard:

    case Job_Sage:

    set @target_job, Job_Mage_High;

    getitem 13946,1;

    break;

    case Job_Hunter:

    case Job_Bard:

    case Job_Dancer:

    set @target_job, Job_Archer_High;

    getitem 13948,1;

    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;

    }

  6. 
    

    prontera,150,150,5 script Test 123,{

    set .buy,1000000;

    set .sell,100000;

    switch(select("Buy Skill Points:Sell Skill Points")){

    case 1:

    mes "How many skill points you want to buy?";

    input @amt,0,Zeny/.buy;

    if( @amt == 0 ) close;

    next;

    mes "Gained "+@amt+" Skill Points.";

    set SkillPoint,SkillPoint + @amt;

    set Zeny, Zeny - ( @amt * .buy );

    close;

    case 2:

    mes "How many skill points you want to sell?";

    input @amt,0,SkillPoint;

    if( @amt == 0 ) close;

    next;

    mes "There you go!";

    set SkillPoint,SkillPoint - @amt;

    set Zeny, Zeny + ( @amt * .sell );

    close;

    }

    }

×
×
  • Create New...