C
Compte supprimé
Invité
Bonjour,
Je mets à la disposition des développeurs WEB un script que je viens de faire et testé en 1.7.2 dans le but récupérer des informations (dernière connexion, dernière déconnexion, dernière IP, l'argent sur le compte (à condition d'utiliser l'argent d'Essentials), la raison de bannissement et le temps de bannissement si l'utilisateur est banni) depuis les fichiers des utilisateurs d'Essentials (plugins/Essentials/userdata/pseudo.yml).
Il y aura cependant 2 modifications à faire, dans la class __construct, il faudra modifier le chemin vers votre fichier:
Après il vous suffit de modifier le nom "Naruhiko315" en bas du fichier par le pseudo souhaité.
Si jamais des développeurs professionnels ont des conseils à me donner... je suis à l'écoute
!
http://pastebin.com/g2PyknAe (au cas où..
)
Bonne chance !
Je mets à la disposition des développeurs WEB un script que je viens de faire et testé en 1.7.2 dans le but récupérer des informations (dernière connexion, dernière déconnexion, dernière IP, l'argent sur le compte (à condition d'utiliser l'argent d'Essentials), la raison de bannissement et le temps de bannissement si l'utilisateur est banni) depuis les fichiers des utilisateurs d'Essentials (plugins/Essentials/userdata/pseudo.yml).
Il y aura cependant 2 modifications à faire, dans la class __construct, il faudra modifier le chemin vers votre fichier:
PHP:
$this->fichier = file('/home/' . $serveur . '/plugins/Essentials/userdata/' . strtolower($pseudo) . '.yml');
Après il vous suffit de modifier le nom "Naruhiko315" en bas du fichier par le pseudo souhaité.
PHP:
$minecraft = new Essentials('Naruhiko315');
Si jamais des développeurs professionnels ont des conseils à me donner... je suis à l'écoute

PHP:
<?php
// -------------------------------------
// -------------------------------------
// ------ DEBUT DE LA CLASS A INCLURE
// -------------------------------------
// -------------------------------------
/**
* Permet de récupérer des informations dans le fichier d'Essentials
* Class Essentials
*/
class Essentials{
/**
* @var string Fichier avec les informations à récupérer
*/
private $fichier;
/**
* Permet de configurer les paramètres pour récupérer le bon fichier
* @param string $pseudo Pseudo du joueur
* @param string $serveur Nom du serveur
*/
public function __construct($pseudo, $serveur = 'pvp'){
$fichier = '/home/' . $serveur . '/plugins/Essentials/userdata/' . strtolower($pseudo) . '.yml';
if (file_exists($fichier)) {
$this->fichier = file($fichier);
} else {
$this->fichier = [];
}
}
/**
* Affiche l'argent du joueur
* @return string $value Retourne la réponse
*/
public function money(){
// Boucle pour pouvoir récupérer les informations
foreach($this->fichier as $key => $value) {
// La chaîne contient le mot
if (stripos($value, 'money:') !== FALSE) {
// Enleve 8 caractères au début
$value = substr($value, 8);
// Enleve 2 caractères à la fin (dont le caractère pour sauter une ligne)
$max_caractere = strlen($value);
$value = substr($value, 0, $max_caractere-2);
// Retourne le résultat
return $value;
}
}
}
/**
* Affiche la dernière connexion du joueur
* @return string $value Retourne la réponse
*/
public function login(){
// Boucle pour pouvoir récupérer les informations
foreach($this->fichier as $key => $value) {
// La chaîne contient le mot
if (stripos($value, 'login:') !== FALSE) {
// Enleve 8 caractères au début
$value = substr($value, 8);
// Enleve 4 caractères en fin de nombre pour le timestamp soit correct en PHP et le caractère pour sauter une ligne)
$max_caractere = strlen($value);
$value = substr($value, 0, $max_caractere - 4);
// Retourne le résultat
return $value;
}
}
}
/**
* Affiche la dernière déconnexion du joueur
* @return string $value Retourne la réponse
*/
public function logout(){
// Boucle pour pouvoir récupérer les informations
foreach($this->fichier as $key => $value) {
// La chaîne contient le mot
if (stripos($value, 'logout:') !== FALSE) {
// Enleve 10 caractères au début
$value = substr($value, 10);
// Enleve 4 caractères en fin de nombre pour le timestamp soit correct en PHP et le caractère pour sauter une ligne)
$max_caractere = strlen($value);
$value = substr($value, 0, $max_caractere - 4);
// Retourne le résultat
return $value;
}
}
}
/**
* Affiche la dernière adresse IP du joueur
* @return string $value Retourne la réponse
*/
public function ipAddress(){
// Boucle pour pouvoir récupérer les informations
foreach($this->fichier as $key => $value) {
// La chaîne contient le mot
if (stripos($value, 'ipAddress:') !== FALSE) {
// Enleve 11 caractères au début
$value = substr($value, 11);
// Enleve 1 caractères à la fin (le caractère pour sauter une ligne)
$max_caractere = strlen($value);
$value = substr($value, 0, $max_caractere-1);
// Retourne le résultat
return $value;
}
}
}
/**
* Affiche la raison du bannissement au joueur s'il est banni
* @return string $value Retourne la réponse
*/
public function ban(){
// Boucle pour pouvoir récupérer les informations
foreach($this->fichier as $key => $value) {
// La chaîne contient le mot
if (stripos($value, 'ban:') !== FALSE) {
// Défini un nouveau tableau
$tab['ban'] = [];
}
// Si le tableau existe
if (isset($tab['ban'])) {
// La chaîne contient le mot "reason: '" (banni définitivement)
if (stripos($value, "reason: '") !== FALSE) {
// Enleve 2 caractères au début
$value = substr($value, 19);
// Enleve 2 caractères à la fin (dont le caractère pour sauter une ligne)
$max_caractere = strlen($value);
$value = substr($value, 0, $max_caractere - 2);
// Retourne le résultat
return $value;
}
}
// La chaîne contient le mot "reason: ) (banni temporairement)
if (stripos($value, 'reason:') !== FALSE) {
// Enleve 2 caractères au début
$value = substr($value, 10);
// Enleve 1 caractères à la fin (le caractère pour sauter une ligne)
$max_caractere = strlen($value);
$value = substr($value, 0, $max_caractere - 1);
// Retourne le résultat
return $value;
}
}
}
/**
* Affiche le temps qu'il reste au joueur s'il est banni
* @return string $value Retourne la réponse
*/
public function timeout(){
// Boucle pour pouvoir récupérer les informations
foreach($this->fichier as $key => $value) {
// La chaîne contient le mot
if (stripos($value, 'ban:') !== FALSE) {
// Défini un nouveau tableau
$tab['ban'] = [];
}
// Si le tableau existe
if (isset($tab['ban'])) {
// La chaîne contient le mot
if (stripos($value, 'timeout:') !== FALSE) {
// Enleve 2 caractères au début
$value = substr($value, 11);
if ($value !== '0') {
// Enleve 3 caractères en fin de nombre pour le timestamp soit correct en PHP
$max_caractere = strlen($value);
$value = substr($value, 0, $max_caractere - 3);
}
// Défini la variable dans le nouveau tableau
return $value;
}
}
}
}
}
// -------------------------------------
// -------------------------------------
// ------ FIN DE LA CLASS A INCLURE
// -------------------------------------
// -------------------------------------
// Défini le joueur
$minecraft = new Essentials('Naruhiko315');
// Execute les diffèrentes methodes
echo 'IP: ' , $minecraft->ipAddress() , '<br>';
echo 'Dernière connexion: ' , $minecraft->login() , '<br>';
echo 'Dernière déconnexion: ' , $minecraft->logout() , '<br>';
echo 'Argent: ' , $minecraft->money() , '<br>';
echo 'Temps du bannissement: ' , $minecraft->timeout() , '<br>';
echo 'Raison du bannissement: ' , $minecraft->ban(), '<br>';
/*
* Après, évidemment, il faudra faire quelques modifications
* - 0 dans Timeout = banni définitivement
* - Aucune informations = membre pas encore connecté
* - Formater la date
* - ... etc ...
*/
http://pastebin.com/g2PyknAe (au cas où..

Bonne chance !