Via du php :
Coté client :
Code:
// Webservice WSDL URL
$url = "http://dev.geeek.org/maniadrive/ecrire/tools/maniadrive/WSManiaDrive.php?wsdl";
// Create the client instance
$client = new soapclient($url ,true);
// Parameters
$parameters = array(
'track' => $track
);
// Call the SOAP method
$result = $client->call('ScoreGetTop', $parameters);
$str=explode(":",$result["score"]);
$score=$str[0]*3600 + $str[1]*60 + $str[2] + $str[3]/1000;
$player = "{$result["nickname"]}";
Coté serveur :
Code:
$ns="http://maniadrive.raydium.org/schema/";
// Initialize the Soap Server
$server = new soap_server();
$server->wsdl->schemaTargetNamespace=$ns;
// Configure the WSDL
$server->configureWSDL('ScoreAddNew',$ns);
/**
* Add a new Score inside the database
*
* @param nickname - the gamer's nickname
* @param track - the track's name
* @param score - the gamer's score
* @param version - the Maniadrive's version
*
* @return level - the gamer's level in the game
*/
$server->register('ScoreAddNew', // method name
array('nickname' => 'xsd:string', // input parameters
'track' => 'xsd:string',
'score' => 'xsd:string',
'version' => 'xsd:string'),
array('level' => 'xsd:int'), // output parameters
$ns."ScoreAddNew", // namespace
'#ScoreAddNew', // soapaction
'rpc', // style
'encoded', // use
'Add a new score inside the database' // documentation
);
function ScoreAddNew($nickname,$track,$score,$version){
global $con;
$con->execute("INSERT INTO `dc_maniadrive_score` (`nickname`, `track`, `score`, `version`) VALUES ('".$nickname."', '".$track."', '".$score."', '".$version."');");
$recordset = $con->select("SELECT count(id) FROM `dc_maniadrive_score` WHERE score > '".$score."'");
$level = $recordset->f(0);
return $level;
}
ou alors via du C++ ..
En générant dynamiquement un client Webservice grace à GSOAP à partir du WSDL
Bon je reconnais que ça fait un peu usine à gaz .... Mais c'est simple à développer et à faire évoluer.
J'ai codé la gestion des score et ce week-end, je réserve quelques heures
pour coder le reste et le faire fonctionner correctement avec Maniadrive.
Si cela te convient ?
Et sinon avec mon login je n'ai pas accès à /home/cqfd pour récupèrer le score.