Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 08/18/13 em todas áreas
-
Show OFF • Stylo Maldoso ~ viniciusdrika• !
vital900 e um outro reagiu a VictorFT por um tópico no fórum
nem vi direito sua área mas vamos lá! Você usou auto pelo visto pra fazer essas bordas ... e acabaram ficando feias porque da pra ver o auto bem ali no canto do seu mapa. você usou auto também pra gravel que tem umas incompletas ! Acabou deixando a área muito grande e vazia.. . quanto maior mais você vai ter que detalhar! Essas bordas grossas na montanha (com grass) acho que não ficaram legais, tenta variar ! E Tente usar mais pedrinhas e gravel! Mas não use auto eu demoro muito tempo pra fazer um mapa mas eu não uso auto. ~~Edit~~ Olha eu to fazendo uma hunt pro projeto e vou te mostrar a diferença da minha área pra sua se você ver a minha tem alguns bugs sei que tem que concertar etc e também falta detalhar! Cara vai por mim e pelos outros não use auto border e nem ignore as críticas como esse marluka disse. Nunca vi um trabalho dele mas se ele usa auto deve ser meio feio... Não use auto estraga sua hunt ou oque for! Então antes de começar a Mappear aperte a tecla " A ". Críticas servem para te ajudar a melhorar, você ainda ta aprendendo pelo visto, geralmente pessoas tem mais facilidades e outras não. Boa sorte cara ! Abraços Foto da minha hunt para você ver como é diferente sem auto:2 pontos -
Show Off - Gustavo Castilho
vital900 e um outro reagiu a GustavoCastilho por um tópico no fórum
@VictorFT Nossa, nem tinha reparado.Tenho uma coletânea de algumas fotos in-game aqui, nas próximas eu posto também algumas diretamente do RME. Obrigado pela sua colaboração! @Topic2 pontos -
Show OFF • Stylo Maldoso ~ viniciusdrika• !
VictorFT e um outro reagiu a vital900 por um tópico no fórum
E que estava com preguiça, então irei citar: Obs: eu não sou profissional nem nada, apenas gosto do que faço e procuro sempre melhorar, buscando em tutoriais etc.. Vamos la: Nunca use auto-border. Mesmo que depois você vá tentar tirar um pouco do efeito autoborder para disfarçar, fica uma merda! faça tudo no raw. Suas casas possuem o mesmo estilo de formato. E elas são feitas de materiais muito distintos, você poderia ter feito de uma forma mais bela e 'mesclativa'.. Colocando mais de um andar e mais de um tipo de formato (esta tudo muito quadrado/retângulo) e utilizando de materiais mais 'combinantes'. Do lado exterior, você poderia ter colocado tipos de arvores mais distintos, pedras, arbustos, gramas, musgos, mesclar o chão, por bordas de grama no meio da rua, para dar efeito de realidade, por placas, por postes, etc.. Na montanha, ficou muito estranho, você poderia ter variado melhor as combinações do chão e da parede. Das arvores você poderia usar a tática 1 arvore para 2~3arbustos, entre vários outros 'improvisamentos' em sua nature, como já fora citado anteriormente. Na parte da cachoeira, ta muito ruim, você fez algo meio sem noção e não soube manusear bem os itens para fazer uma cachoeira bela.. A montanha, ficou com um formato muito feio e com 'trocas de bordas' mais ainda. E por favor, retire estas pedras gigantes ao lado da montanha, definitivamente você usou-as de forma incoerente, ficou feio. Você tem o péssimo habito de repetir itens/ideia de mapping ao delongar de uma área.. Entenda, se ficou massa o detalhe use UMA vez, uma coisa é algo inédito de uma determinada área, outra coisa é algo massa em todas as suas áreas.. Este algo massa fica cansativo, e com um tempo ridículo.2 pontos -
ShopGuild Points 100% add em player offline.
marvadon reagiu a Natanael Beckman por um tópico no fórum
Obrigatoriamente leia tudo! Opa galera mais uma vez eu trazendo o melhor para todos. Hoje vou postar o sistema de Guild de Points que eu utilizo em meu OTserver, acredito que dificilmente será encontrado por ae um tão completo e sem bugs igual o que será postado logo abaixo, é um sistema completo que é utilizado pelo líder da guild executando um comando que, se tiver de acordo com as regras que seram feitas por você, todos os membros da guild iram receber os pontos uma unica vez, lembrando que quando os pontos são adicionados a um player ele não receberá entrando em outra guild e não receberá criando outro personagem na conta, resumindo ele só receberá uma unica vez na conta e com um player só. E um dos detalhes que me causava dor de cabeça era que quando um líder executava o comando, quem estava online recebia os pontos, mais quem estava offline não recebia, isso acontecia normalmente porque tem guilds que contém 50, 70, 100 players, portanto nem sempre todos estavam online. O comando só pode ser executado uma vez por dia cada guild, para não gerar processamentos desnecessários e assim um mal funcionamento do servidor. Cada administrador pode configurar seu sistema da forma que quiser, por ser um sistema muito simples, você pode bota que todos os players estejam no minimo level x, que a guild só possa executar o comando quando estiver quantidade x de players online, isso é bom porque traz um certa dificuldade para fraudes de pontos, e o sistema só vira bagunça dependendo do que você vai oferecer no seu shop guild, eu particularmente só utilizei esse comando porque muitas guilds grandes pediam pontos, eles me cobravam uma quantidade x de pontos e eu cobrava uma quantidade x de player então pra automatizar o processo e não ter dor de cabeça foi feito todo esse sistema. Se você analisar bem vai ver que tudo isso só gera mais crescimento ao seu servidor. Bom, vamos ao sistema: Em talkactions.xml, adicione a tag abaixo: <talkaction words="!guildpoints" event="script" value="guildpoints.lua"/> Na pasta talkactions/scripts faça um .lua com o nome guildpoints e dentro dele adicione os coder abaixo: GuildPointsConfigs = { ExecuteIntervalHours = 24, NeedPlayersOnline = 10, NeedDiferentIps = 6, MinLevel = 80, AddPointsForAcc = 9 } function getGuildPlayersValidAccIDS(GuildID, MinLevel) local RanksIDS = {} local AccsID = {} local ValidAccsID = {} Query1 = db.getResult("SELECT `id` FROM `guild_ranks` WHERE guild_id = '".. GuildID .."'") if(Query1:getID() == -1) then return ValidAccsID end for i = 1, Query1:getRows() do table.insert(RanksIDS, Query1:getDataInt("id")) Query1:next() end Query2 = db.getResult("SELECT `account_id` FROM `players` WHERE `rank_id` IN (".. table.concat(RanksIDS, ', ') ..") AND `level` >= ".. MinLevel .."") if(Query2:getID() == -1) then return ValidAccsID end for i = 1, Query2:getRows() do local AccID = Query2:getDataInt("account_id") if #AccsID > 0 then for k = 1, #AccsID do if AccID == AccsID[k] then AddAccList = false break end AddAccList = true end if AddAccList then table.insert(AccsID, AccID) end else table.insert(AccsID, AccID) end Query2:next() end Query3 = db.getResult("SELECT `id` FROM `accounts` WHERE `guild_points_stats` = 0 AND `id` IN (".. table.concat(AccsID, ', ') ..")") if(Query3:getID() == -1) then return ValidAccsID end for i = 1, Query3:getRows() do local AccID = Query3:getDataInt("id") if #ValidAccsID > 0 then for k = 1, #ValidAccsID do if AccID == ValidAccsID[k] then AddAccList = false break end AddAccList = true end if AddAccList then table.insert(ValidAccsID, AccID) end else table.insert(ValidAccsID, AccID) end Query3:next() end return ValidAccsID end function onSay(cid, words, param, channel) if(getPlayerGuildLevel(cid) == 3) then local GuildID = getPlayerGuildId(cid) Query = db.getResult("SELECT `last_execute_points` FROM `guilds` WHERE id = '".. GuildID .."'") if(Query:getID() == -1) then return true end if Query:getDataInt("last_execute_points") < os.time() then local GuildMembers = {} local GuildMembersOnline = {} local PlayersOnline = getPlayersOnline() for i, pid in ipairs(PlayersOnline) do if getPlayerGuildId(pid) == GuildID then if getPlayerLevel(pid) >= GuildPointsConfigs.MinLevel then table.insert(GuildMembersOnline, pid) end end end if #GuildMembersOnline >= GuildPointsConfigs.NeedPlayersOnline then local IPS = {} for i, pid in ipairs(GuildMembersOnline) do local PlayerIP = getPlayerIp(pid) if #IPS > 0 then for k = 1, #IPS do if PlayerIP == IPS[k] then AddIPList = false break end AddIPList = true end if AddIPList then table.insert(IPS, PlayerIP) end else table.insert(IPS, PlayerIP) end end if #IPS >= GuildPointsConfigs.NeedDiferentIps then local ValidAccounts = getGuildPlayersValidAccIDS(GuildID, GuildPointsConfigs.MinLevel) db.executeQuery("UPDATE `guilds` SET `last_execute_points` = ".. os.time() +(GuildPointsConfigs.ExecuteIntervalHours * 3600) .." WHERE `guilds`.`id` = ".. GuildID ..";") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "".. #ValidAccounts .." Players received points") if #ValidAccounts > 0 then db.executeQuery("UPDATE `accounts` SET `guild_points` = `guild_points` + " ..GuildPointsConfigs.AddPointsForAcc .. ", `guild_points_stats` = ".. os.time() .." WHERE `id` IN (" .. table.concat(ValidAccounts, ',') ..");") for i, pid in ipairs(GuildMembersOnline) do local PlayerMSGAccID = getPlayerAccountId(pid) for k = 1, #ValidAccounts do if PlayerMSGAccID == ValidAccounts[k] then doPlayerSendTextMessage(pid, MESSAGE_INFO_DESCR, "You received "..GuildPointsConfigs.AddPointsForAcc .." guild points.") break end end end end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Only ".. #IPS .." players are valid, you need ".. GuildPointsConfigs.NeedDiferentIps .." players with different ips.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Has only ".. #GuildMembersOnline .." players online you need ".. GuildPointsConfigs.NeedPlayersOnline .." players online at least from level ".. GuildPointsConfigs.MinLevel ..".") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "The command can only be run once every "..GuildPointsConfigs.ExecuteIntervalHours .." hours.") end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Only guild leader can request points.") end return true end No coder acima bem no inicio tem as linhas seguintes para configurar: ExecuteIntervalHours = 24, ( Intervalo para execução do comando, ae está de 24 em 24hrs) NeedPlayersOnline = 10, (Quantos players é preciso está online para poder executar o comando.) NeedDiferentIps = 6, (Quantos IPS diferentes são necessários para executar o comando no exemplo ae tem 6.) MinLevel = 80, (Aqui adicione o level minimo, é necessário que todos os player da guild tenha o level pedido para o lider executar o comando.) AddPointsForAcc = 9, (Aqui é a quantidade de pontos para adicionar em cada player da guild.) Certo, a parte do servidor é esta, ta feita, vamos adicionar a database o coder a seguir: ALTER TABLE `accounts` ADD `guild_points` INTEGER(11) NOT NULL DEFAULT 0; ALTER TABLE `accounts` ADD `guild_points_stats` INT NOT NULL DEFAULT '0'; ALTER TABLE `guilds` ADD `last_execute_points` INT NOT NULL DEFAULT '0'; CREATE TABLE `z_shopguild_offer` ( `id` int(11) NOT NULL auto_increment, `points` int(11) NOT NULL default '0', `itemid1` int(11) NOT NULL default '0', `count1` int(11) NOT NULL default '0', `itemid2` int(11) NOT NULL default '0', `count2` int(11) NOT NULL default '0', `offer_type` varchar(255) default NULL, `offer_description` text NOT NULL, `offer_name` varchar(255) NOT NULL, `pid` INT(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`)) CREATE TABLE `z_shopguild_history_item` ( `id` int(11) NOT NULL auto_increment, `to_name` varchar(255) NOT NULL default '0', `to_account` int(11) NOT NULL default '0', `from_nick` varchar(255) NOT NULL, `from_account` int(11) NOT NULL default '0', `price` int(11) NOT NULL default '0', `offer_id` int(11) NOT NULL default '0', `trans_state` varchar(255) NOT NULL, `trans_start` int(11) NOT NULL default '0', `trans_real` int(11) NOT NULL default '0', PRIMARY KEY (`id`)) CREATE TABLE `z_shopguild_history_pacc` ( `id` int(11) NOT NULL auto_increment, `to_name` varchar(255) NOT NULL default '0', `to_account` int(11) NOT NULL default '0', `from_nick` varchar(255) NOT NULL, `from_account` int(11) NOT NULL default '0', `price` int(11) NOT NULL default '0', `pacc_days` int(11) NOT NULL default '0', `trans_state` varchar(255) NOT NULL, `trans_start` int(11) NOT NULL default '0', `trans_real` int(11) NOT NULL default '0', PRIMARY KEY (`id`)) Olha estamos quase finalizando tudo, só precisamos terminar a parte de web. O meu GuildShop eu copiei meu shopsystem.php e fiz umas modificações, simples você pode fazer o mesmo é menos trabalhoso. Copie o shopsystem.php renomeie para shopguild.php, após abra-o e modifique como manda a seguir: shop_system para shopguild_system premium_points para guild_points premium points para guild points z_shop_offer para z_shopguild_offer shopsystem para shopguild z_shop_history_pacc para z_shopguild_history_pacc z_shop_history_item para z_shopguild_history_item Ou utilize este já pronto: shopguild.php O shopguildadmin.php esté no link abaixo, basta fazer o mesmo procedimento: shopguildadmin.php Em index.php add: case "shopguild"; $topic = "Shop Guild"; $subtopic = "shopguild"; include("shopguild.php"); break; case "shopguildadmin"; $topic = "ShopGuild Admin"; $subtopic = "shopguildadmin"; include("shopguildadmin.php"); break; Vá em config.php adicione: $config['site']['shopguild_system'] = 1; $config['site']['access_adminguild_panel'] = 9; Vá em layouts.php adicione abaixo de buypoints: <a href='?subtopic=shopguild'> <div id='submenu_shopguild' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)'onMouseOut='MouseOutSubmenuItem(this)'> <div class='LeftChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div> <div id='ActiveSubmenuItemIcon_shopguild' class='ActiveSubmenuItemIcon'style='background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);'></div> <div class='SubmenuitemLabel'>Shop Guild</div> <div class='RightChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div> </div> </a> Em layouts.php add depois do shopadmin: if($group_id_of_acc_logged >= $config['site']['access_adminguild_panel']) echo "<a href='?subtopic=shopadmin'> <div id='submenu_shopguildadmin' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)'onMouseOut='MouseOutSubmenuItem(this)'> <div class='LeftChain' style='background-image:url(".$layout_name."/images/general/chain.gif);'></div> <div id='ActiveSubmenuItemIcon_shopguildadmin' class='ActiveSubmenuItemIcon'style='background-image:url(".$layout_name."/images/menu/icon-activesubmenu.gif);'></div> <div class='SubmenuitemLabel'><font color=red>! ShopGuild Admin !</font></div> <div class='RightChain' style='background-image:url(".$layout_name."/images/general/chain.gif);'></div> </div> </a>"; Finalmente terminamos! Bom todo esse processo é feito só para facilitar tudo pra você e o player e pra diferenciar o Shop System do Shop Guild, porque um sustenta as despesas do server e o outro atrai player, porque pra ter player é preciso ter player. Galera acredito que não esteja faltando nada, espero que gostem e tudo que eu poder fazer para nossas melhoras estarei postando, me desculpem meu erros de português mais o que importa aqui é o script está correto, abraços! Créditos: Natanael Beckman LukeSkywalker (Raphael Luiz) .lua 100% Não proíbo ninguém de copia o tópico só peço que onde você adicione inclua os créditos mencionados.1 ponto -
[Modern acc Template] OTpokemon
Alexclusive reagiu a Gabrieltxu por um tópico no fórum
Conteudo Retirado.1 ponto -
Outland completa para POKÉMON. Atualizado 26/11/2013 DOWNLOAD: http://www.4shared.com/rar/VaQnQ718/Outlands_26112013.html? O 4shared já faz o scan. Outlands Leaf Ghost Psychic Fire (East) Bug Rock Fire (South) Normal Fly Ice Electric Earth Fight Dragon SE GOSTOU, DÁ UM CURTIR E DEIXE SEU COMENTÁRIO Créditos: murluka1 ponto
-
Seu Primeiro Open Tibia Server
Marco Oliveira reagiu a LuckinhaSan por um tópico no fórum
Seu Primeiro Open Tibia Server Olá xTibia, criei este tutorial com base no tutorial do Nevermore, usuário de um fórum Gringo. Eu estou aqui para fazer a sua vida Open Tibia um pouco mais fácil, dando-lhe um ótimo tutorial sobre como iniciar o seu primeiro Open Tibia Server. Isto incluirá algumas correções de bugs comuns, de erros, e até mesmo algumas ferramentas úteis para ajudar você como você se aventurar no mundo mágico de OTs. Então, o que você está esperando? Vamos começar! Súmario I. Escolher o Servidor Correto//Port Forwarding II. Criação De Um Banco De Dados//Admin Account III. Editar Server Rates e Informações IV. Adicionando Novos Scripts V. Colocando Online Erros e Bug's Comuns Ferramentas Que Você Precisa Ter Notepad C Latidoo Tibia Multi IP Changer I. Escolhendo Servidor Correto e Port Forwarding Há muitos servidores para escolher, mas qual é o ideal para você? Bem, vamos dar uma olhada. OTServ foi a primeira distribuição real que saiu para o público, e TFS é a raiz de OTServ, no entanto, OTServ perdeu alguns de seus desenvolvedores ao longo do tempo. Isso significa que o TFS é mais conhecida, e é mais estável, já que a comunidade é maior, e há uma possibilidade mais provável é que eles se reportar bugs do que uma comunidade morta como OTFans. Então, nesse caso, se você tivesse que escolher entre os dois, TFS é a sua melhor escolha. Você também pode querer dar uma olhada no que foi removido no tempo das atualizações, por exemplo, se você estiver criando um servidor que você precisa de um monte de efeitos, a ação efeito foi tirada em 8,7 +, por isso, eu não recomendo usá-lo para isso. Agora, a revisão mais estável é o servidor 9x +. Eu vou estar usando o servidor 9.1 no meu exemplo. Servers [9.83] Alissow OTS 5.0! [17/03/13] [9.60] Azeroth RPG [8.54] The Forgotten Server 0.3.6Pl1 (Crying Damson) Quando você está baixando o seu servidor, e sempre tente manter o console até você conseguir um jeito de o que fazer no servidor, então você pode alternar para o GUI, o console não permite que você faça um monte de coisas, e isso é bom, para que não estrague o seu servidor quando se brinca com ele, nós não queremos que isso aconteça agora né? Lembre-se de fazer o download dos arquivos .DLL junto com o servidor.. Coloque-as no diretório raiz do seu servidor. (A pasta com o exe. Nele.) Sua pasta deve ficar assim: Agora você deve ser capaz de iniciar o seu servidor, mas espere! Os jogadores não podem entrar, e.. Bem, não pode ser assim tão fácil não é? A sua resposta é não, você ainda não está pronto para fazer o login, você deve primeiro encaminhar suas portas. Mas não entre em pânico! Não é tão difícil quanto você pode pensar que é, é realmente muito fácil, a única parte difícil é encontrar o número do modelo router! Coisas que você vai precisar antes de continuar: 1. Um Router 2. Número do seu roteador modelo 3. Nome do Roteador Empresa 4. O seu Endereço Default Gateway 5. A senha de login para configuração do roteador Agora que você finalmente conseguiu todas essas coisas escritas, podemos continuar para a parte mais chata de fazer o Port Forwarding! Sim, você ouviu direito. No entanto, existe um site que faz todos os seus problemas irem embora nesta tarefa.. Este site me ajudou a entender como fazer isso, então eu tenho certeza que ele vai te ajudar. Port Forwarding Guides Listed by Manufacturer and Model - PortForward.com. Você deve ir ao site e encontrar o número do modelo sob o nome de roteador e roteador empresa. De lá, você deve encontrar o seu endereço do gateway padrão. Minha estrada terminou aqui, eu não posso te ajudar com isso, uma vez que cada roteador é diferente, no entanto, com o guia, e as portas, você vai ficar bem! Veja abaixo uma lista das portas que você deve liberar. Portas para liberar 7171 (TCP / UDP) 7172 (TCP / UDP) 80 (TCP / UDP) Parabéns! Você liberou suas portas! Agora você está pronto para ir para a criação de um banco de dados e uma conta de administrador. Bom trabalho! Não é que foi difícil? ____________________II. Criação De Um Banco De Dados e Admin Account Esta parte é muito fácil, e eu vou explicar bem. Após isso, você deve ser capaz de acessar o servidor. Mas não fique muito afobado. Você quer fazer isso corretamente, ou você vai ter que começar de novo... Você Precisará De: 1. Um Drink 2. Apache Friends - Xampp - (Instalação Apache e MySQL como Serviços) 3. Um Password Seguro Tudo bem.. Agora que você tem xampp instalado e Apache e MySQL como os serviços, agora vamos começar... Depois de ter iniciado os serviços, vá até este site e configure uma senha para o seu banco de dados, assim ninguém pode adivinhar: http://localhost/sec...mppsecurity.php Depois de fazer isso, reinicie o Apache e MySQL para que os efeitos possam ocorrer... Acredite ou não, você já está a meio deste passo, eu sei, rápido né? Agora você pode ir para o outro link, você provavelmente deve entrar com as informações que eu colocar abaixo: http://localhost/phpmyadmin/ Username: root Password: <senha que escolheu no passo acima.> Após fazer o login, você deve excluir a PMA usuário, ou então você será hackeado 100x mais fácil do que o habitual, já que está dando um backdoor para o hacker. Você pode fazer isso clicando no 'SQL' caixa no canto superior esquerdo da página do phpmyadmin, e executar isto para ele: DROP USER 'pma'@'localhost'; Agora você está agradável e seguro a partir desses hackers desagradáveis... (T.T) e estamos prontos para avançar para as etapas finais da criação do seu OT! Agora você deve ir para o diretório do servidor e abra o arquivo "config.lua" Você pode encontrar esse arquivo e a função dele, olhando para a imagem abaixo. Depois de ter aberto isso, vá em frente e pressione "CTRL + F" e procure por "Database". Agora, olhe abaixo para descobrir o que você deve fazer com todo esse material. -- MySQLmysqlHost = "localhost"mysqlUser = "root"mysqlPass = "" <<< Password que você escolheu no Xampp.mysqlDatabase = "" <<< Nome do seu servidor.mysqlPort = 3306 Também não se esqueça de mudar o 'sqlite' para 'mysql'. Procure por "SQLType" e mude para o MySQL. -- SQLsqlType = "MySQL"passwordType = "plain" Depois de tudo isso é feito, volte para "localhost / phpmyadmin" e crie um banco de dados. Você deve encontrar um lugar para criar um banco de dados na página inicial, digite o nome do servidor que você colocar na config.lua logo acima, e clique em entrar. Depois disso, clique em "Importar" e depois clique em "Procurar", busque por "forgottenserver.sql" em seu diretório do servidor, selecione, em seguida, clique em "Executar". Parabéns, se você fez tudo corretamente, você deve ser capaz de acessar o servidor com o IP "127.0.0.1" e conta "1/1". Mas espere! O você não fez ainda, nós ainda temos que fazer uma conta de administrador! Vá até a guia de banco de dados "localhost/phpmyadmin" e clique em accounts, vá para a conta que você criou e defina o acesso à conta para 5, em seguida, vá para o personagem que você criou na guia "Characters", e defina group id do personagem para 3 , você pode fazer isso tudo, clicando na caixa de seleção da guia account ou characteres e clicando no papel com um lápis ou no botão editar, na parte inferior da página. Parabéns! Agora você pode iniciar o seu OT, e faça o login com a conta de administrador, mas não vão alegre-se ainda, nas próximas etapas, eu vou te dizer mais algumas coisas sobre como fazer seu servidor ser o melhor! III. Editar Server Rates e Informações Então, você veio até aqui, e espero que, o servidor foi configurado corretamente, e esteja tudo bem. Mas, agora, como é que vamos colocar isso online? Bem, eu vou ajudá-lo com tudo isso mais tarde, mas por agora, que tal mudar o IP, e as taxas do servidor, nome, etc, para que você possa torná-lo seu? Vamos? Veja abaixo, e você vai se sentir como um pro depois. Boa sorte! Antes de começar, você tem que se perguntar, que tipo de servidor que você vai querer? Hight experience teleport server, um real-map, ou um RPG. Todos esses têm diferentes variáveis que você tem que mudar em seu arquivo config.lua. Mas não se preocupe, não é difícil em tudo, mas primeiro, vamos baixar uma pequena ferramenta para nos ajudar a entender os arquivos que estamos editando um pouco melhor. é chamado Notepad++ e é usado por scripters, para ajudá-los a entender melhor o que estão fazendo. Vamos dar uma olhada neste arquivo config.lua? Notepad++ v5.9.3 - Current Version Tudo bem, agora que você tem o Notepad++ baixado, e seu tipo de servidor escolhido, vamos dar uma olhada na primeira parte do config.lua. Aqui vamos descrever a localização inicial do mapa, o nível inicial, e muito mais. Você pode alterar essas variáveis muito facilmente, e é uma espécie de auto-explicativo o que fazer. Em vez de gastar tempo com isso, vamos falar sobre mais algumas coisas, que decide o tempo, munição ou runas são infinitas, e outras, como a possibilidade criticle hit, etc. Eu expliquei lá o que cada um daqueles faz, por isso deve ser muito fácil de mudar. Agora, nós vamos falar sobre como descobrir a sua taxa de experiência. Neste tutorial, eu não vou explicar como usar estágios, você vai descobrir se você realmente precisa deles, mais tarde, as pessoas certas, e como usar as etapas corretamente, agora eu vou mostrar-lhe apenas taxas de base . Agora que você tem seu servidor todo pronto, vamos começar a obter um endereço de IP que as pessoas possam acessar seu servidor. Primeiro vamos estar indo em um site legal chamado meatsp.. No-ip.com. Uma vez que entrou lá, você provavelmente deve fazer uma conta, a menos que você simplesmente não queira uma. Depois de fazer isso, veja abaixo e eu vou explicar como fazer um domínio no-ip para o seu OT, portanto, não é apenas números. Depois de ter feito esses dois passos, não mude mais nada, clique em "Create Host" e vá para: http://meuip.com.br então copie. Depois, vá para o arquivo config.lua, e pesquise por "connection", depois de achar, veja abaixo e você vai finalmente ser capaz de colocar o seu servidor online! Depois disso, adivinhem? Você pode fazer o login com o IP que você fez em noip.org, e seu OT está finalmente pronto! Agora você só tem que encontrar um datapack, ou ter uma equipe e fazer o seu próprio servidor personalizado! IV. Adicionando Novos Scripts Olá de novo, se você chegou até aqui, significa que você já tenha configurado seu servidor, e você quer saber como implementar alguns scripts para ele, para torná-lo legal né? Vamos, eu vou te mostrar como, e eu vou dar alguns exemplos, mas eu só estou fazendo um exemplo para "Actions", desde que é o script mais comumente usado em Open Tibia. Primeiro, vamos estar indo em sua pasta data, e na pasta "Actions": ou seja, "servername\data\actions\", agora abra "Actions.XML" com o Notepad++, e em seguida vá em "servername\data\actions\scripts\" e olhe abaixo. Vamos dizer que queria adicionar um script para um Teleport Scroll. Você pode olhar para o código abaixo, mas primeiro, abra uma nova guia no Notepad++ e em seguida, cole nele o código abaixo. Agora que você tem isso, clique em "Arquivo", "Salvar Como", em "Tipo", escolha LUA SOURCE FILE e salve-o em "servername /data/actions/scripts". Depois disso tudo feito, vamos em frente até o script que você abriu mais cedo, "Actions.XML" e coloque este código em seu actions.xml. <action itemid="6119" script="yourscriptname.lua"> E pronto, você fez o seu primeiro Temple Teleport Script, e você aprendeu a adicioná-lo em seu servidor. Agora salve actions.xml, e reinicie o servidor, teste, lembre-se que o "6119" pode ser alterado, é o item id do item que vai te teleportar para o templo. V. Colocando Online Parece que você chegou na última etapa. Fazendo seu servidor público, assim outros jogadores podem ver, há muitas maneiras de fazer isso, e o mais comum é colocá-lo em uma lista aberta de servidores de tibia, como otservlist.org, ou Vapu(s).net. Você pode simplesmente fazer isso ao se inscrever no site, e em seguida, adicionar o seu servidor. Ele vai lhe mostrar o que fazer, e que informações colocar. Então, realmente não é tão importante mostrar como fazer. Então, nesse caso, eu vou fazer uma sopa pra nóis. Erros e Bug's Comuns Se você tiver qualquer erro, por favor comunique-me, e eu vou corrigi-los, e colocar o resultado aqui, para que todos os jogadores possam ter um servidor impecável! P: Como faço para mapear? R: Importar o mapa e colocar o items.otb na pasta cliente RME. P: Eu não posso encontrar o arquivo forgottenserver.sql. O que eu faço? R: Você também pode usar "schema.mysql" na sua pasta schema. P: Qual versão do Xampp que eu uso? R: Você pode usar qualquer versão do Xampp Lite ou Xampp.1 ponto -
Sobre o Projeto: Primeiramente será um servidor com várias possibilidades permitindo que jogadores aprendam novos Jutsus , o servidor contém um mapa próprio feito por mim sozinho , foi tudo feito do 0 Spells , Clans , Monstros foram deletados e estão sendo refeitos , ja implantamos vários sistemas para melhorar a jogabilidade de vocês Sistema de Sentar Sistema de Recuperar Chakra Sistema de Correr Sistemas de Casas Vagas: Programadores [Vago] [Vago] Spriters [Vago] [Vago] Script's [Vago] [Vago] Designer [Vago] (caso alguém tenha experiencia com ot client também pode se escrever) Cúrriculo: Nome: Cargo: Nível de Experiência: Skype: Tempo Livre: Porque Quer Fazer Parte da Equipe: Agradeço ao Slicer e o Roksas por Me Ajudarem =] e também a Thalia (Léo) Caso não queira entrar na Equipe e queira jogar o servidor Curta nossa Página no Faceebook e garanta sua chance de entrar no Test Server https://www.facebook.com/narutoheroesonline1 ponto
-
Haoupa!
Alexclusive reagiu a Tonynh por um tópico no fórum
Olá pessoal... faz um tempinho que não apareço por aqui, hehe. Vim mostrar um pouco do meu trabalho atual, algo que estou passando grande parte do meu tempo desenvolvendo. É um dos cenários de um jogo, sim, um jogo! Por enquanto, nome, endereço, tudo é segredo. Mas logo, deve sair um teaser, e trago para cá =) Fala Alex, quanto tempo =p1 ponto -
Pokemons lendarios pra Centurion v6
Affzesquecioresto reagiu a xisraelx por um tópico no fórum
Oi Pessoal do Xtibia, Oje eu venho trazendo pra voces, os scripts dos pokes lendarios pra o centurion V6. ¿Mais pq vem trazendo os scripts se ja tem? R: Pq os pokes lendarios nao tem ATKS! Pronto Aque ta os scripts: http://www.4shared.com/folder/ilQvQ-5D/Pokes_pra_editar.html O Scan aque https://www.virustotal.com/es/file/86655b7f5ea6d5ec13313f82370bd5ee2a93a5b04d78b1167eed3cb87568817f/analysis/1376850645/ https://www.virustotal.com/es/file/2ace36940224ade9969ac1fba23ada9dc2abdef353df187e53bb99ef7138b945/analysis/1376850669/ https://www.virustotal.com/es/file/4ca09bdcc2799cfbc3d1fed1b53f7728604d8ac30af20064e47b89281d6d49dc/analysis/1376850842/ https://www.virustotal.com/es/file/afc323d5025717cfda0c374281d4f9c9c111c0212ab4721f02b9b5f8dd2be3d0/analysis/1376850917/ https://www.virustotal.com/es/file/ee60401dcbbaa552daee404e44361dd4d38e87ef4071d0ffef1d7fd8673704ba/analysis/1376850978/ https://www.virustotal.com/es/file/e78926be3fa939a20c5be37cc1df2c161529afd14b1c9116400e644936af2b2b/analysis/1376850855/ https://www.virustotal.com/es/file/9a41a0bdd0885cf0d3f64777ab6bbd9e17e366d1e9c29d7599b99722efc1ab02/analysis/1376851043/ https://www.virustotal.com/es/file/32de49d43db24e7e34646753670d9ed1d0dec282aeea9e3d3a732df1cb90201a/analysis/1376851078/ https://www.virustotal.com/es/file/2b550c733c04520b66e483e0f76c8d9ac39bf2cdf92bbf09eac9524b94f76fae/analysis/1376851106/ https://www.virustotal.com/es/file/987a4b7d1019f74f48549720f72b13923a53701ffe9d338b5f987501fe0fb419/analysis/1376851119/ Creditos: 100% Eu pela a Ediçao1 ponto -
[Encerrado]Montar Equipe Para poketibia
Alexclusive reagiu a Gabrieltxu por um tópico no fórum
Área errada. Movido. Amigo mais cuidado quando for criar um tópico sempre veja se está na área correta. Movido para. Monte sua Equipe1 ponto -
Como arrumar isso !
TiagoBordin1988 reagiu a Vodkart por uma questão
na sua database vc executa: ALTER TABLE `players` ADD `frags` INT NOT NULL DEFAULT '0'1 ponto -
Fazndo uma huntzinha pra praticar algumas coisas novas.. unica coisa que eu não tenho ideia é que monstro que vai ter ai :~1 ponto
-
Fort Knox
vital900 reagiu a PequenoRei por um tópico no fórum
Olá galera xtibiana, eu estive um bom tempo sem fazer mapas agr eu voltei e estou trabalhando em um projeto bem grande. Esse mapa é só um vilarejo q fiz bem rapido, a unica parte q n gostei mt é a parte de cima da muralha. Comente ai pf. ScreenShot: Scan=0/46 https://www.virustotal.com/pt/file/3ff372fe8f1bf2663a3bdbef3fddbb8c6a358b12e3aecbea8759446438a70552/analysis/1376845924/ Download: http://www.4shared.com/file/ZUCjZhde/Fort_Knox.html Gostou?? Rep+1 ponto -
Problemas com o RME
znarkbrasil reagiu a Alexclusive por uma questão
Tópico movido para a seção de dúvidas e pedidos resolvidos.1 ponto -
Cara eu realmente te amo, te amo demais, amor a primeira vista, casa cmg? '-' Segura minha reputação aí! Não vlw haishiau Foi nada precisando estamos ai1 ponto
-
1 ponto
-
Entao aqui está 3 das sprites feitas por min MINATO NAMIKAZE, NATSU DE FIRE TAIL e o NARUTO DAS TREVAS. PRINTS FEITAS EM DIAS DIFERENTES Não REPAREM '-'1 ponto
-
[Encerrado] Narutibia
Minatoz reagiu a Desnecessario por um tópico no fórum
http://www.xtibia.com/forum/topic/198622-naruto-of-war-now-781/1 ponto -
PokeB - A revolução do Pokémon Tibia
Daniel Bighouse reagiu a Faelzdanil por um tópico no fórum
É parceiro vamos deixar esse projeto parado não vamos com tudo ! Já sabe que mapa pode contar comigo1 ponto -
[Encerrado] Erro no console: RSA Decrypt?
JonatasLucasf reagiu a Roksas por um tópico no fórum
Companheiro, não é permitido títulos desta forma, irei editá-lo, mas não repita novamente. Procure criar tópicos com títulos objetivos á sua dúvida e/ou pedido. Nada de "Ajuda, socorro, help". @Topic Bom, tente trocar o seu arquivo admin.xml da pasta data/XML por este anexado! #GoodLuck. admin.xml1 ponto -
#GoodLuck. function onUse(cid, item, fromPosition, itemEx, toPosition) local cfg = { refuel = 42 * 60 * 1000, time = 2000, -- Tempo de Exhaustion (1000 por segundos) } if getPlayerStorageValue(cid, 141012) > os.time() then doPlayerSendCancel(cid, "You are exhausted, wait "..getPlayerStorageValue(cid, 141012) - os.time().." seconds.") return true end if getPlayerStamina(cid) >= cfg.refuel then doPlayerSendCancel(cid, "Your stamina is already full.") else doPlayerSetStamina(cid, cfg.refuel) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Your stamina has been refilled, please relog to activate.") doRemoveItem(item.uid) setPlayerStorageValue(cid, 141012, os.time() + cfg.time / 1000) end return true end1 ponto
-
local time = 30 -- Tempo em segundos local refuel = 42 * 60 * 1000 function onUse(cid, item, fromPosition, itemEx, toPosition) if (getPlayerStorageValue(cid, 141012) >= os.time()) then return doPlayerSendCancel(cid, "Wait "..time.." seconds.") elseif (getPlayerStamina(cid) >= refuel) then return doPlayerSendCancel(cid, "Your stamina is already full.") end doPlayerSetStamina(cid, refuel) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Your stamina has been refilled, please relog to activate.") doRemoveItem(item.uid) setPlayerStorageValue(cid, 141012, os.time()+time) return true end1 ponto
-
1 ponto
-
Escravos do Projeto, ops, Membros! Fala galera da XTibia, tudo fimóze? Para você que esta curioso para saber quem são os escravos membros por trás desse grande projeto, venho hoje apresentar-los. Carlos Eduardo, 21 anos. Administrador e idealizador do Projeto. Lindo, tesão, bonito e gostosão ♪ Milton, idade da pedra, namora... tirem olho dele. Programador LUA Gustavo, não sei a idade dele Administrador Xtibia, e está sendo braço direito para o projeto. Opa, chego a hora de anunciar os parceiros do projeto! Nossa equipe esta apostando muito no projeto, e temos planos grandes para realmente deixar você de boca aberta. XTibia.com Opa galera, então é só isso. Me desculpe pelas brincadeiras mas é uma forma de descontrair, agradeço pela força que todo mundo está dando ao projeto! Atenciosamente, Brad Pitt Carlos Eduardo.1 ponto
-
Erro coloco os mostros pelo mapa editor e não aparece no serve
neroxp reagiu a AlekysRocha19 por uma questão
Tem uma opção no remere, que desabilita e habilita a visibilidade dos monstros , vai em View -> Show Creatures ( ou aperta o F ) .1 ponto -
O WebATS Manager precisa de você! Isso mesmo, você que tem experiencia em programação php ou lua, web design ou até mesmo é ótimo com lingua portuguesa, que tal nos ajudar? O WebATS promete ser um projeto de grande escala, e com isso a demanda de serviço é graaaande! Então, necessitamos de ajuda. Caso você se ache no nível adequado para adentrar a equipe, que tal entrar em contato? É possível entrar em contato através de MP aqui mesmo no fórum, ou através do skype: tcctxe ou gpedro842. Atenciosamente, WebATS Manager Team.1 ponto
-
é, tem que registrar no player, não tinha lido o script, só vi o nome na tag "pokemonidle" e fez sentido ser no summon... enfim, basta usar esse script: local efeito = 1 -- coloque 0 para remover o efeito quando o pokemon teleportar local max = 9 -- distancia max entre o pokemon e o player local function doIncreaseSpeed(cid) if not isCreature(cid) then return true end doChangeSpeed(cid, -getCreatureSpeed(cid)) doChangeSpeed(cid, 2.5*(getCreatureBaseSpeed(cid) + getSpeed(cid))) end function onLogin(cid) registerCreatureEvent(cid, "PokemonIdle") return true end function onThink(cid, interval) if not isCreature(cid) then return true end if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1 or getPlayerStorageValue(cid, 63215) >= 1 then return true end if #getCreatureSummons(cid) >= 1 and not isCreature(getCreatureTarget(cid)) then if getDistanceBetween(getThingPos(cid), getThingPos(getCreatureSummons(cid)[1])) > max then doTeleportThing(getCreatureSummons(cid)[1], getThingPos(cid), false) doSendMagicEffect(getThingPos(cid), 21) end end return true end e essas tags: <event type="think" name="PokemonIdle" event="script" value="poketele.lua"/> <event type="login" name="PokemonIdleLogin" event="script" value="poketele.lua"/>1 ponto
-
Dúvida ao abrir RME com .spr e .dat alterados
juninho1542 reagiu a gskrupp por uma questão
Simplesmente abrir os arquivos, clicar em salvar, marcar a opção "760" da caixa ao lado de 'compile', e depois mandar compilar? E depois abrir o RME? Se for isso, não deu certo.1 ponto -
[Npc]Quero Npc De Troca
gabrielgws reagiu a paulincarvalhoo22 por uma questão
Ae eu tenho um no meu ot , é 8.5 e funciona! Ot/data/npc copie qualquer script, renomeie pra trocadeitens , apague tud o que estiver dentro, e cole isto: <?xml version="1.0" encoding="UTF-8"?> <npc name="Nome do Npc" script="data/npc/scripts/troca.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="332" head="0" body="0" legs="0" feet="0"/> <parameters> <parameter key="message_greet" value="Aqui voce bota uma msg que voce quiser, poder ser informando os itens que poder sem trocados , voce escolhe" /> </parameters> </npc> depois em data/npc/scripts , copie qualquer script, renomeie pra troca , apague tud o que estiver dentro, e cole isto: local talk_state = 0 local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if msgcontains(msg, 'nome do item') then if getPlayerItemCount(cid,6512) >= 1 then if doPlayerRemoveItem(cid,6512,1) then doPlayerAddItem(cid,1990,1) npcHandler:say('mensagem quando o item é trocado.') end else npcHandler:say('mensagem quando o player nao tem o item') talk_state = 0 end elseif msgcontains(msg, 'bye') then npcHandler:say('Até mais, ' .. getCreatureName(cid) .. '! Volte em breve...') talk_state = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) explicando: aonde ta ali "nome do item" é o que o player vai falar pra trocar os items! if getPlayerItemCount(cid,6512) >= 1 then << aqi voce muda o id do item que o player precisa ter, e 1 then é a quantidade if doPlayerRemoveItem(cid,6512,1) then << aqi pra remover o item, e a quantidade doPlayerAddItem(cid,1990,1) << aqi o tem que o player irá ganhar na troca ai voce muda pra o que voce quiser. Espero ter ajudado! ^^1 ponto