Jump to content

ryukenr

Members
  • Posts

    2
  • Joined

  • Last visited

Posts posted by ryukenr

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

×
×
  • Create New...