Jump to content

Question

Posted

Although the script below works very well for me, I get this error in SSH console when a player tries to use it without having the amount of zeny needed to continue, but I can not solve it due to my lack of knowledge in C++

//===== 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]
//============================================================
paramk,119,57,4	script	Reset Girl	643,{
	cutin "min01",2;
	//	 		Skills,	Stats,	Both,	Limit
	setarray .@Reset,	50000,	50000,	90000,	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.";
		close2;
		cutin "",255;
	}
	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) close2;
	cutin "",255;
	mes "[Reset Girl]";
	if (Zeny < .@Reset[.@i-1]) {
		mes "Sorry, you don't have enough Zeny.";
		close2;
		cutin "",255;
	}
	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) close2;
		cutin "",255;
	}
	set Zeny, Zeny-.@Reset[.@i-1];
	if(.@i&1){
		sc_end_class;
		ResetSkill;
	}
	if(.@i&2) ResetStatus;
	mes "There you go!";
	if(.@Reset[3]) set reset_limit,reset_limit + 1;
	close2;
	cutin "",255;
}
Quote

[Error]: script_set_reg: failed to set param 'Zeny' to -21652.
[Debug]: Source (NPC): Reset Girl at paramk (119,57)

 

2 answers to this question

Recommended Posts

  • 0
Posted
On 3/6/2019 at 8:29 PM, CyberDevil said:

Although the script below works very well for me, I get this error in SSH console when a player tries to use it without having the amount of zeny needed to continue, but I can not solve it due to my lack of knowledge in C++


//===== 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]
//============================================================
paramk,119,57,4	script	Reset Girl	643,{
	cutin "min01",2;
	//	 		Skills,	Stats,	Both,	Limit
	setarray .@Reset,	50000,	50000,	90000,	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.";
		close2;
		cutin "",255;
	}
	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) close2;
	cutin "",255;
	mes "[Reset Girl]";
	if (Zeny < .@Reset[.@i-1]) {
		mes "Sorry, you don't have enough Zeny.";
		close2;
		cutin "",255;
	}
	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) close2;
		cutin "",255;
	}
	set Zeny, Zeny-.@Reset[.@i-1];
	if(.@i&1){
		sc_end_class;
		ResetSkill;
	}
	if(.@i&2) ResetStatus;
	mes "There you go!";
	if(.@Reset[3]) set reset_limit,reset_limit + 1;
	close2;
	cutin "",255;
}

 

Hi, You have this error because missing 'end' for the 'close2' command, just put 'end' after 'close2' or using 'close3'

Fixed script

test.txt

  • Upvote 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...