NEW TRIBES ENHANCEMENT (Huns, Egipteans, Spartans & Vikings) #327
NEW TRIBES ENHANCEMENT (Huns, Egipteans, Spartans & Vikings) #327 Please be advised, is not fully tested so if you activate on install maybe is not fully working
@@ -27,7 +27,7 @@ if(isset($id)){
|
||||
$units = $database->getUnit($village['wref']);
|
||||
$coor = $database->getCoor($village['wref']);
|
||||
$tribe = $user['tribe'];
|
||||
if($tribe ==1){ $img = 0;} if($tribe ==2){ $img = 10;} if($tribe ==3){ $img = 20;} if($tribe ==4){ $img = 30;} if($tribe ==5){ $img = 40;} if($tribe ==6){ $img = 50;}
|
||||
$img = ($tribe >= 1 && $tribe <= 9) ? ($tribe - 1) * 10 : 0;
|
||||
include("search2.tpl");
|
||||
?>
|
||||
<style>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
## Copyright : TravianZ (c) 2010-2025. All rights reserved. ##
|
||||
## --------------------------------------------------------------------------- ##
|
||||
#################################################################################
|
||||
$unarray = [1=>U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U99,U0];
|
||||
$unarray = [1=>U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55,U56,U57,U58,U59,U60,U61,U62,U63,U64,U65,U66,U67,U68,U69,U70,U71,U72,U73,U74,U75,U76,U77,U78,U79,U80,U81,U82,U83,U84,U85,U86,U87,U88,U89,U90,U99,U0];
|
||||
if (empty($_SESSION['access']) || $_SESSION['access'] < 9) {
|
||||
die(defined('ACCESS_DENIED_ADMIN') ? ACCESS_DENIED_ADMIN : 'Access Denied: You are not Admin!');
|
||||
}
|
||||
|
||||
@@ -105,6 +105,10 @@ $editIcon = '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke=
|
||||
<tr><td>New Alliance & Embassy Mechanics <em class="tooltip">?<span class="classic">https://github.com/Shadowss/TravianZ/wiki/New-Alliance-&-Embassy-Mechanics</span></em></td><td><?php echo NEW_FUNCTIONS_EMBASSY_MECHANICS ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
|
||||
<tr><td>New forum post message <em class="tooltip">?<span class="classic">Enable (Disable) forum subscription messages</span></em></td><td><?php echo NEW_FUNCTIONS_FORUM_POST_MESSAGE ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
|
||||
<tr><td>Tribes images in profile <em class="tooltip">?<span class="classic">Enable (Disable) displaying images of tribes</span></em></td><td><?php echo NEW_FUNCTIONS_TRIBE_IMAGES ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
|
||||
<tr><td>New Tribe: Huns <em class="tooltip">?<span class="classic">Enable (Disable) the Huns tribe</span></em></td><td><?php echo (defined('NEW_FUNCTION_TRIBE_HUNS') && NEW_FUNCTION_TRIBE_HUNS) ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
|
||||
<tr><td>New Tribe: Egyptians <em class="tooltip">?<span class="classic">Enable (Disable) the Egyptians tribe</span></em></td><td><?php echo (defined('NEW_FUNCTION_TRIBE_EGIPTEANS') && NEW_FUNCTION_TRIBE_EGIPTEANS) ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
|
||||
<tr><td>New Tribe: Spartans <em class="tooltip">?<span class="classic">Enable (Disable) the Spartans tribe</span></em></td><td><?php echo (defined('NEW_FUNCTION_TRIBE_SPARTANS') && NEW_FUNCTION_TRIBE_SPARTANS) ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
|
||||
<tr><td>New Tribe: Vikings <em class="tooltip">?<span class="classic">Enable (Disable) the Vikings tribe</span></em></td><td><?php echo (defined('NEW_FUNCTION_TRIBE_VIKINGS') && NEW_FUNCTION_TRIBE_VIKINGS) ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
|
||||
<tr><td>MHs images in profile <em class="tooltip">?<span class="classic">Enable (Disable) displaying images of Multihunters</span></em></td><td><?php echo NEW_FUNCTIONS_MHS_IMAGES ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
|
||||
<tr><td>Display artifact in profile <em class="tooltip">?<span class="classic">Enable (Disable) the display of the artifact</span></em></td><td><?php echo NEW_FUNCTIONS_DISPLAY_ARTIFACT ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
|
||||
<tr><td>Display WoW in profile <em class="tooltip">?<span class="classic">Enable (Disable) the display of the wonder</span></em></td><td><?php echo NEW_FUNCTIONS_DISPLAY_WONDER ? "<span class='badge green'>Enabled</span>" : "<span class='badge red'>Disabled</span>"; ?></td></tr>
|
||||
|
||||
@@ -28,7 +28,7 @@ if(isset($_GET['uid'])){
|
||||
if ($hdata['heroid'] == $hid) { $hero = $hdata; break; }
|
||||
}
|
||||
|
||||
$unarray = array(1=>U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U99,U0);
|
||||
$unarray = array(1=>U1,U2,U3,U4,U5,U6,U7,U8,U9,U10,U11,U12,U13,U14,U15,U16,U17,U18,U19,U20,U21,U22,U23,U24,U25,U26,U27,U28,U29,U30,U31,U32,U33,U34,U35,U36,U37,U38,U39,U40,U41,U42,U43,U44,U45,U46,U47,U48,U49,U50,U51,U52,U53,U54,U55,U56,U57,U58,U59,U60,U61,U62,U63,U64,U65,U66,U67,U68,U69,U70,U71,U72,U73,U74,U75,U76,U77,U78,U79,U80,U81,U82,U83,U84,U85,U86,U87,U88,U89,U90,U99,U0);
|
||||
$utribe = ($user['tribe']-1)*10;
|
||||
|
||||
$expPct = 0;
|
||||
@@ -144,8 +144,14 @@ function go_url(url){ location=url; return false; }
|
||||
<div class="form-row"><label>Hero Name</label><div class="field"><input name="hname" type="text" value="<?php echo htmlspecialchars($hero['name']);?>"></div></div>
|
||||
<div class="form-row"><label>Hero Unit</label><div class="field">
|
||||
<div class="unit-preview"><span id="unt"><img class="unit u<?php echo $hero['unit'];?>" src="img/x.gif"></span>
|
||||
<select name="hunit" onchange="check_unit(this)" style="flex:1;border:none;background:transparent;">
|
||||
<?php for($i=1;$i<7;$i++){ if(($i==3&&$user['tribe']==4)||($i==4&&$user['tribe']!=3))continue; $v=$utribe+$i; echo "<option value='$v'".($hero['unit']==$v?' selected':'').">".$unarray[$v]."</option>"; }?>
|
||||
<select name="hunit" onchange="check_unit(this)" style="flex:1;padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#0f172a;font-size:13px;">
|
||||
<?php
|
||||
// sloturile care au erou definit in hero_full.php (generic pentru toate triburile)
|
||||
for($i=1;$i<7;$i++){
|
||||
$v=$utribe+$i;
|
||||
if(!isset(${'h'.$v})) continue;
|
||||
echo "<option value='$v'".($hero['unit']==$v?' selected':'').">".$unarray[$v]."</option>";
|
||||
}?>
|
||||
</select></div>
|
||||
</div></div>
|
||||
<div class="form-row"><label>❤ Health</label><div class="field"><input name="hhealth" type="text" value="<?php echo round($hero['health']);?>" style="width:80px;"> %</div></div>
|
||||
|
||||
@@ -244,6 +244,50 @@ if($_SESSION['access'] < 9) die(ACCESS_DENIED_ADMIN);
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
New Tribe: Huns
|
||||
</td>
|
||||
<td>
|
||||
<select name="new_function_tribe_huns">
|
||||
<option value="True" <?php if(defined('NEW_FUNCTION_TRIBE_HUNS') && NEW_FUNCTION_TRIBE_HUNS == true) echo "selected";?>>True</option>
|
||||
<option value="False" <?php if(!defined('NEW_FUNCTION_TRIBE_HUNS') || NEW_FUNCTION_TRIBE_HUNS == false) echo "selected";?>>False</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
New Tribe: Egyptians
|
||||
</td>
|
||||
<td>
|
||||
<select name="new_function_tribe_egipteans">
|
||||
<option value="True" <?php if(defined('NEW_FUNCTION_TRIBE_EGIPTEANS') && NEW_FUNCTION_TRIBE_EGIPTEANS == true) echo "selected";?>>True</option>
|
||||
<option value="False" <?php if(!defined('NEW_FUNCTION_TRIBE_EGIPTEANS') || NEW_FUNCTION_TRIBE_EGIPTEANS == false) echo "selected";?>>False</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
New Tribe: Spartans
|
||||
</td>
|
||||
<td>
|
||||
<select name="new_function_tribe_spartans">
|
||||
<option value="True" <?php if(defined('NEW_FUNCTION_TRIBE_SPARTANS') && NEW_FUNCTION_TRIBE_SPARTANS == true) echo "selected";?>>True</option>
|
||||
<option value="False" <?php if(!defined('NEW_FUNCTION_TRIBE_SPARTANS') || NEW_FUNCTION_TRIBE_SPARTANS == false) echo "selected";?>>False</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
New Tribe: Vikings
|
||||
</td>
|
||||
<td>
|
||||
<select name="new_function_tribe_vikings">
|
||||
<option value="True" <?php if(defined('NEW_FUNCTION_TRIBE_VIKINGS') && NEW_FUNCTION_TRIBE_VIKINGS == true) echo "selected";?>>True</option>
|
||||
<option value="False" <?php if(!defined('NEW_FUNCTION_TRIBE_VIKINGS') || NEW_FUNCTION_TRIBE_VIKINGS == false) echo "selected";?>>False</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@@ -110,6 +110,10 @@ select.dropdown { width:100%; }
|
||||
<option value="3" <?php if($user['tribe']==3)echo"selected"; ?>>3. Gaul</option>
|
||||
<option value="4" <?php if($user['tribe']==4)echo"selected"; ?>>4. Nature</option>
|
||||
<option value="5" <?php if($user['tribe']==5)echo"selected"; ?>>5. Natars</option>
|
||||
<option value="6" <?php if($user['tribe']==6)echo"selected"; ?>>6. Hun</option>
|
||||
<option value="7" <?php if($user['tribe']==7)echo"selected"; ?>>7. Egyptian</option>
|
||||
<option value="8" <?php if($user['tribe']==8)echo"selected"; ?>>8. Spartan</option>
|
||||
<option value="9" <?php if($user['tribe']==9)echo"selected"; ?>>9. Viking</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
|
||||
@@ -80,7 +80,7 @@ if(isset($id)) { include("search2.tpl"); ?>
|
||||
<div style="margin-top:10px;max-height:180px;overflow:auto;border:1px solid #e5e7eb;border-radius:6px">
|
||||
<table class="vtable" style="font-size:11.5px">
|
||||
<thead><tr><th style="width:50px">GID</th><th>Name</th></tr></thead>
|
||||
<tbody><?php for($i=1;$i<=42;$i++){ echo '<tr><td>'.$i.'</td><td>'.$funct->procResType($i).'</td></tr>'; } ?></tbody>
|
||||
<tbody><?php for($i=1;$i<=50;$i++){ echo '<tr><td>'.$i.'</td><td>'.$funct->procResType($i).'</td></tr>'; } ?></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -131,7 +131,7 @@ if(isset($id)) { include("search2.tpl"); ?>
|
||||
<!-- 2. Village Center -->
|
||||
<div style="text-align:center">
|
||||
<div style="font-size:12px;font-weight:600;color:#475569;margin-bottom:8px">Village Center</div>
|
||||
<?php $WW=$fdata['f99t']; $wall=$fdata['f40t']; $wallType=$wall==0?'d2_0':($user['tribe']==2?'d2_12':($user['tribe']==3?'d2_1':'d2_11')); ?>
|
||||
<?php $WW=$fdata['f99t']; $wall=$fdata['f40t']; $wallGfx=[1=>'d2_11',2=>'d2_12',3=>'d2_1',6=>'d2_16',7=>'d2_17',8=>'d2_18',9=>'d2_19']; /* 6-9: bg16-bg19.jpg */ $wallType=$wall==0?'d2_0':($wallGfx[$user['tribe']] ?? 'd2_11'); ?>
|
||||
<div id="content" class="village2" style="padding:0">
|
||||
<div id="village_map" class="<?php echo $wallType; ?>" style="margin:0 auto;transform:scale(.9);transform-origin:top">
|
||||
<?php for($b=1;$b<21;$b++){ $gid=$fdata['f'.($b+18).'t']; echo $gid>0?'<img src="../img/x.gif" class="building d'.$b.' g'.$gid.'">':'<img src="../img/x.gif" class="building d'.$b.' iso">'; }
|
||||
|
||||
@@ -173,7 +173,7 @@ body{margin:0;background:#f1f5f9;font-family:system-ui,-apple-system,Segoe UI,Ro
|
||||
<?php
|
||||
if ($criteria!= "") {
|
||||
$artifactsEffect = ['-', VILLAGE_EFFECT, ACCOUNT_EFFECT, UNIQUE_EFFECT];
|
||||
$array_tribe = ['-', TRIBE1, TRIBE2, TRIBE3, TRIBE4, TRIBE5];
|
||||
$array_tribe = ['-', TRIBE1, TRIBE2, TRIBE3, TRIBE4, TRIBE5, TRIBE6, TRIBE7, TRIBE8, TRIBE9];
|
||||
$q = "SELECT v.wref, v.owner, v.name, v.capital, v.pop, u.username, u.tribe, u.access, w.x, w.y"
|
||||
. ($includeSize? ", a.size" : "")
|
||||
. " FROM ".TB_PREFIX."vdata AS v"
|
||||
@@ -236,6 +236,10 @@ body{margin:0;background:#f1f5f9;font-family:system-ui,-apple-system,Segoe UI,Ro
|
||||
<tr><td><img src="../img/admin/map_2.gif"></td><td><?php echo TRIBE2;?></td></tr>
|
||||
<tr><td><img src="../img/admin/map_3.gif"></td><td><?php echo TRIBE3;?></td></tr>
|
||||
<tr><td><img src="../img/admin/map_5.gif"></td><td><?php echo TRIBE5;?></td></tr>
|
||||
<?php if(defined('NEW_FUNCTION_TRIBE_HUNS') && NEW_FUNCTION_TRIBE_HUNS){ ?><tr><td><img src="../img/admin/map_6.gif"></td><td><?php echo TRIBE6;?></td></tr><?php } ?>
|
||||
<?php if(defined('NEW_FUNCTION_TRIBE_EGIPTEANS') && NEW_FUNCTION_TRIBE_EGIPTEANS){ ?><tr><td><img src="../img/admin/map_7.gif"></td><td><?php echo TRIBE7;?></td></tr><?php } ?>
|
||||
<?php if(defined('NEW_FUNCTION_TRIBE_SPARTANS') && NEW_FUNCTION_TRIBE_SPARTANS){ ?><tr><td><img src="../img/admin/map_8.gif"></td><td><?php echo TRIBE8;?></td></tr><?php } ?>
|
||||
<?php if(defined('NEW_FUNCTION_TRIBE_VIKINGS') && NEW_FUNCTION_TRIBE_VIKINGS){ ?><tr><td><img src="../img/admin/map_9.gif"></td><td><?php echo TRIBE9;?></td></tr><?php } ?>
|
||||
<tr><td><img src="../img/admin/map_0.gif"></td><td>Multihunters</td></tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@@ -21,9 +21,9 @@ if($_SESSION['access'] < MULTIHUNTER) die("Access Denied!");
|
||||
$active = $admin->getUserActive();
|
||||
$count = count($active);
|
||||
|
||||
$tribeName = [1=>'Roman',2=>'Teuton',3=>'Gaul'];
|
||||
$tribeColor = [1=>'#c0392b',2=>'#2980b9',3=>'#27ae60'];
|
||||
$tribeImg = [1=>'',2=>'1',3=>'2'];
|
||||
$tribeName = [1=>'Roman',2=>'Teuton',3=>'Gaul',6=>'Hun',7=>'Egyptian',8=>'Spartan',9=>'Viking'];
|
||||
$tribeColor = [1=>'#c0392b',2=>'#2980b9',3=>'#27ae60',6=>'#8e44ad',7=>'#d4a017',8=>'#b03a2e',9=>'#16a085'];
|
||||
$tribeImg = [1=>'',2=>'1',3=>'2',6=>'5',7=>'6',8=>'7',9=>'8'];
|
||||
|
||||
// MAPARE ACCES -> TEXT
|
||||
$accessLabels = [
|
||||
|
||||
@@ -73,15 +73,12 @@ if ($hero !== false) {
|
||||
None <span style="color:#2563eb;font-weight:600">Add Hero</span>
|
||||
<?php
|
||||
$utribe=($user['tribe']-1)*10;
|
||||
echo " <a href='?action=addHero&uid=".$id."&u=".($utribe+1)."'><img class=\"unit u".($utribe+1)."\" src=\"img/x.gif\" alt=\"".$technology->getUnitName($utribe+1)."\" title=\"".$technology->getUnitName($utribe+1)."\" /></a>";
|
||||
echo " <a href='?action=addHero&uid=".$id."&u=".($utribe+2)."'><img class=\"unit u".($utribe+2)."\" src=\"img/x.gif\" alt=\"".$technology->getUnitName($utribe+2)."\" title=\"".$technology->getUnitName($utribe+2)."\" /></a>";
|
||||
if ($utribe!=20) {
|
||||
echo " <a href='?action=addHero&uid=".$id."&u=".($utribe+3)."'><img class=\"unit u".($utribe+3)."\" src=\"img/x.gif\" alt=\"".$technology->getUnitName($utribe+3)."\" title=\"".$technology->getUnitName($utribe+3)."\" /></a>";
|
||||
}else{
|
||||
echo " <a href='?action=addHero&uid=".$id."&u=".($utribe+4)."'><img class=\"unit u".($utribe+4)."\" src=\"img/x.gif\" alt=\"".$technology->getUnitName($utribe+4)."\" title=\"".$technology->getUnitName($utribe+4)."\" /></a>";
|
||||
// Sloturile 1-6 care au erou definit in hero_full.php (generic pentru toate triburile)
|
||||
for ($hs = 1; $hs <= 6; $hs++) {
|
||||
$huid = $utribe + $hs;
|
||||
if (!isset(${'h'.$huid})) continue;
|
||||
echo " <a href='?action=addHero&uid=".$id."&u=".$huid."'><img class=\"unit u".$huid."\" src=\"img/x.gif\" alt=\"".$technology->getUnitName($huid)."\" title=\"".$technology->getUnitName($huid)."\" /></a>";
|
||||
}
|
||||
echo " <a href='?action=addHero&uid=".$id."&u=".($utribe+5)."'><img class=\"unit u".($utribe+5)."\" src=\"img/x.gif\" alt=\"".$technology->getUnitName($utribe+5)."\" title=\"".$technology->getUnitName($utribe+5)."\" /></a>";
|
||||
echo " <a href='?action=addHero&uid=".$id."&u=".($utribe+6)."'><img class=\"unit u".($utribe+6)."\" src=\"img/x.gif\" alt=\"".$technology->getUnitName($utribe+6)."\" title=\"".$technology->getUnitName($utribe+6)."\" /></a>";
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -75,6 +75,10 @@
|
||||
else if($user['tribe'] == 3) { echo '<span class="badge-tribe">Gauls</span>'; }
|
||||
else if($user['tribe'] == 4) { echo '<span class="badge-tribe">Nature</span>'; }
|
||||
else if($user['tribe'] == 5) { echo '<span class="badge-tribe">Natars</span>'; }
|
||||
else if($user['tribe'] == 6) { echo '<span class="badge-tribe">Huns</span>'; }
|
||||
else if($user['tribe'] == 7) { echo '<span class="badge-tribe">Egyptians</span>'; }
|
||||
else if($user['tribe'] == 8) { echo '<span class="badge-tribe">Spartans</span>'; }
|
||||
else if($user['tribe'] == 9) { echo '<span class="badge-tribe">Vikings</span>'; }
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -31,21 +31,21 @@ function formatNum($n) {
|
||||
function q1($sql){ global $database; $r=$database->query($sql); return $r ? $r->fetch_assoc() : []; }
|
||||
|
||||
// ---- DATE ----
|
||||
$users = (int)(q1("SELECT COUNT(*) c FROM ".TB_PREFIX."users WHERE tribe BETWEEN 1 AND 3")['c'] ?? 0);
|
||||
$users = (int)(q1("SELECT COUNT(*) c FROM ".TB_PREFIX."users WHERE tribe IN (1,2,3,6,7,8,9)")['c'] ?? 0);
|
||||
$active = (int)(q1("SELECT COUNT(*) c FROM ".TB_PREFIX."active")['c'] ?? 0);
|
||||
$online = (int)(q1("SELECT COUNT(*) c FROM ".TB_PREFIX."users WHERE timestamp > ".(time()-300)." AND tribe>0")['c'] ?? 0);
|
||||
$banned = (int)(q1("SELECT COUNT(*) c FROM ".TB_PREFIX."users WHERE access=0")['c'] ?? 0);
|
||||
$villages = (int)(q1("SELECT COUNT(*) c FROM ".TB_PREFIX."vdata")['c'] ?? 0);
|
||||
$pop = (int)(q1("SELECT SUM(pop) s FROM ".TB_PREFIX."vdata")['s'] ?? 0);
|
||||
|
||||
$tribes = [1=>0,2=>0,3=>0];
|
||||
for($t=1;$t<=3;$t++){ $tribes[$t] = (int)(q1("SELECT COUNT(*) c FROM ".TB_PREFIX."users WHERE tribe=$t")['c'] ?? 0); }
|
||||
$tribes = [1=>0,2=>0,3=>0,6=>0,7=>0,8=>0,9=>0];
|
||||
foreach([1,2,3,6,7,8,9] as $t){ $tribes[$t] = (int)(q1("SELECT COUNT(*) c FROM ".TB_PREFIX."users WHERE tribe=$t")['c'] ?? 0); }
|
||||
|
||||
$gold = (int)(q1("SELECT SUM(gold) s FROM ".TB_PREFIX."users")['s'] ?? 0);
|
||||
|
||||
// ---- TRUPE ----
|
||||
$cells = ['SUM(hero) as hero'];
|
||||
for($i=1;$i<=50;$i++) $cells[] = "SUM(u$i) AS u$i";
|
||||
for($i=1;$i<=90;$i++) $cells[] = "SUM(u$i) AS u$i";
|
||||
$uv = q1("SELECT ".implode(',',$cells)." FROM ".TB_PREFIX."units");
|
||||
$ue = q1("SELECT ".implode(',',$cells)." FROM ".TB_PREFIX."enforcement");
|
||||
?>
|
||||
@@ -59,7 +59,7 @@ $ue = q1("SELECT ".implode(',',$cells)." FROM ".TB_PREFIX."enforcement");
|
||||
.scard .val{font-weight:bold;color:#000}
|
||||
.tribe-bar{height:8px;background:#eee;border-radius:4px;overflow:hidden;margin:4px 0}
|
||||
.tribe-bar span{display:block;height:100%}
|
||||
.romans{background:#c0392b}.teutons{background:#2980b9}.gauls{background:#27ae60}
|
||||
.romans{background:#c0392b}.teutons{background:#2980b9}.gauls{background:#27ae60}.huns{background:#8e44ad}.egyptians{background:#d4a017}.spartans{background:#b03a2e}.vikings{background:#16a085}
|
||||
.troops-wrap{background:#fff;border:1px solid #ddd;border-radius:8px;padding:14px;color:#222}
|
||||
.troops-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
|
||||
.tribe-box{border:1px solid #eee;border-radius:6px;padding:8px;background:#fff}
|
||||
@@ -86,7 +86,7 @@ $ue = q1("SELECT ".implode(',',$cells)." FROM ".TB_PREFIX."enforcement");
|
||||
|
||||
<div class="scard">
|
||||
<h3>👥 Player Distribution</h3>
|
||||
<?php $names=[1=>'Romans',2=>'Teutons',3=>'Gauls']; $colors=[1=>'romans',2=>'teutons',3=>'gauls'];
|
||||
<?php $names=[1=>'Romans',2=>'Teutons',3=>'Gauls',6=>'Huns',7=>'Egyptians',8=>'Spartans',9=>'Vikings']; $colors=[1=>'romans',2=>'teutons',3=>'gauls',6=>'huns',7=>'egyptians',8=>'spartans',9=>'vikings'];
|
||||
foreach($names as $id=>$name){
|
||||
$pct = $users ? round($tribes[$id]/$users*100,1) : 0;
|
||||
echo "<div class='row'><span>$name</span><span class='val'>{$tribes[$id]} ($pct%)</span></div>";
|
||||
@@ -112,7 +112,11 @@ $ue = q1("SELECT ".implode(',',$cells)." FROM ".TB_PREFIX."enforcement");
|
||||
'Teutons' => range(11,20),
|
||||
'Gauls' => range(21,30),
|
||||
'Nature' => range(31,40),
|
||||
'Natars' => range(41,50)
|
||||
'Natars' => range(41,50),
|
||||
'Huns' => range(51,60),
|
||||
'Egyptians' => range(61,70),
|
||||
'Spartans' => range(71,80),
|
||||
'Vikings' => range(81,90)
|
||||
];
|
||||
foreach($tribesUnits as $tribe=>$ids){
|
||||
echo "<div class='tribe-box'><h4>$tribe</h4>";
|
||||
|
||||
@@ -42,9 +42,9 @@ $heroCount = $hero ? 1 : 0;
|
||||
<div class="troops-modern">
|
||||
<div class="troops-grid">
|
||||
<?php
|
||||
if($tribe==1){$s=1;$e=10;} elseif($tribe==2){$s=11;$e=20;} elseif($tribe==3){$s=21;$e=30;} elseif($tribe==4){$s=31;$e=40;} else{$s=41;$e=50;}
|
||||
if($tribe>=1 && $tribe<=9){$s=($tribe-1)*10+1;$e=$tribe*10;} else {$s=41;$e=50;}
|
||||
for($i=$s;$i<=$e;$i++){ $cnt=(int)$units['u'.$i]; $cls=$cnt==0?'zero':'has'; echo '<div class="troop-item"><img src="../img/un/u/'.$i.'.gif"><div class="troop-num '.$cls.'">'.$cnt.'</div></div>'; }
|
||||
if($tribe<=3){
|
||||
if($tribe<=3 || $tribe>=6){
|
||||
$hcls=$heroCount==0?'zero':'has';
|
||||
echo '<div class="troop-item troop-hero"><svg viewBox="0 0 24 24" fill="#facc15" stroke="#eab308" stroke-width="1.5"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg><div class="troop-num '.$hcls.'">'.$heroCount.'</div></div>';
|
||||
}
|
||||
|
||||
@@ -196,7 +196,7 @@ if(isset($id)){
|
||||
</br>
|
||||
<div class="map-card">
|
||||
<h3>Village Center - <?php echo htmlspecialchars($village['name']); ?></h3>
|
||||
<?php $WWLevel = $fdata['f99t']; $wallLevel = $fdata['f40t']; if($wallLevel == 0) $wallType = "d2_0"; else { switch($user['tribe']){ case 1: case 5: default: $wallType = "d2_11"; break; case 2: $wallType = "d2_12"; break; case 3: $wallType = "d2_1"; break; } } ?>
|
||||
<?php $WWLevel = $fdata['f99t']; $wallLevel = $fdata['f40t']; if($wallLevel == 0) $wallType = "d2_0"; else { switch($user['tribe']){ case 1: case 5: default: $wallType = "d2_11"; break; case 2: $wallType = "d2_12"; break; case 3: $wallType = "d2_1"; break; case 6: $wallType = "d2_16"; break; case 7: $wallType = "d2_17"; break; case 8: $wallType = "d2_18"; break; case 9: $wallType = "d2_19"; break; } } /* 6-9: bg16-bg19.jpg */ ?>
|
||||
<div id="content" class="village2">
|
||||
<div id="village_map" class="<?php echo $wallType; ?>">
|
||||
<?php for($b = 1; $b < 21; $b++){ $gid = $fdata['f'.($b + 18).'t']; if($gid > 0) echo "<img src=\"../img/x.gif\" class=\"building d".$b." g".$gid."\">"; elseif($gid == 0) echo "<img src=\"../img/x.gif\" class=\"building d".$b." iso\">"; }
|
||||
|
||||
|
After Width: | Height: | Size: 84 KiB |
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 82 KiB |
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 6.4 KiB |
|
After Width: | Height: | Size: 5.9 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 6.1 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 642 B After Width: | Height: | Size: 5.9 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 642 B After Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 642 B After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 7.1 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 6.4 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 140 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 138 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 118 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 85 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 10 KiB |