Jump to content

Question

Posted

My Stylist npc always error whenever reach number 0, if a player choose option Start from beginning, that npc start from number 0, how to change it?

 

this is my script

Spoiler

//===== eAthena Script =======================================
//= Stylist Script
//===== By: ==================================================
//= eAthena Dev team
//= Revised by Nekosume [pyRO v3.0]
//===== Current Version: =====================================
//= 4.2
//===== Compatible With: =====================================
//= Any eAthena Version
//===== Description: =========================================
//= Revised dye NPC
//===== Additional Comments: =================================
//= v4.2 - Renamed to avoid conflict [Paradox924X]
//= v4.1 - New hairstyles added [Mass Zero]
//= v4.0 - Refined and Combined [Darkchild]
//= v3.0 - Added the 'Browse' options
//= v2.5 - Added more hair colors
//= v2.0 - Changed palette and hair style select
//= v1.5 - Revised script / different dialog
//= v1.0 - Split into two NPCs
//============================================================


//Stylist------------------------------------------------------------------------------------------------------------
prontera,169,180,3    script    Stylist#01::Stylist    122,{
    
    set .@name$,"[^FF8000CooL Stylist^000000]";
    setarray .@max[1],4,12,29;        // Number of cloths, haircolors, hairstyles in client
    setarray .@blacklist[0],188,143,261;    // NPC will skip any cloth colors in this array.
                                        //      Use for palettes that cause errors or just plain look bad.
                                        //        Leave first value at 0 to disable.
    setarray .@type[1],7,6,1;            // DO NOT EDIT
    set .@style,0;
    
    mes .@name$;
    mes "I can change your appearance for you if you'd like.";
    mes " ";
    mes "Just choose what you'd like to change:";
    next;
    set .@s,select("Clothes color",
                "Hair color",
                "Hair style");
    
    mes .@name$;
    mes "Alright, how would you like to search?";
    next;
    menu "Start at the beginning",L_start,
        "Choose where to start",-;
    
    // CHOOSE WHERE TO START =====================================================
    mes .@name$;
    mes "Alright, choose a style between ^0000FF0 and " +.@max[.@s]+ "^000000.";
    next;
    input .@style;
    
    if (.@style < 0 || .@style > .@max[.@s]) {
        mes .@name$;
        mes "Style chosen is out of range.";
        close;
    }

  L_start:
    setarray @revert[1],getlook(.@type[.@s]),0,0;
    mes .@name$;
    mes "Alright here we go, starting at style ^007700" +.@style+ "^000000.";
    next;
    
  // BEGINNING OF STYLE MENU LOOP ================================================
  L_menuloop:
    if (.@blacklist[0]) {
        for (set .@f,0; .@f < getarraysize(.@blacklist); set .@f,.@f+1) {
            if (.@style == .@blacklist[.@f] && .@previous == 1 && .@s == 1) {
                message strcharinfo(0),"GM Message - Cloth " +.@style+ " was removed.";
                set .@style, .@style - 1;
                goto L_menuloop;
            } else if (.@style == .@blacklist[.@f] && .@s == 1) {
                message strcharinfo(0),"GM Message - Cloth " +.@style+ " was removed.";
                set .@style, .@style +1;
                goto L_menuloop;
            }
        }
    }
    setlook .@type[.@s],.@style;
    mes "This is style number ^007700" +.@style+ "^000000.";
    
    set .@next, .@style + 1;
    set .@prev, .@style - 1;
    
    // MAXIMUM MENU
    if (.@style == .@max[.@s]) {
        set .@next,0;
        message strcharinfo(0),"Limit Reached";
    }
    
    // MINIMUM MENU ==============================================================
    if (.@style == 0) {
        set .@prev,.@max[.@s];
        message strcharinfo(0),"Beginning Reached";
    }
    
    // PREVIOUS MENU =============================================================
    if (.@previous) {
        menu "^FF0000Previous - " +.@prev+ "^000000",L_prev,
            "^0000FFNext - " +.@next+ "^000000",L_next,
            "Jump to",L_jump,
            "Save",L_save,
            "Load",L_load;
    }
    
    // DEFAULT MENU ==============================================================
    menu "^0000FFNext - " +.@next+ "^000000",L_next,
        "^FF0000Previous - " +.@prev+ "^000000",L_prev,
        "Jump to",L_jump,
        "Save",L_save,
        "Load",L_load;
        
  L_next:
    set .@previous,0;
    set .@style, .@next;
    goto L_menuloop;

  L_prev:
    set .@previous,1;
    set .@style, .@prev;
    goto L_menuloop;
    
  L_jump:
    next;
    mes .@name$;
    mes "Choose which style you'd like to jump to:";
    next;
    input .@style;
    if (.@style < 0 || .@style > .@max[.@s]) {
        mes .@name$;
        mes "Style chosen is out of range.";
        close;
    }
    goto L_menuloop;
    
  L_save:
    next;
    mes .@name$;
    mes "Choose which slot you'd like to save to:";
    set .@x, select("Slot 1 - [" +@revert[1]+ "]",
                    "Slot 2 - [" +@revert[2]+ "]",
                    "Slot 3 - [" +@revert[3]+ "]");
                    
    setarray @revert[.@x], .@style;
    goto L_menuloop;
    
  L_load:
    next;
    mes .@name$;
    mes "Choose which slot you'd like to load from:";
    set .@x, select("Slot 1 - [" +@revert[1]+ "]",
                    "Slot 2 - [" +@revert[2]+ "]",
                    "Slot 3 - [" +@revert[3]+ "]");
                    
    set .@style, @revert[.@x];
    goto L_menuloop;
}

jawaii,197,250,3    duplicate(Stylist)    Stylist#02    122

 

1 answer to this question

Recommended Posts

Join the conversation

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

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...