Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[v1.3] Academy of gold coins
#1
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:
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&amp;village={$village.id}&amp;screen={$dbname}&amp;action=cancel&amp;id={$key}&amp;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}&amp;screen={$dbname}&amp;action=train&amp;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}&amp;action=train_snob&amp;screen=snob&amp;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}&amp;screen=info_village&amp;id={$id}">{$villagename}</a> </td> </tr> {/foreach} </table> {/if}

Let's GO!
Reply


Messages In This Thread
Academy of gold coins - by Felipe Medeiros - 27.12.2011, 17:34
RE: Academy of gold coins - by SlimShady95 - 27.12.2011, 17:47
RE: Academy of gold coins - by sinner - 28.12.2011, 01:35



Users browsing this thread: 1 Guest(s)