Jump to content
  • 0

VIP System


Initsuga

Question


  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  40
  • Reputation:   0
  • Joined:  01/17/17
  • Last Seen:  

Spoiler

prontera,181,215,6    script    VIP System#1    109,{
 
set .@day,1000;
set .@week,5000;
set .@month,20000;
if (getgroupid()>4) {
mes "[ VIP NPC ]";
mes "Sorry,GM staff can't use this.";
close;
}
 
mes "[ VIP NPC ]";
mes "This is the price for VIP Service.";
mes "24 hours "+.@day+" cash point";
mes "1 week "+.@week+" cash point";
mes "1 month "+.@month+" cash point";
mes "Your cash point "+#CASHPOINTS+".";
next;
switch(select("register 24 hours:register 1 week:register 1 month:No, Thanks.")) {
case 1:
if (#CASHPOINTS < .@day) {
mes "[ VIP NPC ]";
mes "Your Cash points not enough,";
mes ""+.@day+" cash point to get VIP Service.";
close;
}
set #CASHPOINTS, #CASHPOINTS - .@day;
atcommand "@vip +24h "+strcharinfo(0)+"";
mes "[ VIP NPC ]";
mes "Enjoy your VIP Service.";
dispbottom "Your current cash point now"+#CASHPOINTS+".";
close;
 
case 2:
if (#CASHPOINTS < .@week) {
mes "[ VIP NPC ]";
mes "Your Cash points not enough,";
mes ""+.@week+" cash point to get VIP Service.";
close;
}
set #CASHPOINTS, #CASHPOINTS - .@week;
atcommand "@vip +7d "+strcharinfo(0)+"";
mes "[ VIP NPC ]";
mes "Enjoy your VIP Service.";
dispbottom "Your current cash point now"+#CASHPOINTS+".";
close;
 
case 3:
if (#CASHPOINTS < .@month) {
mes "[ VIP NPC ]";
mes "Your Cash points not enough,";
mes ""+.@month+" cash point to get VIP Service.";
close;
}
set #CASHPOINTS, #CASHPOINTS - .@month;
atcommand "@vip +1m "+strcharinfo(0)+"";
mes "[ VIP NPC ]";
mes "Enjoy your VIP Service.";
dispbottom "Your current cash point now"+#CASHPOINTS+".";
close;
 
case 4:
mes "[ VIP NPC ]";
mes "Ok, Thank You.";
close;
}
}
 
// --------------------------------------------------
//  Duplicates:
// --------------------------------------------------
alberta,33,240,4    duplicate(VIP System)   VIP System#alb  109
aldebaran,146,116,4 duplicate(VIP System)   VIP System#alde 109
amatsu,205,87,4 duplicate(VIP System)   VIP System#ama  109
ayothaya,212,172,6  duplicate(VIP System)   VIP System#ayo  109
comodo,191,161,4    duplicate(VIP System)   VIP System#com  109
einbech,55,36,6 duplicate(VIP System)   VIP System#einbe    109
einbroch,72,206,4   duplicate(VIP System)   VIP System#einbr    109
geffen,127,66,4 duplicate(VIP System)   VIP System#gef  109
gonryun,162,126,4   duplicate(VIP System)   VIP System#gon  109
hugel,102,148,4 duplicate(VIP System)   VIP System#hug  109
izlude,128,152,4    duplicate(VIP System)   VIP System#izl  109 //Pre-RE: (132,120)
jawaii,248,134,4    duplicate(VIP System)   VIP System#jaw  109
lighthalzen,154,104,4   duplicate(VIP System)   VIP System#lhz  109
louyang,205,105,6   duplicate(VIP System)   VIP System#lou  109
manuk,272,150,6 duplicate(VIP System)   VIP System#man  109
mid_camp,216,286,4  duplicate(VIP System)   VIP System#mid  109
morocc,146,89,4 duplicate(VIP System)   VIP System#mor  109
moscovia,226,195,4  duplicate(VIP System)   VIP System#mos  109
niflheim,199,180,4  duplicate(VIP System)   VIP System#nif  109
payon,178,109,4 duplicate(VIP System)   VIP System#pay  109
rachel,138,122,4    duplicate(VIP System)   VIP System#rac  109
splendide,198,153,4 duplicate(VIP System)   VIP System#spl  109
umbala,97,148,3 duplicate(VIP System)   VIP System#umb  109
veins,211,120,4 duplicate(VIP System)   VIP System#ve   109
xmas,142,139,6  duplicate(VIP System)   VIP System#xmas 109
yuno,164,50,4   duplicate(VIP System)   VIP System#yuno 109
 
// --------------------------------------------------
//  Duplicates (Renewal):
// --------------------------------------------------
brasilis,199,225,4  duplicate(VIP System)   VIP System#bra  109
dewata,202,190,6    duplicate(VIP System)   VIP System#dew  109
dicastes01,196,197,6    duplicate(VIP System)   VIP System#dic  109
malangdo,137,116,6  duplicate(VIP System)   VIP System#mal  109
malaya,228,195,4    duplicate(VIP System)   VIP System#ma   109

Hi! 

just saw this script here in rathena and planning to change it. but i dont how.

can someone help me to change the script for availing VIP, instead of cashpoints ill change it to VIP ticket?

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 1

  • Group:  Developer
  • Topic Count:  50
  • Topics Per Day:  0.02
  • Content Count:  763
  • Reputation:   227
  • Joined:  02/11/17
  • Last Seen:  

prontera,255,55,5	script	Premium Changer	456,{
	mes "^0055FF[ Premium Exchanger ]^000000";
	mes "Good day, Im Riza and I can make you a premium user";
	mes "For a premium ticket";
	next;
	mes "^0055FF[ Premium Exchanger ]^000000";
	mes "A premium user will be able to use the premium buffs of the healer and other boosts";
	mes "It includes Imposition Manus/Assumptio/+10 Food Buffs/Soul Link Buffs";
	mes "and a boost of drop rate by 50%";
	next;
	mes "^0055FF[ Premium Exchanger ]^000000";
	mes "Do you want to be a premium user?";
		switch(select("Yes!:No Im just looking around.")) {
			Case 1:
				goto Ontalk;
				close;
				
			Case 2:
				mes "^0055FF[ Premium Exchanger ]^000000";
				mes "Okay, Have a nice day!";
				close;
				}
		
	OnTalk:
	.@npc$ = "^0055FF[ Premium Exchanger ]^000000"
		if ( vip_status(0) ) {
			mes ".@npc$";
			mes "You're already a [Premium User]";
			next;
			mes ".@npc$";
			mes "Come back when your Premium already expired!";
			close;
	} else {
			.@i = select(
			.vip_day[0] + "Days",
			.vip_day[1] + "Days",
			.vip_day[2] + "Days" ) - 1;
			
			mes ".@npc$";
			mes "Your account will be premium for "+.vip_day[.@i]+" Days";
			mes "You will need a .vip_item[.@i] for that.";
				switch(select("Yes i want to exchange my ticket:No Im just looking around.")) {
					case 1:
						if (countitem(.vip_item) > 0)
						delitem .vip_item[.@i],1
						vip_time ( .vip_day[.@i] * 1440 );
						mes ".@npc$";
						mes "You are now a Premium User for "+.vip_day[.@i]+" Days!";
						end;
					
					case 2:
						mes ".@npc$";
						mes "Okay, Have a nice day!";
						close;
						}
					}
						
		OnCheck:
		if (vip_status(0)) {
			dispbottom "Expire Time : "+vip_status(3);
		}
		end;
					
		OnInit:
		setarray .vip_day,7,14,31;
		setarray .vip_item,33110,33111,33112; //Set The VIP Item here
		bindatcmd("vipstatus", strnpcinfo(3)+"::OnCheck");
		end;
		}

Use this one just add the items needed  in the array :o 
Credits to Emistry for the script :))

  • Upvote 2
Link to comment
Share on other sites

  • 1

  • Group:  Members
  • Topic Count:  23
  • Topics Per Day:  0.01
  • Content Count:  115
  • Reputation:   4
  • Joined:  08/14/16
  • Last Seen:  

Deleting the consecutive item required will not delete it. because it misses something in the script.

Original Script:

case 1:
						if (countitem(.vip_item) > 0)

Change it to this:
 

case 1:
						if (countitem(.vip_item[.@i]) > 0)

 

Edited by wakefield21
  • Upvote 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  40
  • Reputation:   0
  • Joined:  01/17/17
  • Last Seen:  

On 10/4/2017 at 7:02 PM, crazyarashi said:

prontera,255,55,5	script	Premium Changer	456,{
	mes "^0055FF[ Premium Exchanger ]^000000";
	mes "Good day, Im Riza and I can make you a premium user";
	mes "For a premium ticket";
	next;
	mes "^0055FF[ Premium Exchanger ]^000000";
	mes "A premium user will be able to use the premium buffs of the healer and other boosts";
	mes "It includes Imposition Manus/Assumptio/+10 Food Buffs/Soul Link Buffs";
	mes "and a boost of drop rate by 50%";
	next;
	mes "^0055FF[ Premium Exchanger ]^000000";
	mes "Do you want to be a premium user?";
		switch(select("Yes!:No Im just looking around.")) {
			Case 1:
				goto Ontalk;
				close;
				
			Case 2:
				mes "^0055FF[ Premium Exchanger ]^000000";
				mes "Okay, Have a nice day!";
				close;
				}
		
	OnTalk:
	.@npc$ = "^0055FF[ Premium Exchanger ]^000000"
		if ( vip_status(0) ) {
			mes ".@npc$";
			mes "You're already a [Premium User]";
			next;
			mes ".@npc$";
			mes "Come back when your Premium already expired!";
			close;
	} else {
			.@i = select(
			.vip_day[0] + "Days",
			.vip_day[1] + "Days",
			.vip_day[2] + "Days" ) - 1;
			
			mes ".@npc$";
			mes "Your account will be premium for "+.vip_day[.@i]+" Days";
			mes "You will need a .vip_item[.@i] for that.";
				switch(select("Yes i want to exchange my ticket:No Im just looking around.")) {
					case 1:
						if (countitem(.vip_item) > 0)
						delitem .vip_item[.@i],1
						vip_time ( .vip_day[.@i] * 1440 );
						mes ".@npc$";
						mes "You are now a Premium User for "+.vip_day[.@i]+" Days!";
						end;
					
					case 2:
						mes ".@npc$";
						mes "Okay, Have a nice day!";
						close;
						}
					}
						
		OnCheck:
		if (vip_status(0)) {
			dispbottom "Expire Time : "+vip_status(3);
		}
		end;
					
		OnInit:
		setarray .vip_day,7,14,31;
		setarray .vip_item,33110,33111,33112; //Set The VIP Item here
		bindatcmd("vipstatus", strnpcinfo(3)+"::OnCheck");
		end;
		}

Use this one just add the items needed  in the array :o 
Credits to Emistry for the script :))

ill try this later. thank you sir! :)

Hi @crazyarashi! i'm having error with the script. 

image.png.f3e1e8f1391f97fe97033abf64d5d5b6.png

how can i fix this?

Link to comment
Share on other sites

  • 0

  • Group:  Developer
  • Topic Count:  50
  • Topics Per Day:  0.02
  • Content Count:  763
  • Reputation:   227
  • Joined:  02/11/17
  • Last Seen:  

5 minutes ago, Initsuga said:

Hi @crazyarashi! i'm having error with the script. 

image.png.f3e1e8f1391f97fe97033abf64d5d5b6.png

how can i fix this?

.@npc$ = "^0055FF[ Premium Exchanger ]^000000"; //copy this and paste it on the script one missing sytnax

 

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  9
  • Topics Per Day:  0.00
  • Content Count:  40
  • Reputation:   0
  • Joined:  01/17/17
  • Last Seen:  

thank you sir, but i got another one.

image.png.413e2a3c3bff1b4c6dc4abe69a08f550.png

[UPDATE]

all good, i made it work! thank you!

btw sir where do i edit the script to put the id number of my vip ticket?

@crazyarashi

Edited by Initsuga
Link to comment
Share on other sites

  • 0

  • Group:  Developer
  • Topic Count:  50
  • Topics Per Day:  0.02
  • Content Count:  763
  • Reputation:   227
  • Joined:  02/11/17
  • Last Seen:  

setarray .vip_day,7,14,31; // 7 days, 14 days, 31 days
setarray .vip_item,33110,33111,33112; //item for 7 days is currently 33110, 14 days is 33111 = Change this line to edit the item needed

 

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