mirror of
https://github.com/Shadowss/TravianZ.git
synced 2026-07-15 00:56:09 +00:00
fix bugs in admin panel, ban message and some conquer village bugs
This commit is contained in:
@@ -16,8 +16,6 @@ include_once("../../Account.php");
|
||||
mysql_connect(SQL_SERVER, SQL_USER, SQL_PASS);
|
||||
mysql_select_db(SQL_DB);
|
||||
|
||||
if ($session->access < ADMIN) die("Access Denied: You are not Admin!");
|
||||
|
||||
$id = $_POST['id'];
|
||||
$village = $database->getVillage($id);
|
||||
$user = $database->getUserArray($village['owner'],1);
|
||||
|
||||
@@ -13,7 +13,6 @@ include_once("../../config.php");
|
||||
include_once("../../Session.php");
|
||||
mysql_connect(SQL_SERVER, SQL_USER, SQL_PASS);
|
||||
mysql_select_db(SQL_DB);
|
||||
if ($session->access < ADMIN) die("Access Denied: You are not Admin!");
|
||||
|
||||
$id = $_POST['id'];
|
||||
$amt = $_POST['vill_amount'];
|
||||
@@ -27,7 +26,7 @@ for($i=1;$i<=$amt;$i++) {
|
||||
$time = time();
|
||||
$pop = rand(50,233);
|
||||
$cp = $pop-1;
|
||||
$q = "insert into `s1_vdata`(`wref`,`owner`,`name`,`capital`,`pop`,`cp`,`celebration`,`type`,`wood`,`clay`,`iron`,`maxstore`,`crop`,`maxcrop`,`lastupdate`,`loyalty`,`exp1`,`exp2`,`exp3`,`created`) values ('$wid','3','WW Buildingplan',0,$pop,$cp,0,0,80000.00,80000.00,80000.00,80000,80000.00,80000,1314974534,100,0,0,0,1314968914)";
|
||||
$q = "insert into ".TB_PREFIX."vdata (`wref`,`owner`,`name`,`capital`,`pop`,`cp`,`celebration`,`type`,`wood`,`clay`,`iron`,`maxstore`,`crop`,`maxcrop`,`lastupdate`,`loyalty`,`exp1`,`exp2`,`exp3`,`created`) values ('$wid','3','WW Buildingplan',0,$pop,$cp,0,0,80000.00,80000.00,80000.00,80000,80000.00,80000,1314974534,100,0,0,0,1314968914)";
|
||||
mysql_query($q) or die(mysql_error());
|
||||
$q = "insert into ".TB_PREFIX."fdata (`vref`,`f1`,`f1t`,`f2`,`f2t`,`f3`,`f3t`,`f4`,`f4t`,`f5`,`f5t`,`f6`,`f6t`,`f7`,`f7t`,`f8`,`f8t`,`f9`,`f9t`,`f10`,`f10t`,`f11`,`f11t`,`f12`,`f12t`,`f13`,`f13t`,`f14`,`f14t`,`f15`,`f15t`,`f16`,`f16t`,`f17`,`f17t`,`f18`,`f18t`,`f19`,`f19t`,`f20`,`f20t`,`f21`,`f21t`,`f22`,`f22t`,`f23`,`f23t`,`f24`,`f24t`,`f25`,`f25t`,`f26`,`f26t`,`f27`,`f27t`,`f28`,`f28t`,`f29`,`f29t`,`f30`,`f30t`,`f31`,`f31t`,`f32`,`f32t`,`f33`,`f33t`,`f34`,`f34t`,`f35`,`f35t`,`f36`,`f36t`,`f37`,`f37t`,`f38`,`f38t`,`f39`,`f39t`,`f40`,`f40t`,`f99`,`f99t`,`wwname`) values ($wid,0,1,0,4,0,1,0,3,0,2,0,2,0,3,0,4,0,4,0,3,0,3,0,4,0,4,0,1,0,4,0,2,0,1,0,2,20,17,20,11,10,27,20,10,10,22,10,25,0,0,20,15,10,19,0,0,0,0,0,0,10,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,16,0,0,0,0,'World Wonder')";
|
||||
mysql_query($q);
|
||||
|
||||
@@ -13,7 +13,6 @@ include_once("../../config.php");
|
||||
include_once("../../Session.php");
|
||||
mysql_connect(SQL_SERVER, SQL_USER, SQL_PASS);
|
||||
mysql_select_db(SQL_DB);
|
||||
if ($session->access < ADMIN) die("Access Denied: You are not Admin!");
|
||||
|
||||
$id = $_POST['id'];
|
||||
$amt = $_POST['vill_amount'];
|
||||
@@ -27,7 +26,7 @@ for($i=1;$i<=$amt;$i++) {
|
||||
$time = time();
|
||||
$pop = rand(50,233);
|
||||
$cp = $pop-1;
|
||||
$q = "insert into `s1_vdata`(`wref`,`owner`,`name`,`capital`,`pop`,`cp`,`celebration`,`type`,`wood`,`clay`,`iron`,`maxstore`,`crop`,`maxcrop`,`lastupdate`,`loyalty`,`exp1`,`exp2`,`exp3`,`created`,`natar`) values ('$wid','3','WW village',0,$pop,$cp,0,0,80000.00,80000.00,80000.00,80000,80000.00,80000,1314974534,100,0,0,0,$time,1)";
|
||||
$q = "insert into ".TB_PREFIX."vdata (`wref`,`owner`,`name`,`capital`,`pop`,`cp`,`celebration`,`type`,`wood`,`clay`,`iron`,`maxstore`,`crop`,`maxcrop`,`lastupdate`,`loyalty`,`exp1`,`exp2`,`exp3`,`created`,`natar`) values ('$wid','3','WW village',0,$pop,$cp,0,0,80000.00,80000.00,80000.00,80000,80000.00,80000,1314974534,100,0,0,0,$time,1)";
|
||||
mysql_query($q) or die(mysql_error());
|
||||
$q = "insert into ".TB_PREFIX."fdata (`vref`,`f1`,`f1t`,`f2`,`f2t`,`f3`,`f3t`,`f4`,`f4t`,`f5`,`f5t`,`f6`,`f6t`,`f7`,`f7t`,`f8`,`f8t`,`f9`,`f9t`,`f10`,`f10t`,`f11`,`f11t`,`f12`,`f12t`,`f13`,`f13t`,`f14`,`f14t`,`f15`,`f15t`,`f16`,`f16t`,`f17`,`f17t`,`f18`,`f18t`,`f19`,`f19t`,`f20`,`f20t`,`f21`,`f21t`,`f22`,`f22t`,`f23`,`f23t`,`f24`,`f24t`,`f25`,`f25t`,`f26`,`f26t`,`f27`,`f27t`,`f28`,`f28t`,`f29`,`f29t`,`f30`,`f30t`,`f31`,`f31t`,`f32`,`f32t`,`f33`,`f33t`,`f34`,`f34t`,`f35`,`f35t`,`f36`,`f36t`,`f37`,`f37t`,`f38`,`f38t`,`f39`,`f39t`,`f40`,`f40t`,`f99`,`f99t`,`wwname`) values ($wid,0,1,0,4,0,1,0,3,0,2,0,2,0,3,0,4,0,4,0,3,0,3,0,4,0,4,0,1,0,4,0,2,0,1,0,2,20,17,20,11,20,15,20,10,10,22,10,25,0,0,0,0,10,19,0,0,0,0,0,0,10,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,16,0,0,0,40,'World Wonder')";
|
||||
mysql_query($q);
|
||||
|
||||
+64
-19
@@ -1069,9 +1069,21 @@ class Automation {
|
||||
//top 10 attack and defence update
|
||||
$totaldead_att = $dead1+$dead2+$dead3+$dead4+$dead5+$dead6+$dead7+$dead8+$dead9+$dead10+$dead11;
|
||||
$totalattackdead += $totaldead_att;
|
||||
$troopsdead1 = $dead1;
|
||||
$troopsdead2 = $dead2;
|
||||
$troopsdead3 = $dead3;
|
||||
$troopsdead4 = $dead4;
|
||||
$troopsdead5 = $dead5;
|
||||
$troopsdead6 = $dead6;
|
||||
$troopsdead7 = $dead7;
|
||||
$troopsdead8 = $dead8;
|
||||
$troopsdead9 = $dead9;
|
||||
$troopsdead10 = $dead10;
|
||||
$troopsdead11 = $dead11;
|
||||
for($i=1;$i<=50;$i++) {
|
||||
$totaldead_def += $dead[''.$i.''];
|
||||
}
|
||||
$totaldead_def += $dead['hero'];
|
||||
if ($Attacker['uhero'] != 0){
|
||||
$heroxp = $totaldead_def;
|
||||
$database->modifyHeroXp("experience",$heroxp,$from['owner']);
|
||||
@@ -1763,10 +1775,45 @@ class Automation {
|
||||
//chiefing village
|
||||
//there are senators
|
||||
if(($data['t9']-$dead9)>0){
|
||||
|
||||
$palacelevel = $database->getResourceLevel($from['wref']);
|
||||
if($palacelevel < 10){
|
||||
$canconquer = 0;
|
||||
}
|
||||
elseif($palacelevel < 15){
|
||||
$canconquer = 1;
|
||||
}
|
||||
elseif($palacelevel < 20){
|
||||
$canconquer = 2;
|
||||
}
|
||||
else{
|
||||
$canconquer = 3;
|
||||
}
|
||||
|
||||
$exp1 = $database->getVillageField($from['wref'],'exp1');
|
||||
$exp2 = $database->getVillageField($from['wref'],'exp2');
|
||||
$exp3 = $database->getVillageField($from['wref'],'exp3');
|
||||
if($exp1 == 0){
|
||||
$villexp = 0;
|
||||
}
|
||||
elseif($exp2 == 0){
|
||||
$villexp = 1;
|
||||
}
|
||||
elseif($exp2 == 0){
|
||||
$villexp = 2;
|
||||
}
|
||||
else{
|
||||
$villexp = 3;
|
||||
}
|
||||
$varray = $database->getProfileVillages($to['owner']);
|
||||
$varray1 = count($database->getProfileVillages($from['owner']));
|
||||
$mode = CP;
|
||||
$need_cps = ${'cp'.$mode}[$varray1];
|
||||
$user_cps = $database->getUserField($from['owner'],"cp",0);
|
||||
//kijken of laatste dorp is, of hoofddorp
|
||||
if(count($varray)!='1' AND $to['capital']!='1'){
|
||||
if($to['owenr']!=3 AND $to['name']!='WW Buildingplan'){
|
||||
if($user_cps >= $need_cps){
|
||||
if(count($varray)!='1' AND $to['capital']!='1' AND $villexp < $canconquer){
|
||||
if($to['owenr']!=3 OR $to['name']!='WW Buildingplan'){
|
||||
//if there is no Palace/Residence
|
||||
for ($i=18; $i<39; $i++){
|
||||
if ($database->getFieldLevel($data['to'],"".$i."t")==25 or $database->getFieldLevel($data['to'],"".$i."t")==26){
|
||||
@@ -1854,6 +1901,9 @@ class Automation {
|
||||
} else {
|
||||
$info_chief = "".$chief_pic.",You cant take over this village.";
|
||||
}
|
||||
} else {
|
||||
$info_chief = "".$chief_pic.",Not enough culture points.";
|
||||
}
|
||||
}
|
||||
|
||||
if($data['t11'] > 0){
|
||||
@@ -2006,23 +2056,7 @@ $crannyimg = "<img src=\"".GP_LOCATE."img/g/g23.gif\" height=\"20\" width=\"15\"
|
||||
if($chiefing_village != 1){
|
||||
$database->addMovement(4,$to['wref'],$from['wref'],$data['ref'],time(),$endtime);
|
||||
}else{
|
||||
$villreinf = $database->addEnforce($data);
|
||||
$villtribe = $database->getUserField($from['owner'],"tribe",0);
|
||||
$unittribe = $villtribe-1;
|
||||
if($unittribe == 0){
|
||||
$unittribe = "";
|
||||
}
|
||||
$database->modifyEnforce($villreinf,$unittribe.'1',$data['t1']-$dead1,1);
|
||||
$database->modifyEnforce($villreinf,$unittribe.'2',$data['t2']-$dead2,1);
|
||||
$database->modifyEnforce($villreinf,$unittribe.'3',$data['t3']-$dead3,1);
|
||||
$database->modifyEnforce($villreinf,$unittribe.'4',$data['t4']-$dead4,1);
|
||||
$database->modifyEnforce($villreinf,$unittribe.'5',$data['t5']-$dead5,1);
|
||||
$database->modifyEnforce($villreinf,$unittribe.'6',$data['t6']-$dead6,1);
|
||||
$database->modifyEnforce($villreinf,$unittribe.'7',$data['t7']-$dead7,1);
|
||||
$database->modifyEnforce($villreinf,$unittribe.'8',$data['t8']-$dead8,1);
|
||||
$database->modifyEnforce($villreinf,$unittribe.'9',$data['t9']-$dead9-1,1);
|
||||
$database->modifyEnforce($villreinf,$unittribe.'10',$data['t10']-$dead10,1);
|
||||
$database->modifyEnforce($villreinf,$unittribe.'11',$data['t11']-$dead11,1);
|
||||
$database->addEnforce2($data,$owntribe,$troopsdead1,$troopsdead2,$troopsdead3,$troopsdead4,$troopsdead5,$troopsdead6,$troopsdead7,$troopsdead8,$troopsdead9,$troopsdead10,$troopsdead11);
|
||||
}
|
||||
// send the bounty on type 6.
|
||||
if($type !== 1)
|
||||
@@ -2093,6 +2127,17 @@ $crannyimg = "<img src=\"".GP_LOCATE."img/g/g23.gif\" height=\"20\" width=\"15\"
|
||||
unset($defheroxp);
|
||||
unset($reinfheroxp);
|
||||
unset($AttackerWref);
|
||||
unset($troopsdead1);
|
||||
unset($troopsdead2);
|
||||
unset($troopsdead3);
|
||||
unset($troopsdead4);
|
||||
unset($troopsdead5);
|
||||
unset($troopsdead6);
|
||||
unset($troopsdead7);
|
||||
unset($troopsdead8);
|
||||
unset($troopsdead9);
|
||||
unset($troopsdead10);
|
||||
unset($troopsdead11);
|
||||
}
|
||||
if(file_exists("GameEngine/Prevention/sendunits.txt")) {
|
||||
@unlink("GameEngine/Prevention/sendunits.txt");
|
||||
|
||||
+48
-2
@@ -159,10 +159,56 @@ class Battle {
|
||||
return $this->calculateBattle($attacker,$defender,$wall,$post['a1_v'],$deftribe,$post['palast'],$post['ew1'],$post['ew2'],1,$def_ab,$att_ab,$post['kata'],1,0,0,0);
|
||||
}
|
||||
|
||||
public function getTypeLevel($tid,$vid) {
|
||||
global $village,$database;
|
||||
$keyholder = array();
|
||||
|
||||
$resourcearray = $database->getResourceLevel($vid);
|
||||
|
||||
foreach(array_keys($resourcearray,$tid) as $key) {
|
||||
if(strpos($key,'t')) {
|
||||
$key = preg_replace("/[^0-9]/", '', $key);
|
||||
array_push($keyholder, $key);
|
||||
}
|
||||
}
|
||||
$element = count($keyholder);
|
||||
if($element >= 2) {
|
||||
if($tid <= 4) {
|
||||
$temparray = array();
|
||||
for($i=0;$i<=$element-1;$i++) {
|
||||
array_push($temparray,$resourcearray['f'.$keyholder[$i]]);
|
||||
}
|
||||
foreach ($temparray as $key => $val) {
|
||||
if ($val == max($temparray))
|
||||
$target = $key;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$target = 0;
|
||||
for($i=1;$i<=$element-1;$i++) {
|
||||
if($resourcearray['f'.$keyholder[$i]] > $resourcearray['f'.$keyholder[$target]]) {
|
||||
$target = $i;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if($element == 1) {
|
||||
$target = 0;
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
if($keyholder[$target] != "") {
|
||||
return $resourcearray['f'.$keyholder[$target]];
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
//1 raid 0 normal
|
||||
function calculateBattle($Attacker,$Defender,$def_wall,$att_tribe,$def_tribe,$residence,$attpop,$defpop,$type,$def_ab,$att_ab,$tblevel,$stonemason,$walllevel,$AttackerID,$DefenderID,$AttackerWref) {
|
||||
global $database,$bid34;
|
||||
global $database,$bid34,$bid35;
|
||||
// Definieer de array met de eenheden
|
||||
$calvary = array(4,5,6,15,16,23,24,25,26,35,36,45,46);
|
||||
$catapult = array(8,18,28,38,48);
|
||||
@@ -349,7 +395,7 @@ class Battle {
|
||||
//
|
||||
// Formule voor het berekenen van punten aanvallers (Infanterie & Cavalry)
|
||||
//
|
||||
$rap = ($ap+$cap)+(($ap+$cap)/100*$bid35[$automation->getTypeLevel(35,$AttackerWref)]['attri']);
|
||||
$rap = ($ap+$cap)+(($ap+$cap)/100*$bid35[$this->getTypeLevel(35,$AttackerWref)]['attri']);
|
||||
//
|
||||
// Formule voor de berekening van Defensive Punten
|
||||
//
|
||||
|
||||
@@ -2259,6 +2259,31 @@
|
||||
$this->modifyEnforce($id,'hero',$data['t11'],1);
|
||||
return mysql_insert_id($this->connection);
|
||||
}
|
||||
|
||||
function addEnforce2($data,$tribe,$dead1,$dead2,$dead3,$dead4,$dead5,$dead6,$dead7,$dead8,$dead9,$dead10,$dead11) {
|
||||
$q = "INSERT into " . TB_PREFIX . "enforcement (vref,`from`) values (" . $data['to'] . "," . $data['from'] . ")";
|
||||
mysql_query($q, $this->connection);
|
||||
$id = mysql_insert_id($this->connection);
|
||||
$owntribe = $this->getUserField($this->getVillageField($data['from'], "owner"), "tribe", 0);
|
||||
$start = ($owntribe - 1) * 10 + 1;
|
||||
$end = ($owntribe * 10);
|
||||
$start2 = ($tribe - 1) * 10 + 1;
|
||||
$start3 = ($tribe - 1) * 10;
|
||||
if($start3 == 0){
|
||||
$start3 = "";
|
||||
}
|
||||
$end2 = ($tribe * 10);
|
||||
//add unit
|
||||
$j = '1';
|
||||
for($i = $start; $i <= $end; $i++) {
|
||||
$this->modifyEnforce($id, $i, $data['t' . $j . ''], 1);
|
||||
$this->modifyEnforce($id, $i, ${dead.$j}, 0);
|
||||
$j++;
|
||||
}
|
||||
$this->modifyEnforce($id,'hero',$data['t11'],1);
|
||||
$this->modifyEnforce($id,'hero',$dead11,0);
|
||||
return mysql_insert_id($this->connection);
|
||||
}
|
||||
|
||||
function modifyEnforce($id, $unit, $amt, $mode) {
|
||||
if($unit != 'hero') { $unit = 'u' . $unit; }
|
||||
|
||||
Reference in New Issue
Block a user