Jump to content

quesoph

Members
  • Content Count

    562
  • Joined

  • Last visited

  • Days Won

    6

Posts posted by quesoph


  1. Post the whole script.

     

    @edit

    Is this Euphy's script? if it is.

    Change set .SNovice,1; to set .SNovice,45;

    If you are too lazy to change it copy and paste this:

     

     

     

    //===== rAthena Script =======================================//= All-in-One NPC//===== By: ==================================================//= Euphy//===== Current Version: =====================================//= 1.6//===== Description: =========================================//= A compilation of commonly-used NPC scripts.//== Includes job changer, stylist, refiner, card remover,//== coin exchanger, rentals, resetter, platinum skills,//== sex changer, identifier, healer, buffer, and repairman.//============================================================prontera,148,174,6    script    All-in-One NPC    953,{function Get_Platinum; function Equip_Menu;    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 (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; }            function Get_Platinum {                skill 142,1,0;                switch(BaseClass) {                    case 0: if (Class !=23) skill 143,1,0; break;                    case 1: skill 144,1,0; skill 145,1,0; skill 146,1,0; break;                    case 2: skill 157,1,0; break;                    case 3: skill 147,1,0; skill 148,1,0; break;                    case 4: skill 156,1,0; break;                    case 5: skill 153,1,0; skill 154,1,0; skill 155,1,0; break;                    case 6: skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; break;                    default: break; }                switch(roclass(eaclass()&EAJ_UPPERMASK)) {                    case 7: skill 1001,1,0; break;                    case 8: skill 1014,1,0; break;                    case 9: skill 1006,1,0; break;                    case 10: skill 1012,1,0; skill 1013,1,0; break;                    case 11: skill 1009,1,0; break;                    case 12: skill 1003,1,0; skill 1004,1,0; break;                    case 14: skill 1002,1,0; break;                    case 15: skill 1015,1,0; skill 1016,1,0; break;                    case 16: skill 1007,1,0; skill 1008,1,0; skill 1017,1,0; skill 1018,1,0; skill 1019,1,0; break;                    case 17: skill 1005,1,0; break;                    case 18: skill 238,1,0; break;                    case 19: skill 1010,1,0; break;                    case 20: skill 1011,1,0; break;                    default: break; }                return; }            function A_An {                setarray .@A$[0],"a","e","i","o","u";                set .@B$, "_"+getarg(0);                for(set .@i,0; .@i<5; set .@i,.@i+1)                    if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0);                return "a "+getarg(0); }        case 2:            setarray .@Look[1],7,1,6;            set .@s, select(" ~ Cloth color: ~ Hairstyle: ~ Hair color");            set .@Revert, getlook(.@Look[.@s]); set .@Style,1;            while(1) {                setlook .@Look[.@s], .@Style;                message strcharinfo(0),"This is style #"+.@Style+".";                set .@menu$, " ~ Next (^0055FF"+((.@Style!=.Styles[.@s])?.@Style+1:1)+"^000000): ~ Previous (^0055FF"+((.@Style!=1)?.@Style-1:.Styles[.@s])+"^000000): ~ Jump to...: ~ Revert to original (^0055FF"+.@Revert+"^000000)";                switch(select(.@menu$)) {                    case 1: set .@Style, ((.@Style!=.Styles[.@s])?.@Style+1:1); break;                    case 2: set .@Style, ((.@Style!=1)?.@Style-1:.Styles[.@s]); break;                    case 3: message strcharinfo(0),"Choose a style between 1 - "+.Styles[.@s]+".";                        input .@Style,0,.Styles[.@s];                        if (!.@Style) set .@Style, rand(1,.Styles[.@s]);                        break;                    case 4: set .@Style, .@Revert; setlook .@Look[.@s], .@Revert; break; }            } end;        case 3:            function Refine_Item;            if (.EnrichedRefine)                if (select(" ~ Normal Refiner: ~ Enriched Refiner")==2) {                    Equip_Menu(1);                    setarray .@Materials[0],7619,7620,7620,7620,7620;                    setarray .@Safe[0],4,7,6,5,4;                    set .@WLv, getequipweaponlv(@i);                    message strcharinfo(0),"Item: +"+getequiprefinerycnt(@i)+" "+getequipname(@i);                    if(select(" ~ Refine item (2 * ^0055FF"+getequippercentrefinery(@i)+"^000000% success): ~ ^777777Cancel^000000")==2) close;                    Refine_Item(1, .@Materials[.@WLv], .RP[.@WLv], .@Safe[.@WLv], 1);                    close; }            Equip_Menu(1);            setarray .@Materials[0],985,1010,1011,984,984;            setarray .@Safe[0],4,7,6,5,4;            set .@WLv, getequipweaponlv(@i);            set .@SafeCount, .@Safe[.@WLv]-getequiprefinerycnt(@i);            message strcharinfo(0),"Item: +"+getequiprefinerycnt(@i)+" "+getequipname(@i);            switch(select(" ~ Refine once (^0055FF"+getequippercentrefinery(@i)+"^000000% success): ~ Refine multiple times (up to "+(10-getequiprefinerycnt(@i))+"): ~ Refine to safe limit ("+((.@SafeCount>0)?.@SafeCount+" refines":"^777777disabled^000000")+"): ~ ^777777Cancel^000000")) {                case 1: Refine_Item(1, .@Materials[.@WLv], .RP[.@WLv], .@Safe[.@WLv]); close;                case 2:                    input .@Refines;                    if (.@Refines+getequiprefinerycnt(@i) > 10 || .@Refines < 1) message strcharinfo(0),"Invalid number ("+.@Refines+").";                    else Refine_Item(.@Refines, .@Materials[.@WLv], .RP[.@WLv], .@Safe[.@WLv]);                    close;                case 3:                    if (.@SafeCount < 1) message strcharinfo(0),"The item has already reached the safe limit.";                    else Refine_Item(.@SafeCount, .@Materials[.@WLv], .RP[.@WLv], .@Safe[.@WLv]);                    close;                  case 4: close; }            function Equip_Menu {                setarray .@pos$[1],"Upper Headgear","Armor","Left hand","Right hand","Garment","Footgear","Left Accessory","Right Accessory","Mid Headgear","Lower Headgear";                set .@menu$,"";                for (set .@i,1; .@i <= 10; set .@i,.@i+1) {                    if (getequipisequiped(.@i))                        set .@menu$, .@menu$+.@pos$[.@i]+" [^0055FF"+getequipname(.@i)+"^000000]";                    set .@menu$, .@menu$+":"; }                set @i, select(.@menu$);                if (!getequipisequiped(@i)) { message strcharinfo(0),"Nothing is equipped there!"; close; }                if (getarg(0)) {                    if (!getequipisenableref(@i)) { message strcharinfo(0),getequipname(@i)+" cannot be refined."; close; }                    if (getequiprefinerycnt(@i) >= 10 ) { message strcharinfo(0),"+"+getequiprefinerycnt(@i)+" "+getequipname(@i)+" cannot be refined any further."; close; } }                return; }            function Refine_Item {                message strcharinfo(0),"I'll need "+getarg(0)+"x "+getitemname(getarg(1))+" and "+getarg(0)*getarg(2)+" Zeny.";                if (countitem(getarg(1)) < getarg(0) || Zeny < getarg(0)*getarg(2)) {                    sleep2 500; message strcharinfo(0),"Come back when you have the required materials."; close; }                if (getequiprefinerycnt(@i)+getarg(0) > getarg(3)) {                    sleep2 500; message strcharinfo(0),"The item will be refined above the safe limit. It may break."; }                sleep2 500;                if(select(" ~ ^0055FFContinue^000000: ~ ^777777Cancel^000000")==2) close;                set .@j, getarg(0);                while(.@j) {                    delitem getarg(1), 1;                    set Zeny, Zeny-getarg(2);                    if (getarg(4,0)) {                        if (getequippercentrefinery(@i) <= rand(100) && getequippercentrefinery(@i) <= rand(100)) {                            message strcharinfo(0),getequipname(@i)+" broke while refining."; failedrefitem @i; close; } }                    else {                        if (getequippercentrefinery(@i) <= rand(100)) {                            message strcharinfo(0),getequipname(@i)+" broke while refining."; failedrefitem @i; close; } }                    successrefitem @i;                    set .@j, .@j-1; }                message strcharinfo(0),"All done!";                close; }        case 4:            if (.Prices[0]) message strcharinfo(0),"It costs "+.Prices[0]+" Zeny to remove cards.";            Equip_Menu(0);            if (Zeny < .Prices[0]) { message strcharinfo(0),"You don't have enough Zeny."; close; }            set .@j,getequipcardcnt(@i);            if (!.@j) { message strcharinfo(0),"There are no cards compounded to "+getequipname(@i)+"."; close; }            if (!checkweight(4001,(.@j+1))) { message strcharinfo(0),"You're carrying too many items!"; close; }            message strcharinfo(0),"Item: "+getequipname(@i);            if (select(" ~ Remove "+.@j+" card(s): ~ ^777777Cancel^000000")==2) close;            set Zeny, Zeny-.Prices[0];            successremovecards @i;            message strcharinfo(0),"Cards successfully removed!";            close;        case 5:            message strcharinfo(0),"Coins are worth "+.Coin[1]+" Zeny each.";            switch(select(" ~ Zeny to coins: ~ Coins to Zeny: ~ Close")) {                case 1:                    message strcharinfo(0),"How many coins do you want?";                    input .@coins,0,(1000000000/.Coin[1]);                    if (.@coins*.Coin[1] > Zeny) { message strcharinfo(0),"You don't have enough Zeny."; close; }                    if (!checkweight(.Coin[0],.@coins)) { message strcharinfo(0),"You don't have enough inventory space."; close; }                    set Zeny, Zeny-(.Coin[1]*.@coins);                    getitem .Coin[0], .@coins;                    message strcharinfo(0),"Purchased "+.@coins+" coins.";                    close;                case 2:                    message strcharinfo(0),"How many coins do you want to trade in?";                    input .@coins,0,(1000000000/.Coin[1]);                    if (countitem(.Coin[0]) < .@coins) { message strcharinfo(0),"You don't have that many coins!"; close; }                    if ((Zeny+(.Coin[1]*.@coins)) > 1000000000) { message strcharinfo(0),"You have too much Zeny!"; close; }                    delitem .Coin[0], .@coins;                    set Zeny, Zeny+(.Coin[1]*.@coins);                    message strcharinfo(0),"Exchanged "+.@coins+" coins.";                    close;                case 3:                    close; }        case 6:            if (Zeny < .Prices[2]) { message strcharinfo(0),"It costs "+.Prices[2]+" Zeny to rent."; close; }            if (ismounting()) { message strcharinfo(0),"You must first remove your mount."; close; }            else if ((eaclass()&EAJ_THIRDMASK==EAJ_RANGER) && !countitem(6124)) {                if (!checkfalcon() && getskilllv(127) && !checkwug()) {                    if(select(" ~ Falcon: ~ Warg")==1) setfalcon;                    else getitem 6124,1; }                else getitem 6124,1; }            else if ((eaclass()&EAJ_THIRDMASK==EAJ_MECHANIC) && !checkcart() && getskilllv(39)) {                if (!checkmadogear() && getskilllv(2255)) {                    if(select(" ~ Cart: ~ Mado")==1) setcart;                    else setmadogear; }                else setcart; }            else if (!checkcart() && getskilllv(39)) setcart;            else if (!checkfalcon() && getskilllv(127) && !checkwug()) setfalcon;            else if (!checkriding() && getskilllv(63)) {                if (eaclass()&EAJ_THIRDMASK==EAJ_RUNE_KNIGHT) setdragon;                else setriding; }            else if (!checkmadogear() && getskilllv(2255)) setmadogear;            else { message strcharinfo(0),"You do not meet requirements to rent."; close; }            set Zeny, Zeny-.Prices[2];            specialeffect2 276;            close;        case 7:            if (.Prices[1]) message strcharinfo(0),"It costs "+.Prices[1]+" Zeny to reset stats or skills.";            set .@i, select(" ~ Stat reset: ~ Skill reset: ~ Cancel");            if (.@i==3) close;            if (Zeny < .Prices[1]) { message strcharinfo(0),"You don't have enough Zeny."; close; }            set Zeny, Zeny-.Prices[1];            if (.@i==1) ResetStatus;            else { sc_end SC_ALL; ResetSkill; }            message strcharinfo(0),((.@i==1)?"Stats":"Skills")+" reset!";            close;        case 8:            Get_Platinum;            specialeffect2 441;            message strcharinfo(0),"Platinum skills received!";            close;        case 9:            set .@Var$, ".SexChange"+((Sex)?"F":"M");            if (getarraysize(getd(.@Var$))) {                message strcharinfo(0),"To turn into a "+((Sex)?"female":"male")+" you need the following items:";                sleep2 1000;                for(set .@i,0; .@i<getarraysize(getd(.@Var$)); set .@i,.@i+2) {                    message strcharinfo(0),getd(.@Var$+"["+(.@i+1)+"]")+"x "+getitemname(getd(.@Var$+"["+.@i+"]"));                    if (countitem(getd(.@Var$+"["+.@i+"]")) < getd(.@Var$+"["+(.@i+1)+"]")) set .@nreq,1;                    sleep2 500; }                if (.@nreq) close; }            if(select(" ~ Change into a "+((Sex)?"female":"male")+": ~ Cancel")==2) close;            if (getarraysize(getd(.@Var$)))                for(set .@i,0; .@i<getarraysize(getd(.@Var$)); set .@i,.@i+2)                    delitem getd(.@Var$+"["+.@i+"]"), getd(.@Var$+"["+(.@i+1)+"]");            changesex;            end;        case 10:            setarray .@Total[0],0,0;            getinventorylist;            for(set .@i,0; .@i<@inventorylist_count; set .@i,.@i+1) {                if (@inventorylist_identify[.@i]) continue;                if (Zeny < .Prices[3]) {                    dispbottom "It costs "+.Prices[3]+" to identify an item."; break; }                set Zeny, Zeny-.Prices[3];                delitem2 @inventorylist_id[.@i],1,0,0,0,0,0,0,0;                getitem @inventorylist_id[.@i],1;                setarray .@Total[0], .@Total[0]+1, .@Total[1]+.Prices[3]; }            if (!.@Total[0]) { message strcharinfo(0),"No items identified."; close; }            specialeffect2 154;            message strcharinfo(0),"Identified "+.@Total[0]+" items"+((.@Total[1])?" for "+.@Total[1]+" Zeny":"")+".";            close;    }OnInit:// --------------------- Config ---------------------    setarray .MainMenu$[0],    // Set menu options!        "Change Jobs",        // [1]        "Stylist",        // [2]        "Refiner",        // [4]        "Remove Cards",        // [8]        "Exchange Coins",    // [16]        "Rentals",        // [32]        "Reset Stats/Skills",    // [64]        "Platinum Skills",    // [128]        "Change Sex",        // [256]        "Identify All";        // [512]    set .MenuOption,1|2|4|8|16|32|64|128|256|512;    setarray .OnClick[0],1,1,1;        // When clicked: heal [0], buff [1], repair [2] (1: yes / 0: no)    setarray .Styles[1],553,37,250;        // Maximum dye, hair style, and hair color    setarray .Coin[0],674,1000000;        // Coin item ID, coin price    setarray .Prices[0],50000,10000,0,100;    // Zeny to remove cards [0], reset [1], rent [2], identify [3]    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,1;        // Enable third classes? (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,0;        // Force player to use up all skill points? (1: yes / 0: no)    set .Platinum,1;        // Get platinum skills automatically? (1: yes / 0: no)    set .EnrichedRefine,1;            // Allow enriched refiner option? (1: yes / 0: no)    setarray .RP[0],2000,50,200,5000,20000;    // Zeny for armor, lv1, lv2, lv3, lv4 refines    setarray .SexChangeF[0],2213,1,1558,1,7152,50;    // Items to turn into Female (ID,Count)    setarray .SexChangeM[0],5016,1,2241,1,1017,50;    // Items to turn into Male (ID,Count)// --------------------------------------------------    end;}

     

     


  2. Hello.

    It's my first time here at Hercules and I have a problem, Git isn't working. I always get this error. 30vzm02.png

    Anyway, I've downloaded it using TortoiseSVN. But, I can't open Hercules-9, Hercules-10 or Hercules-12.

    I have MS Visual Studio C++ 2010 and 2008 installed in my computer.

    Just download msysGit. click Open msysGit WebSite.

     

    and to open Hercules-10

    Right Click and Open With > MSC++2010


  3. I used to help with this. Can not do anything. 

     

    screen_ToKiMiKiSutdiO_000JO6vo.jpg

     

     

     

    // ------------------------------------------------------------------------------------------// ------ Script Release// Title: Premium/ViP Services System// Author: Diconfrost VaNz - www.wipeoutgaming.info - [email protected]// Version: 2.0// Special thanks to the following for helping me making this script// Jezu// Dastgr// clydelion//// Note: This is a character-based script. If you want to make this into Account-Based, just put "#" beside "#prmm".// ------------------------------------------------------------------------------------------prontera,155,181,5    script    Clahador    757,{mes "[^FF0000"+strnpcinfo(1)+"^000000]";mes "Hello "+strcharinfo(0)+", I'm ^FF0000Clahador the butcher^000000.";mes "I will be of help if you need something.";next;mes "[^FF0000"+strnpcinfo(1)+"^000000]";mes "Oh! you need help?";mes "What kind of help do you need?";next;switch( select ( "Newbie here", "I'm a ViP!", "Nevermind" ) ) {    case 1:        mes "[^FF0000"+strnpcinfo(1)+"^000000]";        mes "Did you already claim your free items in the ^FF0000Freebies NPC^000000???";        if ( select ( "Yes","No" ) == 2) close;            mes "[^FF0000"+strnpcinfo(1)+"^000000]";            mes "Haha, i hope you like those items.";            next;            mes "By the way, you can earn zennies through quests like going to daily quest, request board, and many more!";            mes "Did you know that you can have many zennies you want if you gonna hunt more rare items?";            mes "Try it!";            close;    case 2:        mes "[^FF0000"+strnpcinfo(1)+"^000000]";        mes "Oh you avail our ViP Ticket!";        mes "Thank you!";        next;        mes "[^FF0000"+strnpcinfo(1)+"^000000]";        mes "Your Premium Service will expire after " + callfunc("Time2Str",#prmm);        mes "You should maximize it";        mes "Grind your skills and hunt now!";        close;    case 3:        close;}OnAtcommand:    dispbottom "Your Premium Service will expire after " + callfunc("Time2Str",#prmm);    end;OnInit:        bindatcmd "premium",strnpcinfo(3)+"::OnAtcommand";    end;}function    script    getPremium    {    set .@ticks, getarg(0);    if (.@ticks <= 0) {        debugmes "getPremium - tried to set a timer in the past";        end;    }    set #prmm, ((#prmm > gettimetick(2))? #prmm : gettimetick(2)) + .@ticks;    doevent "login::OnPCLoginEvent";    return;}-    script    login    -1,{OnPCLoginEvent:    if (#prmm > gettimetick(2)) {    dispbottom "Your Premium Service will expire after " + callfunc("Time2Str",#prmm);    sc_start SC_CASH_PLUSEXP,(( #prmm - gettimetick(2) ) * 1000 ),200;    sc_start SC_CASH_PLUSONLYJOBEXP,(( #prmm - gettimetick(2) ) * 1000 ),200;    sc_start SC_CASH_RECEIVEITEM,(( #prmm - gettimetick(2) ) * 1000 ),100;    atcommand "@adjgroup 1 "+strcharinfo(0);    deltimer strnpcinfo(3)+"::OnPCLoginEvent";} else if (#prmm) {    atcommand "@adjgroup 0 "+strcharinfo(0);    sc_end SC_CASH_PLUSEXP;    sc_end SC_CASH_PLUSONLYJOBEXP;    sc_end SC_CASH_RECEIVEITEM;    set #prmm, 0;    dispbottom "Premium Services has ended.";}end;}

     

     

    I edited some parts.


  4. is this working in vista,win 7, win 8?

     

    do you need compatibility?

    do you need to run as admin?

     

    I only got xp

     

     

    Its missing some activex stuffs when i first run it with a clean install win 7.

    ' mscomctl.ocx '

    ' msinet.ocx '

    but it would run fine if you manually register the said files or if you have vb.


  5.  

    @nash, try to contact her >> Lilith

    she did the faction system,

     

    script command "menu" or even "select" can work out your idea about letting a player choose which faction/nation

    Thx bro but ppl say its not compatible with Hercules

    ask someone to convert it. post the code here and maybe someone could do it for you. :)


  6. ACMD(afk){	sd->state.autotrade = 1;	sd->state.monster_ignore = 1;	pc_setsit(sd);	skill->sit(sd,1);	clif->sitting(&sd->bl);	clif->changelook(&sd->bl,LOOK_HEAD_TOP,471);	clif->specialeffect(&sd->bl, 234,AREA);	clif->authfail_fd(fd, 15);	 return 0;}

    return 0; should be return 1; or it will display @afk failed. :)


  7.  

     

    prontera,159,179,4    script    Team Wars::teamwar    899,{    if (getgmlevel() >= 99){	    menu "standard menu",standard,"reset",lend;    }    standard:    set $@members,2; // number of party members change this to your party size you want    set $@start,0;       	 getpartymember(getcharid(1));    set @partymembercount,$@partymembercount;    if ( $@start == 1 ) {	    mes "The Sign Ups are currently unavailable because a match is in progress. Don't hesitate to try again in a few minutes!";	    close;    }    if ( @partymembercount == $@members ) {	    if ( $@TeamID1 == getcharid(1) ) {		    mes "Do you wish to sign out your team?";   			 next;   			 if (select("I Give up ~.","Never Say Quit !!")==2) close;   			 announce "Team 1 : [ " + getpartyname($@TeamID1) + " ] has sign out. We need another Party to sign up now!",bc_yellow|bc_map;   			 set $@TeamID1, 0;		    close;   		 }	    if ($@TeamID2==getcharid(1)) {   			 mes "Do you wish to sign out your team?";   			 next;   			 if (select("I Give up ~.","Never Say Quit !!")==2) close;		    announce "Team 2 : [ " + getpartyname($@TeamID2) + " ] has sign out. We need another Party to sign up now!",bc_yellow|bc_map;   			 set $@TeamID2, 0;   			 close;   		 }        mes "[  Team War  ]";	    mes "Hello "+strcharinfo(0)+" what do you want?";        next;	    if (($@TeamID1!=0) && ($@TeamID2!=0)) {		    mes "The Sign Ups are currently unavailable because a match is in progress. Don't hesitate to try again in a few minutes!";		    close;	    }	    if ( getpartyleader(getcharid(1),2) != getcharid(0) ) {		    mes "Only party leader have the right to sign up / out from the game with me..";		    close;	    }        mes "[  Team War  ]";	    mes "Choose your team to register.";	    switch(select("^ff0000Red Team ^000000 - [" + GetPartyName($@TeamID1) + "] :^0000ffBlue Team^000000 - [" + GetPartyName($@TeamID2) + "]")) {	    case 1:   			 if ($@TeamID1==0 || getpartyname($@TeamID1)=="null") {           				 getpartymember(getcharid(1)),1;			    getpartymember(getcharid(1)),2;			    copyarray $@partymembercidt1[0],$@partymembercid[0],$@members;			    copyarray $@partymemberaidt1[0],$@partymemberaid[0],$@members;               				 for (set .@i,0; .@i<$@members; set .@i,.@i+1) {				    if(isloggedin($@partymemberaidt1[.@i],$@partymembercidt1[.@i]))  set .@count,.@count+1;			    }               				 if(.@count < $@members) {				    mes "You need all your party members to be online to Register";				    close;			    }                                if ( callfunc("party_has_duplicate_job") ) {                    mes "Too many jobs";                    close;                }			    set $@TeamID1, getcharid(1);   				 initnpctimer;   				 mes "Your Party is now subscribed, good luck!";   				 announce "Team 1 : [ " +getpartyname($@TeamID1)+ " ] has sign up For the Team War!",bc_blue|bc_map;			    doevent "teamwar::OnSubscriptionTeam";   				 close;               			 } else {			    mes "I'm sorry! Another Team has sign up before you...";   				 close;   			 }           		 case 2:    mes "[  Team War  ]";		    if ($@TeamID2==0 || getpartyname($@TeamID2)=="null") {   				 getpartymember(getcharid(1)),1;			    getpartymember(getcharid(1)),2;			    copyarray $@partymembercidt2[0],$@partymembercid[0],$@members;			    copyarray $@partymemberaidt2[0],$@partymemberaid[0],$@members;			    for (set .@i,0; .@i<$@members; set .@i,.@i+1) {				    if(isloggedin($@partymemberaidt2[.@i],$@partymembercidt2[.@i]))                        set .@count,.@count+1;			    }               				 if(.@count < $@members) {				    mes "You need all your party members to be online to Register";				    close;			    }                                if ( callfunc("party_has_duplicate_job") ) {                    mes "too many jobs";                    close;                }               				 set $@TeamID2, getcharid(1);   				 initnpctimer;   				 mes "Your Party is now subscribed, good luck!";   				 announce "Team 2 : [ " +getpartyname($@TeamID2)+ " ] has sign up For the Team War!",bc_blue|bc_map;			    doevent "teamwar::OnSubscriptionTeam";   				 close;   			 } else {   				 mes "I'm sorry! Another Team has sign up before you...";   				 close;		    }	    }    } else {	    mes "[Event Handler]";	    mes "Please contact your party leader.";	    mes "Your team must have a party consisting of "+$@members+" members.";	    close;    }OnSubscriptionTeam:    getpartymember($@TeamID2),1;    getpartymember($@TeamID2),2;    copyarray $@partymembercidtc2[0],$@partymembercid[0],$@members;    copyarray $@partymemberaidc2[0],$@partymemberaid[0],$@members;    for (set .@i,0; .@i<$@members; set .@i,.@i+1) {	    if(isloggedin($@partymemberaidc2[.@i],$@partymembercidtc2[.@i])) set .@countx,.@countx+1;    }    if(.@countx < $@members) {	    announce "Team War : "+getpartyname($@TeamID2)+"are not all online the match has been canceled",0;	    announce "Team War : registration for 2 new teams are now available",0;	    goto lend;    }    if ( $@TeamID2 && $@partymembercount != $@members ) {	    announce getpartyname($@TeamID2) +" has extra party members !", 0;	    goto lend;    }   	 getpartymember($@TeamID1),1;    getpartymember($@TeamID1),2;    copyarray $@partymembercidtc1[0],$@partymembercid[0],$@members;    copyarray $@partymemberaidc1[0],$@partymemberaid[0],$@members;    for (set .@i,0; .@i<$@members; set .@i,.@i+1) {	    if(isloggedin($@partymemberaidc1[.@i],$@partymembercidtc1[.@i])) set .@countz,.@countz+1;    }    if(.@countz < $@members) {	    announce "Team War : "+getpartyname($@TeamID1)+"are not all online the match has been canceled",0;	    announce "Team War : registration for 2 new teams are now available",0;	    goto lend;    }    if ( $@TeamID1 &&  $@partymembercount != $@members ) {	    announce getpartyname($@TeamID1) +" has extra party members !", 0;	    goto lend;    }   	 if($@TeamID1!=0 && $@TeamID2!=0){	    announce "Team War : We have 2 Teams signed up now : "+getpartyname($@TeamID1)+" and "+getpartyname($@TeamID2)+".",bc_blue|bc_map;	    set @win1, 0;	    set @win2, 0;	    goto Onstart;    }    end;OnTimer50000:    if (($@TeamID1!=0) && ($@TeamID2!=0)) {	    stopnpctimer;	    end;    }    stopnpctimer;    set $@TeamID1, 0;    set $@TeamID1, 0;    announce "Team War : we lack teams to start registration for two teams are now available",0;    end;    OnStart:    warpparty "guild_vs2",89,49,$@TeamID1;    warpparty "guild_vs2",11,49,$@TeamID2;    set $@start,1;    end;lend:    stopnpctimer;    set $@TeamID1,0;    set $@TeamID2,0;    set $@start,0;    set @win1,0;    set @win2,0;    set @partymembercount,$@members;    announce "Thanks for playing",0;    end;OnTimer250000:    Announce "Team War : No Party won due to time limit!",0;    mapwarp "guild_vs2","prontera",156,191;    goto lend;    end;OnPCDieEvent:OnPCLogoutEvent:    if(strcharinfo(3) != "guild_vs2") end;    warp "prontera",156,191;    for(set .@i, 0; .@i < $@members; set .@i, .@i + 1) {	    if ( $@partymembercidt1[.@i] == getcharid(0)) {		    deletearray $@partymembercidt1[.@i], 1;		    deletearray $@partymemberaidt1[.@i], 1;		    if( getarraysize($@partymembercidt1) == 0 ) {			    set @win2,getarraysize($@partymembercidt2);			    goto onwin;		    }	    }	    if ( $@partymembercidt2[.@i] == getcharid(0) ) {		    deletearray $@partymembercidt2[.@i], 1;		    deletearray $@partymemberaidt2[.@i], 1;		    if( getarraysize($@partymembercidt2)  == 0 ) {			    set @win1,getarraysize($@partymembercidt1);			    goto onwin;		    }	    }    }    end;onwin:    if (@win1==0) {	    warpparty "prontera",156,191,$@TeamID1;	    warpparty "prontera",156,191,$@TeamID2;	    Announce "Team War :"+GetPartyName($@TeamID2)+" won",0;	    for ( .@i = 0; .@i < @win2; .@i++ )		    getitem 7588, rand(6,10), $@partymemberaidt2[.@i];	    goto lend;    }    if (@win2==0) {	    warpparty "prontera",156,191,$@TeamID1;	    warpparty "prontera",156,191,$@TeamID2;	    Announce "Team War :"+GetPartyName($@TeamID1)+" won",0;	    for ( .@i = 0; .@i < @win1; .@i++ )		    getitem 7588, rand(6,10), $@partymemberaidt1[.@i];	    goto lend;    }    end;}function    script    party_has_duplicate_job    {    set .@party_id, getarg( 0, getcharid(1) );    // Loading party members variables    getpartymember .@party_id, 1;    getpartymember .@party_id, 2;    // Keep rid attached.    set .@rid, playerattached();    // Check all members    for ( set .@i,0; .@i<$@partymembercount; set .@i, .@i+1 ) {	    // Online user	    if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i]) )	    {		    // Attach the member to access "Class"		    attachrid( $@partymemberaid[.@i] );		    if ( compare( .@tmp_class$ + "|", "|" + Class + "|" ) )		    {			    if ( .@rid )				    attachrid(.@rid);			    else				    detachrid;			    return 1;		    }		    set .@tmp_class$, .@tmp_class$ + "|" + Class;	    }	    // Offline user (use sql)	    else {		    set .@sql$, .@sql$ + ( .@sql_i ? "OR " : "" ) + "`char_id`='" + $@partymembercid[.@i] + "' ";		    set .@sql_i, .@sql_i + 1;	    }    }    // SQL for offline users    if ( getstrlen(.@sql$) )    {	    // get class from offline members	    set .@count, query_sql("SELECT `class` FROM `char` WHERE " + .@sql$, .@class );	    // Check the class.	    for ( set .@i, 0; .@i<.@count; set .@i, .@i+1 ) {		    if ( compare( .@tmp_class$ + "|", "|" + .@class[.@i] + "|" ) )		    {			    if ( .@rid )				    attachrid(.@rid);			    else				    detachrid;			    return 1;		    }		    set .@tmp_class$, .@tmp_class$ + "|" + .@class[.@i];	    }    }   	 // Restore RID.    if ( .@rid )	    attachrid(.@rid);    else	    detachrid;    return 0;}guild_vs2    mapflag    nosave    SavePointguild_vs2    mapflag    nomemoguild_vs2    mapflag    nobranchguild_vs2    mapflag    pvp_noguildguild_vs2    mapflag    nocommand    60guild_vs2    mapflag    noicewallguild_vs2    mapflag    pvpguild_vs2    mapflag    partylock

     

     

    credits KeyWorld.


  8. try..

    //===== rAthena Script =======================================//= HD Refiners//===== By: ==================================================//= Euphy//===== Current Version: =====================================//= 1.0//===== Compatible With: =====================================//= rAthena SVN//===== Description: =========================================//= [Official Conversion]//= Refiners that use HD ores to refine equipment. Upon//= failure, the equipment is not destroyed; rather, its//= refine level decreases by 1. The success rate is identical//= to that for Enriched ores.//= - "Blacksmith Mighty Hammer" only refines from +7~9.//= - "Basta" only refines from +10 and up.//===== Additional Comments: =================================//= 1.0 First version. [Euphy]//============================================================// Blacksmith Mighty Hammer (+7~9)//============================================================-    script    ::MightyHammer    -1,{    disable_items;    mes "[blacksmith Mighty Hammer]";    mes "Unlike others, I am a blacksmith who refines a very limited number of items.";    mes "I refine only items that are ^CC0000+7 to +9^000000.";    next;    mes "[blacksmith Mighty Hammer]";    mes "My specialty is that even if my refining fails, the refine level decreases by 1 without losing the gear. Isn't it great?";    next;    mes "[blacksmith Mighty Hammer]";    mes "So lets kick this into overdrive, what d' ya say? What item do you want to refine?";    next;    setarray .@position$[1],"Head","Body","Left Hand","Right Hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3";    set .@menu$,"";    for(set .@i,1; .@i<=10; set .@i,.@i+1)        set .@menu$, .@menu$+((getequipisequiped(.@i))?getequipname(.@i):.@position$[.@i]+"-[Not equipped]")+":";    set .@part, select(.@menu$);    if (!getequipisequiped(.@part)) {        mes "[blacksmith Mighty Hammer]";        switch(.@part) {        case 1:            mes "I'm a blacksmith, not a hairstylist.";            break;        case 2:            mes "With my hammer, I will make you a star of the sky.";            break;        case 3:        case 4:            mes "Making artificial hands is not my specialty.";            break;        case 5:            mes "Bring out the item so I can refine it!";            break;        case 6:            mes "Where is this foot odor coming from?";            break;        case 7:        case 8:            mes "Where is the accessory?";            break;        case 9:            mes "What do you want me to refine?";            break;        case 10:            mes "Huh? What do you want me to do?";            break;        }        close;    }    if (!getequipisenableref(.@part)) {        mes "[blacksmith Mighty Hammer]";        mes "This item can't be refined.";        close;    }    switch(getequipweaponlv(.@part)) {    default:    case 0:        set .@price,20000;        set .@material,6241; //HD_Elunium        break;    case 1:    case 2:    case 3:    case 4:        set .@price,20000;        set .@material,6240; //HD_Oridecon        break;    }    mes "[blacksmith Mighty Hammer]";    mes "In order to refine the gear you selected you need ^ff9999"+getitemname(.@material)+"^000000 and 20,000 zeny as a fee.";    mes "Do you have them ready?";    next;    if(select("Yes:No") == 2) {        mes "[blacksmith Mighty Hammer]";        mes "I will wait until you are ready.";        close;    }        if (getequiprefinerycnt(.@part) < 7 ) {            mes "Refine Count is Lower than 7.";            callsub N_odowngrade, .@part, .@material, .@price; end;    }        if (getequippercentrefinery(.@part) < 100) {        mes "[blacksmith Mighty Hammer]";        mes "It looks like this item will likely fail to be refined.";        mes "Well, even if it fails, it only decreases by 1 refine level.";        mes "Would you like to continue refining?";        next;        if(select("Yes:No") == 2) {            mes "[blacksmith Mighty Hammer]";            mes "Only those who overcome fear of failure will obtain a masterpiece.";            close;        }    }    if (countitem(.@material) == 0 || Zeny < .@price) {        mes "[blacksmith Mighty Hammer]";        mes "Didn't you just say you had everything ready?";        close;    }    delitem .@material,1;    set Zeny, Zeny-.@price;    mes "[blacksmith Mighty Hammer]";    mes "Tac! Tac! Tac!";    if (getequippercentrefinery(.@part) > rand(100) || getequippercentrefinery(.@part) > rand(100)) {        successrefitem .@part;        next;        emotion e_no1;        mes "[blacksmith Mighty Hammer]";        mes "The sound refreshes my mind everytime I hear it.";        mes "Here, have it. Refine succeeded flawlessly!";        close;    }    downrefitem .@part;    next;    emotion e_omg;    mes "[blacksmith Mighty Hammer]";    mes "Oops!!";    next;    mes "[blacksmith Mighty Hammer]";    mes "I am sure a person like you would never blame me for a decrease in refine level by 1. Hmm.";    close;    N_odowngrade:next;        delitem getarg(1),1;        set Zeny, Zeny - getarg(2);        mes "[blacksmith Mighty Hammer]";        mes "Tac! Tac! Tac!";        successrefitem getarg(0);        next;        emotion e_no1;        mes "[blacksmith Mighty Hammer]";        mes "The sound refreshes my mind everytime I hear it.";        mes "Here, have it. Refine succeeded flawlessly!";        close;    }prt_in,59,54,3    duplicate(MightyHammer)    Mighty Hammer#prt    826morocc_in,65,30,3    duplicate(MightyHammer)    Mighty Hammer#morocc    826payon,148,176,3    duplicate(MightyHammer)    Mighty Hammer#pay    826alberta_in,16,56,3    duplicate(MightyHammer)    Mighty Hammer#alb    826yuno_in01,171,18,3    duplicate(MightyHammer)    Mighty Hammer#yuno    826ein_in01,22,82,3    duplicate(MightyHammer)    Mighty Hammer#ein    826lhz_in02,280,19,3    duplicate(MightyHammer)    Mighty Hammer#lhz    826// iRO NPC locations:// moc_para01,38,185,4    duplicate(MightyHammer)    Mighty Hammer#ed    826// payon,174,133,4    duplicate(MightyHammer)    Mighty Hammer#im    826


  9.  

    1>------ Build started: Project: itemmap, Configuration: Debug Win32 ------1>C:Program FilesMSBuildMicrosoft.Cppv4.0Microsoft.CppBuild.targets(299,5): warning MSB8004: Output Directory does not end with a trailing slash.  This build instance will add the slash as it is required to allow proper evaluation of the Output Directory.1>  itemmap.c1>c:hercsrcpluginsitemmap.c(35): warning C4013: 'nullpo_retr' undefined; assuming extern returning int1>c:hercsrcpluginsitemmap.c(40): warning C4996: 'sscanf': This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.1>		  c:program filesmicrosoft visual studio 10.0vcincludestdio.h(325) : see declaration of 'sscanf'1>c:hercsrcpluginsitemmap.c(66): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.1>		  c:program filesmicrosoft visual studio 10.0vcincludestring.h(110) : see declaration of 'strcat'1>c:hercsrcpluginsitemmap.c(67): warning C4013: 'map_mapname2mapid' undefined; assuming extern returning int1>c:hercsrcpluginsitemmap.c(98): warning C4047: 'function' : 'size_t' differs in levels of indirection from 'char [35]'1>c:hercsrcpluginsitemmap.c(98): warning C4024: '_snprintf_s' : different types for formal and actual parameter 31>c:hercsrcpluginsitemmap.c(98): warning C4047: 'function' : 'const char *' differs in levels of indirection from 'int'1>c:hercsrcpluginsitemmap.c(98): warning C4024: '_snprintf_s' : different types for formal and actual parameter 41>	 Creating library ..pluginsitemmap.lib and object ..pluginsitemmap.exp1>itemmap.obj : error LNK2019: unresolved external symbol _map_mapname2mapid referenced in function _atcommand_itemmap1>itemmap.obj : error LNK2019: unresolved external symbol _itemdb_isstackable2 referenced in function _atcommand_itemmap1>itemmap.obj : error LNK2019: unresolved external symbol _msg_txt referenced in function _atcommand_itemmap1>itemmap.obj : error LNK2019: unresolved external symbol _itemdb_exists referenced in function _atcommand_itemmap1>itemmap.obj : error LNK2019: unresolved external symbol _itemdb_searchname referenced in function _atcommand_itemmap1>itemmap.obj : error LNK2019: unresolved external symbol _nullpo_retr referenced in function _atcommand_itemmap1>..pluginsitemmap.dll : fatal error LNK1120: 6 unresolved externals========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

     

    Errors hehe.

×
×
  • Create New...

Important Information

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