TravianZ
TravianZ copied to clipboard
[bug] 40 million troop & rats
Is still present.
There are 40 million troop & rats in the Village & Oasis . please Help to me.
Same problem , and i dont know from where comes that problem. It
s happend only as reinforcement ....
yi12345 any solution ?
My English is no good. ^^;;
My opinion. So, The source added in session.php Code activity is good as below.
However, i thanks the code is no good. So, I thinks, Code shall be improved.
//attack troop mysql_query("UPDATE " . TB_PREFIX . "attacks SET t1 = '0' WHERE t1>40000000"); mysql_query("UPDATE " . TB_PREFIX . "attacks SET t2 = '0' WHERE t2>40000000"); mysql_query("UPDATE " . TB_PREFIX . "attacks SET t3 = '0' WHERE t3>40000000"); mysql_query("UPDATE " . TB_PREFIX . "attacks SET t4 = '0' WHERE t4>40000000"); mysql_query("UPDATE " . TB_PREFIX . "attacks SET t5 = '0' WHERE t5>40000000"); mysql_query("UPDATE " . TB_PREFIX . "attacks SET t6 = '0' WHERE t6>40000000"); mysql_query("UPDATE " . TB_PREFIX . "attacks SET t7 = '0' WHERE t7>40000000"); mysql_query("UPDATE " . TB_PREFIX . "attacks SET t8 = '0' WHERE t8>40000000"); mysql_query("UPDATE " . TB_PREFIX . "attacks SET t9 = '0' WHERE t9>3"); mysql_query("UPDATE " . TB_PREFIX . "attacks SET t10 = '0' WHERE t10>9"); mysql_query("UPDATE " . TB_PREFIX . "attacks SET t11 = '0' WHERE t11>1");
//village and oasis troop mysql_query("UPDATE " . TB_PREFIX . "units SET u1 = '0' WHERE u1>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u2 = '0' WHERE u2>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u3 = '0' WHERE u3>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u4 = '0' WHERE u4>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u5 = '0' WHERE u5>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u6 = '0' WHERE u6>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u7 = '0' WHERE u7>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u8 = '0' WHERE u8>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u9 = '0' WHERE u9>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u10 = '0' WHERE u10>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u11 = '0' WHERE u11>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u12 = '0' WHERE u12>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u13 = '0' WHERE u13>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u14 = '0' WHERE u14>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u15 = '0' WHERE u15>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u16 = '0' WHERE u16>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u17 = '0' WHERE u17>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u18 = '0' WHERE u18>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u19 = '0' WHERE u19>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u20 = '0' WHERE u20>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u21 = '0' WHERE u21>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u22 = '0' WHERE u22>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u23 = '0' WHERE u23>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u24 = '0' WHERE u24>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u25 = '0' WHERE u25>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u26 = '0' WHERE u26>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u27 = '0' WHERE u27>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u28 = '0' WHERE u28>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u29 = '0' WHERE u29>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u30 = '0' WHERE u30>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u31 = '30' WHERE u31>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u32 = '0' WHERE u32>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u33 = '0' WHERE u33>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u34 = '0' WHERE u34>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u35 = '0' WHERE u35>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u36 = '0' WHERE u36>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u37 = '0' WHERE u37>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u38 = '0' WHERE u38>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u39 = '0' WHERE u39>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET u40 = '0' WHERE u40>40000000"); mysql_query("UPDATE " . TB_PREFIX . "units SET hero = '1' WHERE hero>1"); //1 hero more then
//training troop mysql_query("UPDATE " . TB_PREFIX . "training SET amt = '1' WHERE amt>4000000");
//rainf. mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u1 = '0' WHERE u1>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u2 = '0' WHERE u2>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u3 = '0' WHERE u3>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u4 = '0' WHERE u4>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u5 = '0' WHERE u5>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u6 = '0' WHERE u6>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u7 = '0' WHERE u7>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u8 = '0' WHERE u8>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u9 = '0' WHERE u9>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u10 = '0' WHERE u10>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u11 = '0' WHERE u11>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u12 = '0' WHERE u12>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u13 = '0' WHERE u13>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u14 = '0' WHERE u14>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u15 = '0' WHERE u15>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u16 = '0' WHERE u16>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u17 = '0' WHERE u17>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u18 = '0' WHERE u18>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u19 = '0' WHERE u19>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u20 = '0' WHERE u20>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u21 = '0' WHERE u21>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u22 = '0' WHERE u22>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u23 = '0' WHERE u23>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u24 = '0' WHERE u24>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u25 = '0' WHERE u25>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u26 = '0' WHERE u26>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u27 = '0' WHERE u27>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u28 = '0' WHERE u28>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u29 = '0' WHERE u29>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u30 = '0' WHERE u30>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u31 = '1' WHERE u31>40000000"); //when rainf. rats 40000000 mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u31 = '1' WHERE u31=2"); // mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u32 = '0' WHERE u32>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u33 = '0' WHERE u33>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u34 = '0' WHERE u34>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u35 = '0' WHERE u35>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u36 = '0' WHERE u36>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u37 = '0' WHERE u37>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u38 = '0' WHERE u38>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u39 = '0' WHERE u39>40000000"); mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u40 = '0' WHERE u40>40000000");
mysql_query("UPDATE " . TB_PREFIX . "enforcement SET u9 = '0', u19 = '0', u29 = '0' WHERE u10>9 or u20>9 or u30>9 ");
mysql_query("UPDATE " . TB_PREFIX . "a2b SET u1 = '0' WHERE u1>40000000"); mysql_query("UPDATE " . TB_PREFIX . "a2b SET u2 = '0' WHERE u2>40000000"); mysql_query("UPDATE " . TB_PREFIX . "a2b SET u3 = '0' WHERE u3>40000000"); mysql_query("UPDATE " . TB_PREFIX . "a2b SET u4 = '0' WHERE u4>40000000"); mysql_query("UPDATE " . TB_PREFIX . "a2b SET u5 = '0' WHERE u5>40000000"); mysql_query("UPDATE " . TB_PREFIX . "a2b SET u6 = '0' WHERE u6>40000000"); mysql_query("UPDATE " . TB_PREFIX . "a2b SET u7 = '0' WHERE u7>40000000"); mysql_query("UPDATE " . TB_PREFIX . "a2b SET u8 = '0' WHERE u8>40000000"); mysql_query("UPDATE " . TB_PREFIX . "a2b SET u9 = '0' WHERE u9>40000000"); mysql_query("UPDATE " . TB_PREFIX . "a2b SET u10 = '0' WHERE u10>40000000"); mysql_query("UPDATE " . TB_PREFIX . "a2b SET u11 = '0' WHERE u11>40000000");
Hmmm , must be some ifs :) this code check every time and make a lot of queris. Maybe you can put some ifs.
Some limitation to checks ony if appers > 40 milion troops. Or maybe we can start to find from where is that error. Because i notice after 1 - 2 days that troops dissapear...
Let's Effort all together.
Action too much in the session.php So, This code changed in dorf1.php ^^
I know what change the code , change every time you logged in. But is too much queries. We must to find the error from where appers that troops adding
Sometimes I saw this problem when training troops, in database that's 30-40 millions are the maximun value of variable integer. ex. reinforcement database variable is int(11) trainig: variable amt is int(11)
I know something if wrong when calling funtions who modify that values.
@yi12345 :
Battle image : http://imageshack.us/a/img593/5049/766i.jpg
After battle : http://imageshack.us/a/img690/8585/60xb.jpg
This is the BIG BIG bug !
SQL database : http://img24.imageshack.us/img24/6879/4ewt.jpg
Image Can't open. page is error. Maybe my internet speed is low. But, Dropbox can be see.
Try again , it is a dirrect link
The BIG problem is no one know from where comes that error
we have to detect how ocurred the bug
when attacking, troop appear like an incomming reinforcement? or is added instantaneusly to the village? occurred when attacking with specific kind of troops ? it happen always or sometimes ? it happen when attacking with normal o raid ?
Saludos, Juan Danilo
"Todos el 12 de Septiembre con una Cinta Amarilla" FIN A LA INJUSTICIA, LIBERENLOS YA!! http://www.antiterroristas.cu http://justiciaparaloscinco.wordpress.com
Instant to village. Not count what troops from attack. It`s happend sometimes , only when server have more players not a simple test server. When attack is normal
My opinion. How about you, as below.
find code in db_MYSQL.php
function addA2b($ckey, $timestamp, $to, $t1, $t2, $t3, $t4, $t5, $t6, $t7, $t8, $t9, $t10, $t11, $type) { $q = "INSERT INTO " . TB_PREFIX . "a2b (ckey,time_check,to_vid,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,type) VALUES ('$ckey', '$timestamp', '$to', '$t1', '$t2', '$t3', '$t4', '$t5', '$t6', '$t7', '$t8', '$t9', '$t10', '$t11', '$type')"; mysql_query($q, $this->connection); return mysql_insert_id($this->connection); }
Replace code
function addA2b($ckey, $timestamp, $to, $t1, $t2, $t3, $t4, $t5, $t6, $t7, $t8, $t9, $t10, $t11, $type) { if ($t1+ $t2+ $t3+ $t4+ $t5+ $t6+ $t7+ $t8+ $t9+ $t10+ $t11 >= 40000000){ mysql_query($q, $this->connection); }else { $q = "INSERT INTO " . TB_PREFIX . "a2b (ckey,time_check,to_vid,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,type) VALUES ('$ckey', '$timestamp', '$to', '$t1', '$t2', '$t3', '$t4', '$t5', '$t6', '$t7', '$t8', '$t9', '$t10', '$t11', '$type')"; mysql_query($q, $this->connection); return mysql_insert_id($this->connection); } }
For me, it happen sometimes.... it happen attacking with Reinforcement, Raid....
normal: When attacker and the defender's battle happened, The number of units increases.