Jump to content

Joseph

Members
  • Posts

    341
  • Joined

  • Last visited

Posts posted by Joseph

  1. Its working. Have added a bottom message to see how many Cash Point you've gained and make sure you change the item id for POD.

    prontera,100,100,3 script POD Trader 100,{
    set .@podid, 671; // Item ID of POD
    
    set .@podamt, countitem(.@podid);
    if ( .@podamt == 0 ) end;
    delitem .@podid, .@podamt;
    set #CASHPOINTS, #CASHPOINTS + .@podamt;
    dispbottom "You have gained " + .@podamt + " Cash Points.";
    end;
    }
    

  2. Again, simply edited. Not tested.

    Find the following code and edit your hair style blacklist.

    setarray .@blacklist_hs[0],1,2,3,4; // Hair Style Blacklist
    


    // +-------------------------------------------+
    // | Advanced Stylist |
    // +-------------------------------------------+
    // | By: Hudelf |
    // +-------------------------------------------+
    // | Current Version: 2.1 |
    // +-------------------------------------------+
    // | Description: |
    // | This is the traditional stylist with |
    // | several new features. You can now scroll|
    // | backwards or forwards, and save up to |
    // | three palettes while logged in |
    // +-------------------------------------------+
    // | Changelog: |
    // | 02/08/07 - 1.0 - Script finished |
    // | 06/04/07 - 2.0 - Rewrote entire script |
    // | Added new features |
    // | 11/07/07 - 2.1 - Changed var types |
    // | Fixed minor text issues |
    // +-------------------------------------------+
    prontera,170,180,1 script TaheeRO Stylist 122,{
    set .@name$,"[^FF8000Stylist^000000]";
    setarray .@max[1],500,251,26; // Number of cloths, haircolors, hairstyles in client
    setarray .@blacklist[0],188,143,261,232; // NPC will skip any cloth colors in this array.
    setarray .@blacklist_hc[0],22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39; // Hair Color Blacklist
    setarray .@blacklist_hs[0],1,2,3,4; // Hair Style Blacklist
    // 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;
    }
    }
    }
    if (.@blacklist_hc[0]) {
    for (set .@f,0; .@f < getarraysize(.@blacklist_hc); set .@f,.@f+1) {
    if (.@style == .@blacklist_hc[.@f] && .@previous == 1 && .@s == 2) {
    message strcharinfo(0),"GM Message - Hair Color " +.@style+ " was removed.";
    set .@style, .@style - 1;
    goto L_menuloop;
    } else if (.@style == .@blacklist_hc[.@f] && .@s == 2) {
    message strcharinfo(0),"GM Message - Hair Color " +.@style+ " was removed.";
    set .@style, .@style +1;
    goto L_menuloop;
    }
    }
    }
    if (.@blacklist_hs[0]) {
    for (set .@f,0; .@f < getarraysize(.@blacklist_hs); set .@f,.@f+1) {
    if (.@style == .@blacklist_hs[.@f] && .@previous == 1 && .@s == 3) {
    message strcharinfo(0),"GM Message - Hair Style " +.@style+ " was removed.";
    set .@style, .@style - 1;
    goto L_menuloop;
    } else if (.@style == .@blacklist_hs[.@f] && .@s == 3) {
    message strcharinfo(0),"GM Message - Hair Style " +.@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;
    }
    [/codeBOX]

  3. Well, try this.

    map,x,y,z script POD Trader SpriteID,{
    set .@podid, 1234; // Item ID of POD
    
    set .@podamt, countitem(.@podid);
    if ( .@podamt == 0 ) end;
    delitem .@podid, .@podamt;
    set #CASHPOINTS, #CASHPOINTS + .@podamt;
    end;
    }
    

  4. Simply edited from the script. Not tested.


    // +-------------------------------------------+
    // | Advanced Stylist |
    // +-------------------------------------------+
    // | By: Hudelf |
    // +-------------------------------------------+
    // | Current Version: 2.1 |
    // +-------------------------------------------+
    // | Description: |
    // | This is the traditional stylist with |
    // | several new features. You can now scroll|
    // | backwards or forwards, and save up to |
    // | three palettes while logged in |
    // +-------------------------------------------+
    // | Changelog: |
    // | 02/08/07 - 1.0 - Script finished |
    // | 06/04/07 - 2.0 - Rewrote entire script |
    // | Added new features |
    // | 11/07/07 - 2.1 - Changed var types |
    // | Fixed minor text issues |
    // +-------------------------------------------+
    prontera,170,180,1 script TaheeRO Stylist 122,{
    set .@name$,"[^FF8000Stylist^000000]";
    setarray .@max[1],500,251,26; // Number of cloths, haircolors, hairstyles in client
    setarray .@blacklist[0],188,143,261,232; // NPC will skip any cloth colors in this array.
    setarray .@blacklist_hc[0],22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39; // Hair Color Blacklist
    // 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;
    }
    }
    }
    if (.@blacklist_hc[0]) {
    for (set .@f,0; .@f < getarraysize(.@blacklist_hc); set .@f,.@f+1) {
    if (.@style == .@blacklist_hc[.@f] && .@previous == 1 && .@s == 2) {
    message strcharinfo(0),"GM Message - Hair Color " +.@style+ " was removed.";
    set .@style, .@style - 1;
    goto L_menuloop;
    } else if (.@style == .@blacklist_hc[.@f] && .@s == 2) {
    message strcharinfo(0),"GM Message - Hair Color " +.@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;
    }
    [/codeBOX]

  5. This is the correct way to do it.

    OnClock0000:
    monster "amatsu",0,0,"--ja--",1002,2;
    

    *monster "<map name>",<x>,<y>,"<name to show>",<mob id>,<amount>{,"<event label>"};

    *areamonster "<map name>",<x1>,<y1>,<x2>,<y2>,"<name to show>",<mob id>,<amount>{,"<event label>"};

    This command will spawn a monster on the specified coordinates on the specified

    map. If the script is invoked by a character, a special map name, "this", will

    be recognized to mean the name of the map the invoking character is located at.

    This command works fine in the item scripts.

    The same command arguments mean the same things as described above in the

    beginning of this document when talking about permanent monster spawns. Monsters

    spawned in this manner will not respawn upon being killed.

    Unlike the permanent monster spawns, if the mob id is -1, a random monster will

    be picked from the entire database according to the rules configured in the

    server for dead branches. This will work for all other kinds of non-permanent

    monster spawns.

    The only very special thing about this command is an event label, which is an

    optional parameter. This label is written like '<NPC object name>::<label name>'

    and upon the monster being killed, it will execute the script inside of the

    specified NPC object starting from the label given. The RID of the player

    attached at this execution will be the RID of the killing character.

  6. add this line before the buff script is run...

    if( getcharid(2) != "guild ID" ) end;

    I tried adding a goto failed;

    example:

    if( getcharid(2) != "guild ID" ) failed;

    failed :

    npctalk " Your Failed";

    but the script does not work properly if there is a solution?

    Should be like this..

    if( getcharid(2) != "guild ID" ) goto failed;
    
    failed :
    npctalk " Your Failed";
    end;
    

  7. Line 56 and Line 112:

    Missing one ")"

    
    if((countitem(7053) > 20) || (countitem(916) > 10)[color=#ff0000])[/color] goto L_ItemYes;
    
    if((countitem(957) > 50) || (countitem(938) > 40)[color=#ff0000])[/color] goto L_ItemsCheck;
    

    Line 70 - 82:

    Cases close up with "}" and missing one "+"

    
    case 2:
    mes "[John, the Evil]";
    mes "If you wish to get the blades, you must first bring me the items!";
    close; [color=#ff0000]}[/color]
    case 2:
    mes "[John, the Evil]";
    mes "If you deny, then you can join the Good Forces.";
    mes "Do not make yourself a fool.";
    close; [color=#ff0000]}[/color]
    case 2:
    mes "[John, the Good]";
    mes "Do you, "+strcharinfo(0)[color=#ff0000]+[/color]" accept to join the Good Force?";
    next;
    

    Line 108-133:

    You have 2 options but only 1 case.

    Line 135-146:

    Same thing, close cases with "}". Add it yourself.

    case 2:
    mes "[John, the Good]";
    mes "Aww. Well, can you please go get them?";
    close;
    }
    case 2:
    mes "[John, the Good]";
    mes "You deny to join the good forces?!";
    next;
    mes "[John, the Good]";
    mes "Oh, that's such a pitty...";
    close;
    

  8. Probably by restricting the items will solve your problem.

    db/item_noequip.txt:

    //PVP
    14529,2 //Greed Scroll
    <PoisonBottleItemID>,2
    //GVG
    12218,4 //LV5 Assumptio Scroll
    14529,4 //Greed Scroll
    14590,4 //Party Assumptio 5 Scroll
    <PoisonBottleItemID>,4
    

  9. Wow..! :)

    You must close your cases with "}", right after it ends.

    Look at this, hope it helps to explain:

    switch ( select ( "Case 1:Case2" ))
    {
    Case 1:
     switch ( select ( "Case 1:Case 2" ))
     {
      Case 1:
       break;
    
      Case 2:
       break;
     }
     break;
    
    Case 2:
     switch ( select ( "Case 1:Case 2" ))
     {
      Case 1:
       break;
    
      Case 2:
       break;
     }
     break;
    }
    

  10. map,x,y,z script NPC_Name Sprite,{
    
    //Your Script Here
    end;
    
    OnClock1300:
    enablenpc strnpcinfo(0);
    end;
    
    OnClock1600:
    disablenpc strnpcinfo(0);
    end;
    
    OnInit:
    if (gettime(3) >= 13 && gettime(3) < 16) enablenpc strnpcinfo(0);
    disablenpc strnpcinfo(0);
    end;
    }
    

×
×
  • Create New...