Access to GameJolt's opportunities for all your lovely Lua projects.
This repository has been archived on 2024-09-19. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2015-08-18 22:42:37 +03:00
gamejolt Fix GJ.pingSession 2015-08-18 22:31:29 +04:00
.gitattributes :octocat: Added .gitattributes & .gitignore files 2015-02-05 17:01:53 +03:00
.gitignore :octocat: Added .gitattributes & .gitignore files 2015-02-05 17:01:53 +03:00
README.md Update README.md 2015-08-18 22:42:37 +03:00

GameJolt.lua

Provides access to GameJolt's services for Lua-based projects.

Projects using gamejolt.lua

One Bit Arena
Random Rooms

Usage

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.

Credits

GameJolt.lua is using kikito's MD5 and LuaSocket.

License (MIT)

Copyright (c) 2015 @insweater, @Positive07 and team.
This library is released under the MIT license.