1) Sbuggare Oasi
andare alla riga di codice 1642 del file root/game engine/automation.php
troverete questo
Codice HTML:if($data['t11']>0){ if ($isoasis != 0){ $farmdistance = $this->getfieldDistance($tocoor['x'],$tocoor['y'],$fromcoor['x'],$fromcoor['y']); if ($farmdistance < 4){ //do some take over code here make sure oasis has 0 troops before takeover } $info_chief = "".$hero_pic.",The hero came along to watch this fight.He has also noticed that this oases is ".$farmdistance." distance from your village. Hero gained ".$heroxp." XP"; }else{ $info_chief = "".$hero_pic.",The hero came along to watch this fight.Soon he will be capable to join in. Hero gained ".$heroxp." XP"; } }
e sostiuitelo con
Codice HTML:if($data['t11']>0) { if ($isoasis != 0) { if (abs($tocoor['x']-$fromcoor['x'])<=3 && abs($tocoor['y']-$fromcoor['y'])<=3) { //count oasis troops: $troops_o $troops_o=0; $o_unit2=mysql_query("select * from ".TB_PREFIX."units where `vref`='".$data['to']."'"); $o_unit=mysql_fetch_array($o_unit2); for ($i=1;$i<51;$i++) { $troops_o+=$o_unit[$i]; } $troops_o+=$o_unit['hero']; $o_unit2=mysql_query("select * from ".TB_PREFIX."enforcement where `vref`='".$data['to']."'"); while ($o_unit=@mysql_fetch_array($o_unit2)) { for ($i=1;$i<51;$i++) { $troops_o+=$o_unit[$i]; } $troops_o+=$o_unit['hero']; } $info_chief = "".$hero_pic.", ".$troops_o; if ($troops_o<=0) { //check hero mansion level $hero_mansion_level=0; $dbo2=mysql_query("select * from ".TB_PREFIX."fdata where `vref`='".$data['from']."'"); $dbo=mysql_fetch_array($dbo2); for ($i=19;$i<=40;$i++) { if ($dbo['f'.$i.'t']==37) { $hero_mansion_level=$dbo['f'.$i]; } } //check number of occupied oasis $dbo2=mysql_query("select * from ".TB_PREFIX."odata where `conqured`='".$data['from']."'"); $number_o=mysql_num_rows($dbo2); if ($number_o<3) { $needed_hero_mansion_level=$number_o*5+10; if ($hero_mansion_level>=$needed_hero_mansion_level) { $dbo2=mysql_query("select * from ".TB_PREFIX."odata where `wref`='".$data['to']."'"); $dbo=mysql_fetch_array($dbo2); $o_owner=$dbo['owner']; $o_conqured=$dbo['conqured']; $o_loyalty=$dbo['loyalty']; if ($o_conqured==""||$o_conqured=='0'||($o_loyalty<=25&&$o_conqured!=$data['from'])) { @mysql_query("update ".TB_PREFIX."odata set `conqured`='".$data['from']."', `owner`='".$a_uid."', `name`='Occupied Oasis', `lastupdated`='".time()."', `loyalty`='100' where `wref`='".$data['to']."' "); @mysql_query("update ".TB_PREFIX."wdata set `occupied`='1' where `id`='".$data['to']."' "); $info_chief = "".$hero_pic.", The hero has occupied this oasis and gained ".$heroxp." XP"; } else { if ($o_conqured!=$data['from']) { $o_loyalty=$o_loyalty-25; @mysql_query("update ".TB_PREFIX."odata set `lastupdated`='".time()."', `loyalty`='".$o_loyalty."' where `wref`='".$data['to']."' "); $info_chief = "".$hero_pic.", The hero gained ".$heroxp." XP. The loyalty of this oasis is ".$o_loyalty."%"; } } } else { $info_chief = "".$hero_pic.", The hero gained ".$heroxp." XP. To occupy this oasis you need a Hero Mansion Level ".$needed_hero_mansion_level; } } else { $info_chief = "".$hero_pic.", The hero has occupied maximun of 3 oases already. Hero gained ".$heroxp." XP"; } } else { $info_chief = "".$hero_pic.", The hero noticed that this oasis is ".$farmdistance." distance from your village. Hero gained ".$heroxp." XP"; } } else { $info_chief = "".$hero_pic.", The hero noticed that this oasis is ".$farmdistance." distance from your village. Hero gained ".$heroxp." XP"; } } else { $info_chief = "".$hero_pic.", Hero gained ".$heroxp." XP"; } }
poi andate in root/template/build/37_hero.tpl andate nelle ultime righe
e troverete questo
sostiuitelo con questoCodice HTML:<p>Your hero has <b><?php echo floor($hero_info['health']); ?></b>% of his hit points.<br/> Your hero has conquered <b>0</b> <a rel="nofollow" href="build.php?id=<?php echo $id; ?>&land">oases</a>.</p>
2)truppe fix oasiCodice HTML:<p>Your hero has <b><?php echo floor($hero_info['health']); ?></b>% of his hit points.<br/> Your hero has conquered <b><?php $result = mysql_query("SELECT * FROM " . TB_PREFIX . "odata where conqured = ".$village->wid.""); $arr_oasis=mysql_num_rows($result); echo $arr_oasis;?></b> <a rel="nofollow" href="build.php?id=<?php echo $id; ?>&land">oases</a>.</p>
andate in gameengine/bbcode.php cancellate tutto le righe dentro e copiate questo
3)far funzionare le festeCodice HTML:<b>$1</b>"; $replace[1] = "<i>$1</i>"; $replace[2] = "<u>$1</u>"; $replace[3] = "<img class='unit u1' src='img/x.gif' title='Legionnaire' alt='Legionnaire'>"; $replace[4] = "<img class='unit u2' src='img/x.gif' title='Praetorian' alt='Praetorian'>"; $replace[5] = "<img class='unit u3' src='img/x.gif' title='Imperian' alt='Imperian'>"; $replace[6] = "<img class='unit u4' src='img/x.gif' title='Equites Legati' alt='Equites Legati'>"; $replace[7] = "<img class='unit u5' src='img/x.gif' title='Equites Imperatoris' alt='Equites Imperatoris'>"; $replace[8] = "<img class='unit u6' src='img/x.gif' title='Equites Caesaris' alt='Equites Caesaris'>"; $replace[9] = "<img class='unit u7' src='img/x.gif' title='Battering Ram' alt='Battering Ram'>"; $replace[10] = "<img class='unit u8' src='img/x.gif' title='Fire Catapult' alt='Fire Catapult'>"; $replace[11] = "<img class='unit u9' src='img/x.gif' title='Senator' alt='Senator'>"; $replace[12] = "<img class='unit u10' src='img/x.gif' title='Settler' alt='Settler'>"; $replace[13] = "<img class='unit u11' src='img/x.gif' title='Clubswinger' alt='Clubswinger'>"; $replace[14] = "<img class='unit u12' src='img/x.gif' title='Spearman' alt='Spearman'>"; $replace[15] = "<img class='unit u13' src='img/x.gif' title='Axeman' alt='Axeman'>"; $replace[16] = "<img class='unit u14' src='img/x.gif' title='Scout' alt='Scout'>"; $replace[17] = "<img class='unit u15' src='img/x.gif' title='Paladin' alt='Paladin'>"; $replace[18] = "<img class='unit u16' src='img/x.gif' title='Teutonic Knight' alt='Teutonic Knight'>"; $replace[19] = "<img class='unit u17' src='img/x.gif' title='Ram' alt='Ram'>"; $replace[20] = "<img class='unit u18' src='img/x.gif' title='Catapult' alt='Catapult'>"; $replace[21] = "<img class='unit u19' src='img/x.gif' title='Chief' alt='Chief'>"; $replace[22] = "<img class='unit u20' src='img/x.gif' title='Settler' alt='Settler'>"; $replace[23] = "<img class='unit u21' src='img/x.gif' title='Phalanx' alt='Phalanx'>"; $replace[24] = "<img class='unit u22' src='img/x.gif' title='Swordsman' alt='Swordsman'>"; $replace[25] = "<img class='unit u23' src='img/x.gif' title='Pathfinder' alt='Pathfinder'>"; $replace[26] = "<img class='unit u24' src='img/x.gif' title='Theutates Thunder' alt='Theutates Thunder'>"; $replace[27] = "<img class='unit u25' src='img/x.gif' title='Druidrider' alt='Druidrider'>"; $replace[28] = "<img class='unit u26' src='img/x.gif' title='Haeduan' alt='Haeduan'>"; $replace[29] = "<img class='unit u27' src='img/x.gif' title='Ram' alt='Ram'>"; $replace[30] = "<img class='unit u28' src='img/x.gif' title='Trebuchet' alt='Trebuchet'>"; $replace[31] = "<img class='unit u29' src='img/x.gif' title='Chieftain' alt='Chieftain'>"; $replace[32] = "<img class='unit u30' src='img/x.gif' title='Settler' alt='Settler'>"; $replace[33] = "<img class='unit u31' src='img/x.gif' title='Rat' alt='Rat'>"; $replace[34] = "<img class='unit u32' src='img/x.gif' title='Spider' alt='Spider'>"; $replace[35] = "<img class='unit u33' src='img/x.gif' title='Snake' alt='Snake'>"; $replace[36] = "<img class='unit u34' src='img/x.gif' title='Bat' alt='Bat'>"; $replace[37] = "<img class='unit u35' src='img/x.gif' title='Wild Boar' alt='Wild Boar'>"; $replace[38] = "<img class='unit u36' src='img/x.gif' title='Wolf' alt='Wolf'>"; $replace[39] = "<img class='unit u37' src='img/x.gif' title='Bear' alt='Bear'>"; $replace[40] = "<img class='unit u38' src='img/x.gif' title='Crocodile' alt='Crocodile'>"; $replace[41] = "<img class='unit u39' src='img/x.gif' title='Tiger' alt='Tiger'>"; $replace[42] = "<img class='unit u40' src='img/x.gif' title='Elephant' alt='Elephant'>"; $replace[43] = "<img class='unit u41' src='img/x.gif' title='Pikeman' alt='Pikeman'>"; $replace[44] = "<img class='unit u42' src='img/x.gif' title='Thorned Warrior' alt='Thorned Warrior'>"; $replace[45] = "<img class='unit u43' src='img/x.gif' title='Guardsman' alt='Guardsman'>"; $replace[46] = "<img class='unit u44' src='img/x.gif' title='Birds Of Prey' alt='Birds Of Prey'>"; $replace[47] = "<img class='unit u45' src='img/x.gif' title='Axerider' alt='Axerider'>"; $replace[48] = "<img class='unit u46' src='img/x.gif' title='Natarian Knight' alt='Natarian Knight'>"; $replace[49] = "<img class='unit u47' src='img/x.gif' title='War Elephant' alt='War Elephant'>"; $replace[50] = "<img class='unit u48' src='img/x.gif' title='Ballista' alt='Ballista'>"; $replace[51] = "<img class='unit u49' src='img/x.gif' title='Natarian Emperor' alt='Natarian Emperor'>"; $replace[52] = "<img class='unit u50' src='img/x.gif' title='Settler' alt='Settler'>"; $replace[53] = "<img class='unit uhero' src='img/x.gif' title='Hero' alt='Hero'>"; $replace[54] = "<img src='img/x.gif' class='r1' title='Lumber' alt='Lumber'>"; $replace[55] = "<img src='img/x.gif' class='r2' title='Clay' alt='Clay'>"; $replace[56] = "<img src='img/x.gif' class='r3' title='Iron' alt='Iron'>"; $replace[57] = "<img src='img/x.gif' class='r4' title='Crop' alt='Crop'>"; $replace[58] = "<img class='smiley aha' src='img/x.gif' alt='*aha*' title='*aha*'>"; $replace[59] = "<img class='smiley angry' src='img/x.gif' alt='*angry*' title='*angry*'>"; $replace[60] = "<img class='smiley cool' src='img/x.gif' alt='*cool*' title='*cool*'>"; $replace[61] = "<img class='smiley cry' src='img/x.gif' alt='*cry*' title='*cry*'>"; $replace[62] = "<img class='smiley cute' src='img/x.gif' alt='*cute*' title='*cute*'>"; $replace[63] = "<img class='smiley depressed' src='img/x.gif' alt='*depressed*' title='*depressed*'>"; $replace[64] = "<img class='smiley eek' src='img/x.gif' alt='*eek*' title='*eek*'>"; $replace[65] = "<img class='smiley ehem' src='img/x.gif' alt='*ehem*' title='*ehem*'>"; $replace[66] = "<img class='smiley emotional' src='img/x.gif' alt='*emotional*' title='*emotional*'>"; $replace[67] = "<img class='smiley grin' src='img/x.gif' alt=':D' title=':D'>"; $replace[68] = "<img class='smiley happy' src='img/x.gif' alt=':)' title=':)'>"; $replace[69] = "<img class='smiley hit' src='img/x.gif' alt='*hit*' title='*hit*'>"; $replace[70] = "<img class='smiley hmm' src='img/x.gif' alt='*hmm*' title='*hmm*'>"; $replace[71] = "<img class='smiley hmpf' src='img/x.gif' alt='*hmpf*' title='*hmpf*'>"; $replace[72] = "<img class='smiley hrhr' src='img/x.gif' alt='*hrhr*' title='*hrhr*'>"; $replace[73] = "<img class='smiley huh' src='img/x.gif' alt='*huh*' title='*huh*'>"; $replace[74] = "<img class='smiley lazy' src='img/x.gif' alt='*lazy*' title='*lazy*'>"; $replace[75] = "<img class='smiley love' src='img/x.gif' alt='*love*' title='*love*'>"; $replace[76] = "<img class='smiley nocomment' src='img/x.gif' alt='*nocomment*' title='*nocomment*'>"; $replace[77] = "<img class='smiley noemotion' src='img/x.gif' alt='*noemotion*' title='*noemotion*'>"; $replace[78] = "<img class='smiley notamused' src='img/x.gif' alt='*notamused*' title='*notamused*'>"; $replace[79] = "<img class='smiley pout' src='img/x.gif' alt='*pout*' title='*pout*'>"; $replace[80] = "<img class='smiley redface' src='img/x.gif' alt='*redface*' title='*redface*'>"; $replace[81] = "<img class='smiley rolleyes' src='img/x.gif' alt='*rolleyes*' title='*rolleyes*'>"; $replace[82] = "<img class='smiley sad' src='img/x.gif' alt=':(' title=':('>"; $replace[83] = "<img class='smiley shy' src='img/x.gif' alt='*shy*' title='*shy*'>"; $replace[84] = "<img class='smiley smile' src='img/x.gif' alt='*smile*' title='*smile*'>"; $replace[85] = "<img class='smiley tongue' src='img/x.gif' alt='*tongue*' title='*tongue*'>"; $replace[86] = "<img class='smiley veryangry' src='img/x.gif' alt='*veryangry*' title='*veryangry*'>"; $replace[87] = "<img class='smiley veryhappy' src='img/x.gif' alt='*veryhappy*' title='*veryhappy*'>"; $replace[88] = "<img class='smiley wink' src='img/x.gif' alt=';)' title=';)'>";
andate in root/game engine/village.php eliminate tutte le righe e copiate questo al interno
Codice HTML:<?php ################################################################################# ## -= YOU MAY NOT REMOVE OR CHANGE THIS NOTICE =- ## ## --------------------------------------------------------------------------- ## ## Filename Village.php ## ## License: TravianX Project ## ## Copyright: TravianX (c) 2010-2011. All rights reserved. ## ## ## ################################################################################# include("Session.php"); include("Building.php"); include("Market.php"); include("Technology.php"); class Village { public $type; public $coor = array(); public $awood,$aclay,$airon,$acrop,$pop,$maxstore,$maxcrop; public $wid,$vname,$capital; public $resarray = array(); public $unitarray,$techarray,$unitall,$researching,$abarray = array(); private $infoarray = array(); private $production = array(); private $oasisowned,$ocounter = array(); function Village() { global $session; if(isset($_SESSION['wid'])) { $this->wid = $_SESSION['wid']; } else { $this->wid = $session->villages[0]; } $this->LoadTown(); $this->calculateProduction(); $this->processProduction(); $this->ActionControl(); } public function getProd($type) { return $this->production[$type]; } public function getAllUnits($vid) { global $database,$technology; return $technology->getUnits($database->getUnit($vid),$database->getEnforceVillage($vid,0)); } private function LoadTown() { global $database,$session,$logging,$technology; $this->infoarray = $database->getVillage($this->wid); if($this->infoarray['owner'] != $session->uid && !$session->isAdmin) { unset($_SESSION['wid']); $logging->addIllegal($session->uid,$this->wid,1); $this->wid = $session->villages[0]; $this->infoarray = $database->getVillage($this->wid); } $this->resarray = $database->getResourceLevel($this->wid); $this->coor = $database->getCoor($this->wid); $this->type = $database->getVillageType($this->wid); $this->oasisowned = $database->getOasis($this->wid); $this->ocounter = $this->sortOasis(); $this->unitarray = $database->getUnit($this->wid); $this->enforcetome = $database->getEnforceVillage($this->wid,0); $this->enforcetoyou = $database->getEnforceVillage($this->wid,1); $this->unitall = $technology->getAllUnits($this->wid); $this->techarray = $database->getTech($this->wid); $this->abarray = $database->getABTech($this->wid); $this->researching = $database->getResearching($this->wid); $this->capital = $this->infoarray['capital']; $this->currentcel = $this->infoarray['celebration']; $this->wid = $this->infoarray['wref']; $this->vname = $this->infoarray['name']; $this->awood = $this->infoarray['wood']; $this->aclay = $this->infoarray['clay']; $this->airon = $this->infoarray['iron']; $this->acrop = $this->infoarray['crop']; $this->pop = $this->infoarray['pop']; $this->maxstore = $this->infoarray['maxstore']; $this->maxcrop = $this->infoarray['maxcrop']; $this->allcrop = $this->getCropProd(); $this->loyalty = $this->infoarray['loyalty']; //de gs in town, zetten op max pakhuisinhoud if($this->awood>$this->maxstore){ $this->awood=$this->maxstore; $database->updateResource($this->wid,'wood',$this->maxstore); } if($this->aclay>$this->maxstore){ $this->aclay=$this->maxstore; $database->updateResource($this->wid,'clay',$this->maxstore); } if($this->airon>$this->maxstore){ $this->airon=$this->maxstore; $database->updateResource($this->wid,'iron',$this->maxstore); } if($this->acrop>$this->maxcrop){ $this->acrop=$this->maxcrop; $database->updateResource($this->wid,'crop',$this->maxcrop); } } private function calculateProduction() { global $technology,$database,$session; $normalA = $database->getOwnArtefactInfoByType($_SESSION['wid'],4); $largeA = $database->getOwnUniqueArtefactInfo($session->uid,4,2); $uniqueA = $database->getOwnUniqueArtefactInfo($session->uid,4,3); $upkeep = $technology->getUpkeep($this->unitall,0,$this->wid); $this->production['wood'] = $this->getWoodProd(); $this->production['clay'] = $this->getClayProd(); $this->production['iron'] = $this->getIronProd(); if ($uniqueA['size']==3 && $uniqueA['owner']==$session->uid){ $this->production['crop'] = $this->getCropProd()-$this->pop-(($upkeep)-round($upkeep*0.50)); }else if ($normalA['type']==4 && $normalA['size']==1 && $normalA['owner']==$session->uid){ $this->production['crop'] = $this->getCropProd()-$this->pop-(($upkeep)-round($upkeep*0.25)); }else if ($largeA['size']==2 && $largeA['owner']==$session->uid){ $this->production['crop'] = $this->getCropProd()-$this->pop-(($upkeep)-round($upkeep*0.25)); }else{ $this->production['crop'] = $this->getCropProd()-$this->pop-$upkeep; } } private function processProduction() { global $database; $timepast = time() - $this->infoarray['lastupdate']; $nwood = ($this->production['wood'] / 3600) * $timepast; $nclay = ($this->production['clay'] / 3600) * $timepast; $niron = ($this->production['iron'] / 3600) * $timepast; $ncrop = ($this->production['crop'] / 3600) * $timepast; $database->modifyResource($this->wid,$nwood,$nclay,$niron,$ncrop,1); $database->updateVillage($this->wid); $this->LoadTown(); } private function getWoodProd() { global $bid1,$bid5,$session; $basewood = $sawmill = 0; $woodholder = array(); for($i=1;$i<=38;$i++) { if($this->resarray['f'.$i.'t'] == 1) { array_push($woodholder,'f'.$i); } if($this->resarray['f'.$i.'t'] == 5) { $sawmill = $this->resarray['f'.$i]; } } for($i=0;$i<=count($woodholder)-1;$i++) { $basewood+= $bid1[$this->resarray[$woodholder[$i]]]['prod']; } $wood = $basewood + $basewood * 0.25 * $this->ocounter[0]; if($sawmill >= 1) { $wood += $basewood / 100 * $bid5[$sawmill]['attri']; } if($session->bonus1 == 1) { $wood *= 1.25; } $wood *= SPEED; return round($wood); } private function getClayProd() { global $bid2,$bid6,$session; $baseclay = $clay = $brick = 0; $clayholder = array(); for($i=1;$i<=38;$i++) { if($this->resarray['f'.$i.'t'] == 2) { array_push($clayholder,'f'.$i); } if($this->resarray['f'.$i.'t'] == 6) { $brick = $this->resarray['f'.$i]; } } for($i=0;$i<=count($clayholder)-1;$i++) { $baseclay+= $bid2[$this->resarray[$clayholder[$i]]]['prod']; } $clay = $baseclay + $baseclay * 0.25 * $this->ocounter[1]; if($brick >= 1) { $clay += $baseclay / 100 * $bid6[$brick]['attri']; } if($session->bonus2 == 1) { $clay *= 1.25; } $clay *= SPEED; return round($clay); } private function getIronProd() { global $bid3,$bid7,$session; $baseiron = $foundry = 0; $ironholder = array(); for($i=1;$i<=38;$i++) { if($this->resarray['f'.$i.'t'] == 3) { array_push($ironholder,'f'.$i); } if($this->resarray['f'.$i.'t'] == 7) { $foundry = $this->resarray['f'.$i]; } } for($i=0;$i<=count($ironholder)-1;$i++) { $baseiron+= $bid3[$this->resarray[$ironholder[$i]]]['prod']; } $iron = $baseiron + $baseiron * 0.25 * $this->ocounter[2]; if($foundry >= 1) { $iron += $baseiron / 100 * $bid7[$foundry]['attri']; } if($session->bonus3 == 1) { $iron *= 1.25; } $iron *= SPEED; return round($iron); } private function getCropProd() { global $bid4,$bid8,$bid9,$session; $basecrop = $grainmill = $bakery = 0; $cropholder = array(); for($i=1;$i<=38;$i++) { if($this->resarray['f'.$i.'t'] == 4) { array_push($cropholder,'f'.$i); } if($this->resarray['f'.$i.'t'] == 8) { $grainmill = $this->resarray['f'.$i]; } if($this->resarray['f'.$i.'t'] == 9) { $bakery = $this->resarray['f'.$i]; } } for($i=0;$i<=count($cropholder)-1;$i++) { $basecrop+= $bid4[$this->resarray[$cropholder[$i]]]['prod']; } $crop = $basecrop + $basecrop * 0.25 * $this->ocounter[3]; if($grainmill >= 1 || $bakery >= 1) { $crop += $basecrop /100 * ($bid8[$grainmill]['attri'] + $bid9[$bakery]['attri']); } if($session->bonus4 == 1) { $crop *= 1.25; } $crop *= SPEED; return round($crop); } private function sortOasis() { $crop = $clay = $wood = $iron = 0; if (!empty($this->oasisowned)) { foreach ($this->oasisowned as $oasis) { switch($oasis['type']) { case 1: case 2: $wood += 1; break; case 3: $wood += 1; $crop += 1; break; case 4: case 5: $clay += 1; break; case 6: $clay += 1; $crop += 1; break; case 7: case 8: $iron += 1; break; case 9: $iron += 1; $crop += 1; break; case 10: case 11: $crop += 1; break; case 12: $crop += 2; break; } } } return array($wood,$clay,$iron,$crop); } private function ActionControl() { global $session; if(SERVER_WEB_ROOT) { $page = $_SERVER['SCRIPT_NAME']; } else { $explode = explode("/",$_SERVER['SCRIPT_NAME']); $i = count($explode)-1; $page = $explode[$i]; } if($page == "build.php" && $session->uid != $this->infoarray['owner']) { unset($_SESSION['wid']); header("Location: dorf1.php"); } } }; $village = new Village; $building = new Building; ?>
Ciao visitatore, ti consiglio di registrarti subito, è facile, veloce e gratuito.
Portale
Forum
Novità
Varie
Dona
Premium
Medaglie
Feedback
Svago
Radio
Chat
Xbox LIVE
Link
Facebook
Twitter
YouTube



LinkBack URL
About LinkBacks
Sesso: Maschio 

Rispondi citando

Segnalibri