Achievements
These "recipes" give you examples of various achievements with different levels of complexity. All of them could be altered to apply to similar situations. Hopefully these will give you a better idea of what you can do with r4nkt.
First Time Closer
For this example, we will imagine that we have an achievement that is to be awarded to your player the first time they close a sale.
Ingredients
Actions
Only one action is required with the following properties:
custom_id: close.sale
name: Close a Sale
Criteria
Only one criterion is required with the following properties:
custom_id: closed.a.sale
name: Closed a Sale
custom_action_id: close.sale
type: sum
rule: gte:1
Criteria Groups
Only one criteria group is required with the following properties:
custom_id: closed.a.sale
name: Closed a Sale
criteria (custom criteria IDs):
closed.a.sale
Achievements
Your achievement should have the following properties:
custom_criteria_group_id: closed.a.sale
Night Owl
For this example, we will imagine that we have an achievement that is to be awarded to your player when they post an article between midnight and 4 AM.
Ingredients
Actions
Only one action is required with the following properties:
custom_id: post.article
name: Post Article
Criteria
Only one criterion is required with the following properties:
custom_id: posted.article
name: Posted Article
custom_action_id: post.article
type: sum
rule: gte:1
Criteria Groups
Only one criteria group is required with the following properties:
custom_id: posted.article.in.middle.of.night
name: Posted Article in the Middle of the Night
criteria (custom criteria IDs):
posted.article
criteria_conditions:
groups:
conditions:
betweenHours:0,4
Achievements
Your achievement should have the following properties:
custom_criteria_group_id: posted.article.in.middle.of.night
Happy Birthday Tony Stark
For this example, we will imagine that we have an achievement that is to be awarded to your player when they schedule a meeting on Tony Stark's birthday, May 29.
Ingredients
Actions
Only one action is required with the following properties:
custom_id: schedule.meeting
name: Schedule Meeting
Criteria
Only one criterion is required with the following properties:
custom_id: scheduled.meeting
name: Scheduled Meeting
custom_action_id: schedule.meeting
type: sum
rule: gte:1
Criteria Groups
Only one criteria group is required with the following properties:
custom_id: scheduled.meeting.on.tony.starks.birthday
name: Scheduled Meeting on Tony Stark's Birthday
criteria (custom criteria IDs):
scheduled.meeting
criteria_conditions:
groups:
conditions:
month:5
dayOfMonth:29
Achievements
Your achievement should have the following properties:
custom_criteria_group_id: scheduled.meeting.on.tony.starks.birthday
Trash Collector
Here we will imagine that we have an achievement that is to be awarded to your player when they delete 100+ files in a single day.
Ingredients
Actions
Only one action is required with the following properties:
custom_id: delete.file
name: Delete File
Criteria
Only one criterion is required with the following properties:
custom_id: deleted.100.files.in.single.day
name: Deleted 100 Files in Single Day
custom_action_id: delete.file
type: sum
rule: gte:100
criteria_conditions:
groups:
conditions:
sameDay
Criteria Groups
Only one criteria group is required with the following properties:
custom_id: deleted.100.files.in.single.day
name: Deleted 100 Files in Single Day
criteria (custom criteria IDs):
deleted.100.files.in.single.day
Achievements
Your achievement should have the following properties:
custom_criteria_group_id: deleted.100.files.in.single.day
One Week Wonder
Here we will imagine that we have an achievement that is to be awarded to your player when they log in to your game each day of a given week.
Note that this will define when a player has performed the action for each day of a single week...that is, Sunday through Saturday. This is not the same as performing an action for seven straight days, nor is it the same as performing an action on each day of the week, but not necessarily the same week.
Ingredients
Actions
Only one action is required with the following properties:
custom_id: log.in
name: Log In
Criteria
Seven criteria are required for this recipe, one for each day of the week. They should like like the following, but with adjustments made to custom_id
, name
, and rule
for each respective day of the week:
custom_id: logged.in.on.sunday
name: Logged In on Sunday
custom_action_id: log.in
type: sum
rule: gte:1
criteria_conditions:
groups:
conditions:
dayOfWeek:1
Criteria Groups
Only one criteria group is required with the following properties:
custom_id: logged.in.each.day.of.week.for.one.week
name: Logged in each Day of Week for One Week
criteria (custom criteria IDs):
logged.in.on.sunday
logged.in.on.monday
logged.in.on.tuesday
logged.in.on.wednesday
logged.in.on.thursday
logged.in.on.friday
logged.in.on.saturday
criteria_conditions:
groups:
conditions:
sameWeek
Achievements
Your achievement should have the following properties:
custom_criteria_group_id: logged.in.each.day.of.week.for.one.week
6-Digits Club
Here we will imagine that we have an achievement that is to be awarded to your player when they close a sale for $100,000 or more.
This recipe requires that whenever you report that your player has closed a sale that the price is attached via the activity's custom_data
field.
Ingredients
Actions
custom_id: close.sale
name: Close a Sale
Criteria
Only one criterion is required with the following properties:
custom_id: closed.a.sale
name: Closed a Sale
custom_action_id: close.sale
type: sum
rule: gte:1
Criteria Groups
Only one criteria group is required with the following properties:
custom_id: closed.a.sale.for.100000.or.more
name: Closed a Sale for 100000+
criteria (custom criteria IDs):
closed.a.sale
criteria_conditions:
groups:
conditions:
activityData:price,gte,1000
Achievements
Your achievement should have the following properties:
custom_criteria_group_id: closed.a.sale.for.100000.or.more
Repeat Business
Here we will imagine that we have an achievement that is to be awarded to your player when they sell a car to a customer for the second time.
This recipe requires that whenever you report that your player has sold a car that the customer ID is attached via the activity's custom_data
field.
Ingredients
Actions
Only one action is required with the following properties:
custom_id: sell.car
name: Sell a Car
Criteria
Only one criterion is required with the following properties:
custom_id: sold.at.least.two.cars
name: Sold at least Two Cars
custom_action_id: sell.car
type: sum
rule: gte:2
Criteria Groups
Only one criteria group is required with the following properties:
custom_id: sold.a.second.car.to.same.customer
name: Sold a second Car to the Same Customer
criteria (custom criteria IDs):
sold.at.least.two.cars
criteria_conditions:
groups:
conditions:
activityData:customer.id,eq,{activity.customer.id}
Achievements
Your achievement should have the following properties:
custom_criteria_group_id: sold.a.second.car.to.same.customer
Twenty-Something
Here we will imagine that we have an achievement that is to be awarded to your player when they enroll someone in their 20s.
This recipe requires that whenever you report that your player has enrolled someone that the age of the enrollee is attached via the activity's custom_data
field.
Ingredients
Actions
Only one action is required with the following properties:
custom_id: enroll.person
name: Enroll Person
Criteria
Only one criterion is required with the following properties:
custom_id: enrolled.person
name: Enrolled Person
custom_action_id: enroll.person
type: sum
rule: gte:1
Criteria Groups
Only one criteria group is required with the following properties:
custom_id: enrolled.twenty.something
name: Enrolled Twenty-Something
criteria (custom criteria IDs):
enrolled.person
criteria_conditions:
groups:
conditions:
activityData:customer.age,gte,20
activityData:customer.age,lt,30
Achievements
Your achievement should have the following properties:
custom_criteria_group_id: enrolled.twenty.something
Birthday Boss Beater
Here we will imagine that we have an achievement that is to be awarded to your player when they defeat the boss at the end of the game on their birthday.
This recipe requires that whenever you store your player's birthday in the player resource's custom_data
field.
Ingredients
Actions
Only one action is required with the following properties:
custom_id: defeat.boss
name: Defeat Boss
Criteria
Only one criterion is required with the following properties:
custom_id: defeated.boss
name: Defeated Boss
custom_action_id: defeat.boss
type: sum
rule: gte:1
Criteria Groups
Only one criteria group is required with the following properties:
custom_id: defeated.boss.on.birthday
name: Defeated Boss on Birthday
criteria (custom criteria IDs):
defeated.boss
criteria_conditions:
groups:
conditions:
month:{player.birthday.month}
dayOfMonth:{player.birthday.day}
Achievements
Your achievement should have the following properties:
custom_criteria_group_id: defeated.boss.on.birthday
Last updated