Provides access to GameJolt's services for Lua-based projects.
Put the files from the repo into your app's folder.
local GJ = require "gamejolt"
GJ.init(gameID, gameKey)
GJ.authUser(username, usertoken)
GJ.openSession()
-- your further manipulations
Haxe-styled interface for GameJolt module:
interface GameJolt {
static var username:String;
static var userToken:String;
static var isLoggedIn:Bool;
static function init(id:Int, key:String, ?args:Dynamic):Void;
// users
static function authUser(name:String, token:String):Bool;
static function fetchUserByName(name:String):UserInfo;
static function fetchUserByID(id:Int):UserInfo;
static function getCredentials(dir:String):Dynamic;
// sessions
static function openSession():Bool;
static function pingSession(active:Bool):Bool;
static function closeSession():Bool;
// data store
static function fetchData(key:String, ?isGlobal:Bool):Dynamic;
static function setData(key:String, data:Dynamic, ?isGlobal:Bool):Bool;
static function setBigData(key:String, data:Dynamic, ?isGlobal:Bool):Bool;
static function updateData(key:String, value:String, operation:String, ?isGlobal:Bool):String;
static function removeData(key:String, ?isGlobal:Bool):Bool;
static function fetchStorageKeys(?isGlobal:Bool):Array<String>;
// trophies
static function giveTrophy(id:Int):Bool;
static function fetchTrophy(id:Int):TrophyInfo;
static function fetchTrophiesByStatus(achieved:Bool):Array<TrophyInfo>;
static function fetchAllTrophies():Array<TrophyInfo>;
// scores
static function addScore(score:Float, desc:String, ?tableID:Int, ?guestName:String, ?extraData:String):Bool;
static function fetchScores(limit:Int, ?tableID:Int):Array<ScoreInfo>;
static function fetchTables():Array<TableInfo>;
}
Visit wiki / docs for more information.
GameJolt.lua is using kikito's MD5 and LuaSocket.
Copyright (c) 2015 @insweater, @Positive07 and team.
This library is released under the MIT license.