Jump to content

prototype00

Members
  • Posts

    8
  • Joined

  • Last visited

Posts posted by prototype00

  1. Hey guys, I need your help, how can I make the script refine only one list of Ids that is of my choice. ID 450086,450087,45088, grace items. Thanks ?

    Quote

    prontera,147,156,5    script    Presença    851,{
        disable_items;
        if (countitem(6993))
            set .@bWeaponUp,1;
        if (countitem(6993))
            set .@bArmorUp,1;
        if (!.@bWeaponUp && !.@bArmorUp) {
            mes "[Refine Master]";
            mes "Hello!";
            mes "What's up?";
            mes "I'm a specialist";
            mes "for refining items,";
            mes "but I don't work anymore.";
            next;
            switch(select("I'll go on my way.:Hmm... this makes me curious.")) {
            case 1:
                mes "[Refine Master]";
                mes "Take care, adventurer.";
                close;
            case 2:
                mes "[Refine Master]";
                mes "Actually, I sometimes provide refine services for adventurers with a ^006400Refine Ticket^000000...";
                mes "Bye bye~!";
                close;
            }
        }
        emotion ET_SURPRISE;
        mes "[Refine Master]";
        mes "Greetings!";
        mes "I can refine an item up to the ^006400same level as your ticket^000000.";
        mes "You don't have to worry! There's no chance of breaking your item.";
        next;
        if(select("I'll come back later.:Refine item with ticket.") == 1) {
            mes "[Refine Master]";
            mes "Okay.";
            mes "You can come again later.";
            close;
        }
        mes "[Refine Master]";
        mes "Which equipment would you like to refine?";
        next;
        setarray .@position$[1],"Head upper","Armor","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head middle","Head lower";
        setarray .@indices[1], EQI_HEAD_TOP, EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_SHOES, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_MID, EQI_HEAD_LOW;
        for(set .@i,1; .@i<=20; set .@i,.@i+1)
            set .@menu$, .@menu$+((getequipisequiped(.@indices[.@i]))?getequipname(.@indices[.@i]):.@position$[.@i]+"- [Empty]")+":";
        set .@part, .@indices[ select(.@menu$) ];
        if (!getequipisequiped(.@part)) {
            mes "[Refine Master]";
            mes "You have to equip the item you want to refine.";
            close;
        }
        if (!getequipisenableref(.@part)) {
            emotion ET_OTL;
            mes "[Refine Master]";
            mes "Oh, I'm sorry.";
            mes "This item is impossible to refine.";
            close;
        }
        .@refineitemid = getequipid(.@part); // save id of the item
        .@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
        setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
        switch(getequipweaponlv(.@part)) {
        default:
        case 0:
            setarray .@material[0],6993;
            set .@type$,"Armor";
            set .@check,.@bArmorUp;
            break;
        case 1:
        case 2:
        case 3:
        case 4:
            setarray .@material[0],6993;
            set .@type$,"Weapon";
            set .@check,.@bWeaponUp;
            break;
        }
        if (!.@check) {
            emotion ET_THINK;
            mes "[Refine Master]";
            mes "If you want to refine this ^006400"+.@type$+"^000000, please come along with ^006400"+.@type$+" Refine Ticket^000000.";
            mes "See you later!";
            close;
        }
        mes "[Refine Master]";
        mes "Please choose which ^006400"+.@type$+" Refine Ticket^000000 you want to use.";
        next;
        set .@menu$,"";
        for(set .@i,0; .@i<getarraysize(.@material); set .@i,.@i+1)
            set .@menu$, .@menu$+getitemname(.@material[.@i])+":";
        set .@select, select(.@menu$)-1;
        set .@ticket_id, .@material[.@select];
        if (countitem(.@ticket_id) == 0) {
            emotion ET_QUESTION;
            mes "[Refine Master]";
            mes getitemname(.@ticket_id)+" is not in your inventory. Did you put it in your storage?";
            mes "Please check again.";
            mes "See you later!";
            close;
        }
        mes "[Refine Master]";
        mes "I'm going to refine ^006400"+getequipname(.@part)+"^8B4513 to the next level^000000 with ^006400"+getitemname(.@ticket_id)+"^000000.";
        mes "May I proceed?";
        next;
        if(select("No.:Yes.") == 1) {
            emotion ET_THINK;
            mes "[Refine Master]";
            mes "Oh, you changed your mind.";
            mes "Ok.";
            mes "You can come back later.";
            close;
        }
        if (getequiprefinerycnt(.@part) == 20) {
            mes "[Refine Master]";
            mes "This ^006400"+getequipname(.@part)+"^8B4513 is PERFECT, no need to refine it anymore~";
            close;
        }
        mes "[Refine Master]";
        mes "Great.";
        mes "As you wish!";
        mes "I have my own special way to refine...";
        mes ".......ka boom!";
        specialeffect EF_SUI_EXPLOSION;
        if (countitem(.@ticket_id)) {
            delitem .@ticket_id,1;

            // anti-hack
            if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) ||
                callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3])) {
                mes "[Refine Master]";
                emotion ET_FRET;
                mes "Wait a second...";
                mes "Do you think I'm stupid?!";
                mes "You switched the item while I wasn't looking! Get out of here!";
                close;
            }
        } else {
            next;
            mes "Error!";
            mes "Please report this.";
            close;
        }
        successrefitem .@part;
        next;
        emotion ET_DELIGHT;
        mes "[Refine Master]";
        mes "Alright, here it is~";
        mes "Well, ^0000FF"+strcharinfo(0)+"^000000!";
        mes "Congratulations on your shining "+.@type$+".";
        mes "You look GREAT!";
        mes "Farewell~!";
        close;
    }

     

  2. 7 hours ago, Chaos92 said:

    Do you mean max it can reach is +10 ?

    or if +4 use, can become +14 ?

        if (getequiprefinerycnt(.@part) == 10) {
            mes "[Refine Master]";
            mes "This ^006400"+getequipname(.@part)+"^8B4513 is PERFECT, no need to refine it anymore~";
            close;
        }

      for(set .@i,1; .@i<=10; set .@i,.@i+1)

    Do you mean that the maximum you can achieve is +10?
    Yes that would be it already I put it the way you said mt thank you.

     

    Could you tell me how I could switch to charms only items of my choice Ex: ID 450086 grace items to be more exact.
  3. Hi guys, I need your help. I wanted to add the items of my choice for the NPC to refine and I need to know what to change and where to put the IDS for the npc to recognize the items.

    and if it is possible to limit the refining to +10

    Thanks  ?

    Quote

    prontera,147,156,5    script    Presença    851,{
        disable_items;
        if (countitem(6993))
            set .@bWeaponUp,1;
        if (countitem(6993))
            set .@bArmorUp,1;
        if (!.@bWeaponUp && !.@bArmorUp) {
            mes "[Refine Master]";
            mes "Hello!";
            mes "What's up?";
            mes "I'm a specialist";
            mes "for refining items,";
            mes "but I don't work anymore.";
            next;
            switch(select("I'll go on my way.:Hmm... this makes me curious.")) {
            case 1:
                mes "[Refine Master]";
                mes "Take care, adventurer.";
                close;
            case 2:
                mes "[Refine Master]";
                mes "Actually, I sometimes provide refine services for adventurers with a ^006400Refine Ticket^000000...";
                mes "Bye bye~!";
                close;
            }
        }
        emotion ET_SURPRISE;
        mes "[Refine Master]";
        mes "Greetings!";
        mes "I can refine an item up to the ^006400same level as your ticket^000000.";
        mes "You don't have to worry! There's no chance of breaking your item.";
        next;
        if(select("I'll come back later.:Refine item with ticket.") == 1) {
            mes "[Refine Master]";
            mes "Okay.";
            mes "You can come again later.";
            close;
        }
        mes "[Refine Master]";
        mes "Which equipment would you like to refine?";
        next;
        setarray .@position$[1],"Head upper","Armor","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head middle","Head lower";
        setarray .@indices[1], EQI_HEAD_TOP, EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_SHOES, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_MID, EQI_HEAD_LOW;
        for(set .@i,1; .@i<=20; set .@i,.@i+1)
            set .@menu$, .@menu$+((getequipisequiped(.@indices[.@i]))?getequipname(.@indices[.@i]):.@position$[.@i]+"- [Empty]")+":";
        set .@part, .@indices[ select(.@menu$) ];
        if (!getequipisequiped(.@part)) {
            mes "[Refine Master]";
            mes "You have to equip the item you want to refine.";
            close;
        }
        if (!getequipisenableref(.@part)) {
            emotion ET_OTL;
            mes "[Refine Master]";
            mes "Oh, I'm sorry.";
            mes "This item is impossible to refine.";
            close;
        }
        .@refineitemid = getequipid(.@part); // save id of the item
        .@refinerycnt = getequiprefinerycnt(.@part); //save refinery count
        setarray .@card[0], getequipcardid(.@part,0), getequipcardid(.@part,1), getequipcardid(.@part,2), getequipcardid(.@part,3);
        switch(getequipweaponlv(.@part)) {
        default:
        case 0:
            setarray .@material[0],6993;
            set .@type$,"Armor";
            set .@check,.@bArmorUp;
            break;
        case 1:
        case 2:
        case 3:
        case 4:
            setarray .@material[0],6993;
            set .@type$,"Weapon";
            set .@check,.@bWeaponUp;
            break;
        }
        if (!.@check) {
            emotion ET_THINK;
            mes "[Refine Master]";
            mes "If you want to refine this ^006400"+.@type$+"^000000, please come along with ^006400"+.@type$+" Refine Ticket^000000.";
            mes "See you later!";
            close;
        }
        mes "[Refine Master]";
        mes "Please choose which ^006400"+.@type$+" Refine Ticket^000000 you want to use.";
        next;
        set .@menu$,"";
        for(set .@i,0; .@i<getarraysize(.@material); set .@i,.@i+1)
            set .@menu$, .@menu$+getitemname(.@material[.@i])+":";
        set .@select, select(.@menu$)-1;
        set .@ticket_id, .@material[.@select];
        if (countitem(.@ticket_id) == 0) {
            emotion ET_QUESTION;
            mes "[Refine Master]";
            mes getitemname(.@ticket_id)+" is not in your inventory. Did you put it in your storage?";
            mes "Please check again.";
            mes "See you later!";
            close;
        }
        mes "[Refine Master]";
        mes "I'm going to refine ^006400"+getequipname(.@part)+"^8B4513 to the next level^000000 with ^006400"+getitemname(.@ticket_id)+"^000000.";
        mes "May I proceed?";
        next;
        if(select("No.:Yes.") == 1) {
            emotion ET_THINK;
            mes "[Refine Master]";
            mes "Oh, you changed your mind.";
            mes "Ok.";
            mes "You can come back later.";
            close;
        }
        if (getequiprefinerycnt(.@part) == 20) {
            mes "[Refine Master]";
            mes "This ^006400"+getequipname(.@part)+"^8B4513 is PERFECT, no need to refine it anymore~";
            close;
        }
        mes "[Refine Master]";
        mes "Great.";
        mes "As you wish!";
        mes "I have my own special way to refine...";
        mes ".......ka boom!";
        specialeffect EF_SUI_EXPLOSION;
        if (countitem(.@ticket_id)) {
            delitem .@ticket_id,1;

            // anti-hack
            if (callfunc("F_IsEquipIDHack", .@part, .@refineitemid) ||
                callfunc("F_IsEquipRefineHack", .@part, .@refinerycnt) || callfunc("F_IsEquipCardHack", .@part, .@card[0], .@card[1], .@card[2], .@card[3])) {
                mes "[Refine Master]";
                emotion ET_FRET;
                mes "Wait a second...";
                mes "Do you think I'm stupid?!";
                mes "You switched the item while I wasn't looking! Get out of here!";
                close;
            }
        } else {
            next;
            mes "Error!";
            mes "Please report this.";
            close;
        }
        successrefitem .@part;
        next;
        emotion ET_DELIGHT;
        mes "[Refine Master]";
        mes "Alright, here it is~";
        mes "Well, ^0000FF"+strcharinfo(0)+"^000000!";
        mes "Congratulations on your shining "+.@type$+".";
        mes "You look GREAT!";
        mes "Farewell~!";
        close;
    }

     

  4. Good evening everyone, Would it be possible for someone to provide the NPC for enchanting illusion items? Please do not use the Lapine system, I am a newbie and don't understand how to work with it yet. Thank you very much ?

×
×
  • Create New...