//Le Livre d'Ymir http://www.bookofymir.net/ //traduit par Myllena //===== eAthena Script ======================================= //= Kafra Express - Stat/Reset Module //===== By: ================================================== //= Skotlex //===== Current Version: ===================================== //= 2.2 //===== Compatible With: ===================================== //= eAthena SVN R3424+ //===== Description: ========================================= //= Part of the Kafra Express Script Package. //= Offers stat raising and Stat/Reset skills //===== Additional Comments: ================================= //= See config.txt for configuration. //============================================================ - script keInit_stats -1,{ OnInit: //Load Config donpcevent "keConfig::OnLoadStats"; end; } function script F_keStats { function SF_statRaise; set @discount,callfunc("F_keCost",100,$@kest_discount); do { set @kmenu, select( "- Retour", "- Augmenter les Stats", "- Réinitialiser les Stats ("+$@kest_stResetCost+"z+"+$@kest_BaseLvCost+"/blv)", "- Réinitialiser les Skills ("+$@kest_skResetCost+"z+"+$@kest_JobLvCost+"/jlv)", "- Tout Réinitialiser ("+$@kest_resetCost+"z+"+$@kest_BothLvCost+"/lv)" ); switch (@kmenu) { case 2: //Stat raising SF_statRaise(); set @cost, 0; set @reset, 0; break; case 3: //Reset Stat set @cost, $@kest_stResetCost+BaseLevel*$@kest_BaseLvCost; set @reset, 1; break; case 4: //Reset Skills set @cost, $@kest_skResetCost+(JobLevel+jobchange_level)*$@kest_JobLvCost; set @reset, 2; break; case 5: //Reset Both set @cost, $@kest_resetCost+(BaseLevel+JobLevel+jobchange_level)*$@kest_BothLvCost; set @reset, 3; break; default: //Cancel set @cost, 0; set @reset, 0; break; } if (@reset > 0) { if (select("- Annuler","- Réinitialiser pour "+(@cost*@discount/100)+"z") == 2) { if (!(callfunc("F_keCharge",@cost,$@kest_discount,1))) { callfunc "F_keIntro", e_an, "Désolée, vous n'avez pas assez d'argent."; } else { if (@reset&1) ResetStatus; if (@reset&2) { if ($@kest_resetBasic) ResetSkill; else { set @skill1,getskilllv("NV_BASIC"); ResetSkill; skill 1,@skill1,0; set SkillPoint,SkillPoint-@skill1; } } emotion e_hmm; } } } } while (@kmenu > 1); return; function SF_statRaise { do { set @submenu, select( "- Retour", "- Augmenter la Force", "- Augmenter l'Agilité", "- Augmenter la Vitalité", "- Augmenter l'Intelligence", "- Augmenter la Dextérité", "- Augmenter la Chance" ); switch (@submenu) { case 2: set @stat,bStr; break; case 3: set @stat,bAgi; break; case 4: set @stat,bVit; break; case 5: set @stat,bInt; break; case 6: set @stat,bDex; break; case 7: set @stat,bLuk; break; default: return; } input @qty; if (@qty <1) { callfunc "F_keIntro", e_swt, "Je ne peux pas abaisser vos statistiques, essayez de les réinitialiser."; } else if (@qty >100) { callfunc "F_keIntro", e_swt2, "Désolée... Je ne peux pas augmenter les statistiques de plus de 100 à la fois."; } else { do { statusup @stat; set @qty,@qty-1; } while (@qty > 0); emotion e_ok; } } while (@submenu > 1); } }