Tudo que Lost666 postou
-
(Resolvido)Site off para players
@ismaeldias2 qual porta esta liberada no firewall?
- Me ajudem pfv
-
Restart para windows tfs 1.2
- (Resolvido)Site off para players
a porta do site é 80- Abertura Total-War.Org
http://total-war.org/index.php?subtopic=createaccount Total-War foi criado em 03/11/2011 inicialmente na modalidade de Hardcore-PvP, desde então o servidor mantinha-se online. Estamos buscando um novo rumo ao servidor agora em modo PvP com mapa global 10.98. Oque oferecemos: - Real map 10.98 - Real Tibia monsters - Quests: Ferumbras ascending Quest, Rathleton Quest, Oramond Quest, Roshamuul Quest, War Against the Hive, Gnomebase - Mais de 80 outfits e mounts - Market, treino offline - Cast System Informações do mapa: - 100% RL Tibia map 10.98 - Full Oramond - Full Roshamuul - Full Otherworld - Full Krailos Crie sua conta! Reserve seu nome agora! http://total-war.org/index.php?subtopic=createaccount Caso tenha alguma duvida entre em contato pela pagina do Facebook ou pelo fórum. Obrigado, Total-War Staff- Não tacar items em houses se não estiver invitado.
- (Resolvido)Erro Executável
@rivaldomaciel você esta usando a tfs do otpremium ou trocou por outra?- (Resolvido)Erro Executável
junto com a pasta do seu server pelo oque eu vi você esta utilizando o global aqui do tibiaking entra na pasta Pack Premium e tem o arquivo premium.sql ou então use o original schema.sql https://github.com/otland/forgottenserver- (Resolvido)Erro Executável
ALTER TABLE `accounts`ADD `secret` varchar(255); broder você esta usando tfs 1.2 certo? pelo oq eu vi os erros você esta com a nova versão do tfs porem com a database do tfs 0.4, é melhor você colocar a nova database do que ficar arrumando caso seu server esteja zerado- (Resolvido)Erro Executável
CREATE TABLE IF NOT EXISTS `z_ots_guildcomunication` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `type` varchar(255) NOT NULL, `action` varchar(255) NOT NULL, `param1` varchar(255) NOT NULL, `param2` varchar(255) NOT NULL, `param3` varchar(255) NOT NULL, `param4` varchar(255) NOT NULL, `param5` varchar(255) NOT NULL, `param6` varchar(255) NOT NULL, `param7` varchar(255) NOT NULL, `delete_it` int(2) NOT NULL default '1', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;- Ignorar Player Town
tenho o seguinte script para troca de mapas preciso adicionar para que quando houver a troca de mapa ignorar o player que esteja em town id "9" function onThink(interval, lastExecution) if string.lower(rotateMaps) ~= "yes" then return true end local players = Game.getPlayers() local currentTemple = Game.getStorageValue(currentMap) if #players == 0 then return true end if currentTemple == numberOfMaps then Game.setStorageValue(currentMap, 1) else Game.setStorageValue(currentMap, Game.getStorageValue(currentMap) + 1) end for i = 1, #players do local newTemple = Game.getStorageValue(currentMap) local pos, player = mapPositions[newTemple] player = players[i] player:teleportTo(pos) player:addHealth(player:getMaxHealth()) player:addMana(player:getMaxMana()) local tmp = {CONDITION_POISON, CONDITION_FIRE, CONDITION_ENERGY, CONDITION_BLEEDING, CONDITION_PARALYZE, CONDITION_INVISIBLE, CONDITION_MANASHIELD, CONDITION_INFIGHT, CONDITION_DRUNK, CONDITION_DROWN, CONDITION_ATTRIBUTES, CONDITION_FREEZING, CONDITION_DAZZLED, CONDITION_CURSED, CONDITION_PACIFIED, CONDITION_SPELLCOOLDOWN, CONDITION_SPELLGROUPCOOLDOWN} for i = 1, #tmp do player:removeCondition(tmp[i]) end player:sendTextMessage(MESSAGE_STATUS_WARNING, mapChangeText) end return true end- Duvida House Protection
qual tfs? essa é para 0.4 login.lua registerCreatureEvent(cid, "houseTrash") creaturescripts.xml <event type="moveitem" name="houseTrash" event="script" value="houseTrash.lua"/> creaturescript houseTrash.lua function onMoveItem(moveItem, frompos, position, cid) if position.x == CONTAINER_POSITION then return true end local house = getHouseFromPos(position) if type(house) == 'number' then local owner = getHouseOwner(house) if owner == 0 then return false, doPlayerSendCancel(cid, 'Sorry, not possible.') end if owner ~= getPlayerGUID(cid) then local sub = getHouseAccessList(house, 0x101):explode('\n') local guest = getHouseAccessList(house, 0x100):explode('\n') local isInvited = false if (#sub > 0) and isInArray(sub, getCreatureName(cid)) then isInvited = true end if (#guest > 0) and isInArray(guest, getCreatureName(cid)) then isInvited = true end if not isInvited then return false, doPlayerSendCancel(cid, 'Sorry its not possible bcus you are not invited.') end end end return true end- Premium Storage
gostaria de saber se tem como alterar para quando o player é premium account ele ganhar "X" storage e quando a premium acabar a storage sair junto pensei em um creaturescripts quando entra checa se for premium adiciona a storage caso ainda não tenha, se for free remove a storage- Logo do tibia
ai é com você broder, use photoshop, paint ou oque quiser- Logo do tibia
nas imagens do layout- Quild System War
<style type="text/css"> font.details_wars { color: #004294; } font.details_wars:hover { color: #0063DC; } </style> <div class='message'> <div class='title'>Guild Wars</div> <div class='content'> <?PHP require("config.php"); $ots = POT::getInstance(); $ots->connect(POT::DB_MYSQL, connection()); $SQL = $ots->getDBHandle(); echo " <table cellpadding=\"4\" cellspacing=\"1\" width=\"100%\"> <tr bgcolor=\"#505050\"><td class=\"white\" colspan=\"5\"><b><font color=\"white\"> In-game Commands</font></b></td></tr> <tr><td><table border=\"0\" cellpadding=\"2\" cellspacing=\"1\" width=\"100%\"> <tr bgcolor=\"#f1e0c6\"><td><b> <font color=\"black\">Command</font></b></td><td><b> <font color=\"black\">Action</font></b></td></tr> <tr bgcolor=\"#f1e0c6\"><td> <font color=\"black\">/war invite,guild name,fraglimit </font></td><td> <font color=\"black\">Send an invitation to start a war. Example: war invite,Black Ninjas,150</font></td></tr> <tr bgcolor=\"#f1e0c6\"><td> <font color=\"black\">/war invite,guild name,fraglimit,money,time </font></td><td> <font color=\"black\">Send an invitation to start a war. Example: war invite,Black Ninjas,150,10000,3 day's</font></td></tr> <tr bgcolor=\"#f1e0c6\"><td> <font color=\"black\">/war accept,guild name </font></td><td> <font color=\"black\">Accept the invitation to start a war.</font></td></tr> <tr bgcolor=\"#f1e0c6\"><td> <font color=\"black\">/war reject,guild name </font></td><td> <font color=\"black\">Reject the invitation to start a war.</font></td></tr> <tr bgcolor=\"#f1e0c6\"><td> <font color=\"black\">/war cancel,guild name</font></td><td> <font color=\"black\">This will cancel the invitation to the guild Black Ninjas</font></td></tr> </table></td></tr></table> <br /> <div align='center'> <font color='red'>*Guild War commands must be written in your guild channel in order for them to work</font> <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH=90%> <TR> <TD align='center'><img src='".WEBSITE."/public/images/green.gif' width='10px' height='10px'/> Guild Members | <img src='".WEBSITE."/public/images/red.gif' width='10px' height='10px'/> Guild Enemies | <img src='".WEBSITE."/public/images/blue.gif' width='10px' height='10px'/> Allies or other active wars</TD> </TR> </TABLE> </div> <br /> <script type=\"text/javascript\"><!-- function show_hide(flip) { var tmp = document.getElementById(flip); if(tmp) tmp.style.display = tmp.style.display == 'none' ? '' : 'none'; } --></script> <table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"4\"> <tr> <td style=\"background: #505050\" width=\"150\"><font color=\"white\"><b><center>Aggressor</center></b></font></td> <td style=\"background: #505050\"><font color=\"white\"><b><center>Information</center></b></font></td> <td style=\"background: #505050\" width=\"150\"><font color=\"white\"><b><center>Enemy</center></b></font></td> </tr>"; $counting = 0; foreach($SQL->query('SELECT * FROM `guild_wars` WHERE `status` IN (1,4) OR ((`end` >= (UNIX_TIMESTAMP() - 604800) OR `end` = 0) AND `status` IN (0,5));') as $war) { $counting++; $a = $ots->createObject('Guild'); $a->load($war['guild_id']); if(!$a->isLoaded()) continue; $e = $ots->createObject('Guild'); $e->load($war['enemy_id']); if(!$e->isLoaded()) continue; $alogo = $a->getCustomField('id'); if(empty($alogo) || !file_exists('../../public/guild_logos/' . $alogo)) $alogo = 'default.gif'; $elogo = $e->getCustomField('id'); if(empty($elogo) || !file_exists('../../public/guild_logos/' . $elogo)) $elogo = 'default.gif'; echo "<tr style=\"background: " . (is_int($counting / 2) ? '#D4C0A1' : '#F1E0C6') . ";color:black;\"> <td align=\"center\"><center><a href=\"".WEBSITE."/index.php/guilds/view/".$a->getId()."\"><img src=\"".$config['website']."/public/guild_logos/".$alogo."\" width=\"64\" height=\"64\" border=\"0\"/><br /><font class=\"details_wars\">".$a->getName()."</center></font></a></td> <td align=\"center\">"; $date_begin = $war['begin'] - (5 * 60 * 60); $date_end = $war['end'] - (5 * 60 * 60); switch($war['status']) { case 0: { echo "<center><b>Pending acceptation</b><br />Invited on " . date("M d Y, H:i:s", $date_begin) . " for " . ($date_end > 0 ? (($date_end - $date_begin) / 86400) : "unspecified") . " days. The frag limit is set to " . $war['frags'] . " frags, " . ($war['payment'] > 0 ? "with payment of " . $war['payment'] . " bronze coins." : "without any payment.")."<br />Will expire in three days.</center>"; break; } case 3: { echo "<center><s>Canceled invitation</s><br />Sent invite on " . date("M d Y, H:i:s", $date_begin) . ", canceled on " . date("M d Y, H:i:s", $date_end) . ".</center>"; break; } case 2: { echo "<center>Rejected invitation<br />Invited on " . date("M d Y, H:i:s", $date_begin) . ", rejected on " . date("M d Y, H:i:s", $date_end) . ".</center>"; break; } case 1: { echo "<center><br /><font size=\"5\"><span style=\"color: red;\">" . $war['guild_kills'] . " </span> : <span style=\"color: lime;\">" . $war['enemy_kills'] . " </span></font><br /><br /><span style=\"color: darkred; font-weight: bold;\">On a brutal war</span><br />Began on " . date("M d Y, H:i:s", $date_begin) . ($date_end > 0 ? ", will end up at " . date("M d Y, H:i:s", $date_end) : "") . ".<br />The frag limit is set to " . $war['frags'] . " frags, " . ($war['payment'] > 0 ? "with payment of " . $war['payment'] . " bronze coins." : "without any payment.</center>"); break; } case 4: { echo "<center><font size=\"5\"><span style=\"color: red;\">" . $war['guild_kills'] . " </span> : <span style=\"color: lime;\">" . $war['enemy_kills'] . " </span></font><br /><br /><span style=\"color: darkred;\">Pending end</span><br />Began on " . date("M d Y, H:i:s", $war['begin']) . ", signed armstice on " . date("M d Y, H:i:s", $war['end']) . ".<br />Will expire after reaching " . $war['frags'] . " frags. ".($war['payment'] > 0 ? "The payment is set to " . $war['payment'] . " bronze coins." : "There's no payment set.</center>"); break; } case 5: { echo "<center><i>Ended</i><br />Began on " . date("M d Y, H:i:s", $date_begin) . ", ended on " . date("M d Y, H:i:s", $date_end) . ". Frag statistics: <span style=\"color: red;\">" . $war['guild_kills'] . " </span> to <span style=\"color: lime;\">" . $war['enemy_kills'] . " </span>.</center>"; break; } default: { echo "<center>Unknown, please contact with gamemaster.</center>"; break; } } echo "<br /><br /><a onclick=\"show_hide('war-details:" . $war['id'] . "'); return false;\" style=\"cursor: pointer;\"><font class=\"details_wars\"><center>» Details «</center></font></a></td> <td align=\"center\"><center><a href=\"".WEBSITE."/index.php/guilds/view/".$e->getId()."\"><img src=\"".$config['website']."/public/guild_logos/".$elogo."\" width=\"64\" height=\"64\" border=\"0\"/><br /><font class=\"details_wars\">".$e->getName()."</center> </font></a></td> </tr> <tr id=\"war-details:" . $war['id'] . "\" style=\"display: none; background: " . (is_int($counting / 2) ? '#D4C0A1' : '#F1E0C6') . ";color:black;\"> <td colspan=\"3\">"; if(in_array($war['status'], array(1,4,5))) { $deaths = $SQL->query('SELECT `pd`.`id`, `pd`.`date`, `gk`.`guild_id` AS `enemy`, `p`.`name`, `pd`.`level` FROM `guild_kills` gk LEFT JOIN `player_deaths` pd ON `gk`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `gk`.`war_id` = ' . $war['id'] . ' AND `p`.`deleted` = 0 ORDER BY `pd`.`date` DESC')->fetchAll(); if(!empty($deaths)) { foreach($deaths as $death) { $killers = $SQL->query('SELECT `p`.`name` AS `player_name`, `p`.`deleted` AS `player_exists`, `k`.`war` AS `is_war` FROM `killers` k LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id` LEFT JOIN `players` p ON `p`.`id` = `pk`.`player_id` WHERE `k`.`death_id` = ' . $death['id'] . ' ORDER BY `k`.`final_hit` DESC, `k`.`id` ASC')->fetchAll(); $i = 0; $count = count($killers); $others = false; $deathdate = $death['date'] - (5 * 60 * 60); echo date("j M Y, H:i", $deathdate) . " <span style=\"font-weight: bold; color: " . ($death['enemy'] == $war['guild_id'] ? "red" : "green") . ";\"><font size=3>+</font></span> <a href=\"".WEBSITE."/index.php/character/view/".$death['name']. "\"><b><font class=\"details_wars\">".$death['name']."</font></b></a> "; foreach($killers as $killer) { $i++; if($killer['is_war'] != 0) { if($i == 1) echo "killed at level <b>".$death['level']."</b> by "; else if($i == $count && $others == false) echo " and by "; else echo ", "; if($killer['player_exists'] == 0) echo "<a href=\"".WEBSITE."/index.php/character/view/".$killer['player_name']."\">"; echo '<font class="details_wars">'.$killer['player_name'].'</font>'; if($killer['player_exists'] == 0) echo "</a>"; } else $others = true; if($i == $count) { if($others == true) echo " and few others"; echo ".<br />"; } } } } else echo "<center>There were no frags on this war so far.</center>"; } else echo "<center>This war did not began yet.</center>"; echo "</td> </tr>"; } if($counting == 0) { echo "<tr style=\"background: #D4C0A1;\"> <td colspan=\"3\" style=\"color:black;\"><center>No active wars.</center></td> </tr>"; } echo "</table>"; ?> </div></div>- (Resolvido)Item que da Storage
local storage = 9999 function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, storage) == -1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "MENSAGEM1.") setPlayerStorageValue(cid, storage, 1) doRemoveItem(item.uid, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce ja usou esse item antes.") end return true end- Não consigo mudar o Atack Speed
broder posta o que você editou- Não consigo mudar o Atack Speed
oque você esta alterando?- Problema ao conectar
usa o ip do seu moden pra conectar e não o ip de rede usa o ip do seu moden pra conectar e não o ip de rede- Houses Gesior
minha pagina das casas esta normal exceto para 3 cidades Gray Beach, Roshamuul, Rathleton as cidades aparecem na pagina de casas porem não ah nenhuma casa listada as houses estão setadas no banco de dados se eu alterar para town_id 1 a house aparece na pagina de venore, mas nessas 3 cidades não tem modo de aparecer- Npc exhaust
bug estranho, a maquina trocou a hora sozinha por isso ocorreu esse erro. mas vlw- Npc exhaust
meu servidor crashou e depois que inicializei ele ninguem que estava on no momento consegue usar qualquer npc tanto para comprar coisas como viajar elseif os.time() < getPlayerStorageValue(cid, exhausts) then npcHandler:say('Sorry, but you need to wait three seconds before travel again.', cid) achei assa linha nas libs do npc, ele adiciona a storage mas eu não estou achando essa storage para remover, não consigo achar a id dela.- restart após serve save
não @edit o crontab não conseguia acessar o diretória não sei o motivo então coloquei o diretório no restart ai funcionou while true; do cd /home/otserv && ./tfs; done porem fiquei com uma pergunta, como faço para ver a tela do tfs?- restart após serve save
gostaria de saber como posso fazer para o servidor ligar X hora estou usando tfs e linux tentei pelo crontab mas não consegui ligar o servidor na screen 02 6 * * * /home/server/restart.sh essa linha faz o servidor se ligar porem fora da screen while true; do ./tfs; done - (Resolvido)Site off para players
Informação Importante
Confirmação de Termo