Tales Posted December 23, 2014 Group: Members Topic Count: 163 Topics Per Day: 0.03 Content Count: 319 Reputation: 8 Joined: 02/05/12 Last Seen: January 11, 2016 Share Posted December 23, 2014 PLEASE, TRANSLATE WHATS MEAN IN BOLD //===== 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) ) , "Valkyrie#faw"), .x ); } //Equal Chance of Enchanting function script EnchantStat_0 { if(@card2 && @card3) return getelementofarray(getvariableofnpc( getd(".enc" + getarg(0) ) , "Valkyrie#faw"), rand(0,3) ); else return getelementofarray(getvariableofnpc( getd(".enc" + getarg(0) ) , "Valkyrie#faw"), rand(0,2) ); } //=======MAIN NPC prontera,156,168,5 script Valkyrie#faw 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(5,0); @card2 = getequipcardid(5,1); @card3 = getequipcardid(5,2); @card4 = getequipcardid(5,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: 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 " + callfunc("F_InsertComma",.cost2) + "z.", "Are you sure?"; next; if(select("Yes:No")==2) close; mes .npc$; if(Zeny<1000000) { mes "You don't have enough zeny."; close; } Zeny -= 1000000; mes "Your ^000099Fallen Angel Wing^000000's", "enchantments have been reset."; .@refeq = getequiprefinerycnt(EQI_GARMENT); @card1 = getequipcardid(5,0); @card2 = getequipcardid(5,1); @card3 = getequipcardid(5,2); @card4 = getequipcardid(5,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 =1; //Cost for Enchanting. It's free in iRO //.cost=0; //Cost to reset | Costs 1Mz in iRO .cost2 = 1000000; } 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"); .@EnStat = callfunc( (.chancetype?"EnchantStat_1":"EnchantStat_0"), .@enc$) ; Im trying to do a auto select enchant (like a rand). Quote Link to comment Share on other sites More sharing options...
Luciar Posted December 24, 2014 Group: Members Topic Count: 5 Topics Per Day: 0.00 Content Count: 177 Reputation: 21 Joined: 01/31/12 Last Seen: March 8, 2020 Share Posted December 24, 2014 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"); This sets a variable (name determined by the value of .@enc$) equal to the selection of the menu presented by the select script command. For example, if .@enc$ = ".@variable" and the user selects "Fighting Enchant" from the menu then .@variable = 1 .@EnStat = callfunc( (.chancetype?"EnchantStat_1":"EnchantStat_0"), .@enc$) ; This sets the variable .@EnStat to the value that is returned by the function EnchantStat_1( ) or Enchant_Stat_0( ) (function determined by the variable .chancetype) with an argument passed that was defined by the above setd line. 1 Quote Link to comment Share on other sites More sharing options...
Question
Tales
PLEASE, TRANSLATE WHATS MEAN IN BOLD
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");
.@EnStat = callfunc( (.chancetype?"EnchantStat_1":"EnchantStat_0"), .@enc$) ;
Im trying to do a auto select enchant (like a rand).
Link to comment
Share on other sites
1 answer 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.