Jump to content

Question

Posted

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;
}

 

1 answer to this question

Recommended Posts

  • 0
Posted
setarray .@grace_item_list, 450086, 450087, 45088;

if (inarray(.@grace_item_list, getequipid(.@part)) == -1) {
	emotion ET_OTL;
	mes "[Refine Master]";
	mes "Oh, I'm sorry.";
	mes "This item is impossible to refine.";
	close;
}

 

  • Upvote 1

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...