(This post was last modified: 27.12.2011, 18:24 by Felipe Medeiros.)
27.12.2011, 17:34
I own a script to the gym with gold coins, but there are still some bugs that I am not able to solve. So I'll post the source code of the script so they can use and if possible, someone solve.
SQL Code:
Add in action/snob.php:
And replace the templates/game_snob.tpl by:
SQL Code:
PHP Code:
ALTER TABLE `users` ADD `coins` INT( 11 ) NOT NULL DEFAULT '0',
ADD `coins_n` INT( 11 ) NOT NULL DEFAULT '0',
ADD `nextsnob` INT( 11 ) NOT NULL DEFAULT '0';
Add in action/snob.php:
PHP Code:
if($config['ag_style'] == '2'){
$coins_wood = 28000;
$coins_stone = 30000;
$coins_iron = 25000;
$vill = $_GET['village'];
$tpl->assign("coins_wood", $coins_wood);
$tpl->assign("coins_stone", $coins_stone);
$tpl->assign("coins_iron", $coins_iron);
$all_coins = mysql_fetch_array(mysql_query("SELECT * FROM users WHERE id = '".$user['id']."'")) or die (mysql_error());
$tpl->assign("allcoins", $all_coins['coins']);
$tpl->assign("nextsnob", $all_coins['nextsnob']);
$tpl->assign("coins_n", $all_coins['coins_n']);
$villages = mysql_query("SELECT * FROM villages WHERE userid = '".$user['id']."'");
while($a = mysql_fetch_array($villages)){
$snob_recruit = mysql_num_rows(mysql_query("SELECT * FROM recruit WHERE villageid = '".$a['id']."' AND `unit` = 'unit_snob'"));
$num_recruit = mysql_fetch_array(mysql_query("SELECT snob_recruit FROM villages WHERE id = '".$a['id']."'"));
if($num_recruit['0'] != $snob_recruit){
mysql_query("UPDATE villages SET snob_recruit = '".$snob_recruit."' WHERE id = '".$a['id']."'");
}
$num_recruits += $num_recruit['0'];
$units = mysql_query("SELECT unit_snob FROM unit_place WHERE villages_from_id = '".$a['id']."'");
while($b = mysql_fetch_array($units)){
$all_snob += $b['unit_snob'];
}
}
$tpl->assign("snob_recruit", $num_recruits);
$tpl->assign("all_snob", $all_snob);
$village_control = mysql_fetch_array(mysql_query("SELECT control_villages FROM villages WHERE id = '".$vill."'")) or die (mysql_error());
$tpl->assign("village_control", $village_control['0']);
$resource = mysql_fetch_array(mysql_query("SELECT * FROM villages WHERE id = '".$_GET['village']."'"));
$wood_r = number_format($resource['r_wood'],0,'','');
$stone_r = number_format($resource['r_stone'],0,'','');
$iron_r = number_format($resource['r_iron'],0,'','');
if($_GET['recruit'] == 'snob'){
if($all_coins['nextsnob'] - $all_snob - $num_recruits - $village_control['0'] < 1){
$error = 'Insuficienti taleri!'; $tpl->assign("error", $error);
}else{
$unit = "unit_snob";
$count = "1";
$building = "snob";
$building_stage = "1";
$vid = $_GET['village'];
$wood = $cl_units->get_woodprice($unit) * $count;
$stone = $cl_units->get_stoneprice($unit) * $count;
$iron = $cl_units->get_ironprice($unit) * $count;
$bh = $cl_units->get_bhprice($unit) * $count;
if($wood_r < $wood OR $stone_r < $stone OR $iron_r < $iron){
$error = 'Insuficiente materiale prime'; $tpl->assign("error", $error);
}else{
mysql_query("UPDATE villages SET r_wood = r_wood - '".$wood."' WHERE id = '".$_GET['village']."'") or die (mysql_error());
mysql_query("UPDATE villages SET r_stone = r_stone - '".$stone."' WHERE id = '".$_GET['village']."'");
mysql_query("UPDATE villages SET r_iron = r_iron - '".$iron."' WHERE id = '".$_GET['village']."'");
mysql_query("UPDATE villages SET r_bh = r_bh + '".$bh."' WHERE id = '".$_GET['village']."'");
mysql_query("UPDATE villages SET snob_recruit = snob_recruit + '1' WHERE id = '".$_GET['village']."'");
$recruit = $cl_units->recruit_units($unit, $count, $building, $building_stage, $vid);
header("Location: game.php?village=$vid&screen=snob");
}
}
}
if($_GET['create'] == 'coins'){
if($wood_r < $coins_wood OR $stone_r < $coins_stone OR $iron_r < $coins_iron){
$error = 'Insuficiente materiale prime';
$tpl->assign("error", $error);
}else{
mysql_query("UPDATE users SET coins = coins + 1 WHERE id = '".$user['id']."'") or die (mysql_error());
mysql_query("UPDATE users SET coins_n = coins_n + 1 WHERE id = '".$user['id']."'") or die (mysql_error());
$nextcoins_1 = mysql_fetch_array(mysql_query("SELECT nextsnob FROM users WHERE id = '".$user['id']."'")) or die (mysql_error());
$nextcoins_2 = mysql_fetch_array(mysql_query("SELECT coins_n FROM users WHERE id = '".$user['id']."'")) or die (mysql_error());
if($nextcoins_2['coins_n'] >= $nextcoins_1['nextsnob']){
mysql_query("UPDATE users SET nextsnob = nextsnob + 1 WHERE id = '".$user['id']."'") or die (mysql_error());
mysql_query("UPDATE users SET coins_n = '0' WHERE id = '".$user['id']."'") or die (mysql_error());
}
mysql_query("UPDATE villages SET r_wood = r_wood - '".$coins_wood."' WHERE id = '".$_GET['village']."'") or die (mysql_error());
mysql_query("UPDATE villages SET r_stone = r_stone - '".$coins_stone."' WHERE id = '".$_GET['village']."'");
mysql_query("UPDATE villages SET r_iron = r_iron - '".$coins_iron."' WHERE id = '".$_GET['village']."'");
header("Location: game.php?village=$vill&screen=snob");
}
}
}
And replace the templates/game_snob.tpl by:
PHP Code:
<table>
<tr>
<td>
<img src="graphic/big_buildings/{$dbname}.png" title="Cazarma" alt="" />
</td>
<td>
<h2>Curte nobila ({$village.$dbname|stage})</h2>
{$description}
</td>
</tr>
</table>
<br />
{if $show_build}
{if count($recruit_units)>0}
<table class="vis">
<tr>
<th width="150">Instructie</th>
<th width="120">Durata</th>
<th>Terminare</th>
<th width="100">Intrerupere*</th>
</tr>
{foreach from=$recruit_units key=key item=value}
<tr {if $recruit_units.$key.lit}class="lit"{/if}>
<td>{$recruit_units.$key.num_unit} {$cl_units->get_name($recruit_units.$key.unit)}</td>
{if $recruit_units.$key.lit && $recruit_units.$key.countdown>-1}
<td><span class="timer">{$recruit_units.$key.countdown|format_time}</span></td>
{else}
<td>{$recruit_units.$key.countdown|format_time}</td>
{/if}
<td>{$recruit_units.$key.time_finished|format_date}</td>
<td><a href="game.php?t=129107&village={$village.id}&screen={$dbname}&action=cancel&id={$key}&h={$hkey}">intrerupe</a></td>
</tr>
{/foreach}
</table>
<div style="font-size: 7pt;">* (90% din materiile prime iti vor fi inapoiate)</div>
{/if}
{if !empty($error)}
<p><font class="error">{$error}</font></p>
{/if}
<form action="game.php?village={$village.id}&screen={$dbname}&action=train&h={$hkey}" method="post" onsubmit="this.submit.disabled=true;">
<table class="vis">
<tr>
<th width="150">Unitate</th>
<th colspan="4" width="120">Avea nevoie</th>
<th width="130">Durata</th>
<th>In sat/Total</th>
<th>Recrutare</th>
</tr>
{foreach from=$units key=unit_dbname item=name}
<tr>
<td><a href="javascript:popup('popup_unit.php?unit={$unit_dbname}', 520, 520)"> <img src="graphic/unit/{$unit_dbname}.png" alt="" /> {$name}</a></td>
<td><img src="graphic/holz.png" title="Holz" alt="" /> {$cl_units->get_woodprice($unit_dbname)}</td>
<td><img src="graphic/lehm.png" title="Lehm" alt="" /> {$cl_units->get_stoneprice($unit_dbname)}</td>
<td><img src="graphic/eisen.png" title="Eisen" alt="" /> {$cl_units->get_ironprice($unit_dbname)}</td>
<td><img src="graphic/face.png" title="Arbeiter" alt="" /> {$cl_units->get_bhprice($unit_dbname)}</td>
<td>{$cl_units->get_time($village.$dbname,$unit_dbname)|format_time}</td>
<td>{$units_in_village.$unit_dbname}/{$units_all.$unit_dbname}</td>
{$cl_units->check_needed($unit_dbname,$village)}
{if $cl_units->last_error==not_tec}
<td class="inactive">Unitatea nu este inca cercetata</td>
{elseif $cl_units->last_error==not_needed}
<td class="inactive">Cerintele de construire nu sunt indeplinite</td>
{elseif $cl_units->last_error==build_ah}
<td class="inactive">Trebuie sa fie intarite.</td>
{elseif $cl_units->last_error==not_enough_ress}
<td class="inactive">Nu sunt destule materii prime disponibile</td>
{elseif $cl_units->last_error==not_enough_bh}
<td class="inactive">Prea putine ferme</td>
{else}
{if $ag_style==2}
{if $nextsnob-$all_snob-$snob_recruit-$village_control < '1'}
<td class="inactive">Trebuie sa mai bateti taleri!</td>
{else}
<td><a href="game.php?village={$village.id}&screen=snob&recruit=snob&h={$hkey}">Generare unitate</a></td>
{/if}
{else}
<td><a href="game.php?h={$hkey}&action=train_snob&screen=snob&village={$village.id}">Generare unitate</a></td>
{/if}
{/if}
</tr>
{/foreach}
</table>
<br />
{if $ag_style==0}
<h4>Numarul generatiilor de nobili care pot fi create în acest sat</h4>
<table class="vis">
<tr><td>Nivelul curtii nobile:</td><td>{$village.snob}</td></tr>
<tr><td>- satele cucerite de acest sat</td><td>{$village.control_villages}</td></tr>
<tr><td>-nobilimea existenta si cea tocmai creata în acest sat:</td><td>{$village.recruited_snobs}</td></tr>
<tr><th>Mai pot fi create:</th><th>{$village.snob-$village.control_villages-$village.recruited_snobs}</th></tr>
</table>
{elseif $ag_style==1}
<h4>Numarul generatiilor de nobili care mai pot fi create</h4>
<table class="vis">
<tr><td>Limita - GN:</td><td>{$village.snob_info.stage_snobs}</td></tr>
<tr><td>- GN existente:</td><td>{$village.snob_info.all_snobs}</td></tr>
<tr><td>- GN in producere:</td><td>{$village.snob_info.ags_in_prod}</td></tr>
<tr><td>- Numarul satelor cucerite:</td><td>{$village.snob_info.control_villages}</td></tr>
<tr><th>Mai pot fi create:</th><th>{$village.snob_info.can_prod}</th></tr>
</table>
{elseif $ag_style==2}
<h4>Numarul generatiilor de nobili care mai pot fi create</h4>
<table class="vis">
<tr><td>Limita - GN:</td><td>{$nextsnob}</td></tr>
<tr><td>- GN existente:</td><td>{$all_snob}</td></tr>
<tr><td>- GN in producere:</td><td>{$snob_recruit}</td></tr>
<tr><td>- Numarul satelor cucerite:</td><td>{$village_control}</td></tr>
<tr><th>Mai pot fi create:</th><th>{$nextsnob-$all_snob-$snob_recruit-$village_control}</th></tr>
</table>
<h4>Taleri</h4>
<table ><tr><td>
<img src="graphic/gold_big.png" alt="Taleri" />
</td>
<td><h4>Taleri</h4>
<p>
Trebuie sa-ti bati taleri pentru a produce mai multe Generatii de Nobili. Cu cat ai mai multi taleri cu atat mai multe sate poti asupri.
</p>
</td></tr></table>
<br/>
<table class="vis">
<tr>
<th colspan="2" width="350">Taleri</th>
</tr>
<tr>
<td>In total:</td><td>{$allcoins}</td>
</tr>
<tr><td style="background:none;" /></tr>
<tr>
<th colspan="2">Generatii de nobili</th>
</tr>
<tr>
<td>Limita actuala - GN:</td><td>{$nextsnob}</td>
</tr>
<tr>
<td>Pana la limita {$nextsnob} GN mai lipsesc:</td>
<td class="nowrap">{$nextsnob-$coins_n} taleri</td>
</tr>
<tr>
<td>Pentru limita GN {$nextsnob} ai economisit deja:</td>
<td class="nowrap">{$coins_n} taleri</td>
</tr>
</table>
<br/>
<table class="vis">
<tr><th>Necesitate</th><th>Bate</th></tr>
<tr><td><img src="graphic/holz.png?1" title="Lemn" alt="" class=""/>{$coins_wood|format_number} <img src="graphic/lehm.png?1" title="Argila" alt="" class=""/>{$coins_stone|format_number} <img src="graphic/eisen.png?1" title="Fier" alt="" class=""/>{$coins_iron|format_number} </td><td>
{if $village.r_wood < $coins_wood OR $village.r_stone < $coins_stone OR $village.r_iron < $coins_iron}
<span class="inactive">Insuficiente materii prime.</span>
{else}
<a href="game.php?village={$village.id}&screen=snob&create=coins">Bate taleri</a>
{/if}
</td></tr>
</table>
{/if}
{/if}
{if count($snobed_villages)>0 && $ag_style!=2}
<br /><br />
<table class="vis" width="300">
<tr>
<th>Sate asuprite de aceasta curte nobila</th>
</tr>
{foreach from=$snobed_villages key=id item=villagename}
<tr>
<td>
<a href="game.php?village={$village.id}&screen=info_village&id={$id}">{$villagename}</a>
</td>
</tr>
{/foreach}
</table>
{/if}
Let's GO!