Jump to content
  • 0

Ticket Refine 100% but unsure because i dont want bugs


thunginamue

Question


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  27
  • Reputation:   3
  • Joined:  12/18/18
  • Last Seen:  

Credits to the owner of the script i forgot who, please anyone check this, im satisfied with it but im not sure about this as i dont really know scripting but i do understand a bit, what my concern is, would my changes will bug out the refine and do something else or something..

prontera,139,173,5    script    Refine Master    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;
}

 

Edited by Haruka Mayumi
Code Box
Link to comment
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

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.

×
×
  • Create New...