Jump to content
  • 0

VIP Rental NPC


Bringer

Question


  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  745
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

i'm Using The Offical @vip Command of Rathena

Request for Script VIP Rental

(Choices)
(4,000 #CASHPOINTS  or Proof of Donation – 7 Days Premium)
(7,000 #CASHPOINTS  or Proof of Donation – 14 Days Premium)
(10,000 #CASHPOINTS  or Proof of Donation – 30 Days Premium)

players have two Option can buy using #CASHPOINTS  or Proof of Donation

//===================================
// VIP system
//===================================
// Storage slot increase. Setting to 0 will disable.
// Give more storage slots above the MIN_STORAGE limit.
// Note: MIN_STORAGE + vip_storage_increase cannot exceed MAX_STORAGE.
// Default: 300
vip_storage_increase: 300

// Base experience rate increase. Setting to 0 will disable. (Note 2)
// Default: 50
vip_base_exp_increase: 50

// Job experience rate increase. Setting to 0 will disable. (Note 2)
// Default: 50
vip_job_exp_increase: 50

// Experience penalty rate multiplier for non-VIP accounts.
// Multiplies the 'death_penalty_base' and 'death_penalty_job' settings in 'conf/battle/exp.conf'.
// Default: 3 (3*100 = 3% penalty)
vip_exp_penalty_base_normal: 100
vip_exp_penalty_job_normal: 100

// Experience penalty rate multiplier for VIP accounts.
// Multiplies the 'death_penalty_base' and 'death_penalty_job' settings in 'conf/battle/exp.conf'.
// Default: 1 (1*100 = 1% penalty)
vip_exp_penalty_base: 0
vip_exp_penalty_job: 0

// Item drop increase. Setting to 0 will disable.
// Note: 50 = 50% item_drop increase.
// For item_rate = 200: 200 * 50 / 100 = 100 bonus rate added to the 200 base giving total rate of 300.
// Default: 50
vip_drop_increase: 50

// Gemstone requirement. Setting to false will disable.
// Can the VIP Group ignore Gemstone requirement for skills?
// Default: yes
vip_gemstone: no

// Will display rate information (EXP, Drop, and Death penalty message)? (Note 1)
vip_disp_rate: yes

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0

  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

prontera,155,181,5	script	Sample#vip	4_F_KAFRA1,{

	OnTalk:
		if ( vip_status(0) ) {
			mes "You're VIP.";
		}
		else {
			mes "Buy VIP ?";
			
			.@i = select( 
				.vip_day[0] + " Days",
				.vip_day[1] + " Days",
				.vip_day[2] + " Days"
			) - 1;
			
			mes "VIP "+.vip_day[.@i]+" Days";
			mes "Cost: "+.vip_cashpoint[.@i]+" or "+.vip_pod[.@i]+"x "+getitemname( .pod_id );
			if ( select( "Pay by CashPoint","Pay by "+getitemname( .pod_id ) ) == 1 ) {
				if ( #CASHPOINTS < .vip_cashpoint[.@i] ) {
					mes "Not enough cash point. You got only "+#CASHPOINTS;
				}
				else {
					#CASHPOINTS -= .vip_cashpoint[.@i];
					vip_time ( .vip_day[.@i] * 1440 );
				}
			}
			else {
				if ( countitem( .pod_id ) < .vip_pod[.@i] ) {
					mes "Not enough "+getitemname( .pod_id )+". You got only "+countitem( .pod_id );
				}
				else {
					delitem .pod_id,.vip_pod[.@i];
					vip_time ( .vip_day[.@i] * 1440 );
				}
			}
		}
		close;
		
	OnCheck:
		if (vip_status(0)) {
			dispbottom "Expire Time : "+vip_status(3);
		}
		end;
		
	OnInit:
		.pod_id = 7179;
		
		setarray .vip_day,7,14,30;
		setarray .vip_cashpoint,4000,7000,10000;
		setarray .vip_pod,4000,7000,10000;
		bindatcmd("vip", strnpcinfo(3)+"::OnTalk");
		bindatcmd("vipstatus", strnpcinfo(3)+"::OnCheck");
		end;
}

 

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  261
  • Reputation:   53
  • Joined:  11/11/16
  • Last Seen:  

Couldnt you just create multiple version of the Proof of Donation, and just make a cash shop?

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  745
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

33 minutes ago, srhmike said:

Couldnt you just create multiple version of the Proof of Donation, and just make a cash shop?

players have two Option can buy using #CASHPOINTS  or Proof of Donation

Link to comment
Share on other sites

  • 0

  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  



prontera,155,181,5	script	Sample#vip	4_F_KAFRA1,{

	if ( vip_status(0) ) {
		mes "You're VIP.";
	}
	else {
		mes "Buy VIP ?";
		
		.@i = select( 
			.vip_day[0] + " Days",
			.vip_day[1] + " Days",
			.vip_day[2] + " Days"
		) - 1;
		
		mes "VIP "+.vip_day[.@i]+" Days";
		mes "Cost: "+.vip_cashpoint[.@i]+" or "+.vip_pod[.@i]+"x "+getitemname( .pod_id );
		if ( select( "Pay by CashPoint","Pay by "+getitemname( .pod_id ) ) == 1 ) {
			if ( #CASHPOINT < .vip_cashpoint[.@i] ) {
				mes "Not enough cash point.";
			}
			else {
				#CASHPOINT -= .vip_cashpoint[.@i];
				vip_time ( .vip_day[.@i] * 1440 );
			}
		}
		else {
			if ( countitem( .pod_id ) < .vip_pod[.@i] ) {
				mes "Not enough "+getitemname( .pod_id );
			}
			else {
				delitem .pod_id,.vip_pod[.@i];
				vip_time ( .vip_day[.@i] * 1440 );
			}
		}
	}
	close;
	
	OnInit:
		.pod_id = 7179;
		
		setarray .vip_day,7,14,30;
		setarray .vip_cashpoint,4000,7000,10000;
		setarray .vip_pod,4000,7000,10000;
		end;
}

you can try something like this.

 

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  745
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

8 hours ago, Emistry said:



prontera,155,181,5	script	Sample#vip	4_F_KAFRA1,{

	if ( vip_status(0) ) {
		mes "You're VIP.";
	}
	else {
		mes "Buy VIP ?";
		
		.@i = select( 
			.vip_day[0] + " Days",
			.vip_day[1] + " Days",
			.vip_day[2] + " Days"
		) - 1;
		
		mes "VIP "+.vip_day[.@i]+" Days";
		mes "Cost: "+.vip_cashpoint[.@i]+" or "+.vip_pod[.@i]+"x "+getitemname( .pod_id );
		if ( select( "Pay by CashPoint","Pay by "+getitemname( .pod_id ) ) == 1 ) {
			if ( #CASHPOINT < .vip_cashpoint[.@i] ) {
				mes "Not enough cash point.";
			}
			else {
				#CASHPOINT -= .vip_cashpoint[.@i];
				vip_time ( .vip_day[.@i] * 1440 );
			}
		}
		else {
			if ( countitem( .pod_id ) < .vip_pod[.@i] ) {
				mes "Not enough "+getitemname( .pod_id );
			}
			else {
				delitem .pod_id,.vip_pod[.@i];
				vip_time ( .vip_day[.@i] * 1440 );
			}
		}
	}
	close;
	
	OnInit:
		.pod_id = 7179;
		
		setarray .vip_day,7,14,30;
		setarray .vip_cashpoint,4000,7000,10000;
		setarray .vip_pod,4000,7000,10000;
		end;
}

you can try something like this.

 

Emistry can you add bindcommand @vipstatus will display  how many expire date or time remaining.

Link to comment
Share on other sites

  • 0

  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

prontera,155,181,5	script	Sample#vip	4_F_KAFRA1,{

	OnTalk:
		if ( vip_status(0) ) {
			mes "You're VIP.";
		}
		else {
			mes "Buy VIP ?";
			
			.@i = select( 
				.vip_day[0] + " Days",
				.vip_day[1] + " Days",
				.vip_day[2] + " Days"
			) - 1;
			
			mes "VIP "+.vip_day[.@i]+" Days";
			mes "Cost: "+.vip_cashpoint[.@i]+" or "+.vip_pod[.@i]+"x "+getitemname( .pod_id );
			if ( select( "Pay by CashPoint","Pay by "+getitemname( .pod_id ) ) == 1 ) {
				if ( #CASHPOINT < .vip_cashpoint[.@i] ) {
					mes "Not enough cash point.";
				}
				else {
					#CASHPOINT -= .vip_cashpoint[.@i];
					vip_time ( .vip_day[.@i] * 1440 );
				}
			}
			else {
				if ( countitem( .pod_id ) < .vip_pod[.@i] ) {
					mes "Not enough "+getitemname( .pod_id );
				}
				else {
					delitem .pod_id,.vip_pod[.@i];
					vip_time ( .vip_day[.@i] * 1440 );
				}
			}
		}
		close;
		
	OnCheck:
		if (vip_status(0)) {
			dispbottom "Expire Time : "+vip_status(3);
		}
		end;
		
	OnInit:
		.pod_id = 7179;
		
		setarray .vip_day,7,14,30;
		setarray .vip_cashpoint,4000,7000,10000;
		setarray .vip_pod,4000,7000,10000;
		bindatcmd("vip", strnpcinfo(3)+"::OnTalk");
		bindatcmd("vipstatus", strnpcinfo(3)+"::OnCheck");
		end;
}

 

Edited by Emistry
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  745
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

2 hours ago, Emistry said:

prontera,155,181,5	script	Sample#vip	4_F_KAFRA1,{

	OnTalk:
		if ( vip_status(0) ) {
			mes "You're VIP.";
		}
		else {
			mes "Buy VIP ?";
			
			.@i = select( 
				.vip_day[0] + " Days",
				.vip_day[1] + " Days",
				.vip_day[2] + " Days"
			) - 1;
			
			mes "VIP "+.vip_day[.@i]+" Days";
			mes "Cost: "+.vip_cashpoint[.@i]+" or "+.vip_pod[.@i]+"x "+getitemname( .pod_id );
			if ( select( "Pay by CashPoint","Pay by "+getitemname( .pod_id ) ) == 1 ) {
				if ( #CASHPOINT < .vip_cashpoint[.@i] ) {
					mes "Not enough cash point.";
				}
				else {
					#CASHPOINT -= .vip_cashpoint[.@i];
					vip_time ( .vip_day[.@i] * 1440 );
				}
			}
			else {
				if ( countitem( .pod_id ) < .vip_pod[.@i] ) {
					mes "Not enough "+getitemname( .pod_id );
				}
				else {
					delitem .pod_id,.vip_pod[.@i];
					vip_time ( .vip_day[.@i] * 1440 );
				}
			}
		}
		close;
		
	OnCheck:
		if (vip_status(0)) {
			dispbottom "Expire Time : "+vip_status(3);
		}
		end;
		
	OnInit:
		.pod_id = 7179;
		
		setarray .vip_day,7,14,30;
		setarray .vip_cashpoint,4000,7000,10000;
		setarray .vip_pod,4000,7000,10000;
		bindatcmd("vip", strnpcinfo(NPC_NAME_UNIQUE)+"::OnTalk");
		bindatcmd("vipstatus", strnpcinfo(NPC_NAME_UNIQUE)+"::OnCheck");
		end;
}

1st. Error no bindcommand

15644283_1146519178797897_2031285979_n.p

2nd even i got 10k Cash Point

Edited by Bringer
Link to comment
Share on other sites

  • 0

  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10015
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

bindatcmd("vip", strnpcinfo(NPC_NAME_UNIQUE)+"::OnTalk");
bindatcmd("vipstatus", strnpcinfo(NPC_NAME_UNIQUE)+"::OnCheck");

change to

bindatcmd("vip", strnpcinfo(3)+"::OnTalk");
bindatcmd("vipstatus", strnpcinfo(3)+"::OnCheck");

 

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  162
  • Topics Per Day:  0.04
  • Content Count:  745
  • Reputation:   47
  • Joined:  03/12/14
  • Last Seen:  

36 minutes ago, Emistry said:

bindatcmd("vip", strnpcinfo(NPC_NAME_UNIQUE)+"::OnTalk");
bindatcmd("vipstatus", strnpcinfo(NPC_NAME_UNIQUE)+"::OnCheck");

change to


bindatcmd("vip", strnpcinfo(3)+"::OnTalk");
bindatcmd("vipstatus", strnpcinfo(3)+"::OnCheck");

 

i can use Pods but if when i try use cash point not working

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  44
  • Reputation:   9
  • Joined:  03/07/13
  • Last Seen:  

Nice Script is it posible to add a 7 day trial Vip option for newplayers.
So they can select Trial Vip1 time account and ip based

or should i make a new request

 

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

×
×
  • Create New...