Jump to content

Utility: Custom Stat Seller


Resu-Me

Recommended Posts


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  42
  • Reputation:   5
  • Joined:  11/13/11
  • Last Seen:  

Custom Stat Seller


This is an old script and its just a basic script that everyone can use.

This npc has a bug before where the npc can keep deducting zeny and the stat is already at limit.

So I've made a minor tweaks and the script is good to go!

Note: Please read the guide inside the script for making changes!


  • Submitter
  • Submitted
    10/17/2021
  • Category
  • Video
  • Content Author
    Resu-Me

 

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  257
  • Topics Per Day:  0.08
  • Content Count:  737
  • Reputation:   18
  • Joined:  11/21/15
  • Last Seen:  

nice script but it says max stats already reached

i even edit it to my game max stats

//=========================== Resu-Me ==============================
//============= Compatible with any rAthena Version ================
//======= Please check the guide and report for any bugs ===========
//=========== This is an updated version of the script! ============
//== Any previous versions of this script does not belong to me! ==
//==================================================================
prontera,168,179,0	script	Stat Seller	831,{
mes "[ Stat Seller ]";
mes "Good day, I am the stat seller";
next;
mes "[ Stat Seller ]";
mes "I sell 10 stat points directly to your desired stat.";
next;
mes "[ Stat Seller ]";
mes "Each 10 stat points cost 50,000,000 zeny.";
mes "Would you like to buy 10 stat points from me?";
next;
menu "Yes",YES,"No",NO;
YES:
	mes "[ Stat Seller ]";
	if(Zeny < 49999999) goto no50m;
	mes "Which status points would you like me to distribute?";
	next;
	menu "Str",STR,"Agi",AGI,"Vit",VIT,"Int",INT,"Dex",DEX,"Luk",LUK;
	STR:
		if(bStr < 500) goto M_Limit;  //-- Change the value to your server's max stat
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bStr,10;  //-- Change this value if you want to give more than 10 stats
		set Zeny, Zeny - 50000000;
		close;
	AGI:
		if(bAgi < 500) goto M_Limit;  //-- Change the value to your server's max stat
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bAgi,10;  //-- Change this value if you want to give more than 10 stats
		set Zeny, Zeny - 50000000;
		close;
	VIT:
		if(bVit < 500) goto M_Limit;  //-- Change the value to your server's max stat
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bVit,10;  //-- Change this value if you want to give more than 10 stats
		set Zeny, Zeny - 50000000;  //-- Change the value to your server's max stat
		close;
	INT:
		if(bInt < 500) goto M_Limit;  //-- Change the value to your server's max stat
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bInt,10;  //-- Change this value if you want to give more than 10 stats
		set Zeny, Zeny - 50000000;
		close;
	DEX:
		if(bDex < 500) goto M_Limit;  //-- Change the value to your server's max stat
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bDex,10;  //-- Change this value if you want to give more than 10 stats
		set Zeny, Zeny - 50000000;
		close;
	LUK:
		if(bLuk < 500) goto M_Limit;  //-- Change the value to your server's max stat
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bLuk,10;  //-- Change this value if you want to give more than 10 stats
		set Zeny, Zeny - 50000000;
		close;

	M_Limit:
		mes "[ Stat Seller ]";
		mes "You have already reached max on selected stat!";
		next;
		mes "[ Stat Seller ]";
		mes "Please choose another stat.";
		next;
		menu "Str",STR,"Agi",AGI,"Vit",VIT,"Int",INT,"Dex",DEX,"Luk",LUK;
		close;

	no50m:
		mes "[ Stat Seller ]";
		mes "Apparently, you don't have enough zeny to buy these points.";
		next;
		mes "[ Stat Seller ]";
		mes "Come by any time.";
		close;
NO:
	mes "[ Stat Seller ]";
	mes "Come by if you need me.";
	close;
	}

 

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  42
  • Reputation:   5
  • Joined:  11/13/11
  • Last Seen:  

13 hours ago, AinsLord said:

nice script but it says max stats already reached

i even edit it to my game max stats

 

If your server max stat is 500, it cannot go beyond that. As for example you set it to <500, any amount below 490 can still be accepted as long as it can reach its limit which is 500, but if the stat has 491 up to 500 it will be rejected as you set it to limit of 500 and each stat bonus gives you 10 points.

I hope you get it?

 

If (bStr <500)  - this means you can buy stats from 0 to 490. if your stat is already 491 and above, you cannot buy anymore.

Edited by Resu-Me
  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  257
  • Topics Per Day:  0.08
  • Content Count:  737
  • Reputation:   18
  • Joined:  11/21/15
  • Last Seen:  

4 hours ago, Resu-Me said:

If your server max stat is 500, it cannot go beyond that. As for example you set it to <500, any amount below 490 can still be accepted as long as it can reach its limit which is 500, but if the stat has 491 up to 500 it will be rejected as you set it to limit of 500 and each stat bonus gives you 10 points.

I hope you get it?

 

If (bStr <500)  - this means you can buy stats from 0 to 490. if your stat is already 491 and above, you cannot buy anymore.

ayt thanks a lot ?

will this be possible aside from zeny i mean rather than zeny

item will be the required to buy stats?

TIA

 

EDIT: @Resu-Mestill the same i edited it to 490 coz my max stats is 500

image.png.0687ff99634ea3fa6fbc2d05a2b77a4e.png

prontera,147,173,5	script	Stat Dealer	99,{

mes "[ Stat Seller ]";
mes "Good day, I am the stat seller";
next;
mes "[ Stat Seller ]";
mes "I sell 10 stat points directly to your desired stat.";
next;
mes "[ Stat Seller ]";
mes "Each 10 stat points cost 50,000,000 zeny.";
mes "Would you like to buy 10 stat points from me?";
next;
menu "Yes",YES,"No",NO;
YES:
	mes "[ Stat Seller ]";
	if(Zeny < 49999999) goto no50m;
	mes "Which status points would you like me to distribute?";
	next;
	menu "Str",STR,"Agi",AGI,"Vit",VIT,"Int",INT,"Dex",DEX,"Luk",LUK;
	STR:
		if(bStr < 490) goto M_Limit;  //-- Change the value to your server's max stat
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bStr,10;  //-- Change this value if you want to give more than 10 stats
		set Zeny, Zeny - 50000000;
		close;
	AGI:
		if(bAgi < 490) goto M_Limit;  //-- Change the value to your server's max stat
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bAgi,10;  //-- Change this value if you want to give more than 10 stats
		set Zeny, Zeny - 50000000;
		close;
	VIT:
		if(bVit < 490) goto M_Limit;  //-- Change the value to your server's max stat
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bVit,10;  //-- Change this value if you want to give more than 10 stats
		set Zeny, Zeny - 50000000;  //-- Change the value to your server's max stat
		close;
	INT:
		if(bInt < 490) goto M_Limit;  //-- Change the value to your server's max stat
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bInt,10;  //-- Change this value if you want to give more than 10 stats
		set Zeny, Zeny - 50000000;
		close;
	DEX:
		if(bDex < 490) goto M_Limit;  //-- Change the value to your server's max stat
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bDex,10;  //-- Change this value if you want to give more than 10 stats
		set Zeny, Zeny - 50000000;
		close;
	LUK:
		if(bLuk < 490) goto M_Limit;  //-- Change the value to your server's max stat
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bLuk,10;  //-- Change this value if you want to give more than 10 stats
		set Zeny, Zeny - 50000000;
		close;

	M_Limit:
		mes "[ Stat Seller ]";
		mes "You have already reached max on selected stat!";
		next;
		mes "[ Stat Seller ]";
		mes "Please choose another stat.";
		next;
		menu "Str",STR,"Agi",AGI,"Vit",VIT,"Int",INT,"Dex",DEX,"Luk",LUK;
		close;

	no50m:
		mes "[ Stat Seller ]";
		mes "Apparently, you don't have enough zeny to buy these points.";
		next;
		mes "[ Stat Seller ]";
		mes "Come by any time.";
		close;
NO:
	mes "[ Stat Seller ]";
	mes "Come by if you need me.";
	close;
	}

here is the edited script

Edited by AinsLord
more info
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  42
  • Reputation:   5
  • Joined:  11/13/11
  • Last Seen:  

On 10/25/2021 at 1:54 PM, AinsLord said:

ayt thanks a lot ?

will this be possible aside from zeny i mean rather than zeny

item will be the required to buy stats?

TIA

 

EDIT: @Resu-Mestill the same i edited it to 490 coz my max stats is 500

image.png.0687ff99634ea3fa6fbc2d05a2b77a4e.png

prontera,147,173,5	script	Stat Dealer	99,{

mes "[ Stat Seller ]";
mes "Good day, I am the stat seller";
next;
mes "[ Stat Seller ]";
mes "I sell 10 stat points directly to your desired stat.";
next;
mes "[ Stat Seller ]";
mes "Each 10 stat points cost 50,000,000 zeny.";
mes "Would you like to buy 10 stat points from me?";
next;
menu "Yes",YES,"No",NO;
YES:
	mes "[ Stat Seller ]";
	if(Zeny < 49999999) goto no50m;
	mes "Which status points would you like me to distribute?";
	next;
	menu "Str",STR,"Agi",AGI,"Vit",VIT,"Int",INT,"Dex",DEX,"Luk",LUK;
	STR:
		if(bStr < 490) goto M_Limit;  //-- Change the value to your server's max stat
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bStr,10;  //-- Change this value if you want to give more than 10 stats
		set Zeny, Zeny - 50000000;
		close;
	AGI:
		if(bAgi < 490) goto M_Limit;  //-- Change the value to your server's max stat
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bAgi,10;  //-- Change this value if you want to give more than 10 stats
		set Zeny, Zeny - 50000000;
		close;
	VIT:
		if(bVit < 490) goto M_Limit;  //-- Change the value to your server's max stat
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bVit,10;  //-- Change this value if you want to give more than 10 stats
		set Zeny, Zeny - 50000000;  //-- Change the value to your server's max stat
		close;
	INT:
		if(bInt < 490) goto M_Limit;  //-- Change the value to your server's max stat
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bInt,10;  //-- Change this value if you want to give more than 10 stats
		set Zeny, Zeny - 50000000;
		close;
	DEX:
		if(bDex < 490) goto M_Limit;  //-- Change the value to your server's max stat
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bDex,10;  //-- Change this value if you want to give more than 10 stats
		set Zeny, Zeny - 50000000;
		close;
	LUK:
		if(bLuk < 490) goto M_Limit;  //-- Change the value to your server's max stat
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bLuk,10;  //-- Change this value if you want to give more than 10 stats
		set Zeny, Zeny - 50000000;
		close;

	M_Limit:
		mes "[ Stat Seller ]";
		mes "You have already reached max on selected stat!";
		next;
		mes "[ Stat Seller ]";
		mes "Please choose another stat.";
		next;
		menu "Str",STR,"Agi",AGI,"Vit",VIT,"Int",INT,"Dex",DEX,"Luk",LUK;
		close;

	no50m:
		mes "[ Stat Seller ]";
		mes "Apparently, you don't have enough zeny to buy these points.";
		next;
		mes "[ Stat Seller ]";
		mes "Come by any time.";
		close;
NO:
	mes "[ Stat Seller ]";
	mes "Come by if you need me.";
	close;
	}

here is the edited script

prontera,146,196,4	script	Stat Seller	831,{
	readparam(bStr);
	readparam(bAgi);
	readparam(bVit);
	readparam(bInt);
	readparam(bDex);
	readparam(bLuk);
	mes "[ Stat Seller ]";
	mes "Good day, I am the stat seller";
	next;
	mes "[ Stat Seller ]";
	mes "I sell 10 stat points directly to your desired stat.";
	next;
	mes "[ Stat Seller ]";
	mes "Each 10 stat points cost 50,000,000 zeny.";
	mes "Would you like to buy 10 stat points from me?";
	next;
	mes "[ Stat Seller ]";
	mes "But please note that when you buy stats,";
	mes "The additional stat points will not be added when you reset your character stats!";
	next;
	mes "[ Stat Seller ]";
	mes "So please make sure that when you do this,";
	mes "You won't regret it later!";
	next;
	mes "[ Stat Seller ]";
	mes "Do you still want to buy stat points?";
	next;
	menu "Yes",YES,"No",NO;

	YES:
	mes "[ Stat Seller ]";
	if(Zeny < 49999999) goto no400k;
	mes "Which status points would you like me to distribute?";
	next;
	menu "Str",STR,"Agi",AGI,"Vit",VIT,"Int",INT,"Dex",DEX,"Luk",LUK;
	STR:
		if (readparam(bStr) > 489) goto M_Limit;
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bStr,10;
		set Zeny, Zeny - 50000000; // change this to delitem itemID,Qty;  or set #CASHPOINTS,Amount;
		close;
	AGI:
		if (readparam(bAgi) > 489) goto M_Limit;
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bAgi,10;
		set Zeny, Zeny - 50000000; // change this to delitem itemID,Qty;  or set #CASHPOINTS,Amount;
		close;
	VIT:
		if (readparam(bVit) > 489) goto M_Limit;
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bVit,10;
		set Zeny, Zeny - 50000000; // change this to delitem itemID,Qty;  or set #CASHPOINTS,Amount;
		close;
	INT:
		if (readparam(bInt) > 489) goto M_Limit;
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bInt,10;
		set Zeny, Zeny - 50000000; // change this to delitem itemID,Qty;  or set #CASHPOINTS,Amount;
		close;
	DEX:
		if (readparam(bDex) > 489) goto M_Limit;
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bDex,10;
		set Zeny, Zeny - 50000000; // change this to delitem itemID,Qty;  or set #CASHPOINTS,Amount;
		close;
	LUK:
		if (readparam(bLuk) > 489) goto M_Limit;
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bLuk,10;
		set Zeny, Zeny - 50000000; // change this to delitem itemID,Qty;  or set #CASHPOINTS,Amount;
		close;

	M_Limit:
		mes "[ Stat Seller ]";
		mes "You have already reached max on selected stat!";
		next;
		mes "[ Stat Seller ]";
		mes "Please choose another stat.";
		next;
		menu "Str",STR,"Agi",AGI,"Vit",VIT,"Int",INT,"Dex",DEX,"Luk",LUK;
		close;

	no400k:
		mes "[ Stat Seller ]";
		mes "Apparently, you don't have enough zeny to buy these points.";
		next;
		mes "[ Stat Seller ]";
		mes "Come by any time.";
		close;
NO:
	mes "[ Stat Seller ]";
	mes "Come by if you need me.";
	close;
	}

Here you go.

Don't forget to change the messages based on your desired requirements (Zeny/Cashpoints/Item)

 

PRRstatseller v1.001.txt

Edited by Resu-Me
attachment
  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  257
  • Topics Per Day:  0.08
  • Content Count:  737
  • Reputation:   18
  • Joined:  11/21/15
  • Last Seen:  

30 minutes ago, Resu-Me said:
prontera,146,196,4	script	Stat Seller	831,{
	readparam(bStr);
	readparam(bAgi);
	readparam(bVit);
	readparam(bInt);
	readparam(bDex);
	readparam(bLuk);
	mes "[ Stat Seller ]";
	mes "Good day, I am the stat seller";
	next;
	mes "[ Stat Seller ]";
	mes "I sell 10 stat points directly to your desired stat.";
	next;
	mes "[ Stat Seller ]";
	mes "Each 10 stat points cost 50,000,000 zeny.";
	mes "Would you like to buy 10 stat points from me?";
	next;
	mes "[ Stat Seller ]";
	mes "But please note that when you buy stats,";
	mes "The additional stat points will not be added when you reset your character stats!";
	next;
	mes "[ Stat Seller ]";
	mes "So please make sure that when you do this,";
	mes "You won't regret it later!";
	next;
	mes "[ Stat Seller ]";
	mes "Do you still want to buy stat points?";
	next;
	menu "Yes",YES,"No",NO;

	YES:
	mes "[ Stat Seller ]";
	if(Zeny < 49999999) goto no400k;
	mes "Which status points would you like me to distribute?";
	next;
	menu "Str",STR,"Agi",AGI,"Vit",VIT,"Int",INT,"Dex",DEX,"Luk",LUK;
	STR:
		if (readparam(bStr) > 489) goto M_Limit;
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bStr,10;
		set Zeny, Zeny - 50000000; // change this to delitem itemID,Qty;  or set #CASHPOINTS,Amount;
		close;
	AGI:
		if (readparam(bAgi) > 489) goto M_Limit;
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bAgi,10;
		set Zeny, Zeny - 50000000; // change this to delitem itemID,Qty;  or set #CASHPOINTS,Amount;
		close;
	VIT:
		if (readparam(bVit) > 489) goto M_Limit;
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bVit,10;
		set Zeny, Zeny - 50000000; // change this to delitem itemID,Qty;  or set #CASHPOINTS,Amount;
		close;
	INT:
		if (readparam(bInt) > 489) goto M_Limit;
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bInt,10;
		set Zeny, Zeny - 50000000; // change this to delitem itemID,Qty;  or set #CASHPOINTS,Amount;
		close;
	DEX:
		if (readparam(bDex) > 489) goto M_Limit;
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bDex,10;
		set Zeny, Zeny - 50000000; // change this to delitem itemID,Qty;  or set #CASHPOINTS,Amount;
		close;
	LUK:
		if (readparam(bLuk) > 489) goto M_Limit;
		next;
		mes "[ Stat Seller ]";
		mes "There you go.";
		mes "Come by again.";
		statusup2 bLuk,10;
		set Zeny, Zeny - 50000000; // change this to delitem itemID,Qty;  or set #CASHPOINTS,Amount;
		close;

	M_Limit:
		mes "[ Stat Seller ]";
		mes "You have already reached max on selected stat!";
		next;
		mes "[ Stat Seller ]";
		mes "Please choose another stat.";
		next;
		menu "Str",STR,"Agi",AGI,"Vit",VIT,"Int",INT,"Dex",DEX,"Luk",LUK;
		close;

	no400k:
		mes "[ Stat Seller ]";
		mes "Apparently, you don't have enough zeny to buy these points.";
		next;
		mes "[ Stat Seller ]";
		mes "Come by any time.";
		close;
NO:
	mes "[ Stat Seller ]";
	mes "Come by if you need me.";
	close;
	}

Here you go.

Don't forget to change the messages based on your desired requirements (Zeny/Cashpoints/Item)

 

PRRstatseller v1.001.txt 3.92 kB · 1 download

thanks a lot ?❤️

Link to comment
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   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.

×
×
  • Create New...