Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 06/03/24 in Posts

  1. Try this //===== rAthena Script ======================================= //= Reset NPC //===== Description: ========================================= //= Resets skills, stats, or both. //===== Additional Comments: ================================= //= 1.0 First Version //= 1.1 Optimized for the greater good. [Kisuka] //= 1.2 Cleaning [Euphy] //= 1.3 All statuses removed upon skill reset. [Euphy] //= 1.4 Compressed Script, Added limit use option [Stolao] //= Changed set -> setarray, Improved text with F_InsertPlural //= 1.5 Added sc_end_class to reset related status changes [sader1992] //= 1.6 First three resets are free [YourName] //============================================================ prontera,150,193,4 script Reset Girl 124,{ // Skills, Stats, Both, Limit setarray .@Reset, 5000, 5000, 9000, 0; mes "[Reset Girl]"; if(.@Reset[3] && reset_limit > .@Reset[3]) { mes "Sorry, you can only reset "+callfunc("F_InsertPlural",.@Reset[3],"time")+" in your life."; close; } mes "I am the Reset Girl."; mes "Reset Stats: "+ callfunc("F_InsertComma",.@Reset[1]) +"z"; mes "Reset Skills: "+ callfunc("F_InsertComma",.@Reset[0]) +"z"; mes "Reset Both: "+ callfunc("F_InsertComma",.@Reset[2]) +"z"; if(.@Reset[3]) mes "You may only reset "+callfunc("F_InsertPlural",.@Reset[3],"time")+", so use "+((.@Reset[3]>1)?"them":"it")+" wisely."; mes "Please select the service you want:"; next; set .@i,(select("^FF3355Reset Skills:Reset Stats:Reset Both^000000:Cancel")); if(.@i > 3) close; mes "[Reset Girl]"; if (free_resets < 3) { mes "You are eligible for a free reset! This will be reset number "+(free_resets+1)+"."; } else { if (Zeny < .@Reset[.@i-1]) { mes "Sorry, you don't have enough Zeny."; close; } if(.@Reset[3]){ mes "You can only reset "+callfunc("F_InsertPlural",.@Reset[3],"time")+" in your life, are you sure?"; if(select("Let me think:That's fine") == 1) close; } set Zeny, Zeny-.@Reset[.@i-1]; } if(.@i&1){ sc_end_class; ResetSkill; } if(.@i&2) ResetStatus; if (free_resets < 3) { set free_resets, free_resets + 1; } mes "There you go!"; if(.@Reset[3]) set reset_limit, reset_limit + 1; close; } New Variable free_resets: This variable keeps track of the number of free resets a player has used. Logic for Free Resets: If the player has used fewer than 3 free resets, they are informed that the reset will be free. Otherwise, the script checks if the player has enough Zeny and deducts it accordingly. Incrementing free_resets: Each time a free reset is used, free_resets is incremented by 1. This script ensures that players get their first three resets for free, after which they will be charged the standard fees as defined in the .@Reset array.
    1 point
×
×
  • Create New...