1.1.1 • Published 5 years ago

leaderboard5 v1.1.1

Weekly downloads
1
License
MIT
Repository
-
Last release
5 years ago

Leaderboard5

Leaderboard5 is a javascript library for making leaderboards for games. See/clone a working example of the:

server here

client here

Installation

Use the package manager npm to install leaderboard5.

npm i leaderboard5

Usage

Standard usage (for deploying)

var l = require("leaderboard5");
var config = {
    file:"ree.txt",                 // file where scoreboard is kept
    delimeter:"\n",                 // delimeter seperating values
    favornewest:true,               // true if newer names should show up before older names IF the score is the same
    maxlen:10,                      // length of scoreboard 
    sortby:"score",                 // the JSON property to sort by
    sortof:l.Leaderboard5.HIGHEST,  // Leaderboard5.LOWEST to sort lowest first (e.g. fastest time), Leaderboard5.HIGHEST to sort highest first (e.g. highest score)
    createReqSystem:true,           // true if you want an express request system to be created (/getleaderboard for json leaderboard, /sendscore?data=json&?key=key)
    path:"/",                       // Set the path for multiple leaderboards on the same server
    key:"03b77154-acdd-4af8-a0ab-7804dba11244",// Key needed to write to leaderboard
    port:8080,                      // port to run express on
}
var allTimeLeaderBoard =new l.Leaderboard5(config);

To submit score (on game server)

const request = require('request');
function sendscore(name,score){
    request('http://myurl.com/sendscore?data='+JSON.stringify({name:name,score:score})+"&key=03b77154-acdd-4af8-a0ab-7804dba11244", function(err, res, body) {  });
}

To get leaderboard (on client)

// simple Http Client
var HttpClient=function(){this.get=function(t,e){var n=new XMLHttpRequest;n.onreadystatechange=function(){4==n.readyState&&200==n.status&&e(n.responseText)},n.open("GET",t,!0),n.send(null)}};

var client = new HttpClient();
var url = "https://myurl.com";
client.get(url+"/getleaderboard",function(str){
    var jsona = JSON.parse(str);
    alert(str);
})

Basic usage (testing, no req system)

var l = require("leaderboard5");
var config = {
    file:"ree.txt",                 // file where scoreboard is kept
    delimeter:"\n",                 // delimeter seperating values
    favornewest:true,               // true if newer names should show up before older names IF the score is the same
    maxlen:10,                      // length of scoreboard 
    sortby:"score",                 // the JSON property to sort by
    sortof:l.Leaderboard5.HIGHEST,  // Leaderboard5.LOWEST to sort lowest first (e.g. fastest time), Leaderboard5.HIGHEST to sort highest first (e.g. highest score)
    createReqSystem:false,          // true if you want an express request system to be created (/getleaderboard for json leaderboard, /sendscore?data=json&?key=key)
    key:"123456",                   // Key needed to write to leaderboard
    port:8080,                      // port to run express on
}
var allTimeLeaderBoard =new l.Leaderboard5(config);
allTimeLeaderBoard.clear(function(){
    allTimeLeaderBoard.addPlay({name:"albert",score:5},function(){
    });
});

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

1.1.1

5 years ago

1.1.0

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago