PHP Creature Guid Overflow // MaNGOS
Pour ceux qui commes nous ont eu (ou auront) un probleme de dépassement de capacité des Guids de creature (maximum des uint32), voici un petit script a exécuter pour faire le vide dans vos tables... Dans YTDB par exemple, vous avez un saut dans les guid des creture au bout d'un moment... Il disparaitrat avec ceci.

Code PHP :
<?php
set_time_limit
(0);
 
$sql mysql_connect("127.0.0.1","root","pass");
 
mysql_select_db("db"$sql);
 
$guidTab mysql_query("SELECT guid FROM creature ORDER BY guid") or die(mysql_error());
 for(
$i 1$dguid mysql_fetch_array($guidTab); $i++)
 {
  
$lguid $dguid['guid'];
  if(
$i != $lguid)
  {
   
mysql_query("DELETE FROM creature WHERE guid='$i'") or die(mysql_error());
   
mysql_query("DELETE FROM creature_addon WHERE guid='$i'") or die(mysql_error());
   
mysql_query("DELETE FROM creature_battleground WHERE guid='$i'") or die(mysql_error());
   
mysql_query("DELETE FROM creature_movement WHERE id='$i'") or die(mysql_error());
   
mysql_query("DELETE FROM creature_respawn WHERE guid='$i'") or die(mysql_error());
   
mysql_query("DELETE FROM game_event_creature WHERE guid='$i'") or die(mysql_error());
   
mysql_query("DELETE FROM npc_gossip WHERE npc_guid='$i'") or die(mysql_error());
   
mysql_query("DELETE FROM pool_creature WHERE guid='$i'") or die(mysql_error());
   
   
mysql_query("UPDATE creature SET guid='$i' WHERE guid='$lguid'") or die(mysql_error());
   
mysql_query("UPDATE creature_addon SET guid='$i' WHERE guid='$lguid'") or die(mysql_error());
   
mysql_query("UPDATE creature_battleground SET guid='$i' WHERE guid='$lguid'") or die(mysql_error());
   
mysql_query("UPDATE creature_movement SET id='$i' WHERE id='$lguid'") or die(mysql_error());
   
mysql_query("UPDATE creature_respawn SET guid='$i' WHERE guid='$lguid'") or die(mysql_error());
   
mysql_query("UPDATE game_event_creature SET guid='$i' WHERE guid='$lguid'") or die(mysql_error());
   
mysql_query("UPDATE npc_gossip SET npc_guid='$i' WHERE npc_guid='$lguid'") or die(mysql_error());
   
mysql_query("UPDATE pool_creature SET guid='$i' WHERE guid='$lguid'") or die(mysql_error());
  }
 }
 
mysql_close();
?>

Sa pue, c'est mal fait, ca a été fait dans l'urgence, mais sa fonctionne Xd
Et pour l'item, pareil, voir avec l'item_instance
Merci beaucoup de ton post, j'en ai eu besoin il n'y a pas longtemps et je ne trouvais pas de solutions (j'avais bidouillé un peu n'importe comment !).

J'avais vu ton post sur getmangos, bonne chose que de l'avoir mis ici aussi !
moi je dis Jay Jay

Retourner en haut Accueil