Jump to content
  • 0

###### VIP for Cash and more


Question

Posted

Hi eveyone,

 

I cant make this script :C

 

I see the new vip system of rAthena, in the login table have vip_time, this is in minutes, i think.

 

So, on rAthena exist several VIP Script, but my script is for the new vip system, in the vip_time.

 

Well, 

 

The NPC give VIP Time for X Cash.

 

For example:

 

7 days of VIP for X Cash, 14 Days of VIP for X Cash, 30 days of VIP for X Cash.

 

Also, a GM menu, this have the options for: Add or Remove VIP days for a player o account, Remove VIP of a account, List of VIP accounts of the server.

 

And a player menu, this have: Add VIP Days, for example: If the Player X, have 20 days left of VIP, and he purchase 30 days more, then the Player X have 50 days left of VIP. And, a option in the menu to see how many days have left of VIP.

 

 

Ty for advance.

 

:D!

5 answers to this question

Recommended Posts

Posted

By cash do you mean zeny? or?

 

This is currently untested but yeah.

prontera,100,100,5	script	Hime-sama	72,{
if(getgmlevel()>=60){
	mes "[^0000FFSlave-sama^000000]";
	mes "Hello, Master, would you like to proceed with your official duties or view the player menu?";
	next;
	if(select("Take me to the GM menu!:I'd like to view the player menu.")==1) {
		mes "[^0000FFSlave-sama^000000]";
		mes "Alright, Master, please entire the characters name that you'd like to edit!";
		next;
		input(.@character$);
		if(!getcharid(0,.@character$)) {
			mes "[^0000FFSlave-sama^000000]";
			mes "Master, I'm sorry but that character doesn't seem to exist.";
			emotion e_sob,0;
			close;
		}
		L_Menu:
		mes "[^0000FFSlave-sama^000000]";
		mes "So you'd like to modify ^0000FF"+.@character$+"^000000, good choice!";
		mes "What would you like to do?";
		next;
		switch(select("Modify players time.:View players vip status.:I'm leaving!")){
			case 1:
				mes "[^0000FFSlave-sama^000000]";
				mes "Input a positive value in minutes to increase VIP status and a negative value to decrease it.";
				mes "Put 0 to return.";
				next;
				input(.@time);
				if(!.@time) goto "L_Menu";
				vip_time .@time,.@character$;
				mes "[^0000FFSlave-sama^000000]";
				mes "VIP time updated!";
				next;
				goto L_Menu;
			case 2:
				mes "[^0000FFSlave-sama^000000]";
				mes vip_status(1,.@character$)?"^0000FF"+.@character$+" is currently a VIP Member.^000000":"^FF0000"+.@character$+" is not a VIP Member.^000000";
				mes .@character$+"'s VIP status will expire on ^FF0000"+vip_status(2,.@character$)+"^000000";
				mes .@character$+" has "+vip_status(3,.@character$)+" remaining.";
				next;
				goto L_Menu;
			case 3:
				mes "[^0000FFSlave-sama^000000]";
				mes "Thank you Master please come again!";
				close;
		}
	}
}

mes "Hello, "+strcharinfo(0)+(vip_status(1)||getgmlevel()>=60?"-sama":"")+", what would you like to do?";
switch (select("Purchase VIP:View VIP Status:Explain")) {
	case 1:
		mes "[^0000FFHime-sama^000000]";
		mes "Here you can purchase VIP status for a number of days.";
		next;
		set @menu, select(.purchase$)-1;
		if(Zeny<.cost[@menu]) {
			mes "[^0000FFHime-sama^000000]";
			mes "Look, you don't have enough money, so how about... YOU STOP WASTING MY TIME!";
			emotion e_pif,0;
			close;
		}
		mes "[^0000FFHime-sama^000000]";
		mes "You're now an official member of the VIP gang for "+.time[@menu]+" day(s). ^EE82EE<3^000000";
		set Zeny, Zeny-.cost[@menu];
		vip_time(.time[@menu]*1440);
		emotion e_lv,0;
		close;
	case 2:
		mes "[^0000FFHime-sama^000000]";
		mes vip_status(1)?"^0000FFYou're currently a VIP Member.^000000":"^FF0000You're not a VIP Member.^000000";
		mes "You're VIP status will expire on ^FF0000"+vip_status(2)+"^000000";
		mes "You have "+vip_status(3)+" remaining.";
		close;
	case 3:
		mes "[^0000FFHime-sama^000000]";
		mes "I'm a princess I shouldn't have to explain myself to you!";
		close;
}
end;

OnInit:
	setarray .time, 1, 10, 20, 30, 40; //Time in days.
	setarray .cost, 10, 20, 30 40, 50; //Cash?
	for(set .@a,0; .@a<getarraysize(.time); set .@a,.@a+1)
		set .purchase$, .purchase$+.time[.@a]+" day(s) for "+.cost[.@a]+" cash.:";
}

Paste: xdrin9s027d

Posted

I mean cash of Cash Points.  Same money for the Cash Shop.

 

And is not neccesary call SQL fuctions?

 

I mean call the login table for the "vip_time"?

 

Thanks :D

Posted

Ok ty for all :)

 

Another thing, the players on VIP, in vip_time. They is incluyed on group_id 5? (VIP)?

 

If not, how i can include the VIP players to group_id 5 for those days?

Posted

Ok ty for all :)

 

Another thing, the players on VIP, in vip_time. They is incluyed on group_id 5? (VIP)?

 

If not, how i can include the VIP players to group_id 5 for those days?

 

Yes by default it is set to group 5 you can find the setting in conf/login_athena.conf

// Which group (ID) will be denoted as the VIP group?
// Default: 5
vip_group: 5

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