Jump to content

Sallycantdance

Members
  • Posts

    803
  • Joined

  • Last visited

Posts posted by Sallycantdance

  1. 3 hours ago, Gouki said:

    Well, everyone started as a noob in server creating. we all learn by the process and you should be eager to learn.  Honestly, there are lots of materials/tutorials already, here in the forum and in youtube that you can follow step by step.

    Chris translation has its own youtube channel where he explains how to use the tool to create a clean data file, prerenewal included.  very helpful. unlike when we started we all have to merge files and translations to get what we like.

    I can't give you a straight answer on how to do things, but learning by yourself with the help of the forum will teach you alot of things and you'll understand better than just following what people will tell you to do.

     

    When you choose a client, you should update your src packets as well and compile to the client date. this is for it to work. 

    thank you sir i will study that first 

  2. 47 minutes ago, Gouki said:

    The current client date pre setup in rAthena is 2021-11-03, so I'd recommend the same.

    Another famous client for Pre-renewal is 20180620, however if you use more robe costumes, it wont look good as 2021.

    I believe this depend on the goal you are trying to set as a pre-renewal server, definitely there are some client bug fixes along the way. But most significant changes here is the feel of the client, the older the client, the lesser the features it will provide.  so again it will lead to the goal of the server you are recreating.


    Pre-renewal but with newer features 2021.
    Pre-renewal in general 2018.
    Totally pre-renewal, maybe you can go as far as 2015 client.

    Just be cautious since if you use older client, there might be packet/compatibility issues as well, if you'll use the latest rAthena.

    hello im noob in client making i can patch the exe but the clean client i dont know how to make it 

  3. in this script im encountering that error 


     

    Quote

    //===== rAthena Script =======================================
    //= Euphy's Quest Shop
    //===== By: ==================================================
    //= Euphy
    //===== Current Version: =====================================
    //= 1.6c
    //===== Compatible With: =====================================
    //= rAthena Project
    //===== Description: =========================================
    //= A dynamic quest shop based on Lunar's, with easier config.
    //= Includes support for multiple shops & cashpoints.
    //= Item Preview script by ToastOfDoom.
    //===== 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.
    //= 1.6b Added 'disable_items' command.
    //= 1.6c Replaced function 'A_An' with "F_InsertArticle".
    //============================================================

    // Shop NPCs -- supplying no argument displays entire menu.
    //    callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}};
    //  ADD YOUR NPC HERE
    //============================================================
    //============================================================
    //Hourly Shop
    bg_lobby,46,62,5    script    Hourly Shop    758,{ callfunc "qshop",1,2; } //758 4_m_genie

    bg_lobby,46,62,5    script    Hourly Shop#1    758,{ 
        callfunc "qshop",1,2; 
        end;

    OnInit:
        while(1){
            showscript "Hourly Shop";
            sleep 100;
        }
    }

    //============================================================
    //Quest Headgear NPC
    bg_lobby,41,62,4    script    Quest Headgear NPC    4_f_bomi,{ callfunc "qshop",3; } //4_f_bomi

    bg_lobby,41,62,4    script    Quest Headgear NPC#1    4_f_bomi,{ 
        callfunc "qshop",3; 
        end;

    OnInit:
        while(1){
            showscript "Headgear Quest";
            sleep 100;
        }
    }
    //============================================================
    //MVP Quest NPC
    bg_lobby,58,62,4    script    MVP Quest NPC    4_f_bomi,{ callfunc "qshop",4,5,6; }

    bg_lobby,58,62,4    script    MVP Quest NPC#1    4_f_bomi,{ 
        callfunc "qshop",4,5,6; 
        end;

    OnInit:
        while(1){
            showscript "MVP Quest";
            sleep 100;
        }
    }
    //============================================================

    //MVP Shop NPC
    bg_lobby,34,45,5    script    MVP Shop NPC    97,{ callfunc "qshop",7; } //97

    bg_lobby,34,45,5    script    MVP Shop NPC#1    97,{ 
        callfunc "qshop",7; 
        end;

    OnInit:
        while(1){
            showscript "MVP Shop";
            sleep 100;
        }
    }
    //============================================================
    //Streamer Ticket     Shop
    bg_lobby,38,41,5    script    Streamer Ticket Shop    504,{ callfunc "qshop",8; } //504 4_EP17_TAMARIN

    bg_lobby,38,41,5    script    Streamer Ticket Shop#1    504,{ 
        callfunc "qshop",8; 
        end;

    OnInit:
        while(1){
            showscript "Streamer Shop";
            sleep 100;
        }
    }
    //============================================================
    //Donation Shop NPC
    bg_lobby,53,62,4    script    Donation Shop    833,{ callfunc "qshop",9,10,11,12,13,14,15,21; }

    bg_lobby,53,62,4    script    Donation Shop#1    833,{ 
        callfunc "qshop",9,10,11,12,13,14,15,21;
        end;

    OnInit:
        while(1){
            showscript "Donation Shop";
            sleep 100;
        }
    }
    //============================================================

    bg_lobby,65,44,4    script    Event Scroll Shop    743,{ callfunc "qshop",16; } 

    bg_lobby,65,44,4    script    Event Scroll Shop#1    743,{ 
        callfunc "qshop",16;
        end;

    OnInit:
        while(1){
            showscript "Event Scroll Shop";
            sleep 100;
        }
    }

    //============================================================

    //KOE Shop
    bg_lobby,34,56,5    script    KOE Shop NPC    4_m_cru_old,{ callfunc "qshop",17; } //4_F_JOB_KNIGHT

    bg_lobby,34,56,5    script    KOE Shop NPC#1    4_m_cru_old,{ 
        callfunc "qshop",17;
        end;

    OnInit:
        while(1){
            showscript "Coming Soon";
            sleep 100;
        }
    }
    //============================================================

    //WOE Shop
    bg_lobby,65,56,4    script    WOE Shop NPC    4_m_albertford,{ callfunc "qshop",18; } //733

    bg_lobby,65,56,4    script    WOE Shop NPC#1    4_m_albertford,{ 
        callfunc "qshop",18;
        end;

    OnInit:
        while(1){
            showscript "Coming Soon";
            sleep 100;
        }
    }

    //============================================================

    bg_lobby,42,37,5    script    Fishing Shop    497,{ callfunc "qshop",19; } 

    bg_lobby,42,37,5    script    Fishing Shop#1    497,{ 
        callfunc "qshop",19;
        end;

    OnInit:
        while(1){
            showscript "Coming Soon";
            sleep 100;
        }
    }

    //============================================================


    bg_lobby,57,37,4    script    Mining Shop    4_m_einminer,{ callfunc "qshop",20; } 


    bg_lobby,57,37,4    script    Mining Shop#1    4_m_einminer,{ //603
        callfunc "qshop",20;
        end;

    OnInit:
        while(1){
            showscript "Coming Soon";
            sleep 100;
        }
    }
    //============================================================

    koe_t,13,13,4    script    Pending Costumes    895,{ callfunc "qshop",22; } 

    koe_t,13,13,4    script    Pending Costumes#1    895,{ 
        callfunc "qshop",22;
        end;

    OnInit:
        while(1){
            showscript "WALA PA CONTENT";
            sleep 100;
        }
    }

    //============================================================

    // Script Core - DO NOT DUPLICATE THIS NPC !!!!!!!!!!!!!
    //============================================================
    -    script    quest_shop    -1,{
    function Add; function Chk; function Slot;
    OnInit:
        freeloop(1);

    // -----------------------------------------------------------
    //  Basic shop settings.
    // -----------------------------------------------------------

        set .Announce,1;    // Announce quest completion? (1: yes / 0: no)
        set .ShowSlot,1;    // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never)
        set .ShowID,0;      // Show item IDs? (1: yes / 0: no)
        set .ShowZeny,1;    // Show Zeny cost, if any? (1: yes / 0: no)
        set .MaxStack,100;    // Max number of quest items purchased at one time.

    // -----------------------------------------------------------
    //  Points variable -- optional quest requirement.
    //    setarray .Points$[0],"<variable name>","<display name>";
    // -----------------------------------------------------------

        setarray .Points$[0],
            "#HOURLYPOINTS", "Hourly Points",
            "#CASHPOINTS", "Cash Points";


    //=====================================================================================
    // ------------------- ADD YOUR SHOPS NAME AND ITEMS SHOPS STARTING HERE --------------
    //=====================================================================================

    // -----------------------------------------------------------
    //  Shop IDs -- to add shops, copy dummy data at bottom of file.
    //    setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...};
    // -----------------------------------------------------------

        setarray .Shops$[1],
            "Consumables ",             //1 Hourly Consumables
            "Hourly Costumes ",         //2 Hourly Costumes
            "Quest Headgears",             //3 Quest Headgears
            "MVP [ UPPER COSTUME ]",     //4 MVP Upper
            "MVP [ MIDDLE COSTUME ]",     //5 MVP Middle
            "MVP [ LOWER COSTUME ]",    //6 MVP Lower
            "Consumables",                 //7 MVP Consumables
            "Consumables",                 //8 Streamer Consumables
            "Consumables",                //9 Constumables Donate            
            "Upper Headgears ",            //10 Upper Donate
            "Middle Headgears ",        //11 Middle Donate    
            "Lower Headgears ",            //12 Lower Donate
            "Refinable Headgears ",     //13 Refinable Donate
            "Accessories ",                //14 Accessories Donate
            "Premium Costumes ",         //15 Costumes Donate        
            "Consumables",                //16 Constumables Event  
            "Coming Soon",                //17 Constumables Event   
            "Coming Soon",                //18 Constumables Event   
            "Coming Soon",                //19 Constumables Event   
            "Coming Soon",                //20 Constumables Event
            "Costume Weapon",            //21 Costume Weapon
            "Pending Costumes";            //22 Pending Costumes         
            
            
    // -----------------------------------------------------------
    //  Quest items -- do NOT use a reward item more than once!
    //    Add(<shop ID>,<reward ID>,<reward amount>,
    //        <Zeny cost>,<point cost>,
    //        <required item ID>,<required item amount>{,...});
    // -----------------------------------------------------------


    // shop 1 Hourly Consumables
        Add(1,12221,1,1,0,677,1);
        Add(1,12987,1,1,0,677,1);    //basic essb
        Add(1,61448,1,2,0,677,2);
        Add(1,7711,1,2,0,677,2);        
        Add(1,12263,1,5,0,677,5);
        Add(1,14606,1,5,0,677,5);
        Add(1,12264,1,5,0,677,5);
    //    Add(1,60533,1,5,0,677,5);
        Add(1,7622,1,5,0,677,5);
        Add(1,6046,1,5,0,677,5);
        Add(1,60531,1,50,0,677,50);
        Add(1,60532,1,50,0,677,50);
        Add(1,7776,1,50,0,677,50);
    //    Add(1,7620,1,250,0,677,250);    // enriched oridecon
    //    Add(1,7619,1,250,0,677,250);  // enriched elunium    
    //    Add(1,61226,1,200,0,677,200);
        

    // Shop 2 Hourly Costume
        Add(2,31405,1,600,0,677,600);
        Add(2,31478,1,600,0,677,600);

        Add(2,19545,1,600,0,677,600);
        Add(2,20065,1,600,0,677,600);
        Add(2,20375,1,600,0,677,600);
        Add(2,19667,1,600,0,677,600);
        Add(2,31546,1,600,0,677,600);
        Add(2,61451,1,600,0,677,600);
        Add(2,61213,1,600,0,677,600);
        Add(2,61138,1,600,0,677,600);
        Add(2,61139,1,600,0,677,600);

    // shop 3 Quest HeadGears
        Add(3,5402,1,5000000,0,976,2,980,2,969,2,7711,5,60533,1,677,10,706,1,4026,2);    
        Add(3,5358,1,5000000,0,980,2,978,2,969,2,7711,5,60533,1,677,10,2286,2,7101,30);    
        Add(3,5363,1,5000000,0,983,5,969,2,5120,1,2261,1,7711,5,60533,1,677,10,2289,3,706,1);
        Add(3,5375,1,5000000,0,980,5,969,2,10018,2,968,5,7440,30,7711,5,60533,1,677,10);
        Add(3,5388,1,5000000,0,979,5,969,2,7711,5,60533,1,677,10,1048,50,926,100,937,30);
        Add(3,5481,1,7000000,0,979,5,969,2,7711,5,60533,1,677,10,2227,1,4009,5,7063,300);
        Add(3,5664,1,7000000,0,978,5,969,2,2210,1,916,100,7711,5,60533,1,677,10,5358,1,706,1,4127,1);    
        Add(3,5800,1,7000000,0,980,2,981,2,969,2,7711,5,60533,1,677,10,2289,5,7170,1);
        Add(3,5788,1,7000000,0,975,2,978,2,969,2,7711,5,60533,1,5800,1,2286,1,677,10,4226,5);
    //    Add(3,5265,1,7000000,0,975,5,969,2,7711,5,60533,1,677,10,2285,3,4034,1,4014,1);    
        sleep 10;    
    //  Add(3,5574,1,7000000,0,976,5,969,2,738,3,7711,5,60533,1,4064,2,2285,3,677,10,4021,1);    
        Add(3,5312,1,7000000,0,983,5,969,2,7711,5,60533,1,5141,1,2289,1,677,10,2280,1,4247,1);
    //    Add(3,5208,1,7000000,0,7711,5,1553,1,1556,1,1554,1,1557,1,1555,1,7015,30);
    //  Add(3,5529,1,7000000,0,982,3,969,2,2285,1,7206,50,7208,100,7209,100,7711,5,60533,1,677,10,5017,1);
    //  Add(3,20201,1,7000000,0,982,3,969,2,7711,5,60533,1,677,10,7751,100,4438,3,4100,1,2700,1);
    //    Add(3,5376,1,10000000,0,983,5,969,2,641,1,2249,1,2210,1,7063,100,7711,5,60533,1,2255,2,1038,500,1039,500,1009,1,677,10,4240,1);
    //    Add(3,2202,1,10000000,0,2201,1,983,5,969,5,677,10,7205,50,2286,2,658,1);
    //    Add(3,5423,1,10000000,0,975,5,969,2,736,20,5074,1,994,20,2289,3,2285,3,4021,1,4034,1,2662,1); //ilc
    //    Add(3,5137,1,15000000,0,978,5,969,2,5141,5,7047,200,661,25,4035,5,7711,5,60533,1,677,10); //alice    
    //    Add(3,5518,1,20000000,0,969,3,7711,10,7022,1,2289,3,2256,3,968,10,923,50,1038,100,7106,100,947,300); 
    //    Add(3,5374,1,20000000,0,969,3,7711,10,7109,1,5141,3,2256,3,968,10,923,50,1038,100,7106,100,947,300); 

    // Shop 4 MVP Upper
        Add(4,20380,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(4,5969,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(4,31312,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(4,19884,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(4,31160,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(4,60110,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(4,18827,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(4,61481,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(4,61482,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(4,60108,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(4,20243,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(4,20262,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        sleep 10;
        Add(4,20269,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(4,20432,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(4,20463,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(4,31589,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);        
        Add(4,19837,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(4,31396,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(4,31205,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(4,5453,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
            
    // Shop 5 Mvp Middle
        Add(5,61201,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(5,61203,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(5,20005,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(5,19710,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(5,61479,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(5,61480,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(5,61478,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(5,31395,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(5,60637,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(5,60645,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        sleep 10;        
        Add(5,31308,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(5,20319,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(5,31463,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(5,31561,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(5,60081,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1); 

    // Shop 6 MVP Lower
        Add(6,60890,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(6,31055,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);    
        Add(6,31625,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(6,31735,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1); 
        Add(6,61477,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(6,61476,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(6,31671,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(6,31568,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(6,20315,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        sleep 10;    
        Add(6,31093,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(6,60830,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(6,60831,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(6,60829,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);
        Add(6,60828,1,5000000,0,677,5,7711,5,60533,5,969,2,60527,1);

    // shop 7 MVP Consumables
        Add(7,12221,1,1,0,7227,1);    
        Add(7,61448,1,1,0,7227,1);    
        Add(7,12987,1,1,0,7227,1);
        Add(7,14536,1,1,0,7227,1);    //abbrasive
        Add(7,12710,1,1,0,7227,1);    //guyak
        Add(7,12684,1,1,0,7227,1);    //aspd
        Add(7,12016,1,2,0,7227,2); //speed
        Add(7,7711,1,2,0,7227,2);    
        Add(7,12263,1,2,0,7227,2);
        Add(7,14606,1,2,0,7227,2);
        sleep 10;    
        Add(7,7621,1,5,0,7227,5); //token
        Add(7,12264,1,5,0,7227,5);
        Add(7,13995,1,3,0,7227,3);
        Add(7,12914,1,5,0,7227,5);    //agi scroll
        Add(7,12913,1,5,0,7227,5);    //blessing scroll
        Add(7,12439,1,10,0,7227,10);
        Add(7,14765,1,10,0,7227,10);    
        Add(7,7622,1,50,0,7227,50);
        Add(7,6046,1,50,0,7227,50);
        sleep 10;    
        Add(7,60531,1,50,0,7227,50);
        Add(7,60532,1,50,0,7227,50);
        Add(7,7776,1,100,0,7227,100);
    //    Add(7,60527,1,500,0,7227,500); //MVP Fragment

    // shop 8 Streamer Consumables    
        Add(8,12221,1,2,0,60533,2);
        Add(8,61448,1,5,0,60533,5);
        Add(8,12987,1,5,0,60533,5);
        Add(8,7711,1,10,0,60533,10);    
        Add(8,12263,1,10,0,60533,10);
        Add(8,14606,1,10,0,60533,10);
        Add(8,12264,1,10,0,60533,10);
        Add(8,12439,1,20,0,60533,20);
        Add(8,14765,1,20,0,60533,20);    
        Add(8,7622,1,50,0,60533,50);
        Add(8,6046,1,50,0,60533,50);
        Add(8,60531,1,100,0,60533,100);
        Add(8,60532,1,100,0,60533,100);
        Add(8,7776,1,150,0,60533,150);
        
    // Shop 9 Donate Consumables
        Add(9,12221,1,1,0,7179,1);
        Add(9,60000,1,1,0,7179,1);
        Add(9,12208,1,5,0,7179,5);    //Field
        Add(9,14592,1,5,0,7179,5);    //Job
        Add(9,12210,1,15,0,7179,15);    //BBG    
        Add(9,12209,1,5,0,7179,5);    
        Add(9,7621,1,5,0,7179,5);
        Add(9,7622,1,10,0,7179,10);
        Add(9,6046,1,10,0,7179,10);
        Add(9,13603,1,15,0,7179,15);    
        Add(9,13580,1,15,0,7179,15);
        Add(9,14235,1,30,0,7179,30);
        Add(9,13990,1,30,0,7179,30);
        Add(9,13607,1,100,0,7179,100);
        Add(9,12922,1,100,0,7179,100);    
        Add(9,60502,1,100,0,7179,100);
        Add(9,6320,1,100,0,7179,100);
        Add(9,7776,1,100,0,7179,100);


        
    // Shop 10 Upper Donate
        Add(10,5478,1,500,0,7179,500);    // Classic Hat
        Add(10,5388,1,800,0,7179,800);    // Snake Hat
    //    Add(10,5372,1,800,0,7179,800);      // Koneko Hat
    //    Add(10,5464,1,800,0,7179,800);      // Zaha Doll Hat
    //    Add(10,5151,1,800,0,7179,800);    // Note Headphone 
        Add(10,5359,1,1000,0,7179,1000);  // Ship Captains Hat
    //    Add(10,18613,1,1000,0,7179,1000); // Black Musang Hat
    //    Add(10,5495,1,1000,0,7179,1000);  // Power of Thor
        Add(10,5481,1,1200,0,7179,1200);  // Hermode Cap
        Add(10,5286,1,1200,0,7179,1200);  // Peco Peco Hairband
        Add(10,18709,1,1200,0,7179,1200); // Black Knitted Hat    
    //    Add(10,5376,1,1500,0,7179,1500);  // Flying Evil Wing
        Add(10,19130,1,1500,0,7179,1500);  // Magic Eyes
        Add(10,5360,1,1500,0,7179,1500);  // Wickedbin's Black Cat Ears
    //    Add(10,5560,1,1500,0,7179,1500);  // Horned Helm
    //    Add(10,5423,1,1500,0,7179,1500);  // I love China    
    //    Add(10,19019,1,2500,0,7179,2500); // Elemental Crown  second week
    //    Add(10,5374,1,2700,0,7179,2700);  // LBH
    //    Add(10,5518,1,2700,0,7179,2700);  // GMG

    // Shop 11 Middle Donate
        Add(11,5315,1,500,0,7179,500);  // Observer
        Add(11,5401,1,500,0,7179,500);  // Black Frame Sunglasses
        Add(11,5389,1,600,0,7179,600);  // Angel Spirit
        Add(11,5358,1,600,0,7179,600);  // Peco Peco Wing Ears
        Add(11,18559,1,700,0,7179,700); // Fafnir Skin
        Add(11,5314,1,900,0,7179,900);  // Hockey Mask
        Add(11,5135,1,900,0,7179,900);    // Cyclops Eye
        Add(11,5516,1,1000,0,7179,1000);  // Hawk Eyes
        Add(11,5800,1,1000,0,7179,1000);  // Blush of Gloom
        Add(11,5325,1,1000,0,7179,1000);    // Robo Eyes
    //    Add(11,2202,1,1000,0,7179,1000);    // Sungalsses
    //    Add(11,19181,1,1300,0,7179,1300); //New Wave Sunglasses
    //    Add(11,19126,1,1800,0,7179,1800); //shadow Booster

        
    // Shop 12 Lower Donate
        Add(12,18746,1,300,0,7179,300);   // Chilly Breath
        Add(12,18644,1,300,0,7179,300);   // Model
        Add(12,18643,1,300,0,7179,300);   // Model
        Add(12,18642,1,300,0,7179,300);   // Model
        Add(12,18560,1,600,0,7179,600);   //fanir
        Add(12,5767,1,600,0,7179,600);    //samurai mask
        Add(12,5445,1,600,0,7179,600);    // Candy Cane
        Add(12,5305,1,600,0,7179,600);      // Pirate Dagger
        Add(12,18666,1,700,0,7179,700);   // Cd in Mouth
        Add(12,5361,1,900,0,7179,900);      // Gangster Scarf
        Add(12,5377,1,1000,0,7179,1000);      // Gentlemans Pipe
        Add(12,5462,1,1000,0,7179,1000);    // Spike Scarf
        Add(12,5463,1,1000,0,7179,1000);      // Rainbow Scarf
    //    Add(12,5967,1,1200,0,7179,1200);  //Flying Galapago 
    //    Add(12,18985,1,2500,0,7179,2500); // Falcon Flute

    // Shop 13 Refineable Donate
        Add(13,5468,1,800,0,7179,800);       // Parade Hat
        Add(13,18651,1,800,0,7179,800);      // Ignis Cap
        Add(13,5211,1,800,0,7179,800);      // Dress Hat
        Add(13,18600,1,800,0,7179,800);   // Cat Beret
        Add(13,18539,1,800,0,7179,800);      // Skull Cap
        Add(13,5667,1,800,0,7179,800);      // Skull Hood
        Add(13,5465,1,800,0,7179,800);      // Hat of Fortune    
        Add(13,5564,1,800,0,7179,800);    // Crown of Deceit
        Add(13,5567,1,800,0,7179,800);      // Rage Luster
        Add(13,18597,1,800,0,7179,800);   // Mercury Riser

    // Shop 14 Accesories Donate
        Add(14,2766,1,300,0,7179,300);         // Figures
        Add(14,2767,1,300,0,7179,300);        // Figures    
        Add(14,2768,1,300,0,7179,300);        // Figures
        Add(14,2769,1,300,0,7179,300);        // Figures    
        Add(14,2770,1,300,0,7179,300);        // Figures
        Add(14,2771,1,300,0,7179,300);        // Figures
    //    Add(14,2728,1,700,0,7179,700);        //Cursed Hand
    //    Add(14,28351,1,1000,0,7179,1000);    //Wickebine Black Tail
    //    Add(14,28322,1,1500,0,7179,1500);    //Falcon gloves
    //    Add(14,28321,1,1500,0,7179,1500);    //Falcon Claw
    //    Add(14,28351,1,1500,0,7179,1500);    //Wickebine Black Tail
    //    Add(14,2702,1,8000,0,7179,8000);    //Bison Horn
    //    Add(14,2701,1,8000,0,7179,8000);    //Orlean Gloves

        // Shop 20 Donate Costumes
        Add(15,61293,1,1500,0,7179,1500);
        Add(15,61294,1,1500,0,7179,1500);
        Add(15,61295,1,1500,0,7179,1500);
        Add(15,61296,1,1500,0,7179,1500);
        Add(15,61297,1,1500,0,7179,1500);
        Add(15,61298,1,1500,0,7179,1500);
        Add(15,61299,1,1500,0,7179,1500);
        Add(15,61300,1,1500,0,7179,1500);
        Add(15,61301,1,1500,0,7179,1500);
        Add(15,61302,1,1500,0,7179,1500);
        Add(15,61303,1,1500,0,7179,1500);
        Add(15,61304,1,1500,0,7179,1500);

        Add(15,61521,1,2000,0,7179,2000);
        Add(15,61522,1,2000,0,7179,2000);
        Add(15,61523,1,2000,0,7179,2000);
        Add(15,61524,1,2000,0,7179,2000);
        Add(15,61525,1,2000,0,7179,2000);
        Add(15,61526,1,2000,0,7179,2000);

        //  16 Event Scroll
        Add(16,12221,1,3,0,61088,3);
        Add(16,61448,1,5,0,61088,5);    
        Add(16,12987,1,5,0,61088,5);
        Add(16,7711,1,10,0,61088,10);    
        Add(16,12263,1,10,0,61088,10);
        Add(16,14606,1,10,0,61088,10);
        Add(16,12264,1,10,0,61088,10);
        Add(16,12439,1,20,0,61088,20);
        Add(16,14765,1,20,0,61088,20);    
        Add(16,7622,1,50,0,61088,50);
        Add(16,6046,1,50,0,61088,50);
        Add(16,60531,1,100,0,61088,100);
        Add(16,60532,1,100,0,61088,100);
        Add(16,7776,1,150,0,61088,150);
    //    Add(16,60501,1,300,0,61088,300);
        
        Add(17,501,1,300,0,61088,300);
        Add(18,501,1,300,0,61088,300);    
        Add(19,501,1,300,0,61088,300);
        Add(20,501,1,300,0,61088,300);
        
    // Shop 21 Costume Weapon
        Add(21,61090,1,2500,0,7179,2500); 
        Add(21,61091,1,2500,0,7179,2500);
        Add(21,61092,1,2500,0,7179,2500);
        Add(21,61093,1,2500,0,7179,2500);
        Add(21,61096,1,2500,0,7179,2500);
        Add(21,61097,1,2500,0,7179,2500);
        Add(21,61099,1,2500,0,7179,2500);
        Add(21,61101,1,2500,0,7179,2500);
        Add(21,61102,1,2500,0,7179,2500);
        Add(21,61103,1,2500,0,7179,2500);
        Add(21,61104,1,2500,0,7179,2500);
        Add(21,61105,1,2500,0,7179,2500);
        Add(21,61106,1,2500,0,7179,2500);
        Add(21,61107,1,2500,0,7179,2500);
        Add(21,61108,1,2500,0,7179,2500);
        Add(21,61109,1,2500,0,7179,2500);
        Add(21,61110,1,2500,0,7179,2500);
        Add(21,61111,1,2500,0,7179,2500);
        Add(21,61112,1,2500,0,7179,2500);
        Add(21,61113,1,2500,0,7179,2500);
        Add(21,61114,1,2500,0,7179,2500);

        
        Add(21,61035,1,2500,0,7179,2500);
        Add(21,61040,1,2500,0,7179,2500);
        Add(21,61038,1,2500,0,7179,2500);    
            
        Add(21,61698,1,2500,0,7179,2500);
        Add(21,61699,1,2500,0,7179,2500);
        Add(21,61700,1,2500,0,7179,2500);
        Add(21,61701,1,2500,0,7179,2500);
        Add(21,61702,1,2500,0,7179,2500);
            
        Add(21,61686,1,2500,0,7179,2500);
        Add(21,61687,1,2500,0,7179,2500);
        Add(21,61688,1,2500,0,7179,2500);
        Add(21,61689,1,2500,0,7179,2500);

    // Shop 22 Pending Costumes
    //cursed weapons
        Add(22,61338,1,5000,0,7179,5000);
        Add(22,61339,1,5000,0,7179,5000);
        Add(22,61340,1,5000,0,7179,5000);
        Add(22,61341,1,5000,0,7179,5000);
        Add(22,61342,1,5000,0,7179,5000);
        Add(22,61343,1,5000,0,7179,5000);
        Add(22,61344,1,5000,0,7179,5000);
        Add(22,61345,1,5000,0,7179,5000);
        Add(22,61346,1,5000,0,7179,5000);
        Add(22,61347,1,5000,0,7179,5000);
        Add(22,61348,1,5000,0,7179,5000);
        Add(22,61349,1,5000,0,7179,5000);
        Add(22,61350,1,5000,0,7179,5000);
    //Valhala Set    
        Add(22,61228,1,10000,0,7179,10000);
        Add(22,61229,1,10000,0,7179,10000);
        Add(22,61230,1,10000,0,7179,10000);
        Add(22,61231,1,10000,0,7179,10000);
        Add(22,61232,1,10000,0,7179,10000);
        Add(22,61233,1,10000,0,7179,10000);
        Add(22,61234,1,10000,0,7179,10000);
        Add(22,61235,1,10000,0,7179,10000);
        Add(22,61236,1,10000,0,7179,10000);    
        Add(22,61237,1,10000,0,7179,10000);

        Add(22,61121,1,15000,0,7179,15000);
        Add(22,61122,1,15000,0,7179,15000);
        Add(22,61123,1,15000,0,7179,15000);
        Add(22,61124,1,15000,0,7179,15000);
        Add(22,61125,1,15000,0,7179,15000);
        Add(22,61126,1,15000,0,7179,15000);
        Add(22,61127,1,15000,0,7179,15000);
        Add(22,61128,1,15000,0,7179,15000);
        Add(22,61129,1,15000,0,7179,15000);
        Add(22,61130,1,15000,0,7179,15000);
        Add(22,61131,1,15000,0,7179,15000);
        Add(22,61132,1,15000,0,7179,15000);
        Add(22,61133,1,15000,0,7179,15000);
        Add(22,61134,1,15000,0,7179,15000);
        Add(22,61135,1,15000,0,7179,15000);
        Add(22,61136,1,15000,0,7179,15000);
        Add(22,61137,1,15000,0,7179,15000);
        
    //athena
        Add(22,61157,1,15000,0,7179,15000);
        Add(22,61158,1,15000,0,7179,15000);
        Add(22,61159,1,15000,0,7179,15000);
        Add(22,61160,1,15000,0,7179,15000);
        Add(22,61161,1,15000,0,7179,15000);
        Add(22,61162,1,15000,0,7179,15000);
        Add(22,61163,1,15000,0,7179,15000);

    //hercules
        Add(22,61149,1,15000,0,7179,15000);
        Add(22,61150,1,15000,0,7179,15000);
        Add(22,61151,1,15000,0,7179,15000);
        Add(22,61152,1,15000,0,7179,15000);
        Add(22,61153,1,15000,0,7179,15000);
        Add(22,61154,1,15000,0,7179,15000);
        Add(22,61155,1,15000,0,7179,15000);
        Add(22,61156,1,15000,0,7179,15000);

    //firex
        Add(22,61433,1,15000,0,7179,15000);
        Add(22,61434,1,15000,0,7179,15000);
        Add(22,61435,1,15000,0,7179,15000);
        Add(22,61436,1,15000,0,7179,15000);
        Add(22,61437,1,15000,0,7179,15000);
        Add(22,61438,1,15000,0,7179,15000);
        Add(22,61439,1,15000,0,7179,15000);
        
    //Cronus
        Add(22,61171,1,15000,0,7179,15000);
        Add(22,61172,1,15000,0,7179,15000);
        Add(22,61173,1,15000,0,7179,15000);
        Add(22,61174,1,15000,0,7179,15000);
        Add(22,61175,1,15000,0,7179,15000);
        Add(22,61176,1,15000,0,7179,15000);
        Add(22,61177,1,15000,0,7179,15000);
    //updates
    //thor
        Add(22,61140,1,15000,0,7179,15000);    
        Add(22,61141,1,15000,0,7179,15000);    
        Add(22,61142,1,15000,0,7179,15000);    
        Add(22,61143,1,15000,0,7179,15000);    
        Add(22,61144,1,15000,0,7179,15000);    
        Add(22,61145,1,15000,0,7179,15000);    
        Add(22,61146,1,15000,0,7179,15000);    
        Add(22,61148,1,15000,0,7179,15000);    

    //Ascencion
        Add(22,61376,1,15000,0,7179,15000);    
        Add(22,61377,1,15000,0,7179,15000);    
        Add(22,61378,1,15000,0,7179,15000);    
        Add(22,61379,1,15000,0,7179,15000);    
        Add(22,61380,1,15000,0,7179,15000);
        Add(22,61381,1,15000,0,7179,15000);    
        Add(22,61382,1,15000,0,7179,15000);    
        Add(22,61383,1,15000,0,7179,15000);    
        Add(22,61384,1,15000,0,7179,15000);    
        Add(22,61385,1,15000,0,7179,15000);    

    //ritual
        Add(22,61386,1,15000,0,7179,15000);
        Add(22,61387,1,15000,0,7179,15000);    
        Add(22,61388,1,15000,0,7179,15000);    
        Add(22,61389,1,15000,0,7179,15000);    
        Add(22,61390,1,15000,0,7179,15000);    
        Add(22,61391,1,15000,0,7179,15000);    
        Add(22,61392,1,15000,0,7179,15000);    
        Add(22,61393,1,15000,0,7179,15000);        
        Add(22,61394,1,15000,0,7179,15000);    
        Add(22,61395,1,15000,0,7179,15000);    


    //hestia
        Add(22,61424,1,15000,0,7179,15000);
        Add(22,61425,1,15000,0,7179,15000);
        Add(22,61426,1,15000,0,7179,15000);
        Add(22,61427,1,15000,0,7179,15000);
        Add(22,61428,1,15000,0,7179,15000);
        Add(22,61429,1,15000,0,7179,15000);
        Add(22,61430,1,15000,0,7179,15000);
        Add(22,61431,1,15000,0,7179,15000);
        Add(22,61432,1,15000,0,7179,15000);

    //incend
        Add(22,61440,1,15000,0,7179,15000);
        Add(22,61441,1,15000,0,7179,15000);
        Add(22,61442,1,15000,0,7179,15000);
        Add(22,61443,1,15000,0,7179,15000);
        Add(22,61444,1,15000,0,7179,15000);
        Add(22,61445,1,15000,0,7179,15000);
        Add(22,61446,1,15000,0,7179,15000);
        
    // Shop 22 Package Black Panter
        Add(22,61238,1,20000,0,7179,20000);
        Add(22,61239,1,20000,0,7179,20000);
        Add(22,61240,1,20000,0,7179,20000);
        
    // Shop 22 TO FOLLOW
        Add(22,61568,1,15000,0,7179,15000);

        Add(22,61406,1,15000,0,7179,15000);
        Add(22,60012,1,15000,0,7179,15000);
        Add(22,61396,1,15000,0,7179,15000);
        Add(22,61586,1,15000,0,7179,15000);
        Add(22,61470,1,15000,0,7179,15000);
        Add(22,61083,1,15000,0,7179,15000);


        Add(22,61588,1,15000,0,7179,15000);
        Add(22,61589,1,15000,0,7179,15000);

        Add(22,40009,1,15000,0,7179,15000);
        Add(22,40010,1,15000,0,7179,15000);
        Add(22,40011,1,15000,0,7179,15000);
        Add(22,40012,1,15000,0,7179,15000);
        Add(22,40013,1,15000,0,7179,15000);
        Add(22,40014,1,15000,0,7179,15000);

        Add(22,61591,1,15000,0,7179,15000);

        Add(22,61584,1,15000,0,7179,15000);


        Add(22,61060,1,15000,0,7179,15000);    
        Add(22,61594,1,15000,0,7179,15000);

        Add(22,61595,1,15000,0,7179,15000);
        
        

        

    //=====================================================================================
    // ------------------- YOUR SHOPS AND ITEMS SHOPS HAVE BEEN ADDED ---------------------
    //=====================================================================================

        freeloop(0);
        set .menu$,"";
        for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) {
            set .menu$, .menu$+.Shops$[.@i]+":";
            npcshopdelitem "qshop"+.@i,909;
        }
        end;

    OnMenu:
        set .@size, getarraysize(@i);
        if (!.@size) set @shop_index, select(.menu$);
        else if (.@size == 1) set @shop_index, @i[0];
        else {
            for(set .@j,0; .@j<.@size; set .@j,.@j+1)
                set .@menu$, .@menu$+.Shops$[@i[.@j]]+":";
            set @shop_index, @i[select(.@menu$)-1];
        }
        deletearray @i[0],getarraysize(@i);
        if (.Shops$[@shop_index] == "") {
            message strcharinfo(0),"An error has occurred.";
            end;
        }
        dispbottom "Select one item at a time.";
        callshop "qshop"+@shop_index,1;
        npcshopattach "qshop"+@shop_index;
        end;

    OnBuyItem:
        // .@q[] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... }
        setarray .@q[0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]);
        copyarray .@q[3],getd(".q_"+@shop_index+"_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+@shop_index+"_"+.@q[0]));
        set .@q[2],.@q[1]*.@q[3];
        if (!.@q[2] || .@q[2] > 30000) {
            message strcharinfo(0),"You can't purchase that many "+getitemname(.@q[0])+".";
            end;
        }
        mes "[Quest Shop]";
        mes "Reward: ^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000";
        mes "Requirements:";
        disable_items;
        if (.@q[4]) mes " > "+Chk(Zeny,.@q[4]*.@q[1])+(.@q[4]*.@q[1])+" Zeny^000000";
        if (.@q[5]) mes " > "+Chk(getd(.Points$[0]),.@q[5]*.@q[1])+(.@q[5]*.@q[1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+(.@q[5]*.@q[1])+")^000000";
        if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2)
            mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000";
        next;
        setarray @qe[1], getiteminfo(.@q[0],5), getiteminfo(.@q[0],11);
        if (@qe[2] > 0 && ((@qe[1] & EQP_HEAD_LOW) || (@qe[1] & EQP_HEAD_TOP) || (@qe[1] & EQP_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_TOP) || (@qe[1] & EQP_COSTUME_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_LOW) || (@qe[1] & EQP_GARMENT) || (@qe[1] & EQP_COSTUME_GARMENT)))
            set .@preview,1;
        addtimer 1000, strnpcinfo(0)+"::OnEnd";
        while(1) {
            switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[7])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) {
            case 1:
                if (@qe[0]) {
                    mes "[Quest Shop]";
                    mes "You're missing one or more quest requirements.";
                    close;
                }
                if (!checkweight(.@q[0],.@q[2])) {
                    mes "[Quest Shop]";
                    mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000";
                    close;
                }
                if (.@q[4]) set Zeny, Zeny-(.@q[4]*.@q[1]);
                if (.@q[5]) setd .Points$[0], getd(.Points$[0])-(.@q[5]*.@q[1]);
                if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2)
                    delitem .@q[.@i],.@q[.@i+1]*.@q[1];
                getitem .@q[0],.@q[2];
                if (.Announce) announce strcharinfo(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):callfunc("F_InsertArticle",getitemname(.@q[0])))+"!",0;
                specialeffect2 EF_FLOWERLEAF;
                close;
            case 2:
                setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1;
                if ((@qe[1] & 1) || (@qe[1] & 4096)) changelook LOOK_HEAD_BOTTOM, @qe[2];
                else if ((@qe[1] & 256) || (@qe[1] & 1024)) changelook LOOK_HEAD_TOP, @qe[2];
                else if ((@qe[1] & 512) || (@qe[1] & 2048)) changelook LOOK_HEAD_MID, @qe[2];
                else if ((@qe[1] & 4) || (@qe[1] & 8192)) changelook LOOK_ROBE, @qe[2];
                break;
            case 3:
                close;
            }
        }

    OnEnd:
        if (@qe[7]) {
            changelook LOOK_HEAD_BOTTOM, @qe[3];
            changelook LOOK_HEAD_TOP, @qe[4];
            changelook LOOK_HEAD_MID, @qe[5];
            changelook LOOK_ROBE, @qe[6];
        }
        deletearray @qe[0],8;
        end;

    function Add {
        if (getitemname(getarg(1)) == "null") {
            debugmes "Quest reward #"+getarg(1)+" invalid (skipped).";
            return;
        }
        setarray .@j[0],getarg(2),getarg(3),getarg(4);
        for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) {
            if (getitemname(getarg(.@i)) == "null") {
                debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped).";
                return;
            } else
                setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1);
        }
        copyarray getd(".q_"+getarg(0)+"_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j);
        npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0);
        return;
    }

    function Chk {
        if (getarg(0) < getarg(1)) {
            set @qe[0],1;
            return "^FF0000";
        } else
            return "^00FF00";
    }

    function Slot {
        set .@s$,getitemname(getarg(0));
        switch(.ShowSlot) {
            case 1: if (!getitemslots(getarg(0))) return .@s$;
            case 2: if (getiteminfo(getarg(0),2) == 4 || getiteminfo(getarg(0),2) == 5) return .@s$+" ["+getitemslots(getarg(0))+"]";
            default: return .@s$;
        }
    }
    }

    function    script    qshop    {
        deletearray @i[0],getarraysize(@i);
        for(set .@i,0; .@i<getargcount(); set .@i,.@i+1)
            set @i[.@i],getarg(.@i);
        doevent "quest_shop::OnMenu";
        end;
    }


    // Dummy shop data -- copy as needed.
    //============================================================
    -    shop    qshop1    -1,909:-1
    -    shop    qshop2    -1,909:-1
    -    shop    qshop3    -1,909:-1
    -    shop    qshop4    -1,909:-1
    -    shop    qshop5    -1,909:-1
    -    shop    qshop6    -1,909:-1
    -    shop    qshop7    -1,909:-1
    -    shop    qshop8    -1,909:-1
    -    shop    qshop9    -1,909:-1
    -    shop    qshop10    -1,909:-1
    -    shop    qshop11    -1,909:-1
    -    shop    qshop12    -1,909:-1
    -    shop    qshop13    -1,909:-1
    -    shop    qshop14    -1,909:-1
    -    shop    qshop15    -1,909:-1
    -    shop    qshop16    -1,909:-1
    -    shop    qshop17    -1,909:-1
    -    shop    qshop18    -1,909:-1
    -    shop    qshop19    -1,909:-1
    -    shop    qshop20    -1,909:-1
    -    shop    qshop21    -1,909:-1
    -    shop    qshop22    -1,909:-1
    -    shop    qshop23    -1,909:-1
    -    shop    qshop24    -1,909:-1
    -    shop    qshop25    -1,909:-1
    -    shop    qshop26    -1,909:-1
    -    shop    qshop27    -1,909:-1
    -    shop    qshop28    -1,909:-1
    -    shop    qshop29    -1,909:-1
    -    shop    qshop30    -1,909:-1
    -    shop    qshop31    -1,909:-1
    -    shop    qshop32    -1,909:-1
    -    shop    qshop33    -1,909:-1
    -    shop    qshop34    -1,909:-1
    -    shop    qshop35    -1,909:-1
    -    shop    qshop36    -1,909:-1
    -    shop    qshop37    -1,909:-1
    -    shop    qshop38    -1,909:-1
    -    shop    qshop39    -1,909:-1
    -    shop    qshop40    -1,909:-1
    -    shop    qshop41    -1,909:-1
    -    shop    qshop42    -1,909:-1
    -    shop    qshop43    -1,909:-1
    -    shop    qshop44    -1,909:-1
    -    shop    qshop45    -1,909:-1
    -    shop    qshop46    -1,909:-1
    -    shop    qshop47    -1,909:-1
    -    shop    qshop48    -1,909:-1
    -    shop    qshop49    -1,909:-1
    -    shop    qshop50    -1,909:-1
    -    shop    qshop51    -1,909:-1
    -    shop    qshop52    -1,909:-1
    -    shop    qshop53    -1,909:-1
    -    shop    qshop54    -1,909:-1
    -    shop    qshop55    -1,909:-1

    // Duplicates
    //============================================================
    //guildhall,155,96,3    duplicate(KOE Shop NPC)    KOE Shop NPC#glh1    4_F_JOB_KNIGHT
    //guildhall,159,96,3    duplicate(WOE Shop NPC)    WOE Shop NPC#glh2    733

     

  4. hello im having a problem in my pcre its already installed in my linux but still im getting error in my mapserv also having problem in disguise event because of that pcre issue pls help thank you


     

    pcre.png

    12345.png

    pcrever.png

  5. 19 minutes ago, WhiteEagle said:

    You need to use a new ID. Looks like 40000 is already in use.
    If you want to see your default gm commands, you need to add it manually in your book info.

    thanks bro yah i need to add gm commands and player command in different script and book ty 

  6. 3 hours ago, _Terra said:



    You can bind @commands to read a book so you can put there your commands with command details.
     

    -	script	commands_command	-1,{
    end;
    OnInit:
    	bindatcmd "commands", strnpcinfo(0)+"::OnCommandsCommand";
    	end;
    
    OnCommandsCommand:
    	readbook 40000,1;
    	end;
    }


    Then create an txt on your data/book/40000.txt

    inside of your file named 40000.txt paste this:
     

    %faf0e6
    ^000088Player Commands^000000
    
     -> ^269C1E@go^000000: <^996699Number^000000> : Teleports to a desired town (^996699type go 0 for example^000000).
     -> ^269C1E@ii^000000: <^996699Item ID or Item name^000000> Shows a item info.

     

    thank you but im wondering why im seeing this also the problem here is i cant see the original gm commands anyways ty

    Capture.JPG

  7. On 10/8/2024 at 2:06 AM, zeusc137 said:

    @GM Winter I think I found an alternative solution for you, YOU DON'T CHANGE groups.yml and change your script to work like this:

    -	script	MVP Status	-1,{ 
    OnAtcommand:
    	if(vip_status(VIP_STATUS_ACTIVE)){
    		mes "^E630FF[ MVP Checker ]^000000";
    		mes "^00CD10Green[ Alive ]^000000 | ^FF0000Red[ Dead ]^000000 | Map";
    		for( .@i = 0; .@i < getarraysize( .mvp_name$ ); .@i++ ) {
    			switch (.@i) {
    				case 42:
    					.@alive = ( $@thana_summon < 6 || mobcount( "thana_boss", "#Death::OnThanaDead" ) );
    				break;
    				default:
    					.@alive = mobcount( .mvp_map$[.@i], "" );
    				break;
    			}
    			
    			if ( .display_type == 2 )
    				.@menu$ = .@menu$ + ( ( .@alive ) ? "^00CD10" : "^FF0000" ) + .mvp_name$[.@i] + "^000000 (" + .mvp_map$[.@i] + "):";
    			else if ( .display_type == 1 )
    				mes ( ( .@alive ) ? "^FF0000" : "^00CD10" ) + .mvp_name$[.@i] + "^000000 (" + .mvp_map$[.@i] + ")";
    		}
    		
    		if ( .display_type == 1 ) close;
    		
    		.@num = select( .@menu$ ) - 1;
    		
    		if (.warp_to_mvp == 1)
    			warp .mvp_map$[.@num],0,0;
    		else if(.warp_to_mvp == 2) {
    			sleep2 1000;
    			sc_start SC_BOSSMAPINFO,600000,0;
    		}
    	}else{
    		message strcharinfo(0),"this command only for vip!.";
    	}
    end;	
    	OnInit:
    	
    		bindatcmd "mvpstatus",strnpcinfo(3)+"::OnAtcommand",0,99;
    		
    		 // 0 = disabled, 1 = enabled, 2 = enabled + SC_BOSSMAPINFO
    		.warp_to_mvp = 0;		
    		setarray .mvp_map$, 
    			"moc_pryd06","ra_fild03","ra_fild04","ve_fild01","ve_fild02",
    			"lou_dun03","prt_maze03","abbey03",
    			"gl_chyard","abyss_03","gef_dun02","gef_dun01","treasure02",
    			"pay_fild10","gon_dun03","abbey02","xmas_fild01","ra_san05",
    			"prt_sewb4","mosk_dun03","thor_v03","ama_dun03",
    			"kh_dun02","ayo_dun02","niflheim","anthell02",
    			"mjolnir_04","pay_dun04","gef_fild02","gef_fild14","gef_fild10",
    			"moc_pryd04","in_sphinx5","moc_fild17","ein_dun02","xmas_dun02",
    			"beach_dun","thana_boss","tur_dun04","odin_tem03",
    			"jupe_core","lhz_dun02";
    
    		setarray .mvp_name$, 
    			"AmonRa","Atroce","Atroce","Atroce","Atroce",
    			"Bacsojin","Baphomet","Beelzebub",
    			"DarkLord","Detale","Doppelganger","Dracula","Drake",
    			"Eddga","EvilSnakeLord","FallenBishop","Garm","GloomUnderNight",
    			"GoldenThiefBug","Gopinich","Ifrit","IncantationSamurai",
    			"KielD01","LadyTanee","LordofDeath","Maya",
    			"Mistress","MoonlightFlower","OrcHero","OrcHero","OrcLord",
    			"Osiris","Pharaoh","Phreeoni","RSX0806","Stormy Knight",
    			"TaoGunka","Thanatos","TurtleGeneral","ValkyrieRandgris",
    			"Vesper","Ygnizem";
    		
    		.display_type = 1;
    		
    		if( .warp_to_mvp > 0 )
    			.display_type = 2;
    OnTimer0050:
            showscript "MVP Checker", getnpcid(0);
            initnpctimer;
            end;
    }

     

    thank you so much ! sorry late reply got busy this past few days ty ty ty one more question how can i add gm to use this command

  8. hello i try the script and the guild ranking is not working
     

    Quote

    //===== rAthena Script =======================================
    //= WoE Ranking
    //===== By: ==================================================
    //= BeWan
    //https://rathena.org/board/profile/62232-bewan/
    //===== Current Version: =====================================
    //= 5.0
    //===== Description: =========================================
    //= WoE Ranking with top kills, deaths and emp breaker
    //= Guild Ranking Supported
    //===== Change/Update Logs: ==================================
    //=3.0 Update:
    //=WoE Announcer when you kill someone.
    //=Config settings added 1 = on and 0 = off.
    //=Fixed some bugs in points.
    //=Points update to account based.
    //=Update kill and death script and sql
    //=Update Ladder data
    //===========================================
    //=4.0 Update:
    //=points config update.
    //===========================================
    //5.0 Update:
    //=update sql query for ranking data.
    //===========================================
    //6.0 Update:
    //=SOON
    //============================================================

    /*
    DROP TABLE IF EXISTS `woe_ranking`;

    CREATE TABLE IF NOT EXISTS `woe_ranking` (
    `Char_ID` int(11) unsigned NOT NULL DEFAULT '0',
    `PlayerName` varchar(255) NULL DEFAULT '',
    `Kills` varchar(255) NULL DEFAULT '',
    `Deaths` varchar(255) NULL DEFAULT '',
    `EmpBreak` varchar(255) NULL DEFAULT '',
    PRIMARY KEY (`Char_ID`)
    ) ENGINE=MyISAM;
    */

    prontera,153,190,4    script    BeWan The Ranker    417,{

        set .@menu$, "~ Top "+.top+" Kills:~ Top "+.top+" Deaths:~ Top "+.top+" Breaker:~ Guild Rank:~ WoE Shop:";
        if (getgmlevel() == 99) { set .@menu$, .@menu$ + "~ Reset Data"; }
        switch(select(.@menu$)) {
        case 1:
        query_sql( "DELETE FROM `woe_ranking` WHERE `PlayerName` NOT IN ( SELECT `name` FROM `char` )" ); 
        set .@size, query_sql( "SELECT * FROM `woe_ranking` WHERE `Kills` > '0' ORDER BY CAST(`Kills` AS UNSIGNED) DESC limit "+ .top, .@CharID, .@name$, .@Kills, .@Deaths, .@EmpBreak);
        
        mes "[^FF0000WoE ^0000FFRank ^996600Top ^FF0000" + .top +"^000000]";
        for (set .@c, 0; .@c < .@size; set .@c, .@c + 1)
            mes "Top ^FF0000" +(.@c + 1) +"^000000: ^0000FF" + .@name$[.@c] +"^000000 with ^FF0000" + .@Kills[.@c] +"^000000 Kills";
        close;
        break;
        
        case 2:
        query_sql( "DELETE FROM `woe_ranking` WHERE `PlayerName` NOT IN ( SELECT `name` FROM `char` )" ); 
        set .@size, query_sql( "SELECT * FROM `woe_ranking` WHERE `Deaths` > '0' ORDER BY CAST(`Deaths` AS UNSIGNED) DESC limit "+ .top, .@CharID, .@name$, .@Kills, .@Deaths, .@EmpBreak);
        
        mes "[^FF0000WoE ^0000FFRank ^996600Top ^FF0000" + .top +"^000000]";
        for (set .@c, 0; .@c < .@size; set .@c, .@c + 1)
            mes "Top ^FF0000" +(.@c + 1) +"^000000: ^0000FF" + .@name$[.@c] +"^000000 with ^FF0000" + .@Deaths[.@c] +"^000000 Deaths";
        close;
        break;
        
        case 3:
        query_sql( "DELETE FROM `woe_ranking` WHERE `PlayerName` NOT IN ( SELECT `name` FROM `char` )" ); 
        set .@size, query_sql( "SELECT * FROM `woe_ranking` WHERE `EmpBreak` > '0' ORDER BY CAST(`EmpBreak` AS UNSIGNED) DESC limit "+ .top, .@CharID, .@name$, .@Kills, .@Deaths, .@EmpBreak);
        
        mes "[^FF0000WoE ^0000FFRank ^996600Top ^FF0000" + .top +"^000000]";
        for (set .@c, 0; .@c < .@size; set .@c, .@c + 1)
            mes "Top ^FF0000" +(.@c + 1) +"^000000: ^0000FF" + .@name$[.@c] +"^000000 with ^FF0000" + .@EmpBreak[.@c] +"^000000 Emperium Break";
        close;
        break;
        
        case 4:
        for (set .@x,0; .@x < .top; set .@x,.@x + 1) {
            if (.@x) mes "- - - - - - - - - - - - - - -";
            mes "# ^ff0000" + (.@x + 1) + "^000000: ^0000ff" + ( (.GuildName$[.@x])? .GuildName$[.@x]:"None" ) + "^000000";
            mes " - Guild Master: ^0000ff" + ( (.GuildMaster$[.@x])? .GuildMaster$[.@x]:"None" ) + "^000000";
            mes " - Territories: ^ff0000" + .NumCastles[.@x] + "^000000";
            mes " - Members: ^ff0000" + .NumMembers[.@x] + "^000000";
        }
        end;
        
        case 5:
        mes "[Master BeWan]";
        mes "Hi, "+strcharinfo(0)+"";
        mes "Want to go shopping?";
        next;
        menu "GvG Shop",GvGShop,"Emperium Break Shop",BreakShop,"Nope",ShopNope;
        
        GvGShop:
        callshop "GvG_Points_Shop",1;
        end;
        
        BreakShop:
        callshop "EmpBreak_Points_Shop",1;
        end;
        
        ShopNope:
        mes "[Master BeWan]";
        mes "Well Okay";
        close;

        case 6:
            mes "Good Day! Master.";
            next;
            menu "Are you sure?",yess,"Nope",noo;
            yess:
            query_sql("TRUNCATE TABLE `ragnarok`.`woe_ranking`;");
            mes "Woe Rank Reset Success";
            close;

            noo:
            mes "Well Okay";
            close;
        break;
        }

    OnInit: // Script Configuration
        query_sql "CREATE TABLE IF NOT EXISTS `woe_ranking` ( `Char_ID` int(11) unsigned NOT NULL DEFAULT '0', `PlayerName` varchar(255) NULL DEFAULT '', `Kills` varchar(255) NULL DEFAULT '', `Deaths` varchar(255) NULL DEFAULT '', `EmpBreak` varchar(255) NULL DEFAULT '', PRIMARY KEY (`Char_ID`) ) ENGINE=MyISAM";
        set .top, 10;
        set .WoePoints, 1;      //points to add in database/player when kill
        set .WoeDeduct, 2;      //points to deduct in player when died
        
        set .PointConfig, 1;     //enable by default
        set .DeductConfig, 1;    //enable by default
        set .Announcer, 1;        //enable by default
    OnTimer0050:
            showscript "WOE Ranking", getnpcid(0);
            initnpctimer;
            end;

    OnPCKillEvent:
    if ((agitcheck() || agitcheck2()) && getmapflag(strcharinfo(3),MF_GVG)){
        query_sql( "SELECT * FROM woe_ranking WHERE `Char_ID` = '"+getcharid(0)+"'", .@CharID, .@Name$, .@Kills, .@Deaths, .@EmpBreak);
        query_sql "INSERT INTO `woe_ranking` VALUE ( "+getcharid(0)+", '"+escape_sql(strcharinfo(0))+"', '"+.WoePoints+"', '"+.@Deaths+"', '"+.@EmpBreak+"') ON DUPLICATE KEY UPDATE `Kills` = `Kills` + '"+.WoePoints+"' ";
            
        if(.PointConfig == 1){
            set #WOEPOINTS, #WOEPOINTS + .WoePoints;
            dispbottom "You got "+.WoePoints+" WoE Point(s). You now have "+#WOEPOINTS+" total WoE Point(s).";
        }
    }
    end;

    OnPCDieEvent:
    if ((agitcheck() || agitcheck2()) && getmapflag(strcharinfo(3),MF_GVG)){
        query_sql( "SELECT * FROM `woe_ranking` WHERE `Char_ID` = '"+getcharid(0)+"'", .@CharID, .@Name$, .@Kills, .@Deaths, .@EmpBreak);
        query_sql "INSERT INTO `woe_ranking` VALUE ( "+getcharid(0)+", '"+escape_sql(strcharinfo(0))+"', '"+.@Kills+"', '1', '"+.@EmpBreak+"') ON DUPLICATE KEY UPDATE `Deaths` = `Deaths` + 1";
        
        if(.DeductConfig == 1){
            set #WOEPOINTS, #WOEPOINTS - .WoeDeduct;
            dispbottom "You lost "+.WoeDeduct+" WoE Point(s) and You now have "+#WOEPOINTS+" WoE Point(s).";    
        }
        if(.Announcer == 1){
            query_sql( "SELECT `guild_id` FROM `char` WHERE `name` = '"+rid2name(killerrid)+"' ", .GuildID );
            announce "[ Woe Announcer ]: "+strcharinfo(0)+" of ["+getguildname(getcharid(2))+"] has been killed by "+rid2name(killerrid)+" of ["+getguildname(.GuildID)+"]", bc_all,0x00FFFF;
        }
    }
    end;

    }

    //Shop
    -    pointshop    GvG_Points_Shop    -1,#WOEPOINTS,1202:5;
    -    pointshop    EmpBreak_Points_Shop    -1,#BREAKPOINTS,2311:10

     

  9. im having this error can someone help me ty

    Quote

    [Error]:  Loading NPC file: npc/thor/DisguiseEvent.txt
    script error on npc/thor/DisguiseEvent.txt line 45
        parse_line: expect command, missing function name or calling undeclared function
        40 :                        if(select("Yes:No")==2) close;
        41 :                        if (.EventON) {
        42 :                                set .EventON,0; set .Timer,0;
        43 :                                setnpctimer 0; stopnpctimer;
        44 :                                announce "A GM has decided to turn the Disguise Event off. As a result no further prizes will be given.",bc_map | bc_blue;
    *   45 :                                'd'eletepset 1;
        46 :                                setnpcdisplay "Disguise Event",795;
        47 :                                close;
        48 :                        }
        49 :                        set .EventON,1; set .Timer,1; setnpctimer 0; initnpctimer;
        50 :                        set .ResetCounter,.ResetCounter+1;
    [Info]: Done loading '8623' NPCs:
            -'2958' Warps
            -'213' Shops
            -'5452' Scripts
            -'3315' Spawn sets
            -'39916' Mobs Cached
            -'0' Mobs Not Cached
    [Status]: Event 'OnInit' executed with '939' NPCs.
    [Status]: Event 'OnInterIfInit' executed with '0' NPCs.
     

     

    DisguiseEvent.txt

  10. 1 minute ago, Mice said:

    This error is due to a missing max_ap. If you have a custom modification on your character, you need to execute the corresponding field in the character table.

    i dont have any custom modification in the character i just recently download it and trying to make a new updated server side and client side

  11. hello im using centos 9 and  already installed 

    "PHP 8.0.30 (cli) (built: Aug 26 2024 12:44:32) ( NTS gcc x86_64 )
    Copyright (c) The PHP Group
    Zend Engine v4.0.30, Copyright (c) Zend Technologies
        with Zend OPcache v8.0.30, Copyright (c), by Zend Technologies"

    because im having an error so i upgrade my php version but still im having the same error can anyone help me thankyou

    php version failed.PNG

×
×
  • Create New...