Здравейте .. вижте, изтеглих един сайт за онлайн игра .. слагам я в htdotc, до тука всичко добре, но после като влизам в localhost/we ( we е папката която е сайта, така съм я кръстил ) и ми дава този ерорр:
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'username'@'localhost' (using password: YES) in C:\SERVER\xampp\htdocs\we\func.php on line 3
Could not connect to DB.
А ето и func.php
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'username'@'localhost' (using password: YES) in C:\SERVER\xampp\htdocs\we\func.php on line 3
Could not connect to DB.
А ето и func.php
Код:
<?php
/*** Pirates of the Black Sea | Check RPGBUNNY.COM for more Full RPG Sources | www.rpgbunny.com ***/$db_id = mysql_connect($db_host, $db_user, $db_pass)
or die("Could not connect to DB.");
mysql_select_db($db_name, $db_id)
or die("Database not found.");
//time difference; gets for how much the mysql server time is ahead, compared to the http server time;
$query="SELECT timediff(now(), '".date("Y-m-d H:i:s")."')";
$result=mysql_query($query, $db_id);
$tdif=mysql_fetch_row($result); $tdif=explode(":", $tdif[0]);
if ($tdif[0][0]=="-") {$tdif[0]=abs($tdif[0]); $tdif[3]="-";}
else $tdif[3]="+"; $tdif=" ".$tdif[3]." interval ".$tdif[0]." hour ".$tdif[3]." interval ".$tdif[1]." minute ".$tdif[3]." interval ".$tdif[2]." second";
if (isset($_SESSION["user"][0])) {$faction=faction($_SESSION["user"][10]); $imgs=$_SESSION["user"][13]; $fimgs=$faction[2];}
else {$imgs="default/"; $fimgs="1/";}
function msg($msg)
{
header("Location: msg.php?msg=".$msg);
}
function label($msg)
{
echo "<font face=\"Fixedsys\" color=\"red\">".$msg."</font>";}
function gen_stats($dur)
{
global $db_id;
$query="SELECT count(*) FROM users";
$result=mysql_query($query, $db_id);
$row[0]=mysql_fetch_row($result);
$query="SELECT count(*) FROM users where hour(timediff(now(), lastVisit))<".$dur;
$result=mysql_query($query, $db_id);
$row[1]=mysql_fetch_row($result);
return $row;
}
function clean_u($dur)
{
global $db_id;
$query="SELECT id FROM users where hour(timediff(now(), lastVisit))/24>".$dur;
$result=mysql_query($query, $db_id); $nr=0;
for (; $row=mysql_fetch_row($result); $nr++) del_u($row[0]);
return $nr;
}
function town_stats($col)
{
global $db_id;
$query="SELECT * from towns order by ".$col." desc";
$result=mysql_query($query, $db_id); $town_stats=array();
for ($i=0; $row=mysql_fetch_row($result); $i++) $town_stats[$i]=$row;
return $town_stats;
}
function user_stats($col)
{
global $db_id;
$query="select id, name, (select sum(".$col.") from towns where owner=users.id) from users order by (select sum(".$col.") from towns where owner=users.id) desc";
$result=mysql_query($query, $db_id); $user_stats=array();
for ($i=0; $row=mysql_fetch_row($result); $i++) $user_stats[$i]=$row;
return $user_stats;
}
function alliance_stats($col)
{
global $db_id;
$query="select id, name, (select sum(".$col.") from towns where owner in (select id from users where alliance=alliances.id)) from alliances order by (select sum(".$col.") from towns where owner in (select id from users where alliance=alliances.id)) desc";
$result=mysql_query($query, $db_id); $alliance_stats=array();
for ($i=0; $row=mysql_fetch_row($result); $i++) $alliance_stats[$i]=$row;
return $alliance_stats;
}
function is_user($name, $email, $ip)
{
global $db_id;
$query="select count(*) from users where name='".$name."' or email='".$email."' or ip='".$ip."'";
$result=mysql_query($query, $db_id);
$row=mysql_fetch_row($result);
return $row[0];
}
function login($name, $pass)
{
global $db_id;
$query="select * from users where name='".$name."' and pass='".$pass."' and level>0";
$result=mysql_query($query, $db_id);
$row=mysql_fetch_row($result);
return $row;
}
function sitted($account, $sitter)
{
global $db_id;
$query="select * from users where name='".$account."' and sitter='".$sitter."' and level>0";
$result=mysql_query($query, $db_id);
$row=mysql_fetch_row($result);
return $row;
}
function user($id)
{
global $db_id;
$query="select * from users where id=".preg_replace("/[^0-9]/","", $id);
$result=mysql_query($query, $db_id);
if ($result)
{
$row=mysql_fetch_row($result);
$row[1]=stripslashes($row[1]); $row[9]=stripslashes($row[9]);
return $row;
} else return 0;
}
function users()
{
global $db_id;
$query="select * from users";
$result=mysql_query($query, $db_id); $users=array();
for ($i=0; $row=mysql_fetch_row($result); $i++)
{
$users[$i]=$row;
$users[$i][1]=stripslashes($users[$i][9]); $users[$i][9]=stripslashes($users[$i][9]);
}
return $users;
}
function user_($name)
{
global $db_id;
$query="select * from users where name='".mysql_escape_string($name)."'";
$result=mysql_query($query, $db_id);
if ($result)
{
$row=mysql_fetch_row($result);
$row[1]=stripslashes($row[1]); $row[9]=stripslashes($row[9]);
return $row;
} else return 0;
}
function config()
{
global $db_id;
$config=array();
$query="select * from config order by ord asc";
$result=mysql_query($query, $db_id);
for ($i=0; $row=mysql_fetch_row($result); $i++) $config[$i]=$row;
return $config;
}
function config_($var, $val)
{
global $db_id;
$query="update config set value='".$val."' where name='".$var."'";
$result=mysql_query($query, $db_id);
if ($result) return 1;
else return 0;
}
function g_points($names, $q)
{
global $db_id;
$query="update users set points=points+".$q." where name in (".$names.")";
$result=mysql_query($query, $db_id);
if ($result) return 1;
else return 0;
}
function alliance_all($id)
{
global $db_id;
$query="select * from alliances where id=".$id;
$result=mysql_query($query, $db_id); $alliance=array();
$alliance[0]=mysql_fetch_row($result);
if (!$alliance[0][0]) { return 0;}
$query="select * from users where alliance=".$alliance[0][0];
$result=mysql_query($query, $db_id);
for ($i=0; $alliance[1][$i]=mysql_fetch_row($result); $i++) ;
$query="select * from pacts where type=0 and (a1=".$alliance[0][0]." or a2=".$alliance[0][0].")";
$result=mysql_query($query, $db_id);
for ($i=0; $alliance[2][$i]=mysql_fetch_row($result); $i++) ;
$query="select * from pacts where type=1 and (a1=".$alliance[0][0]." or a2=".$alliance[0][0].")";
$result=mysql_query($query, $db_id);
for ($i=0; $alliance[3][$i]=mysql_fetch_row($result); $i++) ;
return $alliance;
}
function alliance_($name)
{
global $db_id;
$query="select * from alliances where name='".$name."'";
$result=mysql_query($query, $db_id);
$row=mysql_fetch_row($result);
return $row;
}
function alliance($id)
{
global $db_id;
$query="select * from alliances where id='".$id."'";
$result=mysql_query($query, $db_id);
$row=mysql_fetch_row($result);
return $row;
}
function faction($id)
{
global $db_id;
$query="select * from factions where id='$id'";
$result=mysql_query($query, $db_id);
$row=mysql_fetch_row($result);
return $row;
}
function factions()
{
global $db_id;
$factions=array();
$query="select * from factions";
$result=mysql_query($query, $db_id);
for ($i=0; $row=mysql_fetch_row($result); $i++) $factions[$i]=$row;
return $factions;
}
function town($id)
{
global $db_id;
$query="select * from towns where id=".$id;
$result=mysql_query($query, $db_id);
if ($result)
{
$row=mysql_fetch_row($result);
$row[2]=stripslashes($row[2]); $row[14]=stripslashes($row[14]);
return $row;
} else return 0;
}
function town_($name)
{
global $db_id;
$query="select * from towns where name='".mysql_escape_string($name)."'";
$result=mysql_query($query, $db_id);
if ($result)
{
$row=mysql_fetch_row($result);
$row[2]=stripslashes($row[2]); $row[14]=stripslashes($row[14]);
return $row;
} else return 0;
}
function town_xy($id)
{
global $db_id;
$query="select * from map where type=3 and subtype=".$id;
$result=mysql_query($query, $db_id);
$row=mysql_fetch_row($result);
return $row;
}
function towns($id)
{
global $db_id;
$query="select * from towns where owner='$id' order by isCapital desc";
$result=mysql_query($query, $db_id); $towns=array();
for ($i=0; $row=mysql_fetch_row($result); $i++) {$towns[$i]=$row; $towns[$i][2]=stripslashes($row[2]); $towns[$i][14]=stripslashes($row[14]);}
return $towns;
}
function buildings($faction)
{
global $db_id, $lang;
$query="select * from buildings where faction=".$faction;
$result=mysql_query($query, $db_id); $buildings=array();
for ($i=0; $row=mysql_fetch_row($result); $i++)
{
$buildings[$i]=$row;
if (isset($lang['buildings']))
{
$buildings[$i][2]=$lang['buildings'][$faction-1][$i][0];
$buildings[$i][8]=$lang['buildings'][$faction-1][$i][1];
}
}
return $buildings;
}
function weapons($faction)
{
global $db_id, $lang;
$query="select * from weapons where faction=".$faction;
$result=mysql_query($query, $db_id); $weapons=array();
for ($i=0; $row=mysql_fetch_row($result); $i++)
{
$weapons[$i]=$row;
if (isset($lang['weapons']))
{
$weapons[$i][2]=$lang['weapons'][$faction-1][$i][0];
$weapons[$i][5]=$lang['weapons'][$faction-1][$i][1];
}
}
return $weapons;
}
function units($faction)
{
global $db_id, $lang;
$query="select * from units where faction=".$faction;
$result=mysql_query($query, $db_id); $units=array();
for ($i=0; $row=mysql_fetch_row($result); $i++)
{
$units[$i]=$row;
if (isset($lang['units']))
{
$units[$i][2]=$lang['units'][$faction-1][$i][0];
$units[$i][10]=$lang['units'][$faction-1][$i][1];
}
}
return $units;
}
function get_land()
{
global $db_id;
$query="select x, y from map where type=1";
$result=mysql_query($query, $db_id);
for ($i=0; $row=mysql_fetch_row($result); $i++) $land[$i]=$row;
return $land;
}
function map($x, $y)
{
global $db_id;
$query="select * from map where (y between ".($y-3)." and ".($y+3).") and (x between ".($x-3)." and ".($x+3).") order by y desc, x asc";
$result=mysql_query($query, $db_id);
$data=array();
for ($i=0; $row=mysql_fetch_row($result); $i++) $data[$i]=$row;
return $data;
}
function sector($x, $y)
{
global $db_id;
$query="select * from map where x=".$x." and y=".$y;
$result=mysql_query($query, $db_id);
$row=mysql_fetch_row($result);
return $row;
}
function map_img($data, $x, $y, &$i, $imgs)
{
echo "src='".$imgs."map/env_";
if (isset($data[$i][0]))
{
if (($data[$i][0]==$x)&&($data[$i][1]==$y))
{
if ($data[$i][2]==3)
{
$town=town($data[$i][3]);
if ($town[3]<=100) echo "31";
else if (($town[3]>100)&&($town[3]<=200)) echo "32";
else if (($town[3]>200)&&($town[3]<=300)) echo "33";
else if ($town[3]>300) echo "34";
}
else if (!$data[$i][2]) echo "0".rand(1, 4);
else echo $data[$i][2].$data[$i][3];
if ($i<count($data)-1) $i++;
}
else echo "x";
echo ".gif'";
}
else echo "x.gif'";
}
function map_lnk($data, $x, $y, &$i)
{
if (isset($data[$i][0]))
{
if (($data[$i][0]==$x)&&($data[$i][1]==$y))
{
if ($data[$i][2]==3)
{
$town=town($data[$i][3]);
if ($town[1])
{
$usr=user($town[1]);
$alliance=alliance($usr[11]);
echo "href='profile_view.php?id=".$usr[0]."' onMouseOver=\"desc('".mysql_escape_string($town[2])."', '".$usr[1]."', '".$town[3]."', '".$alliance[1]."')\" onMouseOut=\"desc('Description', '', '', '')\"";
}
else echo "href='aquire.php?id=".$town[0]."' onMouseOver=\"desc('".mysql_escape_string($town[2])."', '[abandoned]', '".$town[3]."', '')\" onMouseOut=\"desc('Description', '', '', '')\"";
}
else if (!$data[$i][2]) echo "href=\"javascript: template('map_.php', 'x=".$x."&y=".$y."')\" onMouseOver=\"desc('Water', '-', '-', '-')\" onMouseOut=\"desc('Description', '', '', '')\"";
else if ($data[$i][2]==2) echo "href=\"javascript: template('map_.php', 'x=".$x."&y=".$y."')\" onMouseOver=\"desc('Mountains', '-', '-', '-')\" onMouseOut=\"desc('Description', '', '', '')\"";
else if ($data[$i][2]==1) echo "href=\"javascript: template('map_.php', 'x=".$x."&y=".$y."')\" onMouseOver=\"desc('Land', '-', '-', '-')\" onMouseOut=\"desc('Description', '', '', '')\"";
if ($i<count($data)-1) $i++;
}
else echo "href=\"javascript: template('map_.php', 'x=".$x."&y=".$y."')\" onMouseOver=\"desc('void', '-', '-', '-')\" onMouseOut=\"desc('Description', '', '', '')\"";
}
else echo "href=\"javascript: template('map_.php', 'x=".$x."&y=".$y."')\" onMouseOver=\"desc('void', '-', '-', '-')\" onMouseOut=\"desc('Description', '', '', '')\"";
}
function update_lastVisit($id)
{
global $db_id;
$query="select count(*) from reports where recipient=".$id." and timediff((select lastVisit from users where id=".$id."), sent)<'00:00:01'";
$result=mysql_query($query, $db_id);
$row[0]=mysql_fetch_row($result); $row[0]=$row[0][0];
$query="select count(*) from messages where recipient=".$id." and timediff((select lastVisit from users where id=".$id."), sent)<'00:00:01'";
$result=mysql_query($query, $db_id);
$row[1]=mysql_fetch_row($result); $row[1]=$row[1][0];
$query="update users set lastVisit=now(), ip='".$_SERVER["REMOTE_ADDR"]."' where id=".$id;
mysql_query($query, $db_id);
return $row;
}
function update_taxes($production, $morale, $id)
{
global $db_id;
$query="update towns set production='".$production."', morale=".$morale." where id=".$id;
mysql_query($query, $db_id);
}
function update_formation($id, $gen)
{
global $db_id;
$town=town($id);
$query="update towns set general='".$gen."' where id=".$id;
$result=mysql_query($query, $db_id);
if ($result) header("Location: gen.php?town=".$id);
else msg("Failed.".mysql_error());
}
function update_town($name, $desc, $id)
{
global $db_id;
$query="select count(*) from towns where name='".mysql_escape_string($name)."' and id!=".$id;
$result=mysql_query($query, $db_id);
$row=mysql_fetch_row($result);
if (!$row[0])
{
$query="update towns set name='".mysql_escape_string($name)."', description='".mysql_escape_string($desc)."' where id=".$id;
mysql_query($query, $db_id);
} else msg("Name taken.");
}
function purge($id)
{
global $db_id;
$query="update map set type=1, subtype=3 where type=3 and subtype=".$id;
mysql_query($query, $db_id);
$query="delete from a_queue where a_queue.town=".$id." or a_queue.target=".$id;
mysql_query($query, $db_id);
$query="delete from c_queue where c_queue.town=".$id;
mysql_query($query, $db_id);
$query="delete from t_queue where t_queue.seller=".$id." or t_queue.buyer=".$id;
mysql_query($query, $db_id);
$query="delete from u_queue where u_queue.town=".$id;
mysql_query($query, $db_id);
$query="delete from uup_queue where uup_queue.town=".$id;
mysql_query($query, $db_id);
$query="delete from w_queue where w_queue.town=".$id;
mysql_query($query, $db_id);
$query="delete from towns where id=".$id;
mysql_query($query, $db_id);
}
function abandon($id)
{
global $db_id;
$query="update towns set owner=0 where id=".$id;
mysql_query($query, $db_id);
}
function aquire($id, $owner)
{
global $db_id;
$query="update towns set owner=".$owner." where id=".$id;
mysql_query($query, $db_id);
}
function update_a($name, $desc, $id)
{
global $db_id;
$query="select count(*) from alliances where name='".mysql_escape_string($name)."' and id!=".$id;
$result=mysql_query($query, $db_id);
$row=mysql_fetch_row($result);
if (!$row[0])
{
$query="update alliances set name='".mysql_escape_string($name)."', description='".mysql_escape_string($desc)."' where id=".$id;
mysql_query($query, $db_id);
} else msg("Name taken.");
}
function update_rank($id, $rank)
{
global $db_id;
$query="update users set rank='".$rank."' where id=".$id;
$result=mysql_query($query, $db_id);
if ($result) return 1;
else return 0;
}
function check_d($id)
{
global $db_id;
$query="select timediff(dueTime, now()) from d_queue where user=".$id;
$result=mysql_query($query, $db_id);
$row=mysql_fetch_row($result);
if ($row[0][0])
if ($row[0][0]=="-")
{
$query="update map set type=1, subtype=6 where subtype in (select id from towns where owner=".$id.")";
mysql_query($query, $db_id);
$query="select id from alliances where founder=".$id;
$result=mysql_query($query, $db_id); $row=mysql_fetch_row($result);
if ($row[0])//if the user is an alliance founder
{
$query="delete from alliances where id=".$row[0];
mysql_query($query, $db_id);
$query="delete from pacts where (a1=".$row[0]." or a2=".$row[0].")";
mysql_query($query, $db_id);
}
$query="delete from a_queue where (a_queue.town in (select id from towns where owner=".$id.") or a_queue.target in (select id from towns where owner=".$id."))";
mysql_query($query, $db_id);
$query="delete from c_queue where c_queue.town in (select id from towns where owner=".$id.")";
mysql_query($query, $db_id);
$query="delete from d_queue where user=".$id;
mysql_query($query, $db_id);
$query="delete from t_queue where (t_queue.seller in (select id from towns where owner=".$id.") or t_queue.buyer in (select id from towns where owner=".$id."))";
mysql_query($query, $db_id);
$query="delete from u_queue where u_queue.town in (select id from towns where owner=".$id.")";
mysql_query($query, $db_id);
$query="delete from uup_queue where uup_queue.town in (select id from towns where owner=".$id.")";
mysql_query($query, $db_id);
$query="delete from w_queue where w_queue.town in (select id from towns where owner=".$id.")";
mysql_query($query, $db_id);
$query="delete from messages where recipient=".$id;
mysql_query($query, $db_id);
$query="delete from reports where recipient=".$id;
mysql_query($query, $db_id);
$query="delete from towns where owner=".$id;
mysql_query($query, $db_id);
$query="delete from users where id=".$id;
mysql_query($query, $db_id);
return 0;
}
return 1;
}
function del_u($id)
{
global $db_id;
$query="update map set type=1, subtype=6 where subtype in (select id from towns where owner=".$id.")";
mysql_query($query, $db_id);
$query="select id from alliances where founder=".$id;
$result=mysql_query($query, $db_id); $row=mysql_fetch_row($result);
if ($row[0])//if the user is an alliance founder
{
$query="delete from alliances where id=".$row[0];
mysql_query($query, $db_id);
$query="delete from pacts where (a1=".$row[0]." or a2=".$row[0].")";
mysql_query($query, $db_id);
}
$query="delete from a_queue where (a_queue.town in (select id from towns where owner=".$id.") or a_queue.target in (select id from towns where owner=".$id."))";
mysql_query($query, $db_id);
$query="delete from c_queue where c_queue.town in (select id from towns where owner=".$id.")";
mysql_query($query, $db_id);
$query="delete from d_queue where user=".$id;
mysql_query($query, $db_id);
$query="delete from t_queue where (t_queue.seller in (select id from towns where owner=".$id.") or t_queue.buyer in (select id from towns where owner=".$id."))";
mysql_query($query, $db_id);
$query="delete from u_queue where u_queue.town in (select id from towns where owner=".$id.")";
mysql_query($query, $db_id);
$query="delete from uup_queue where uup_queue.town in (select id from towns where owner=".$id.")";
mysql_query($query, $db_id);
$query="delete from w_queue where w_queue.town in (select id from towns where owner=".$id.")";
mysql_query($query, $db_id);
$query="delete from messages where recipient=".$id;
mysql_query($query, $db_id);
$query="delete from reports where recipient=".$id;
mysql_query($query, $db_id);
$query="delete from towns where owner=".$id;
mysql_query($query, $db_id);
$query="delete from users where id=".$id;
mysql_query($query, $db_id);
}
function check_r($id)
{
global $db_id;
$query="select production, resources, limits, timediff(now(), lastCheck), morale, upkeep, population from towns where id=".$id;
$result=mysql_query($query, $db_id);
$row=mysql_fetch_row($result);
$time=explode(":", $row[3]); $time=$time[0]+$time[1]/60+$time[2]/3600;
$res=explode("-", $row[1]); $prod=explode("-", $row[0]); $lim=explode("-", $row[2]); $m=$row[4]/100;
if ($prod[0]-$row[5]-$row[6]<5) $prod[0]=$row[5]+$row[6]+5;//noob protection against negative crop production values
if ($res[0]+($prod[0]-$row[5]-$row[6])*$time*$m<=$lim[0]) $res[0]+=($prod[0]-$row[5]-$row[6])*$time*$m; else $res[0]=$lim[0];
if ($res[1]+$prod[1]*$time*$m<=$lim[1]) $res[1]+=$prod[1]*$time*$m; else $res[1]=$lim[1];
if ($res[2]+$prod[2]*$time*$m<=$lim[1]) $res[2]+=$prod[2]*$time*$m; else $res[2]=$lim[1];
if ($res[3]+$prod[3]*$time*$m<=$lim[1]) $res[3]+=$prod[3]*$time*$m; else $res[3]=$lim[1];
if ($res[4]+$prod[4]*$time<=$lim[2]) $res[4]+=$prod[4]*$time; else $res[4]=$lim[2];
$res=$res[0]."-".$res[1]."-".$res[2]."-".$res[3]."-".$res[4];
$query="update towns set resources='".$res."', lastCheck=now() where id=".$id;
$result=mysql_query($query, $db_id);
}
function check_c($id, $faction)
{
global $db_id, $tdif;
$town=town($id);
$buildings=buildings($faction);
$data=explode("-", $town[8]); $res=explode("-", $town[10]); $lim=explode("-", $town[11]); $prod=explode("-", $town[9]); $land=explode("/", $town[13]);
$land[0]=explode("-", $land[0]); $land[1]=explode("-", $land[1]); $land[2]=explode("-", $land[2]); $land[3]=explode("-", $land[3]);
$query="select timediff(dueTime".$tdif.", now()), b, subB from c_queue where town=".$id." order by dueTime asc";
$result=mysql_query($query, $db_id);
for (; $row=mysql_fetch_row($result); )
if ($row[0][0]=="-")
{
if ($row[2]>-1)
{
$land[$row[1]][$row[2]]++; $ldata="";
for ($i=0; $i<count($land); $i++) $ldata[$i]=implode("-", $land[$i]);
$ldata=implode("/", $ldata);
$out=explode("-", $buildings[$row[1]][5]); $prod[$row[1]]=0;
for ($i=0; $i<count($land[$row[1]]); $i++)
if ($land[$row[1]][$i]) $prod[$row[1]]+=$out[$land[$row[1]][$i]-1];
$pdata=implode("-", $prod);
$query="update towns set land='".$ldata."', production='".$pdata."' where id=".$id;
mysql_query($query, $db_id);
}
else switch($row[1])
{
case 0:
{
$data[$row[1]]=1; $bdata=implode("-", $data);
$query="update towns set buildings='".$bdata."' where id=".$id;
mysql_query($query, $db_id);
} break;
case 1:
{
$data[$row[1]]=1; $bdata=implode("-", $data);
$query="update towns set buildings='".$bdata."' where id=".$id;
mysql_query($query, $db_id);
} break;
case 2:
{
$data[$row[1]]=1; $bdata=implode("-", $data);
$query="update towns set buildings='".$bdata."' where id=".$id;
mysql_query($query, $db_id);
} break;
case 3:
{
$data[$row[1]]=1; $bdata=implode("-", $data);
$query="update towns set buildings='".$bdata."' where id=".$id;
mysql_query($query, $db_id);
} break;
case 4:
{
$data[4]++; $lim[0]=explode("-", $buildings[4][5]); $lim[0]=$lim[0][$data[4]-1]; $bdata=implode("-", $data); $ldata=implode("-", $lim);
$query="update towns set buildings='".$bdata."', limits='".$ldata."' where id=".$id;
mysql_query($query, $db_id);
} break;
case 5:
{
$data[5]++; $lim[1]=explode("-", $buildings[5][5]); $lim[1]=$lim[1][$data[5]-1]; $bdata=implode("-", $data); $ldata=implode("-", $lim);
$query="update towns set buildings='".$bdata."', limits='".$ldata."' where id=".$id;
mysql_query($query, $db_id);
} break;
case 6:
{
$data[6]++; $lim[5]=explode("-", $buildings[6][5]); $lim[5]=$lim[5][$data[6]-1]; $bdata=implode("-", $data); $ldata=implode("-", $lim);
$query="update towns set buildings='".$bdata."', limits='".$ldata."' where id=".$id;
mysql_query($query, $db_id);
} break;
case 7:
{
$data[7]++; $lim[4]=explode("-", $buildings[7][5]); $lim[4]=$lim[4][$data[7]-1]; $lim[2]+=800; $bdata=implode("-", $data); $ldata=implode("-", $lim);
$query="update towns set buildings='".$bdata."', limits='".$ldata."' where id=".$id;
mysql_query($query, $db_id);
} break;
case 8:
{
$data[8]++; $lim[3]=explode("-", $buildings[8][5]); $lim[3]=$lim[3][$data[8]-1]; $bdata=implode("-", $data); $ldata=implode("-", $lim);
$query="update towns set buildings='".$bdata."', limits='".$ldata."' where id=".$id;
mysql_query($query, $db_id);
} break;
case 9:
{
$data[9]++; $bdata=implode("-", $data);
$query="update towns set buildings='".$bdata."' where id=".$id;
mysql_query($query, $db_id);
} break;
case 10:
{
$data[10]++; $bdata=implode("-", $data);
$query="update towns set buildings='".$bdata."' where id=".$id;
mysql_query($query, $db_id);
} break;
case 11:
{
$mdata=explode("-", $buildings[11][5]);
$data[11]++; $bdata=implode("-", $data);
$query="update towns set buildings='".$bdata."', morale=".(100-$prod[4]+$mdata[$data[11]-1])." where id=".$id;
mysql_query($query, $db_id);
} break;
case 12:
{
$data[12]++; $bdata=implode("-", $data);
$query="update towns set buildings='".$bdata."' where id=".$id;
mysql_query($query, $db_id);
} break;
case 13:
{
$data[13]++; $lim[6]=explode("-", $buildings[13][5]); $lim[6]=$lim[6][$data[13]-1]; $bdata=implode("-", $data); $ldata=implode("-", $lim);
$query="update towns set buildings='".$bdata."', limits='".$ldata."' where id=".$id;
mysql_query($query, $db_id);
} break;
case 14:
{
$data[14]++; $lim[7]=explode("-", $buildings[14][5]); $lim[7]=$lim[7][$data[14]-1]; $bdata=implode("-", $data); $ldata=implode("-", $lim);
$query="update towns set buildings='".$bdata."', limits='".$ldata."' where id=".$id;
mysql_query($query, $db_id);
} break;
case 15:
{
$data[15]++; $lim[8]=explode("-", $buildings[15][5]); $lim[8]=$lim[8][$data[15]-1]; $bdata=implode("-", $data); $ldata=implode("-", $lim);
$query="update towns set buildings='".$bdata."', limits='".$ldata."' where id=".$id;
mysql_query($query, $db_id);
} break;
case 16:
{
$data[16]=1; $bdata=implode("-", $data);
$query="update towns set buildings='".$bdata."' where id=".$id;
mysql_query($query, $db_id);
} break;
case 17:
{
$data[17]++; $bdata=implode("-", $data);
$query="update towns set buildings='".$bdata."' where id=".$id;
mysql_query($query, $db_id);
} break;
case 18:
{
$data[18]++; $lim[9]=explode("-", $buildings[18][5]); $lim[9]=$lim[9][$data[18]-1]; $bdata=implode("-", $data); $ldata=implode("-", $lim);
$query="update towns set buildings='".$bdata."', limits='".$ldata."' where id=".$id;
mysql_query($query, $db_id);
} break;
case 19:
{
$data[19]++; $lim[10]=explode("-", $buildings[19][5]); $lim[10]=$lim[10][$data[19]-1]; $bdata=implode("-", $data); $ldata=implode("-", $lim);
$query="update towns set buildings='".$bdata."', limits='".$ldata."' where id=".$id;
mysql_query($query, $db_id);
} break;
case 20:
{
$data[20]++; $lim[11]=explode("-", $buildings[20][5]); $lim[11]=$lim[11][$data[20]-1]; $bdata=implode("-", $data); $ldata=implode("-", $lim);
$query="update towns set buildings='".$bdata."', limits='".$ldata."' where id=".$id;
mysql_query($query, $db_id);
} break;
case 21:
{
$data[21]++; $lim[12]=explode("-", $buildings[21][5]); $lim[12]=$lim[12][$data[21]-1]; $bdata=implode("-", $data); $ldata=implode("-", $lim);
$query="update towns set buildings='".$bdata."', limits='".$ldata."' where id=".$id;
mysql_query($query, $db_id);
} break;
default: ;
}
$query="delete from c_queue where c_queue.town=".$id." and c_queue.b=".$row[1]." and c_queue.subB=".$row[2];
mysql_query($query, $db_id);
}
}
function check_w($id)
{
global $db_id, $tdif;
$town=town($id);
$data=explode("-", $town[6]);
$query="select timediff(dueTime".$tdif.", now()), type, quantity from w_queue where town=".$id." order by dueTime asc";
$result=mysql_query($query, $db_id);
for (; $row=mysql_fetch_row($result); )
if ($row[0][0]=="-")
{
$data[$row[1]]+=$row[2]; $d=implode("-", $data);
$query="update towns set weapons='".$d."' where id=".$id;
mysql_query($query, $db_id);
$query="delete from w_queue where town=".$id." and type=".$row[1];
mysql_query($query, $db_id);
}
}
function check_a($id)
{
global $db_id, $tdif;
$query="select timediff(dueTime".$tdif.", now()), town, target, type, phase, army, general, uup, wup, aup, rLoot, wLoot, intel, sent, dueTime, id from a_queue where town=".$id." or target=".$id." order by dueTime asc";
$result=mysql_query($query, $db_id);
for (; $line=mysql_fetch_row($result); )
if ($line[0][0]=="-")
{
$town=town($line[1]); $lim=explode("-", $town[11]);
$to_owner=user($town[1]);
$target=town($line[2]);
$ta_owner=user($target[1]);
if ($target[0])//if the target town exists
if ($line[3])//if it is not a reinforcement
{
$data[0][0]=$ta_owner[10]; $data[0][1]=explode("-", $target[7]); $data[0][2]=explode("-", $target[15]); $data[0][3]=explode("-", $target[8]); $data[0][4]=explode("-", $target[11]); $data[0][5]=explode("-", $target[10]); $data[0][6]=explode("-", $target[6]); $data[0][7]=explode("-", $target[17]); $data[0][8]=explode("-", $target[18]); $data[0][9]=explode("-", $target[19]);
$data[1][0]=$to_owner[10]; $data[1][1]=explode("-", $line[5]); $data[1][2]=explode("-", $line[6]); $data[1][3]=explode("-", $line[7]); $data[1][4]=explode("-", $line[8]); $data[1][5]=explode("-", $line[9]);
$data[2]=$line[3]; $data[3]=explode("-", $line[10]); $data[4]=explode("-", $line[11]); $data[5]=$line[12];
if (!$line[4])//if phase 0
{
$data=battle($data);
$line[13]=explode("-", $line[13]);
$date=strtotime("+".$line[13][0]." hours ".$line[13][1]." minutes", strtotime($line[14]));
$date=strftime("%y-%m-%d %H:%M:%S", $date);
//population update due to possible siege damage
if ($target[8]!=implode("-", $data[0][3]))
{
$target[8]=explode("-", $target[8]);
$buildings=buildings($ta_owner[10]);
for ($i=0; $i<22; $i++) if ($target[8][$i]>$data[0][3][$i])
{
$buildings[$i][7]=explode("-", $buildings[$i][7]);
$target[3]-=$buildings[$i][7][$target[8][$i]];
}
}
if ($data[1][1][11]<100)
{
$query="update towns set population=".$target[3].", army='".implode("-", $data[0][1])."', upkeep=".array_sum($data[0][1]).", general='".implode("-", $data[0][2])."', buildings='".implode("-", $data[0][3])."', resources='".implode("-", $data[0][5])."', weapons='".implode("-", $data[0][6])."' where id=".$target[0];
mysql_query($query, $db_id);
}
else//if there are 100 or more colonists in attacking army
{
$data[1][1][11]-=100;
$query="update towns set owner='".$to_owner[0]."', isCapital=0, population=".$target[3].", army='".implode("-", $data[0][1])."', upkeep=".array_sum($data[0][1]).", general='".implode("-", $data[0][2])."', buildings='".implode("-", $data[0][3])."', resources='".implode("-", $data[0][5])."', weapons='".implode("-", $data[0][6])."' where id=".$target[0];
mysql_query($query, $db_id);
send_report($to_owner[0], "captured town", "You have captured the town of ".$target[2].".");
send_report($ta_owner[0], "town captured", "The town ".$target[2]." has been captured by ".$town[2].".");
}
if (!$data[5]) $data[5]=array("[no info]");
$query="update a_queue set phase=1, dueTime='".$date."', army='".implode("-", $data[1][1])."', general='".implode("-", $data[1][2])."', rLoot='".implode("-", $data[3])."', wLoot='".implode("-", $data[4])."', intel='".implode("-", $data[5])."' where town=".$town[0]." and id=".$line[15];
mysql_query($query, $db_id);
send_report($ta_owner[0], "battle report, attacked", "attacked by ".$town[2]."</br> enemy troops: ".implode("-", $data[1][1]));
}
else if ($town[0])//if phase 1
{
$army=explode("-", $town[7]); for ($i=0; $i<13; $i++) $army[$i]+=$data[1][1][$i];
$ogen=explode("-", $town[15]); if ($data[1][2][0]) {$data[1][2][3]=$ogen[3]; $ogen=$data[1][2];} $ogen=implode("-", $ogen);
$res=explode("-", $town[10]); for ($i=0; $i<5; $i++) $res[$i]+=$data[3][$i]; $res=implode("-", $res);
$weaps=explode("-", $town[6]); for ($i=0; $i<11; $i++) if ($weaps[$i]+$data[4][$i]<=$lim[12]) $weaps[$i]+=$data[4][$i]; else $weaps[$i]=$lim[12]; $weaps=implode("-", $weaps);
$query="update towns set army='".implode("-", $army)."', upkeep=".array_sum($army).", general='".$ogen."', resources='".$res."', weapons='".$weaps."' where id=".$town[0];
mysql_query($query, $db_id);
$query="delete from a_queue where town=".$town[0]." and id=".$line[15];
mysql_query($query, $db_id);
send_report($to_owner[0], "battle report, homecoming", "returning from ".$target[2]."</br> troops: ".implode("-", $data[1][1])."</br> resources looted: ".implode("-", $data[3])."</br> weapons looted: ".implode("-", $data[4])."</br> enemy army: ".$data[5]);
}
}
else//reinforce target
{
$army=explode("-", $target[7]); $qarmy=explode("-", $line[5]); for ($i=0; $i<count($army); $i++) $army[$i]+=$qarmy[$i];
$query="update towns set army='".implode("-", $army)."', upkeep=".array_sum($army)." where id=".$target[0];
mysql_query($query, $db_id);
$query="delete from a_queue where town=".$town[0]." and id=".$line[15];
mysql_query($query, $db_id);
send_report($to_owner[0], "reinforcements sent", $line[5]." troops sent to ".$target[2]);
send_report($ta_owner[0], "reinforcements received", $line[5]." troops arrived from ".$town[2]);
}
else if ($town[0])//if source town exists
{
$army=explode("-", $town[7]); for ($i=0; $i<13; $i++) $army[$i]+=$data[1][1][$i];
$ogen=explode("-", $town[15]); if ($data[1][2][0]) {$data[1][2][3]=$ogen[3]; $ogen=$data[1][2];} $ogen=implode("-", $ogen);
$res=explode("-", $town[10]); for ($i=0; $i<5; $i++) $res[$i]+=$data[3][$i]; $res=implode("-", $res);
$weaps=explode("-", $town[6]); for ($i=0; $i<11; $i++) if ($weaps[$i]+$data[4][$i]<=$lim[12]) $weaps[$i]+=$data[4][$i]; else $weaps[$i]=$lim[12]; $weaps=implode("-", $weaps);
$query="update towns set army='".implode("-", $army)."', upkeep=".array_sum($army).", general='".$ogen."', resources='".$res."', weapons='".$weaps."' where id=".$town[0];
mysql_query($query, $db_id);
$query="delete from a_queue where town=".$town[0]." and id=".$line[15];
mysql_query($query, $db_id);
}
else//if there is no target town and no source town
{
$query="delete from a_queue where town=".$town[0]." and id=".$line[15];
mysql_query($query, $db_id);
}
}
}
function check_u($id)
{
global $db_id, $tdif;
$town=town($id);
$data=explode("-", $town[7]);
$query="select timediff(dueTime".$tdif.", now()), type, quantity from u_queue where town=".$id." order by dueTime asc";
$result=mysql_query($query, $db_id);
for (; $row=mysql_fetch_row($result); )
if ($row[0][0]=="-")
{
$data[$row[1]]+=$row[2]; $d=implode("-", $data);
$query="update towns set army='".$d."' where id=".$id;
mysql_query($query, $db_id);
$query="delete from u_queue where town=".$id." and type=".$row[1];
mysql_query($query, $db_id);
}
}
function check_uup($id)
{
global $db_id, $tdif;
$town=town($id);
$data[17]=explode("-", $town[17]); $data[18]=explode("-", $town[18]); $data[19]=explode("-", $town[19]);
$query="select timediff(dueTime".$tdif.", now()), unit, tree from uup_queue where town=".$id." order by dueTime asc";
$result=mysql_query($query, $db_id);
for (; $row=mysql_fetch_row($result); )
if ($row[0][0]=="-")
{
$data[$row[2]][$row[1]]++; $d=implode("-", $data[$row[2]]);
if ($row[2]==17) $col="uUpgrades"; else if ($row[2]==18) $col="wUpgrades"; else if ($row[2]==19) $col="aUpgrades";
$query="update towns set ".$col."='".$d."' where id=".$id;
mysql_query($query, $db_id);
$query="delete from uup_queue where town=".$id." and unit=".$row[1]." and tree=".$row[2];
mysql_query($query, $db_id);
}
}
function check_t($id)
{
global $db_id, $tdif;
$query="select timediff(dueTime".$tdif.", now()), seller, buyer, sType, sSubType, sQ, bType, bSubType, bQ from t_queue where type=1 and (seller=".$id." or buyer=".$id.") order by dueTime asc";
$result=mysql_query($query, $db_id);
for (; $offer=mysql_fetch_row($result); )
if ($offer[0][0]=="-")
{
$seller=town($offer[1]);
$buyer=town($offer[2]);
if ($offer[6]) {$scol="weapons"; $sdata=explode("-", $seller[6]);} else {$scol="resources"; $sdata=explode("-", $seller[10]);}
if ($offer[3]) {$bcol="weapons"; $bdata=explode("-", $buyer[6]);} else {$bcol="resources"; $bdata=explode("-", $buyer[10]);}
$sdata[$offer[7]]+=$offer[8]; $bdata[$offer[4]]+=$offer[5];
$sdata=implode("-", $sdata); $bdata=implode("-", $bdata);
$query="update towns set ".$scol."='".$sdata."' where id=".$seller[0];
mysql_query($query, $db_id);
$query="update towns set ".$bcol."='".$bdata."' where id=".$buyer[0];
mysql_query($query, $db_id);
$query="delete from t_queue where seller=".$offer[1]." and sType=".$offer[3]." and sSubType=".$offer[4]." and bType=".$offer[6]." and bSubType=".$offer[7];
mysql_query($query, $db_id);
}
}
function check_d_all()
{
global $db_id;
$query="select timediff(dueTime, now()), user from d_queue";
$result=mysql_query($query, $db_id); $d_list=array(); $d=0;
for ($i=0; $row=mysql_fetch_row($result); $i++)
{
$d_list[$i]=$row;
if ($row[0][0]=="-") if (!check_d($row[1])) $d++;
}
msg($d." users deleted. ".(count($d_list)-$d)." accounts not due.");
}
function get_d($id)
{
global $db_id;
$query="select timediff(dueTime, now()) from d_queue where user=".$id;
$result=mysql_query($query, $db_id);
$row=mysql_fetch_row($result);
return $row[0];
}
function get_con($id)
{
global $db_id;
$query="select b from c_queue where town=".$id;
$result=mysql_query($query, $db_id);
$b=array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
for ($i=0; $row=mysql_fetch_row($result); $i++) $b[$row[0]]=1;
return $b;
}
function get_wea($id)
{
global $db_id;
$query="select type from w_queue where town=".$id;
$result=mysql_query($query, $db_id);
$w=array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
for ($i=0; $row=mysql_fetch_row($result); $i++) $w[$row[0]]=1;
return $w;
}
function get_uup($id)
{
global $db_id;
$query="select unit from uup_queue where town=".$id;
$result=mysql_query($query, $db_id);
$u=array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
for ($i=0; $row=mysql_fetch_row($result); $i++) $u[$row[0]]=1;
return $u;
}
function get_uns($id)
{
global $db_id;
$query="select type from u_queue where town=".$id;
$result=mysql_query($query, $db_id);
$u=array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
for ($i=0; $row=mysql_fetch_row($result); $i++) $u[$row[0]]=1;
return $u;
}
function get_tr($id)
{
global $db_id;
$merchants=0;
$query="select sType, sQ from t_queue where seller=".$id;
$result=mysql_query($query, $db_id);
for (; $row=mysql_fetch_row($result); )
if ($row[0]) $merchants+=ceil($row[1]/50); else $merchants+=ceil($row[1]/500);
$query="select bType, bQ from t_queue where buyer=".$id;
$result=mysql_query($query, $db_id);
for (; $row=mysql_fetch_row($result); )
if ($row[0]) $merchants+=ceil($row[1]/50); else $merchants+=ceil($row[1]/500);
return $merchants;
}
function get_t($id)
{
global $db_id, $tdif;
$tq=array();
$query="select sType, sSubType, sQ, bType, bSubType, bQ from t_queue where seller=".$id." and type=0";
$result=mysql_query($query, $db_id);
for ($i=0; $tq[0][$i]=mysql_fetch_row($result); $i++) ;
$query="select bType, bSubType, bQ, buyer, timediff(dueTime".$tdif.", now()), sType, sSubType, sQ from t_queue where seller=".$id." and type=1";
$result=mysql_query($query, $db_id);
for ($i=0; $tq[1][$i]=mysql_fetch_row($result); $i++) ;
$query="select sType, sSubType, sQ, seller, timediff(dueTime".$tdif.", now()), bType, bSubType, bQ from t_queue where buyer=".$id." and type=1";
$result=mysql_query($query, $db_id);
for ($i=0; $tq[2][$i]=mysql_fetch_row($result); $i++) ;
return $tq;
}
function get_w($id)
{
global $db_id, $tdif;
$query="select timediff(dueTime".$tdif.", now()), type, quantity from w_queue where town=".$id." order by dueTime asc";
$result=mysql_query($query, $db_id); $wq=array();
for ($i=0; $row=mysql_fetch_row($result); $i++) $wq[$i]=$row;
return $wq;
}
function get_u($id)
{
global $db_id, $tdif;
$query="select timediff(dueTime".$tdif.", now()), type, quantity from u_queue where town=".$id." order by dueTime asc";
$result=mysql_query($query, $db_id); $uq=array();
for ($i=0; $row=mysql_fetch_row($result); $i++) $uq[$i]=$row;
return $uq;
}
function get_a($id)
{
global $db_id, $tdif;
$query="select timediff(dueTime".$tdif.", now()), target, type, army, general, id from a_queue where town=".$id." and phase=0 order by dueTime asc";
$result=mysql_query($query, $db_id); $aq=array();
for ($i=0; $row=mysql_fetch_row($result); $i++) $aq[$i]=$row;
return $aq;
}
function get_ia($id)
{
global $db_id, $tdif;
$query="select timediff(dueTime".$tdif.", now()), town, target, type, phase from a_queue where (target=".$id." and phase=0) or (town=".$id." and phase=1) order by dueTime asc";
$result=mysql_query($query, $db_id); $iaq=array();
for ($i=0; $row=mysql_fetch_row($result); $i++) $iaq[$i]=$row;
return $iaq;
}
function get_up($id)
{
global $db_id, $tdif;
$query="select timediff(dueTime".$tdif.", now()), unit, tree from uup_queue where town=".$id." order by dueTime asc";
$result=mysql_query($query, $db_id); $upq=array();
for ($i=0; $row=mysql_fetch_row($result); $i++) $upq[$i]=$row;
return $upq;
}
function get_c($id)
{
global $db_id, $tdif;
$query="select timediff(dueTime".$tdif.", now()), b, subB from c_queue where town=".$id." order by dueTime asc";
$result=mysql_query($query, $db_id); $cq=array();
for ($i=0; $row=mysql_fetch_row($result); $i++) $cq[$i]=$row;
return $cq;
}
function get_pact($a1, $a2)
{
global $db_id;
$query="select type from pacts where (a1=".$a1." and a2=".$a2.") or (a1=".$a2." and a2=".$a1.")";
$result=mysql_query($query, $db_id);
$row=mysql_fetch_row($result);
return $row[0];
}
function cancel_d($id)
{
global $db_id;
$query="delete from d_queue where user=".$id;
$result=mysql_query($query, $db_id);
if ($result) msg("Delete request withdrawn.");
else msg("Failed.".mysql_error());
}
function cancel_c($id, $b, $subB, $res, $faction)
{
global $db_id;
$town=town($id);
$buildings=buildings($faction);
$data=explode("-", $town[8]); $land=explode("/", $town[13]); $upk=explode("-", $buildings[$b][7]);
$land[0]=explode("-", $land[0]); $land[1]=explode("-", $land[1]); $land[2]=explode("-", $land[2]); $land[3]=explode("-", $land[3]);
if ($subB==-1) $pop=$town[3]-$upk[$data[$b]];
else $pop=$town[3]-$upk[$land[$b][$subB]];
$query="update towns set resources='".$res."', population=".$pop." where id=".$id;
$result=mysql_query($query, $db_id);
$query="delete from c_queue where town=".$id." and b=".$b;
$result=mysql_query($query, $db_id);
if ($result) header("Location: town.php?town=".$id);
else msg("Failed.".mysql_error());
}
function cancel_a($id, $tid, $army, $gen)
{
global $db_id;
$army=explode("-", $army);
$query="update towns set army='".implode("-", $army)."', upkeep=".array_sum($army).", general='".$gen."' where id=".$id;
$result=mysql_query($query, $db_id);
$query="delete from a_queue where town=".$id." and id=".$tid;
$result=mysql_query($query, $db_id);
if ($result) header("Location: dispatch.php?town=".$id);
else msg("Failed."