The forums will be going offline for an extended maintenance period at 1400hrs GMT on 19th June 2025. The number of hours for this downtime is intentionally not advertised due to the nature of these upgrades.
×
- 0
[FAW Enchant] Error Script
-
Recently Browsing 0 members
- No registered users viewing this page.
Question
dikapramantya
Hello i've error in this script with newer rAthena.
can you give me how to fix it??
Error :
When FAW +7 or +9 is possible to give more than 1 enchant but this script error and make FAW can't get more than 1 enchant in any refine.
When try to reset enchant, this npc need silvervine fruit. If we have silvervine fruit, NPC will deleted Silvervine Fruit but not reset the enchantment
//===== 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 //============================================================ //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 function script EnchantStat_1 { .chance = rand(1,10); if(@card2 && @card3) { //For 4th Slot aka 3rd Enchant Slot if(.chance<5) .x=0; else if(.chance<7) .x=1; else if(.chance<9) .x=2; else .x=3; } else { //For 2nd and 3rd card slot aka 1st and 2nd Enchant Slot if(.chance<7) .x=0; else if(.chance<10) .x=1; else .x=2; } return getelementofarray(getvariableofnpc( getd(".enc" + getarg(0) ) , "Dark Luhir"), .x ); } //Equal Chance of Enchanting function script EnchantStat_0 { if(@card2 && @card3) return getelementofarray(getvariableofnpc( getd(".enc" + getarg(0) ) , "Dark Luhir"), rand(0,3) ); else return getelementofarray(getvariableofnpc( getd(".enc" + getarg(0) ) , "Dark Luhir"), rand(0,2) ); } //=======MAIN NPC prontera,148,169,3 script Dark Luhir 403,{ mes .npc$; mes "I am here to enchant the", "magnificent ^000099Fallen Angel Wing^000000.", "Would you like to enchant yours?"; if(countitem(2589)) { set .@menu$, "Enchant Fallen Angel Wing"; } else .@menu$=""; next; switch(select("Information:" + .@menu$ + ":Reset Enchantment")) { case 1: goto OnInformation; case 2: goto OnEnchantNow; case 3: goto OnResetEnchant; default: close; } OnInformation: mes .npc$, "I can enchant your", "^000099Fallen Angel Wing^000000 for", (.cost?callfunc("F_InsertComma",.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$, "The 3rd enchantment has a", "chance to be more powerful", "than the first two."; next; mes .npc$, "There is no chance to", "fail, so enchant away", "as much as you like."; next; mes .npc$, "But if you're not happy", "with the results, you can", "reset the enchantments", "for ^009900"+ callfunc("F_InsertComma",.cost2) + "z^000000."; next; mes .npc$, "That's about everything."; close; OnEnchantNow: mes .npc$; if( (getequipid(EQI_GARMENT)!=2589) ) { mes "Please equip your", "^000099Fallen Angel Wing^000000 if", "you want to have it enchanted."; if(!.autoequip) close; next; if(select("Equip:Don't Equip")==2) close; equip 2589; mes .npc$; } .@refeq = getequiprefinerycnt(EQI_GARMENT); if(.@refeq<7) .@refeq2 = 1; else if(.@refeq>8) .@refeq2 = 3; else .@refeq2 = 2; mes "You have a ^000099+" +.@refeq + " Fallen Angel Wing^000000.", "It can have a total of " + .@refeq2 + " enchantment" +( .@refeq2>1?"s.":".")+" Please"; mes "select your preferred","enchantment."; next; setd ".@enc$", select("Fighting Enchant:Magic Enchant:Archer Enchant:Critical/Fatal Enchant:Max HP Enchant:Max SP Enchant:ASPD Enchant:STR Enchant:AGI Enchant:DEX Enchant:VIT Enchant:INT Enchant:LUK Enchant"); if(.cost) callsub OnCostlyEnchant; .@card1 = getequipcardid(4,0); .@card2 = getequipcardid(4,1); .@card3 = getequipcardid(4,2); .@card4 = getequipcardid(4,3); if( @card2 && @card3 && @card4) { mes .npc$, "Hmm.. it seems that all", "slots have already been enchanted."; close; } .@EnStat = callfunc( (.chancetype?"EnchantStat_1":"EnchantStat_0"), .@enc$) ; if(!@card2) callsub OnFawEnchant , .@EnStat , @card3 , @card4 , .@refeq; else if(!@card3 && .@refeq>6) callsub OnFawEnchant , @card2 , .@EnStat , @card4 , .@refeq; else if(!@card4 && .@refeq>8) callsub OnFawEnchant , @card2 , @card3 , .@EnStat , .@refeq; else { mes .npc$, "Sorry, but your", "^000099Fallen Angel Wing^000000's", "refinement level is too", "low to continue"; close; } mes .npc$, "Your ^000099Fallen Angel Wing^000000 has", "been enchanted with ^000099"+getitemname(.@EnStat)+"^000000."; close; OnFawEnChant: if ( !countitem( 2589 ) ) { mes "You dont have the items."; close; } delitem2 2589, 1, 1, getarg(3), 0, @card1, @card2, @card3, @card4; getitem2 2589, 1, 1, getarg(3) , 0, @card1, getarg(0), getarg(1), getarg(2); equip 2589; specialeffect2 1019; specialeffect2 98; return; OnResetEnchant: mes .npc$, "This will cost 1x Silvervine Fruit.", "Are you sure?"; next; if(select("Yes:No")==2) close; mes .npc$; if(countitem(6417)<1) { mes "You don't bring enough silvervine Fruit."; close; } delitem 6417,1; mes "Your ^000099Fallen Angel Wing^000000's", "enchantments have been reset."; .@refeq = getequiprefinerycnt(EQI_GARMENT); .@card1 = getequipcardid(4,0); .@card2 = getequipcardid(4,1); .@card3 = getequipcardid(4,2); .@card4 = getequipcardid(4,3); delitem2 2589, 1, 1, .@refeq, 0, @card1, @card2, @card3, @card4; getitem2 2589, 1, 1, .@refeq, 0, @card1, 0, 0, 0; equip 2589; specialeffect2 261; specialeffect2 119; close; //Only called when .cost is defined OnCostlyEnchant: if(Zeny<.cost) { mes .npc$, "You don't have enough zeny."; close; } Zeny -= .cost; return; OnInit: .npc$ = "[^AA0000Valkyrie^000000]"; setarray .enc1[0], 4809,4808,4820, 4821; //Fighting 3~5 setarray .enc2[0], 4812,4826,4827, 4828; //Magic 4~6 setarray .enc3[0], 4832,4833,4834, 4835; //Expert Arc 1~3 setarray .enc4[0], 4863,4864,4865, 4866; //Fatal 1~3 setarray .enc5[0], 4861,4862,4867, 4868; //MHPP 1~3% setarray .enc6[0], 4870,4800,4871, 4801; //MaxSP 25,50,75 setarray .enc7[0], 4869,4872,4873, 4807; //ASPD 1~3 // setarray .enc7[0], 4869,4872,4873, 4881; //ASPD 1~3 setarray .enc8[0], 4702,4703,4704, 4853; //STR 3~5 | Special Str setarray .enc9[0], 4731,4732,4733, 4854; //AGI 2~4 setarray .enc10[0], 4722,4723,4724, 4857; //DEX 3~5 setarray .enc11[0], 4742,4743,4744, 4855; //VIT 3~5 setarray .enc12[0], 4712,4713,4714, 4856; //INT 3~5 setarray .enc13[0], 4752,4753,4754, 4858; //LUK 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 .chancetype = 1; //Turn on Equip Selection if garment is unequipped? 1 = Yes .autoequip = 0; //Cost for Enchanting. It's free in iRO .cost=6000000; //Cost to reset | Costs 1Mz in iRO .cost2 = 6000000; }
This is the script if you forget XD
The requirement item is reduce / deleted but doesn't give any effect for FAW Reset.
Link to comment
Share on other sites
7 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.