About Puzzle Points
Features
- Reward players as they swipe their puzzle cards.
- Rewards can be anything, like scrap, economics, and server rewards
- Quality checks ensuring a good card swipe (correct card reader, powered, door not already open, etc).
- Broadcasts card swipe to the server, including player and monument with grid location (configurable).
- Provides configurable cooldown period (for same card & monument) to prevent door spamming.
- Easily add any item as a reward type.
Adding Your Own Reward
Below is an example item entry that you would put in, if you want to give players 100 low grade when they swipe a blue card. You can also use the reward_item_id if you know the item id. Only one (shortname or id) can be empty. The name is for your benefit, to have something human-readable to anchor onto when viewing the config file. You can see in the eg. config file below how the Swipe Rewards list is formed.
{
"access_level": 2,
"reward_item_shortname": "lowgradefuel",
"reward_item_id": 0,
"amount": 100.0,
"is_active": true,
"name": "low-grade"
},
Configuration
{
"Show Console Messages": true,
"Show Global Chat Monument Messages (eg. Player swipped card at Launch)": true,
"Cooldown: Amount of time (secs) a player must wait before getting rewarded to avoid swipe spam": 600,
"Swipe Rewards": [
{
"access_level": 1,
"reward_item_shortname": "economics",
"reward_item_id": 0,
"amount": 50.0,
"is_active": false,
"name": "economics"
},
{
"access_level": 2,
"reward_item_shortname": "economics",
"reward_item_id": 0,
"amount": 150.0,
"is_active": false,
"name": "economics"
},
{
"access_level": 3,
"reward_item_shortname": "economics",
"reward_item_id": 0,
"amount": 300.0,
"is_active": false,
"name": "economics"
},
{
"access_level": 1,
"reward_item_shortname": "rp",
"reward_item_id": 0,
"amount": 1.0,
"is_active": false,
"name": "rp"
},
{
"access_level": 2,
"reward_item_shortname": "rp",
"reward_item_id": 0,
"amount": 2.0,
"is_active": false,
"name": "rp"
},
{
"access_level": 3,
"reward_item_shortname": "rp",
"reward_item_id": 0,
"amount": 3.0,
"is_active": false,
"name": "rp"
},
{
"access_level": 1,
"reward_item_shortname": null,
"reward_item_id": 1223900335,
"amount": 1.0,
"is_active": true,
"name": "dogtags"
},
{
"access_level": 2,
"reward_item_shortname": null,
"reward_item_id": 1036321299,
"amount": 1.0,
"is_active": true,
"name": "dogtags"
},
{
"access_level": 3,
"reward_item_shortname": null,
"reward_item_id": -602717596,
"amount": 1.0,
"is_active": true,
"name": "dogtags"
},
{
"access_level": 1,
"reward_item_shortname": "scrap",
"reward_item_id": -932201673,
"amount": 25.0,
"is_active": false,
"name": "scrap"
},
{
"access_level": 2,
"reward_item_shortname": "scrap",
"reward_item_id": -932201673,
"amount": 100.0,
"is_active": false,
"name": "scrap"
},
{
"access_level": 3,
"reward_item_shortname": "scrap",
"reward_item_id": -932201673,
"amount": 300.0,
"is_active": false,
"name": "scrap"
},
{
"access_level": 1,
"reward_item_shortname": "metal.refined",
"reward_item_id": 0,
"amount": 25.0,
"is_active": false,
"name": "hq"
},
{
"access_level": 2,
"reward_item_shortname": "metal.refined",
"reward_item_id": 0,
"amount": 50.0,
"is_active": false,
"name": "hq"
},
{
"access_level": 3,
"reward_item_shortname": "metal.refined",
"reward_item_id": 0,
"amount": 100.0,
"is_active": false,
"name": "hq"
}
],
"Version": {
"Major": 1,
"Minor": 5,
"Patch": 7
}
}
Localization
{
"CardSwipedAtName": "{0} swiped a {1} card at {2} ({3})!",
"CardSwipedAt": "{0} swiped a {1} card at {3}!",
"GreenCardLabel": "green",
"BlueCardLabel": "blue",
"RedCardLabel": "red",
"ItemAwarded": "{0} rewarded ({1}) for {2} card swipe!"
}
For Developers
//this is called after Puzzle Points has qualified a card swipe as a good swipe (correct card reader, door isn't already open, etc)
private object OnPPSwipe(BasePlayer player, string cardType, CardReader cardReader, string monumentShortName, string gridPosition)
{
//return anything other than null to prevent default behavior
return null;
}