Вход Регистрация
Файл: admin/tools/zones/updatezones.php
Строк: 67
<?php

include_once("../../../settings.php");
include_once(
"room.php");

function 
updateZone($file,$db){
    
//read file
    
$handle fopen($file,"rt");

     if(!
$handle) return false;
     
     
$vnums = array();
     
$exits = array();
     
     
$vnum 0;
     
     while (!
feof($handle)) {
          
$buffer fgets($handle4096);
          if(
$buffer[0]=="#"){
              
//new room
            
$vnum substr($buffer,1);
            
            
$name_room fgets($handle4096);
            
$name_room substr($name_room,0,strlen($name_room)-2);
            
$description fgets($handle4096);
            
$description trim($description);
            
$vnums[] = array("vnum"=> $vnum,"name" => $name_room,"desc" => $description);
          }
          
          
//parse exits
          
if($buffer[0]=="D"){
              
$direction floor($buffer[1]);
              while(
$buffer[0]!="0"){
                  
$buffer fgets($handle4096);
              }
              
              
$arr_dir explode(" ",$buffer);
              
//print_r($arr_dir);
              
              
$exits[] = array("vnum" => $vnum,"dir" => $direction,"link_room" => $arr_dir[2]); 
          }
    }
    
    
//put room in Db
    
$room = new CRoom($db);
    
    foreach (
$vnums as $v)
    {
        
$room->delRoom($v['vnum']);
        
$room->addRoom($v['vnum'],$v['name'],$v['desc']);
    }
    
    foreach (
$exits as $v)
    {
        
$room->delRoomDirections($v['vnum']);
    }
    
    foreach (
$exits as $v)
    {
        
$room->addRoomDirection($v['vnum'],$v['dir'],$v['link_room']);
    }

    
fclose($handle);
    return 
true;
}


$zone_filelist = array("podzemka.wld","berlin.wld","benzokolonka.wld","anatomic_three.wld","clan_darktime.wld");

foreach(
$zone_filelist as $v){
    echo(
"Updating zone: <b>$v</b><br>");
    if(!
updateZone($v,$db)){
        echo(
"Error update zone <b>$v</b><br>");
        break; 
    }
    echo(
"Update zone: <b>$v</b> is OK<br>");
}


?>
Онлайн: 0
Реклама