SCRIPT:
<?php
class DragonCity {
private $timeout = 120;
private $path = "http://dc-canvas.socialpointgames.com/dragoncity/web/srv/";
private $id = "";
private $ukey = "";
public $info = array();
public $ps = array();
public $ts = 0;
public function __construct($id,$ukey,$ver){
$this->ts = time();
$this->id = $id;
$this->ukey = $ukey;
$this->versi = $ver;
$this->info = array('name'=>"",'cash'=>0,'gold'=>0,'food'=>0,'le vel'=>1,'xp'=>0,'dragons'=>0,'storeDragon'=>0,'sto reItems'=>0,'mondayReward'=>date('d-m-Y H:i:s',$this->ts+172800));
}
public function getInfo(){
if(!$this->sendPost($result,$this->path."get_player_info.php?USERID=".$this->id."&user_key=".$this->ukey."&spdebug=1")) return false;
$result = explode(";",$result);
$result = json_decode($result[1],true);
if(!$result) return false;
if(isset($result['playerInfo']['name'])) $this->info['name'] = $result['playerInfo']['name'];
if(isset($result['playerInfo']['cash'])) $this->info['cash'] = $result['playerInfo']['cash'];
if(isset($result['playerInfo']['gold'])) $this->info['gold'] = $result['playerInfo']['gold'];
if(isset($result['playerInfo']['food'])) $this->info['food'] = $result['playerInfo']['food'];
if(isset($result['playerInfo']['level'])) $this->info['level'] = $result['playerInfo']['level'];
if(isset($result['playerInfo']['xp'])) $this->info['xp'] = $result['playerInfo']['xp'];
if(isset($result['map']['dragons'])) $this->info['dragons'] = count($result['map']['dragons']);
if(isset($result['map']['store']['dragons'])) $this->info['storeDragon'] = count($result['map']['store']['dragons']);
if(isset($result['map']['store']['items'])) $this->info['storeItems'] = count($result['map']['store']['items']);
if(isset($result['timestamp'])) $this->ts = $result['timestamp'];
if(isset($result['privateState'])){
$this->ps = $result['privateState'];
$this->info['mondayReward']=date('d-m-Y H:i:s',$this->ps['timeStampMondayBonus']+172800);
if($this->ts-$this->ps['timeStampMondayBonus']>172800) $this->info['mondayReward'] .= " <a href='weeksgems.php'>Claim</a>";
}
unset($result);
return true;
}
public function html(){
$str = "<hr/>name: ".$this->info['name']."";
$str .= "cash: ".number_format((double)$this->info['cash'],0,',','.')."";
$str .= "gold: ".number_format((double)$this->info['gold'],0,',','.')."";
$str .= "food: ".number_format((double)$this->info['food'],0,',','.')."";
$str .= "level: ".$this->info['level']."";
$str .= "xp: ".number_format((double)$this->info['xp'],0,',','.')."";
$str .= "dragons: ".$this->info['dragons']."";
$str .= "storeDragon: ".$this->info['storeDragon']."";
$str .= "storeItems: ".$this->info['storeItems']."";
$str .= "mondayReward: ".$this->info['mondayReward']."<br/>";
return $str;
}
public function sendCommand($cmd){
$cmd = json_encode(array('publishActions'=>"0",'commands' =>$cmd,'flashVersion'=>$this->versi,'first_number'=>1,'tries'=>1,'ts'=>time())) ;
$hash = hash_hmac('sha256',$cmd,'RGhXbiy4xEeDnSNX1oBG');
$cmd=array('data'=>$hash.';'.$cmd,'id'=>$this->id);
if(!$this->sendPost($result,$this->path."packet.php?USERID=".$this->id."&user_key=".$this->ukey."&spdebug=1",$cmd)) return false;
$result = explode(";",$result);
$result = json_decode($result[1],true);
if(!$result) return false;
if(!isset($result['result'])) return false;
if(!$result['result']) return false;
if(isset($result['response'])) return $result['response'];
return array();
}
private function sendPost(&$result,$url,$data=null){
if($data!=null){
$postdata=http_build_query($data);
$opts = array('http' =>
array(
'method' => 'POST',
'timeout' => $this->timeout,
'header' => "Content-type: application/x-www-form-urlencoded\r\n"."Content-Length: ".strlen($postdata)."\r\n",
'content' => $postdata
)
);
}else $opts = array('http'=>array('timeout'=>$this->timeout));
$result=file_get_contents($url,false,stream_contex t_create($opts));
if(!$result) return false;
return true;
}
public function getLevelDCByXp($xp){
$listlevel=array(0,200,500,1400,2900,4900,9900,199 00,34900,59900,94900,144900,244900,394900,694900,1 194900,1944900,2944900,4194900,5694900,7444900,944 4900,11944900,14944900,18444900,22444900,26944900, 31944900,37444900,43444900,49944900,56944900,64444 900,72444900,80944900,89944900,99444900,109444900, 119944900,130944900,142444900,154444900,166944900, 179944900,193444900,207444900,221944900,236944900, 252444900,268444900,2016089205);
$j=count($listlevel);
for($i=0;$i<$j;$i++){
if($listlevel[$i] > $xp) break;
}
unset($listlevel);
return $i;
}
}
class DragonCity {
private $timeout = 120;
private $path = "http://dc-canvas.socialpointgames.com/dragoncity/web/srv/";
private $id = "";
private $ukey = "";
public $info = array();
public $ps = array();
public $ts = 0;
public function __construct($id,$ukey,$ver){
$this->ts = time();
$this->id = $id;
$this->ukey = $ukey;
$this->versi = $ver;
$this->info = array('name'=>"",'cash'=>0,'gold'=>0,'food'=>0,'le vel'=>1,'xp'=>0,'dragons'=>0,'storeDragon'=>0,'sto reItems'=>0,'mondayReward'=>date('d-m-Y H:i:s',$this->ts+172800));
}
public function getInfo(){
if(!$this->sendPost($result,$this->path."get_player_info.php?USERID=".$this->id."&user_key=".$this->ukey."&spdebug=1")) return false;
$result = explode(";",$result);
$result = json_decode($result[1],true);
if(!$result) return false;
if(isset($result['playerInfo']['name'])) $this->info['name'] = $result['playerInfo']['name'];
if(isset($result['playerInfo']['cash'])) $this->info['cash'] = $result['playerInfo']['cash'];
if(isset($result['playerInfo']['gold'])) $this->info['gold'] = $result['playerInfo']['gold'];
if(isset($result['playerInfo']['food'])) $this->info['food'] = $result['playerInfo']['food'];
if(isset($result['playerInfo']['level'])) $this->info['level'] = $result['playerInfo']['level'];
if(isset($result['playerInfo']['xp'])) $this->info['xp'] = $result['playerInfo']['xp'];
if(isset($result['map']['dragons'])) $this->info['dragons'] = count($result['map']['dragons']);
if(isset($result['map']['store']['dragons'])) $this->info['storeDragon'] = count($result['map']['store']['dragons']);
if(isset($result['map']['store']['items'])) $this->info['storeItems'] = count($result['map']['store']['items']);
if(isset($result['timestamp'])) $this->ts = $result['timestamp'];
if(isset($result['privateState'])){
$this->ps = $result['privateState'];
$this->info['mondayReward']=date('d-m-Y H:i:s',$this->ps['timeStampMondayBonus']+172800);
if($this->ts-$this->ps['timeStampMondayBonus']>172800) $this->info['mondayReward'] .= " <a href='weeksgems.php'>Claim</a>";
}
unset($result);
return true;
}
public function html(){
$str = "<hr/>name: ".$this->info['name']."";
$str .= "cash: ".number_format((double)$this->info['cash'],0,',','.')."";
$str .= "gold: ".number_format((double)$this->info['gold'],0,',','.')."";
$str .= "food: ".number_format((double)$this->info['food'],0,',','.')."";
$str .= "level: ".$this->info['level']."";
$str .= "xp: ".number_format((double)$this->info['xp'],0,',','.')."";
$str .= "dragons: ".$this->info['dragons']."";
$str .= "storeDragon: ".$this->info['storeDragon']."";
$str .= "storeItems: ".$this->info['storeItems']."";
$str .= "mondayReward: ".$this->info['mondayReward']."<br/>";
return $str;
}
public function sendCommand($cmd){
$cmd = json_encode(array('publishActions'=>"0",'commands' =>$cmd,'flashVersion'=>$this->versi,'first_number'=>1,'tries'=>1,'ts'=>time())) ;
$hash = hash_hmac('sha256',$cmd,'RGhXbiy4xEeDnSNX1oBG');
$cmd=array('data'=>$hash.';'.$cmd,'id'=>$this->id);
if(!$this->sendPost($result,$this->path."packet.php?USERID=".$this->id."&user_key=".$this->ukey."&spdebug=1",$cmd)) return false;
$result = explode(";",$result);
$result = json_decode($result[1],true);
if(!$result) return false;
if(!isset($result['result'])) return false;
if(!$result['result']) return false;
if(isset($result['response'])) return $result['response'];
return array();
}
private function sendPost(&$result,$url,$data=null){
if($data!=null){
$postdata=http_build_query($data);
$opts = array('http' =>
array(
'method' => 'POST',
'timeout' => $this->timeout,
'header' => "Content-type: application/x-www-form-urlencoded\r\n"."Content-Length: ".strlen($postdata)."\r\n",
'content' => $postdata
)
);
}else $opts = array('http'=>array('timeout'=>$this->timeout));
$result=file_get_contents($url,false,stream_contex t_create($opts));
if(!$result) return false;
return true;
}
public function getLevelDCByXp($xp){
$listlevel=array(0,200,500,1400,2900,4900,9900,199 00,34900,59900,94900,144900,244900,394900,694900,1 194900,1944900,2944900,4194900,5694900,7444900,944 4900,11944900,14944900,18444900,22444900,26944900, 31944900,37444900,43444900,49944900,56944900,64444 900,72444900,80944900,89944900,99444900,109444900, 119944900,130944900,142444900,154444900,166944900, 179944900,193444900,207444900,221944900,236944900, 252444900,268444900,2016089205);
$j=count($listlevel);
for($i=0;$i<$j;$i++){
if($listlevel[$i] > $xp) break;
}
unset($listlevel);
return $i;
}
}






