mirror of
https://github.com/Shadowss/TravianZ.git
synced 2026-06-28 00:24:23 +00:00
234bd692e4
Previously page loading time was calculated by taking miliseconds of current wall clock time. In cases where wall clock went into another second page loading time was calcualted as negative giving incorrect result. This patch fixes this by using microtime of wall-clock time in float.
160 lines
3.6 KiB
PHP
Executable File
160 lines
3.6 KiB
PHP
Executable File
<?php
|
|
|
|
#################################################################################
|
|
## -= YOU MAY NOT REMOVE OR CHANGE THIS NOTICE =- ##
|
|
## --------------------------------------------------------------------------- ##
|
|
## Filename Generator.php ##
|
|
## License: TravianX Project ##
|
|
## Copyright: TravianX (c) 2010-2011. All rights reserved. ##
|
|
## ##
|
|
#################################################################################
|
|
|
|
class MyGenerator {
|
|
|
|
public function generateRandID(){
|
|
return md5($this->generateRandStr(16));
|
|
}
|
|
|
|
public function generateRandStr($length){
|
|
$randstr = "";
|
|
for($i=0; $i<$length; $i++){
|
|
$randnum = mt_rand(0,61);
|
|
if($randnum < 10){
|
|
$randstr .= chr($randnum+48);
|
|
}else if($randnum < 36){
|
|
$randstr .= chr($randnum+55);
|
|
}else{
|
|
$randstr .= chr($randnum+61);
|
|
}
|
|
}
|
|
return $randstr;
|
|
}
|
|
|
|
public function encodeStr($str,$length) {
|
|
$encode = md5($str);
|
|
return substr($encode,0,$length);
|
|
}
|
|
|
|
public function procDistanceTime($coor,$thiscoor,$ref,$mode) {
|
|
global $bid28,$bid14,$building;
|
|
$xdistance = ABS($thiscoor['x'] - $coor['x']);
|
|
if($xdistance > WORLD_MAX) {
|
|
$xdistance = (2 * WORLD_MAX + 1) - $xdistance;
|
|
}
|
|
$ydistance = ABS($thiscoor['y'] - $coor['y']);
|
|
if($ydistance > WORLD_MAX) {
|
|
$ydistance = (2 * WORLD_MAX + 1) - $ydistance;
|
|
}
|
|
$distance = SQRT(POW($xdistance,2)+POW($ydistance,2));
|
|
if(!$mode) {
|
|
if($ref == 1) {
|
|
$speed = 16;
|
|
}
|
|
else if($ref == 2) {
|
|
$speed = 12;
|
|
}
|
|
else if($ref == 3) {
|
|
$speed = 24;
|
|
}
|
|
else if($ref == 300) {
|
|
$speed = 5;
|
|
}
|
|
else {
|
|
$speed = 1;
|
|
}
|
|
}
|
|
else {
|
|
$speed = $ref;
|
|
if($building->getTypeLevel(14) != 0 && $distance >= TS_THRESHOLD) {
|
|
$speed = $speed * ($bid14[$building->gettypeLevel(14)]['attri']/100) ;
|
|
}
|
|
}
|
|
if($speed!=0){
|
|
return round(($distance/$speed) * 3600 / INCREASE_SPEED);
|
|
}else{
|
|
return round($distance * 3600 / INCREASE_SPEED);
|
|
}
|
|
}
|
|
|
|
public function getTimeFormat($time) {
|
|
$min = 0;
|
|
$hr = 0;
|
|
$days = 0;
|
|
while($time >= 60) :
|
|
$time -= 60;
|
|
$min += 1;
|
|
endwhile;
|
|
while ($min >= 60) :
|
|
$min -= 60;
|
|
$hr += 1;
|
|
endwhile;
|
|
if ($min < 10) {
|
|
$min = "0".$min;
|
|
}
|
|
if($time < 10) {
|
|
$time = "0".$time;
|
|
}
|
|
return $hr.":".$min.":".$time;
|
|
}
|
|
|
|
public function procMtime($time, $pref = 3) {
|
|
/*
|
|
$timezone = 7;
|
|
switch($timezone) {
|
|
case 7:
|
|
$time -= 3600;
|
|
break;
|
|
}
|
|
*/
|
|
- $time += 3600*0; //Edit this yourself
|
|
+ $time += 0; //Edit this yourself
|
|
|
|
$today = date('d',time())-1;
|
|
if (date('Ymd',time()) == date('Ymd',$time)) {
|
|
$day = "today";
|
|
}elseif($today == date('d',$time)){
|
|
$day = "yesterday";
|
|
}
|
|
else {
|
|
switch($pref) {
|
|
case 1:
|
|
$day = date("m/j/y",$time);
|
|
break;
|
|
case 2:
|
|
$day = date("j/m/y",$time);
|
|
break;
|
|
case 3:
|
|
$day = date("j.m.y",$time);
|
|
break;
|
|
default:
|
|
$day = date("y/m/j",$time);
|
|
break;
|
|
}
|
|
}
|
|
$new = date("H:i:s",$time);
|
|
if ($pref=="9"||$pref==9)
|
|
return $new;
|
|
else
|
|
return array($day,$new);
|
|
}
|
|
|
|
|
|
public function getBaseID($x,$y) {
|
|
return ((WORLD_MAX-$y) * (WORLD_MAX*2+1)) + (WORLD_MAX +$x + 1);
|
|
}
|
|
|
|
public function getMapCheck($wref) {
|
|
return substr(md5($wref),5,2);
|
|
}
|
|
|
|
public function pageLoadTimeStart() {
|
|
return microtime(true);
|
|
}
|
|
|
|
public function pageLoadTimeEnd() {
|
|
return microtime(true);
|
|
}
|
|
|
|
};
|
|
$generator = new MyGenerator;
|