Jump to content
  • 0

3 Enchant stones for 1 Process enchant


ryukenr

Question


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  2
  • Reputation:   0
  • Joined:  10/01/18
  • Last Seen:  

Hello rathena, i need somehelp with this script

iam using unofficial faw enchantment for base script

i tried to change it, but i still don't understand about this script

 

//===== rAthena Script =======================================
//= Unofficial Fallen Angel Wing (FAW) Enchants
//===== By: ==================================================
//= Nerfwood
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//= rAthena Project
//===== Description: =========================================
//= Enchants FAW as per iROWiki's information
//= Dialogue are unofficial
//===== Additional Comments: =================================
//= 1.0 First Version
//============================================================

prontera,156,166,3	script	Valkyrie#gmg	403,{
    disable_items;
    mes .@npc_name$ = "[^AA0000Valkyrie^000000]";
    mes "I am here to enchant the",
        "magnificent ^000099Gigantic Majestic Goat^000000.",
        "Would you like to enchant yours?";
    next;
    .@menu$ = select("Information:Enchant Gigantic Majestic Goat:Reset Enchantment");
    switch(.@menu$) {
        default:
        case 1:
            break;
        case 2:
            callsub S_Check;
            .@ref = getequiprefinerycnt(EQI_HEAD_TOP);
            .@card[0] = getequipcardid(EQI_HEAD_TOP,0);
            .@card[1] = getequipcardid(EQI_HEAD_TOP,1);
            .@card[2] = getequipcardid(EQI_HEAD_TOP,2);
            .@card[3] = getequipcardid(EQI_HEAD_TOP,3);
           
            // Check if enchantment slot is full here, do no need to continue if full.
            if(.@card[1] && .@card[2] && .@card[3]) {
                mes .@npc_name$,
                "Hmm.. it seems that all",
                "slots have already been enchanted.";
                close;
            }
            if (.@ref >= 7) .@enc_count = 2;
            else if (.@ref > 8) .@enc_count = 3;
            else
                .@enc_count = 1;
            mes .@npc_name$;
            mes "You have a ^000099+"+.@ref+" Gigantic Majestic Goat^000000.",
                "It can have a total of "+.@enc_count+" enchantment"+(.@enc_count > 1? "s.":".")+" Please";
            mes "select your preferred","enchantment.";
            next;
            .@menu$ = "";
            for (.@i = 0; .@i < getarraysize(.enchant_type$); .@i++)
                .@menu$ = .@menu$ + .enchant_type$[.@i]+":";
            .@type = select(.@menu$);
            .@enc_stat = getd(".enc"+.@type+"["+callsub(S_ChanceType, .chance_type, .@card[1], .@card[2], .@card[3])+"]");
            if(.enchant_cost) {
                if(Zeny < .enchant_cost) {
                    mes .@npc_name$,
                        "You don't have enough zeny.";
                    close;
                }
                Zeny -= .enchant_cost;
            }
            if ((.@card[1] && !.@card[2] && (.@ref < 7)) || (.@card[1] && .@card[2] && !.@card[3] && (.@ref < 9))) {
                mes .@npc_name$,
                "Sorry, but your",
                "^000099Gigantic Majestic Goat^000000's",
                "refinement level is too",
                "low to continue";
                close;
            }
            delitem2 5518, 1, 1, .@ref, 0, .@card[0], .@card[1], .@card[2], .@card[3];
            if(!.@card[1]) .@card[1] = .@enc_stat;
            else if(!.@card[2] && .@ref > 6) .@card[2] = .@enc_stat;
            else if(!.@card[3] && .@ref > 8) .@card[3] = .@enc_stat;
            getitem2 5518, 1, 1, .@ref, 0, .@card[0], .@card[1], .@card[2], .@card[3];
            mes .@npc_name$,
                "Your ^000099Gigantic Majestic Goat^000000 has",
                "been enchanted with ^000099"+getitemname(.@enc_stat)+"^000000.";
            close;
        case 3:
            callsub S_Check;
            mes .@npc_name$,
                "This will cost 1x Gold.",
                "Are you sure?";
            next;
            select("Yes");
            mes .@npc_name$;
            if(countitem(969) < 1) {
                mes "You don't bring enough Gold.";
                close;
            }
            delitem 969,1;
            .@ref = getequiprefinerycnt(EQI_HEAD_TOP);
            .@card[0] = getequipcardid(EQI_HEAD_TOP,0);
            .@card[1] = getequipcardid(EQI_HEAD_TOP,1);
            .@card[2] = getequipcardid(EQI_HEAD_TOP,2);
            .@card[3] = getequipcardid(EQI_HEAD_TOP,3);
            delitem2 5518, 1, 1, .@ref, 0, .@card[0], .@card[1], .@card[2], .@card[3];
            getitem2 5518, 1, 1, .@ref, 0, .@card[0], 0, 0, 0;
            mes "Your ^000099Gigantic Majestic Goat^000000's",
                "enchantments have been reset.";
            equip 5518; // didn't know it will work while npc set disable_items
            specialeffect2 261;
            specialeffect2 119;
            close;
    }
    mes .@npc_name$,
        "I can enchant your",
        "^000099Gigantic Majestic Goat^000000 for",
        (.enchant_cost ? callfunc("F_InsertComma",.enchant_cost)+"z":"free")+" to give it various.",
        "effects. In fact, I can do it",
        "twice if its refinement level is",
        "+7 ~ +8, and thrice if its",
        "+9 and above.";
    next;
    mes .@npc_name$,
        "The 3rd enchantment has a",
        "chance to be more powerful",
        "than the first two.";
    next;
    mes .@npc_name$,
        "There is no chance to",
        "fail, so enchant away",
        "as much as you like.";
    next;  
    mes .@npc_name$,
        "But if you're not happy",
        "with the results, you can",
        "reset the enchantments",
        "for ^009900"+callfunc("F_InsertComma",.reset_cost)+"z^000000.";
    next;
    mes .@npc_name$,
        "That's about everything.";
    close;
 
S_Check:
    if (getequipid(EQI_HEAD_TOP) != 5518) {
        mes .@npc_name$;
        mes "Please equip your",
            "^000099Gigantic Majestic Goat^000000 if",
            "you want to have it enchanted.";
        close;
    }
    return;
   
S_ChanceType:
    switch(getarg(0)) {
        case 1:
        //Decreasing Chance of Enchantment
        //60% low, 30% mid, 10% high for 1st & 2nd enchant slot
        //40% low, 30% mid, 20% high, 10% special for 3rd enchant slot
            .@rand = rand(1,10);
            if(getarg(2) && getarg(3)) { //For 3rd & 4th Card Slot aka 2nd & 3rd Enchant Slot
                if (.@rand < 5 ) .@x = 0;
                else if (.@rand < 7) .@x = 1;
                else if (.@rand < 9) .@x = 2;
                else .@x = 3;  
            } else {    //For 2nd Card slot aka 1st Enchant Slot
                if (.@rand < 7) .@x=0;
                else if (.@rand < 10) .@x = 1;
                else .@x = 2;
            }
            return .@x;
        case 0:
            if(getarg(2) && getarg(3))
                return rand(0,3);
            else
                return rand(0,2);
    }
   
OnInit:
    setarray .enchant_type$, "Fighting Enchant";
   
    setarray .enc1[0], 4809,4808,4820, 4821;    //Fighting 3~5
  
    // 1 = 60% low, 30% mid, 10% high for 1st & 2nd enchant slot && 40% low, 30% mid, 20% high, 10% special for 3rd enchant slot
    // 0 = Equal Chance
    .chance_type = 1;
    //Cost for Enchanting. It's free in iRO
    .enchant_cost = 6000000;
    //Cost to reset | Costs 1Mz in iRO
    .reset_cost = 6000000;
}

how to make the enchantment give 3 stones of enchant(str,agi,dex stone) in 1 process(click)

thank you in advance

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