Jump to content

[Tutorial] Premium/Membership System


Xiphoid

Recommended Posts

Features

- Premium for your game and conditions for premium players (Special Zones, Premium Items etc.)

- Premium timer is not counting when player offline. (I want this for my game. If you counting timer when offline need source edit.)

- Player based. (If you want to account based use Users Variables)

 

Firstly we need boolean player variable for activate player's premium

 

and need 3 integer variable (Seconds, Minutes, Hours)

 

a3e798f6984cf66b5b7b5b8781377215.png

 

and need 3 Common Event

 

e5585d60177d018fea5f3359d6566ed6.png

 

Premium Activate Common Event is

119599c3afa7ea6fb1c29fba97096a65.png

 

Spawn Condition for Premium Activate

 

2a9413c958cda59139340501372692d0.png

 

Premium Command Common Event 

 

3e1a89057b67f55ae70c162af00cce14.png

 

First text strings

 

f3c9dc05d15c8536b6bdbac846575052.png

 

720 Hours Premium Common Event

d4f827a74c6cfb4e2c2ba49b0bbb4c70.png

 

Conditional Branches should be Greater than or Equal to

 

e9876401e8557ac1aea822e04500f618.png

 

Spawn Condition

 

25b40a752bcba5d17645ab96687c877d.png

 

Create Item for your game's shop and activate premium

 

4da05cae0d83e88d20e508a2bdee73c2.png

 

System is Ready to Use

 

Let's Enjoy

Link to comment
Share on other sites

I'm not sure this is a feature you want to tackle with the events system. What happens to a player when their in a premium zone and their premium hours run out? What happens to premium items in the players bank and inventory when their hours run out? Can players trade premium items to players who have not paid for a membership? How will player pay for premium membership with real world cash? I'm assuming the owner will have to accept payment on a website then manually give a premium membership activation item to the player. Also giving membership based on a large pool of hours that only count down when a player is logged in is a method I'm not sure many game owners are looking for. 

 

It is cool that you have a small prototype for this idea created in via events, not sure its sustainable for a real release.

Link to comment
Share on other sites

What happens to a player when their in a premium zone and their premium hours run out? 

 

You can add warp when end premium on events

 

Can players trade premium items to players who have not paid for a membership?

 

Your choice you can do tradable or non tradable of premium item

 

How will player pay for premium membership with real world cash?

 

You can use cms and microtransaction service. @XFallSeanehave a good cms for that.

 

Also giving membership based on a large pool of hours that only count down when a player is logged in is a method

 

Yes its an another method

Link to comment
Share on other sites

On 10/17/2022 at 8:56 PM, Xiphoid said:

Let's Enjoy

I wouldn't say it so soon

 

You are using autorun events which is the main thing to avoid using in the intersect

If this is a tutorial focusing on beginners, I understand the use of so many variables, but it would be nice to add that with only 1 variable of type int you can do the same system (explanation below)

 

On 10/17/2022 at 8:56 PM, Xiphoid said:

Premium timer is not counting when player offline. (I want this for my game. If you counting timer when offline need source edit.)

A false information, because when using the event command "set variable" you can set the variable to "time system" where it can be used for comparisons with the current server time, and you can remove the player's vip even with him offline , (in this case I would remove it when he logged in the game), that is, it is possible to "track" the player's vip time even offline, so when logging in, remove the vip if expired, without modifying the source

To summarize, the best way to do this system (if you want to do it through events) is:

 

1 - var global type int (player variable to aplly only a players, user variables to aplly to whole account)

2 - Give vip commom event

if the variable vip is equal to 0
set the variable equal to system time (now)
add x (x = time you want to add in ms)

3 - Remove vip commom event

if the variable vip is not equal a 0 and is lower than global time (create a temporary variable, set the value to for system time to be able to compare)

set vip = 0

4 - Anywhere you need to see if the player is vip, just see if it's bigger than global time

 

But maybe this is a bit advanced if many people who are a beginner, maybe your tutorial is for beginners

 

But I could have thought of these solutions available without modifying the source

 

 

Link to comment
Share on other sites

3 hours ago, Weylon Santana said:

I wouldn't say it so soon

 

You are using autorun events which is the main thing to avoid using in the intersect

If this is a tutorial focusing on beginners, I understand the use of so many variables, but it would be nice to add that with only 1 variable of type int you can do the same system (explanation below)

 

A false information, because when using the event command "set variable" you can set the variable to "time system" where it can be used for comparisons with the current server time, and you can remove the player's vip even with him offline , (in this case I would remove it when he logged in the game), that is, it is possible to "track" the player's vip time even offline, so when logging in, remove the vip if expired, without modifying the source

To summarize, the best way to do this system (if you want to do it through events) is:

 

1 - var global type int (player variable to aplly only a players, user variables to aplly to whole account)

2 - Give vip commom event

if the variable vip is equal to 0
set the variable equal to system time (now)
add x (x = time you want to add in ms)

3 - Remove vip commom event

if the variable vip is not equal a 0 and is lower than global time (create a temporary variable, set the value to for system time to be able to compare)

set vip = 0

4 - Anywhere you need to see if the player is vip, just see if it's bigger than global time

 

But maybe this is a bit advanced if many people who are a beginner, maybe your tutorial is for beginners

 

But I could have thought of these solutions available without modifying the source

 

 

thanks for informations Weylon i can prepare a offline counting system with events

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...