Ir para conteúdo

Posts Recomendados

Primeiramente, gostaria de agradeçer o Arkilus por me dar algumas dicas em Simple_XML.

Essa função adiciona players no players.xml facilmente criando guids dependendo da acima, caso não exista nenhum, ele toma conta disso também, não já erro, é extremamente avançado.

 

function players_xml($name) {
$dir = "C:/otserv/data";  // Altere aqui o diretório da pasta data
if(!file_exists("$dir/players/players.xml") {
	$fp = fopen("$dir/players/players.xml", "w");
	 fwrite($fp, '
	 <?xml version="1.0"?>
	 <players>
	 </players>
	  ');
	  fclose($fp);
 }
 else {
	$xml = new SimpleXMLElement(file_get_contents("$dir/players/players.xml"));
		$xml->players->addChild('player');

	$player = end($xml->xpath('/players/player'));
	$nextGuid = (int) $player['guid'] + 1;
	$newPlayer = end($xml->xpath('/players'))->addChild('player');
		$newPlayer->addAttribute('guid', $nextGuid);
		$newPlayer->addAttribute('name', $name);

	$xml->asXML("$dir/players/players.xml");
  }
}

 

Como usar:

 

players_xml('Nostradamus'); // Onde Nostradamus seria o nome do player

 

 

Essa é a melhor forma de adicionar players no players.xml, pois a versão do budaum, ele usa a função date() para adicionar no guid, o que é uma idiotisse.

  • Caso o arquivo players.xml não exista, ele irá criar um, e depois disso, execute o script para então executar a função principal dele, de adicionar players no players.xml.
  • Caso nenhum player esteja no players.xml mesmo assim ele continua o processo normalmente

IMPORTANTE! Por usar simple_xml, requer PHP5 ou superiores, ou seja, não funcionará no Easy-PHP 1.8, mas no Easy-PHP 2.0, funcionará normalmente.

Além disso, o jogador deve possuir a mesma guid do players.xml, por isso edite no seu script tal parte substituindo pela variável $nextGuild.

Editado por Nostradamus
Link para o comentário
https://xtibia.com/forum/topic/49423-fun%C3%A7%C3%A3o-para-adicionar-players-no-playersxml/
Compartilhar em outros sites

A um tempo atraz, quando ainda usava server xml, eu tinha um site que adicionava os player com um id totalmente louco, tipo 898515464 e o proximo era totalmente diferente o.O

Seu script pode ajudar muito, caso haja algum tipo de bug no player, além de ficar bem + organizado.

Vlw ;D

@-LMS-

Sim, essa foi a idéia maluca do Budaum, algo totalmente sem nexo e sem conheçimento.

 

Porque ele então não usou MD5? :p

@Arkilus

Ué, ele quis fazer uma uniqueid, ele poderia ter usado então md5(uniqueid, $string);

Mas ele foi inventar de usar date('mY');

 

Hehe

  • 2 weeks later...
×
×
  • Criar Novo...