Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 10/07/15 em %

  1. Night Wolf

    Tibia Guitar Hero [0.36~0.4]

    Fala pessoal do XT, hoje vim trazer pra vocês um sistema que eu desenvolvi nessa última semana e inclusive fiz um tópico na seção de show off (confira o tópico aqui) numa tentativa de agitar um pouco e prover uma certa especulação em relação ao sistema. Bom, eu to aqui hoje pra informar que deu mais que certo e que meu tópico humilde (que eu realmente acreditava que seria ignorado, ainda mais numa seção morta como aquela) teve uma repercursão enorme (inclusive indo parar no portal do XT ) Bom, toda pessoa quando faz um código espera que ele agrade aos demais e tenha um certo valor, e bem, vocês superaram minhas expectativas.. com isso nada mais justo do que compartilhar com essa comunidade que me recebeu tão bem . Chega de falatório e vamos direto aos negócios: Introdução:O sistema em si é uma cópia dos jogos de ritmo (GuitarFreaks, Band Hero, Rocksmith e o próprio Guitar Hero). Neste jogo pequenas notas irão cair pela tela até atingir um local especial, onde você poderá usar as teclas (Shift + 7, Shift + 8, Shift + 9, ou apenas 7, 9 e 9 [com Num Lock desativado]) para escolher as direções que as notas estão afim de "ativá-las". Uma vez ativada a nota ela será "queimada" e será considerado 1 acerto. Caso você não consiga ativar a nota e ela passar direto, um efeito de fumaça indicará o "Miss", o mesmo vale para se você tentar ativar uma região sem notas. Sistema de pontuação:Haverão 3 classificadores estatísticos para cada música tocada, sendo eles: Notas acertadas: O principal fator de ponto, ele que definirá seu recorde e o valor máximo q ele pode assumir será o número de notas da música. Movimentos errados: Quantidade de movimentos que você fez para alguma região que não possuia notas, conta como pontuação punitiva. Notas passadas/erradas: Quantidade de notas que você deixou escapar, note que as notas acertadas + notas passadas compõe o número total de notas da música. Por enquanto o sistema não possui nenhum preço para se jogar mas também não possui nenhuma recompensa, fiz com o intuito de ser apenas um mini game divertido dentro do Tibia. Porém o código é livre e está disponibilizado aqui embaixo pra qualquer um modificar como desejar. Video explicativo: Dificuldades:O mini game possui 3 dificuldades, porém essa quantidade é tão configurável quanto as pré definições de cada dificuldade. Além da quantidade de notas ser diferente, a velocidade com que elas descem e consequentemente o tempo que você tem pra acertá-las fica diminuido. Diferenciais:Um forte diferencial desse sistema é que ele foi feito seguindo todas as regras possíveis pra melhorar seu desempenho, desde funções recursivas leves até separação em funções encapsuladas que carregam apenas as informações necessárias. O sistema contém também algumas seguranças que serão explicadas mais abaixo juntamente com o código para prevenir bugs e garantir diversão sem dores de cabeça! Instalação (Map Editor):Primeiramente faça uma área parecida com essa daqui: Não precisa ser igualzinha, apenas seguir a mesma proporção Agora use a ferramenta de No-Logout para setar os quadradinhos que contém UID e UID2 escritos como No-Logout, isso vai impedir que players desloguem e fiquem presos dentro da sala (se eles derem exit, quando eles relogarem estarão do lado de fora da sala) Ainda olhando a foto acima, coloque 42320 nos pisos que estão escritos UID, e 42319 no piso que contém UID2. Nas alavancas, coloque uid 2819 em todas elas e coloque actionid 101 para a alavanca do fácil, 102 na alavanca do médio e 103 na do dificil; A regra é sempre 100 + dificuldade, como nós estamos utilizando apenas 3 será do 101 ao 103. Note que se você esquecer ou colocar uma dificuldade não existente o sistema adotará a dificuldade 1 como padrão para aquela alavanca. Se chegou até aqui, meus parabéns. Muito provável que você tenha feito tudo certo. Agora vamos à parte do código. Instalação (scripts):Em actions.xml insira essa linha <action uniqueid="2819" event="script" value="GHtest.lua"/> Agora em data/actions/scripts crie um arquivo com extensão.lua e chameo de GHtest. Insira o seguinte bloco de instruções dentro dele: Aproveite e já configure as posições npos, startPos e finalPos de acordo com as posições do seu map editor (olhe na segunda imagem para ver onde deve ser cada uma das posições com base na sala) Feito isso crie um arquivo em data/lib com nome qualquer, aqui em casa eu utilizei o nome 120 - Guitar Hero Lib e a extensão.lua. Coloque isto dentro desse arquivo e salve: Agora adicione a seguinte tag em data/movements/movements.xml: <movevent type="StepIn" uniqueid="42320;42319" event="script" value="GHTestmov.lua"/> Por fim crie um arquivo chamado GHTestmov.lua em data/movements/scripts e preencha seu conteúdo com as linhas abaixo: Aproveite para deixar a npos idêntica à npos que você configurou lá no actions se baseando na posição da sua sala no map editor. ------------------------ FIM ------------------ O sistema já deve funcionar como foi planejado, se você não manja de código ou quer o sistema exatamente como foi mostrado no vídeo você pode ignorar a parte abaixo. Configurando seu sistema (básico): Para as pessoas que querem configurar apenas as coisas básicas, você pode fazê-lo nas primeiras linhas de cada script (actions/movements) ou alterando diretamente na lib, irei ensinar passo a passo aqui oque significa cada coisa. Alterando a libAs coisas básicas que podem ser alteradas na lib são as seguintes: dif = { -- [dificuldade] = notas que serao tocadas (nil = vazio, 0 = primeira posicao, 1 = segunda e 2 = terceira) [1] = {nil,nil,0,1,2,nil,nil,2,1,1,0,0,2,0,1}, [2] = {nil,nil,0,1,1,2,1,1,0,0,2,0,1,nil,1,2,1,1,0,0,2,0,1}, [3] = {nil,nil,0,nil,1,nil,1,1,0,0,2,0,1,1,1,nil,0,2,1,1,0,0,2,1,1,0,nil,2,2,1,1,1,1,2} } delay = { -- delay entre cada nota de acordo com a dificuldade [dificuldade] = delay [1] = 500, [2] = 400, [3] = 300 } recorde = { -- salva os recordes de cada dificuldade separadamente [1] = 12724, [2] = 12725, [3] = 12726 } dif separa como será cada música de cada dificuldade, as notas sempre serão nesse exato formato. nil significa que não estarei usando posição nenhuma naquela linha, 0 significa a primeira posição (nota verde), 1 significa segunda opção (nota vermelha) e 2 significa terceira opção (nota azul). Eu aconselho a começar todas as músicas com 2 ou mais 'nil' para dar tempo de o player entender que vai começar. A distribuição que eu usei foi meio que aleatória então sinta-se a vontade pra mudar tanto o tamanho das musicas quanto a variedade de notas. delay é a tabela que oganiza os delays de cada dificuldade, isso significa que para a dificuldade 1(fácil) nós temos 500 milisegundos para cada mudança de nota (1000 milisegundos = 1 segundo), ou seja, a cada 2 passadas de nota temos 1 segundo dentro da sala. No modo hard a cada 300 milisegundos mudamos a nota, deixando o jogo muito mais rápido e dificil. recorde é a tabela que possui os storages que irão salvar os recordes nas respectivas dificuldades. Alterando actions local storage_point = 12721 -- storage que salva os pontos local storage_erradas = 12722 -- storage que salva as notas erradas local storage_passadas = 12723 -- storage que salva as notas que passaram Apenas mude os storages Alterando movements local itemid = 1680 --- coloque o id da nota do meio local npos = {x = 141, y = 51, z = 7} -- posicao que ira nascer a primeira nota local storage_point = 12721 -- storage que salva os pontos local storage_erradas = 12722 -- storage que salva as notas erradas local storage_passadas = 12723 -- storage que salva as notas que passaram aconselho mexer somente nos storages, mantendo igual à action. Só abra o spoiler abaixo se você estiver descontente com a forma que seu código roda e tiver certeza absoluta de que você tem o conhecimento necessário para alterar as coisas que vou explicar. Espero que vocês tenham curtido, façam um bom uso e qualquer dúvida postem nos comentários abaixo. Agradecimento ao @dalvorsn pela função que limpa a sala antes de começar o jogo e ao pessoal do servidor Refugia que fez um script de guitar hero lá e me deu a idéia. Abraços do Lobo.
    10 pontos
  2. Kakashi (100%) Maito Guy (80%) Jiraya (70%) Orochimaru (100%) Victreebel (100%) Machamp (85%) Weezing (100%) Gif Golduck ( Water Gun) Charmander ( Flamethrower ) Exeggutor ( Psychic ) Laxus
    6 pontos
  3. zouk00

    Sprite Dragon Ball RPG

    Fala galera, eu estou com um projeto novo e estou refazendo a sprites do zero. Queria a opinião de vocês para uma das primeiras sprites. Espero que gostem, começando claro com nosso grande héroi Goku Super Saiyajin. -> -> Goku normal style. >> Goku KAI-O-KEN! >> Goku Fury! Goku SSJ 3 Form Estarei postando novas sprites para sujestões em breve, obrigado desde já, aguardem. Comentem sujestões e elogios, att. Piques.
    4 pontos
  4. XxHenriquexX

    Base Otpokemon V1

    Ola pessoal bem esse e meu primeiro tópico de muitos bem tenho grupo no Facebook que a galera divulga seus servidores e posta novidades e resolvi postar aqui um servidor editado igual a o OtPokemon esta na v1 estamos preparando a v2 com novos itens. Agora vamos ao que interessa informaçoes do servidor começando com os Sistemas ° Sistemas Moves System: 80% Caught System: 50% Go-Back System: 50% Portrait System: 50% Evolution System: 100% Ginasios 90% (Tentar Adicionar mais na V2) Changelog do servidor: • A Opçao Pokebag Do Client Esta Com o Sistema do Cassino Retire que Sera Aberto Normalmente Vesao 1.0 • Adicionei Shiny Clefable - Shiny Wigglytuff - Shiny Tangrowth e Shiny Roserade • • Arrumei Os Attakes Dos Pokemons pareçidos com o OtPokémon (V2 Serao Todos) • • Adicionado Boost System Beta ( Esta Apenas Aumentar 300 De Hp, V2 Sera Arrumado ) • • Todos Os Shinys Alterados para Poderem Usar Level 1 e as Magias Tambem • • o Atake "Healarea" Nao Heala Players Apenas os Pokémons Imagens Links: Servidor: http://www.mediafire.com/download/rc5dt9262dvj9cb/OtPok%C3%A9mon.rar Cliente: http://www.mediafire.com/download/bft51jhc6f2bo9w/OtPokemomMy.rar Scan: https://www.virustotal.com/pt/file/57034c7d6a67c20769877f85cd3f1d66da362cf4ca0602f4964a4b9adc3a3f42/analysis/1434320558/ Créditos a Meu grupo no facebook Tudo Sobre Poketibias A Matheus Por Posta a Edição no grupo. Vlw Galera e isso ai espero que tenham gostado
    2 pontos
  5. Night Wolf

    Tibia Guitar Hero [0.36~0.4]

    @@Lumus, as duas primeiras vezes no vídeo eu fui no easy e meu recorde lá é 11 (numero máximo de notas) mesmo jogando e errando tudo o recorde ja tá salvo. Na ultima vez que fui no hard e aí meu recorde ficou 19 naquela dificuldade. É diferente mesmo.. não tá bugado não
    2 pontos
  6. Night Wolf

    Tibia Guitar Hero [0.36~0.4]

    se rodar isso no otc é só colocar as funções de audio.play que dá pra fazer tocar via notas uma musica OU deixar a musica tocando enquanto vc tá lá e soltar um som de erro quando errar as notas, ficaria muito bom ^-^
    2 pontos
  7. Wend ll

    PokeXMaster

    Fala galera do xtibia, Hoje estou trazendo um servidor que estava editando para meu amigo Por no Vps dele, Mais ele Disse que Não Queria mais então resolvi Postar ele Para download AQ no xTibia.. alguns pensaram que é meu servidor mais não é, só usei como base e adicionei varios outros systemas como vocês veram nas Printscrens .. ex:: Held items com Tier, novas Remakes para os Pokemons, Novas quests e etc.. • Menu: ├ Informações; ├ Ediçoes; ├ Erros; ├ Prints; ├ Download; └ Creditos. • Informações Basicas • • Erros do servidor • • PrintScreen • • Download's • Servidor PokéxMaster: http://www.4shared.com/rar/Mti3uzUoce/PokxMaster.html? OtClient: http://www.4shared.com/rar/XmIpCJKWba/OtClient_Master.html? • Creditos • Slicer (pelo servidor) Brun123 (por alguns scripts, e por criar o pda) Stylo Maldoso (pelo mapa) Eu ( por Corrigir Varios bugs e Editar varias coisas no Servidor) Gabrielsales ( pelos Systemas:: "Held item", "Ditto system" ) Gristony (Pelo Module do Shop no OTC ) Xtibia (por alguns scripts) antes que alguém venha Fala merda no Tópico, dizendo que o servidor é somente uma copia do Meu, vou logo avisando a base sim realmente foi a minha antiga v1 mais tem Varios systemas adicionados e Varias outra coisas como sistema de Torneio só faltando configurar os horarios..
    1 ponto
  8. Bruno

    Vanaheim global open source

    m método diferente de agir. Escolhas diferentes, um projeto surpreendente, e o melhor é open source. Sim, você pode ter acesso a este servidor que estou desenvolvendo em parceria com a Serversoft para você. Um servidor com uma mega estrutura para suportar seus jogadores online sem nenhum problema como: debug, bug de clonagem, instabilidade entre diversos outros dos servidores free's disponíveis para download nessa vasta internet tibiana. Uma inovação no ramo de OTservers, distribuindo não só a datapack como as sourcers e os sistemas, absolutamente tudo que você procura. Basta baixar, compilar... Mas eu não sei compilar. Não há problema nisso, o OTPanel da Serversoft faz tudo isso para você. Basta clicar num botão de "play" e ver a mágica acontecer. O projeto Vanaheim, foi criado com o intuito de ser inteiramente grátis para toda a comunidade. Um servidor no qual a diversão é o fator principal, um projeto com viabilidade absoluta por todos os tibianos. O projeto conta com uma área exclusiva no GitHub para que todos possam acompanhar a evolução do mesmo, dia a dia, diversas atualizações estarão disponíveis a todos. Desde uma action até uma modificação na source vocês terão acesso. O servidor conta com um mapa Global Full, quando eu digo full, quero dizer que está 99.99% do mapa completo, sem bugs entre outros. Um servidor que você escolhe a rate experience/skill que desejar, ele vai se adaptar! Você pode escolher se quer ou não que as quests tenham as missões originais 100%! GITHUB Para acompanhar e baixar o servidor atualizado, segue o link do nosso projeto no GitHub: DOWNLOADS Servidor Mapa Yasir Scan CRÉDITOS TFS Team Orts Project
    1 ponto
  9. Danihcv

    Server PokexCyan v3.0

    Features: Pokes adicionados: Sistema de bike funcionando Perfeitamente. Sistema de correr, afk e !invite pras houses. Atenção- os pokes que eu adicionei nao da pra dar /cb pq eu nao sei faser isso nessa base blz so da pra dar /s e /m mas eles estam com atakes. obrBugs removidos: Metang não evoluia pra metagross; Shiny Larvitar tambem não tava virando shiny Pupitar com stone; Larvitar não tava evoluindo; Bug de arvore que ganhava 10mil Dark Ball, 20mil Td, 20mil Boost Stone, e Held Item Removido. Prints: Bike !Invite Mapa Mega Lucario Poke mega e Poke X e Y Pokes Mini Quest Nova Shiny Metagross Reshiram e Zekrom Area De Pesca Downloads: Server Cliente Scans Server (arquivo potencialmente (não quer dizer que realmente seja) prejudicial. Baixe por sua conta e risco) Cliente Créditos Brun - Por Criar o Servidor Slicer - Por Editar o Servidor Mulurka - Pelas outfits Stylo - Pelo tuto do ícone system Noninhu - Por ajudar em alguns spells Dandanrvb - Pelos scripts do icone system Erondino - Por algumas caves ih é só bjundão a all Tioj - Pelas edições Kuuhaku - Pela cave dos geot . AnnaFeeh - Pelo script do ditto system pxg Vudi - Por ter postado originalmente Gabrielbsales pedrojosex - Por ter editado um pouco mais
    1 ponto
  10. BrunoBaaaaah

    Gold Arena

    ola pessoas, venho aqui no nobre xtibia para fazer um pedido. uma talkaction do tipo /abrir tempo , exemplo /abrir 60 , abriria uma passagem por 60 minutos ou pode por 60 minutos fixos no script deixando somente o /abrir e esse /abrr tiraria uma grade dessa por 1 hora e depois de uma hora ela voltasse
    1 ponto
  11. Boa noite galera, irei ensinar como modificar o Extensions do Remere's Map Editor. Vamos lá! Índice: •Introdução •Alterando posições de itens no Palette; •Criando seu próprio Piso, com direito a borda; •Criando sua própria parede, com todos os 'quatro cantos'; •Criando Doodads 'Espaçosos' (estilo Fontes); •Criando Doodads 'Aleatórios' (estilo Flores); PS: caso queira algo específico, aperte CTRL + F Tutorial: Vá até a pasta do seu RME, localizada em: (C:\Arquivos de Programas\Remere's Map Editor\data\854) ou (C:\Arquivos de Programas (x86)\Remere's Map Editor\data\854). Irei usar a versão 8.54 para ensiná-los. Obs: antes de editar uma extension, faça um backup, caso dê algum erro, vocês possam substituir pela original. Explicando cada arquivo .xml Alterando as posições de Itens no Pallete O único arquivo a ser utilizado será o tilesets.xml Após abri-lo, dê uma pesquisada por '<tileset="Nature">', ou '<terrain>', ou '<doodad>', ou '<tileset="Cave">', etc... 1. Para adicionar itens na seção de "Terrains" e "Nature", exemplo: <tileset name="Nature"> <terrain> <brush name="sea"/> <brush name="walkable sea"/> Basta trocar a linha 3 e 4, ficando primeiro o "walkable sea", seguido por "sea". 2. Veja agora a parte '<tileset name="Nature">'. Repare que, dentro dela há três(3) sub-seções: 'Terrain', 'Doodad' e 'Raw'. Veja uma imagem retirada do RME: Agora como podem ver, dentro dessas três seções, que eram sub-seções, são agora 'seções', e "Nature", que era a principal, agora se encontra como 'sub-seção' de três(3) 'seções'. Se você entendeu o que eu acabei de explicar, saberá em que lugar adicionar futuras Extensions criadas. Se quiser, pode optar por criar um próprio Palette (sub-seção). Criando Pisos com bordas Um pouco complicado, mais não difícil. Envolve três(3) arquivos .xml: o 'grounds.xml', o 'tilesets.xml' e, se realmente quiser ou precisar da borda, o 'borders.xml'. Como exemplo, irei usar um já existente(GRASS com as BORDAS), faremos uma extension que utiliza os Grounds de IDs: 4526~4541, e bordas IDs: 4542~4553. Como já disse, estou usando como base o Grass. 1. Abrindo então o arquivo 'tilesets.xml', e logo após o "Grass", que se localiza em "Nature" e na parte "Terrain", adicionaremos a seguinte linha: <brush name="grass"/> Obs: Quando for criar outro, não pode colocar o mesmo nome. Salve e feche. 2. Agora, ao abrir o arquivo 'grounds.xml', como base 'brush' "Grass". Abra o RME e faça algo como na imagem abaixo. Isso facilitará na hora de modificar os dois arquivos restantes. Como foi aberto um '<brush>', não se esqueça de fechá-lo, adicionando '</brush>'. Não se esqueça: <border align="outer" id="2"/> <border align="inner" to="none" id="1"/> </brush> 3. Agora faremos as modificações necessárias. Legenda: Vermelho: Deve ser colocado o mesmo nome que no arquivo 'tilesets.xml' como eu disse acima; Azul: O tipo de arquivo, que no caso é 'chão'; Roxo: Como ele aparecerá no Palette (ID representante); Ouro: Ignore... Se alguém souber o significado disso, diga nos comentários que acrescentarei aqui; Laranja: ID's que podem aparecer ao clicar com o botão esquerdo (durante o mapeamento); Verde: Chance de aparecer (durante o mapeamento). Quanto menor, mais difícil. Se quiser deixar equilibrado (como neste caso), deixe todos em 10. Após editar, ficará assim: (Retirei alguns ID's para não ficar muito grande, mais deixem como acima) Ainda não está completo. Este "<border align="outer" id="2"/>" é a borda do antigo "brush". Então pegue um número alto, um que não exista, sugiro começar do 999 e ir 'descendo'. O próximo seria 998, 997, etc. Como já utilizei alguns aqui, farei este como sendo 979. 4. Com o arquivo ainda aberto, abra outro. O "borders.xml". Procure pela borda 2, copie, cole a <border> (e tudo que tiver dentro), até o </border>, no final, para que possa saber onde está quando for editar. Após editar no arquivo 'grounds.xml', o número 2 pelo ID da borda utilizada, que no caso é "979", pode salvar e fechar. Deixe apenas o 'borders.xml' aberto. Será algo parecido com isso (após alterar o border id e acrescentar outro nome). <border id="2" group="1"> -- grass border -- <borderitem edge="n" item="4542"/> <borderitem edge="e" item="4543"/> <borderitem edge="s" item="4544"/> <borderitem edge="w" item="4545"/> <borderitem edge="cnw" item="4546"/> <borderitem edge="cne" item="4547"/> <borderitem edge="csw" item="4548"/> <borderitem edge="cse" item="4549"/> <borderitem edge="dnw" item="4550"/> <borderitem edge="dne" item="4551"/> <borderitem edge="dsw" item="4552"/> <borderitem edge="dse" item="4553"/> </border> 5. Agora teremos que alterar as bordas (para não usa-las, desative o auto-border), pois estão programadas para o "2" ainda. Para que possamos alterar corretamente, devemos estar com o RME aberto... Ainda não terminei... <3
    1 ponto
  12. local pos = {x = 3254, y = 3066, z = 7} local storage = 11120 function onUse(cid) if getPlayerStorageValue(cid, storage) < 1 then return true end for _, summon in pairs(getCreatureSummons(cid)) do if getCreatureName(summon):lower() == "bandit" then doTeleportThing(cid, pos) break end end return true end Isso, é claro, caso a versão do seu TFS seja inferior as mais atuais (1.x).
    1 ponto
  13. Night Wolf

    Tibia Guitar Hero [0.36~0.4]

    ^ remove essa linha do seu movements seu sv nao tem a função que o dalvorsn utilizou na função, mas isso não afeta muita coisa.
    1 ponto
  14. FlamesAdmin

    BUG Object Builder

    Aqui tem algumas versões: https://www.dropbox.com/sh/l6u5ponwfr77bhm/AAAY3xbcGudRzvcjUbizt0tha Retirado do site: https://github.com/ottools/ObjectBuilder
    1 ponto
  15. FlamesAdmin

    Internet da VPS

    contate o suporte do seu VPS
    1 ponto
  16. LeoTK

    Internet da VPS

    bom mais um motivo para contatar alguém da empresa para analisar o seu problema ^^
    1 ponto
  17. FlamesAdmin

    BUG Object Builder

    pode postar uma print ou fazer uma gif para explicar melhor? use GifCam é bom para fazer gifs
    1 ponto
  18. local promotion_level = 2 --Nível da promoção. function onLogin(cid) local prem_days = getPlayerPremiumDays(cid) if prem_days > 0 and getPlayerPromotionLevel(cid) ~= promotion_level then setPlayerPromotionLevel(cid, promotion_level) elseif prem_days <= 0 and getPlayerPromotionLevel(cid) == promotion_level then setPlayerPromotionLevel(cid, promotion_level - 1) doTeleportThing(cid, {x = 3170, y = 3476, z = 7}) end return true end
    1 ponto
  19. zipter98

    Gold Arena

    local config = { itemid = xxx, --ID da grade. effect = xxx, --Efeito ao remover as grades. posis = { {x = x, y = y, z = z}, --Posições das grades. {x = x, y = y, z = z}, --etc } } function onSay(cid, words, param) local time = tonumber(param) if not time then return doPlayerSendCancel(cid, "/abrir time (in minutes)") end broadcastMessage("As grades foram abertas.") addEvent(broadcastMessage, time * 1000 * 60, "As grades foram fechadas.") for i = 1, #config.posis do local item = getTileItemById(config.posis, config.itemid).uid if item > 0 then doRemoveItem(item) doSendMagicEffect(config.posis, config.effect) addEvent(doCreateItem, time * 1000 * 60, config.itemid, 1, config.posis) end end return true end
    1 ponto
  20. Não faço ideia de como o tempo é armazenado nesta tabela, logo supus que, tendo valor superior a zero, a conta seria VIP. function onSay(cid, words, param) local query, vip_players = db.getResult("SELECT id FROM accounts WHERE viptime > 0"), {} if query:getID() == -1 then return true end repeat local account_info = db.getResult("SELECT name FROM players WHERE account_id = "..query:getDataInt("id")) if account_info:getID() ~= -1 then repeat table.insert(vip_players, account_info:getDataString("name")) until not account_info:next() account_info:free() end until not query:next() query:free() doShowTextDialog(cid, param, "VIP players: "..table.concat(vip_players, "\n")) return true end
    1 ponto
  21. Administrador

    ajuda

    @@Cannabis Power Acesse este fórum: http://www.xtibia.com/forum/forum/592-otserv-iniciante/ (Ali tem tudo sobre começar o seu servidor) Você pode baixar servidores prontos aqui: http://www.xtibia.com/forum/forum/1070-servidores-otserv/ Esta é a seção para suporte, preste atenção onde vai postar: http://www.xtibia.com/forum/forum/1070-servidores-otserv/
    1 ponto
  22. dalvorsn

    Tibia Guitar Hero [0.36~0.4]

    Otima ideia, script bem elaborado, parabéns!
    1 ponto
  23. Night Wolf

    Novas Escadas

    só dar um doCreatureSetLookDir(cid, direcao) direções aceitas: NORTH = 0 EAST = 1 SOUTH = 2 WEST = 3 Daí vc pode fazer uma tabela pra vincular ID e direção que vai setar, fica bem profissional e ingame nem dá pra perceber a diferença. As escadas do tibia mesmo são editadas no items.xml e no items otb pra funcionar, achava q era por movements mas não é. Agora as de clicar é no actions mesmo.
    1 ponto
  24. Refe

    Tibia Guitar Hero [0.36~0.4]

    Criativo, REP +
    1 ponto
  25. Night Wolf

    Novas Escadas

    isso daqui, e pro outro seria -1 no z ali. function onStepIn(cid, item, position, fromPosition) doTeleportThing(cid, {x = position.x, y = position.y, z = position.z + 1} ) return true end a tag é a mesma de stepIn só q em vez de uniqueid/actionid vc usa itemid.
    1 ponto
  26. Se você utilizar do sistema de Doação, não!, mas se você usar vendas de algo por outra coisa, falando simplificando tudo. é crime sim. até porque você não pode receber por algo que não é de sua autoria. que no caso o servidor. o sistema de Donate é.. O Player paga um certa quantia e ele recebe algo em troca da doação, como um beneficio. respondendo a pergunta. não é crime rsrsr
    1 ponto
  27. SkyLigh

    [AJUDA] Tile por Storage

    script function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) then if item.uid ~= 3202 then sto = getPlayerStorageValue(cid, 5010) if sto == -1 then doPlayerSendCancel(cid,"Você precisa completar a Anihilator Quest em Edron para entrar aqui.") doTeleportThing(cid, fromPosition) end return true end end end moveevents.xml <movevent type="StepIn" uniqueid="5010" event="script" value="nomedoarquivo.lua"/> depois coloque a uniqueid no rme
    1 ponto
  28. adm oliveira

    Global Full com questlog

    Boa tarde amigãão, obrigado por ter postado esse otserver eu estava procurando ele mesmo mais quando eu baixei e tento executar ele aparece as seguintes coisas [12:19:04.671] > Loading weapons... [Warning - Weapons::registerEvent] Duplicate registered item with id: 0 e tambem não consigo entrar no servidor com nenhuma conta nada eu criei pelo sql e não funcionou oque eu faço alguem pode me ajudar ?
    1 ponto
  29. JG6

    Sprite Dragon Ball RPG

    Cara agora sim fico sensacional kk boa continue assim man maaan o ssj3 fico perfeito ^^ só falta os raios lá tem alguem aqui com pouco talento em
    1 ponto
  30. Lumus

    Tibia Guitar Hero [0.36~0.4]

    Um possível bug que eu vi no vídeo: o record individual de cada dificuldade está "globalizado" em ambas as 3 o recorde é o mesmo. Não se tornando individual por dificuldade. Ex.: 10 na fácil, 15 na média e 5 na difícil. Estão todas com 10, no caso o primeiro recorde. Se não for isso, desculpe, rs. Ótimo sistema!
    1 ponto
  31. Night Wolf

    Desafio do mês.

    quem quiser tá aí: http://www.xtibia.com/forum/topic/237181-tibia-guitar-hero-03604
    1 ponto
  32. Night Wolf

    Desafio do mês.

    eu nunca deixei de estar na ativa, eu só não to disponibilizando as coisas que eu to fazendo porque rolou muito trabalho particular e o outro fórum que eu costumava participar me desapontou bastante. E sobre o mod: acho melhor fazer normal, mod infelizmente ainda dá muito erro em algumas versões de tfs.
    1 ponto
  33. Caronte

    HELP

    Tente esse: MAX_FOOD = 1200 size = 360 function onUse(cid, item) if(getPlayerFood(cid) + size > MAX_FOOD) then doPlayerSendCancel(cid, "You are full.") else doPlayerFeed(cid, size) doCreatureSay(cid, "Delicious", TALKTYPE_MONSTER) return true end return true end deixei o valor alimentício dele igual a do ham normal, se quiser aumentar... Se quiser um que dá todo o food com um clique: MAX_FOOD = 1200 function onUse(cid, item) if(getPlayerFood(cid) >= MAX_FOOD) then doPlayerSendCancel(cid, "You are full.") else doPlayerFeed(cid, (MAX_FOOD - getPlayerFood(cid))) doCreatureSay(cid, "Delicious", TALKTYPE_MONSTER) return true end return true end <action itemid="IDDOITEM" event="script" value="seuarquivo.lua"/>
    1 ponto
  34. FlamesAdmin

    HELP

    E esse food tem algum script? Se sim, poste-o.
    1 ponto
  35. Night Wolf

    Desafio do mês.

    claro, só to criando coragem de começar o tutorial de como instalar e configurar e aí eu posto aqui no xt e mando o link nesse tópico :3
    1 ponto
  36. Desnecessario

    Seu Ultimo Sprite.

    Rabisco aleatório
    1 ponto
  37. Night Wolf

    Desafio do mês.

    @@Caronte, com certeza @, obrigado pelas dicas.. eu devo fazer exatamente isso. To implementando o sistema de pontos agr. eu só queria deixar claro que:
    1 ponto
  38. dalvorsn

    erro server script

    deve ser algum pokemon que nao ta configurado man
    1 ponto
  39. kaleudd

    OTClient

    Olá amigo,vá em Modules>Client>Client.lua e procure por ''g_window.setTitle''
    1 ponto
  40. LinaInverse

    Show Off PokéOn

    Show off do servidor no qual estou trabalhando arduamente.
    1 ponto
  41. Mudrock

    OTserver tudo que você precisar saber!

    AVISO* CASO QUERIA ACHAR RAPIDO UMA PARTE ESPECIFICA, UTILIZE CTRL+F PARA A PROCURA RAPIDA para isso Criei um pequeno Sumário Olá galera. SUMARIO Introdução......................................................................................................................................1.0 Entendendo sua internet.................................................................................................................1 Distribuição dos IPS...............................................................................................................................1.1.2 meu IP / IP's..........................................................................................................1.1.3 Porque meu Servidor nao fica ONLINE ................................................................1.1.4. Criando IP FIXO ........................................................................................................... 1.1.5. Bugs.......................................................................................... 2.0 Entendendo o config.lua ..................................................................... 2.2.1 IntroduçãoEstou criando este pequeno tutorial por alguns motivos. Um deles é que a maioria dos que já estão por ai tem muitos termos técnicos que dá até medo de ler, o problema é que como há muito copiar-colar pela net, o pessoal nem ao menos se dá o luxo de verificar se o que se está escrevendo é certo ou não. Outro bom motivo é que na maioria o autor para no meio do post, manda você fazer uns malabarismos pulando tantas partes e parece que nem ele mesmo sabe o que esta fazendo. Vou tentar resolver alguns desses problemas com esse único tópico. 1. Entendendo sua Internet Antes de começar, precisamos entender o mais importante sobre colocar um servidor online. A nossa internet. Muitos acham que acessar o Facebook é ter todo conhecimento que se precisa sobre a internet para ter um servidor online ou mesmo ter algum outro recurso interessante, mas na verdade estão totalmente enganados. Para ter recursos mais específicos pela internet é preciso conhecimentos técnicos que vai além do conhecimento leigo que muitos têm, e um deles é o bom entendimento da comunicação e funcionamento de redes de computadores. 1.1.2. Distribuição dos IP's Como a maioria dos tutoriais que vejo por ai me arrepiam com esse assunto, vou começar por ele. Sabemos que quando nos conectamos na internet pode haver dois tipos de distribuição de IPs O fixo (estático, IP que não muda nunca) e o dinâmico(IP que muda toda hora que você desconecta e se conecta novamente). Isso acontece por que não existem endereços IP suficiente para todos dentro da internet então se fosse distribuído IP fixo para cada pessoa, os que viriam a acessar a rede mais para frente não poderiam ter o acesso já que todos os IPs estariam em uso e em uma rede de computador não pode haver dois IPs iguais (Na verdade se todas as pessoas tentarem se conectar ao mesmo tempo não haverá endereço IP suficiente para serem distribuídos, eles vem tentar resolver isso com o iPV6). Por esse motivo que se distribui IP dinâmico para se acessar a internet. Toda vez que acontecer uma desconexão somente por uma grande coincidência se obterá o mesmo endereço IP que tinha anteriormente. Como toda a rede de computador é baseada em pontos com endereços imutáveis também há a distribuição dos IPS fixos (estáticos), esse caso é muito importante, imagine só você ter que ir a um banco pagar uma conta e toda hora ele estiver com um endereço diferente, como saberíamos aonde ir? Nesse caso, pontos específicos da internet possuem um endereço FIXO para que os programas saibam procurar por recursos, por um exemplo, quando você digita um endereço no navegador, www.seila.com, como você acha que o navegador encontra o site ? Funciona mais ou menos assim. Ele tem no código dele o IP de um servidor que contem o inicio de toda a amarração de onde se encontram os sites da internet, então o navegador vai até esse endereço IP e pergunta "olha, estou procurando site seila.com" como encontro ele? Nesse momento esse servidor passa o endereço IP que também é fixo do próximo servidor que vai passando os endereços de outros servidores e vai te redirecionando até encontrar o site que você procura, imagine se por algum equivoco esse endereço IP mudar? A INTERNET PARA!!!! 1.1.3. meu IP / IP's ou logo ao ponto! O que quero mostrar aqui é o seguinte, ou você tem um IP FIXO que é caro, ou você tem um dinâmico que é o normal. Não existe esse negocio de "COMO CRIAR UM SERVIDOR OT COM IP FIXO"!!!!! Isso é BESTEIRA, se o seu IP é dinâmico e você não esta pagando um fixo então ele é DINÂMICO, não tem macumba nesse mundo que faça um IP dinâmico virar fixo sem desembolsar uns R$200 por mês! O Nome correto para essa baboseira que se vê por ai pode ser um monte de coisas uma delas é. “COMO CRIAR UM OT COM URL FIXA PARA REDIRECIONAR PARA O SEU SERVIDOR!” Pois é isso que acontece, o cara quando digita meuserver.seilaoque.com:7171 o que vai acontecer é o seguinte, Você com certeza se inscreveu em um desses sites de redirecionamento e instalou o programa que eles pedem para ser instalado, ai toda X que o seu IP mudar esse programa vai se conectar no site e atualizar a URL que você escolheu para ser redirecionada ao seu IP , quando alguém tentar conectar no servidor OT em meuserver.seilaoque.com:7171 o site vai enviar uma mensagem a para o cliente falando, cara acessa esse IP aqui (o IP que estiver na base do site) que você consegue a conexão, e então o cliente acessa o SEU IP QUE É DINÂMICO. 1.1.4. Porque meu Servidor nao fica ONLINE ? Apos toda essa explicação aula dá para tentar explicar por que o OT não fica ON. Primeiramente, acho que todos os modens que vem das operadoras de internet estão em modo ROTEADOR (ROUTER). Sabendo se isso, vamos pensar um pouco no processo. Primeiro Carregamos nosso OT certo? Após toda a carga, abrimos o cliente e usamos o ipchanger nele (fazemos isso pois como expliquei no inicio, programas precisam saber o endereço IP Fixo dos locais para se conectar, e ele nada mais muda um IP fixo dentro do cliente para o IP do servidor que você vai se conectar) trocado o IP que geralmente colocamos 127.0.0.1 (Não importa o IP da sua rede, esse IP sempre indica o IP da maquina atual por padrão do protocolo TCP/IP), clicamos em Login e vemos nosso boneco logado no servidor correto? Ai, o que pensamos em fazer? Corremos no meuip.com e copiamos o nosso IP que aparece lá, distribuímos para todos os nossos amigos ficamos todos naquela ansiedade, e quando todos clicam em Logar no server vem aquela decepção. MAS QQ HOUVE?? QQ Houve é que você distribuiu O IP DO SEU MODEM MAS O SEU OT ESTÁ RODANDO NO IP DA SUA REDE INTERNA!!!!!!!!!!! O modem não esta esperando nenhuma comunicação na porta 7171, entendeu? Mesmo você acessando do seu PC qualquer que seja o endereço pela NET e você ver as conexões acontecendo, todas essas conexões aconteceram PQ o outro lado estava esperando uma conexao, você ligar um servidor no seu PC não vai falar para o MODEM, Ow idiota, to com um servidor ligado aqui, quando alguém chamar ai na porta 7171 é para você vir até esse PC. Para que isso aconteça, precisa-se falar para o MODEM o que você que. -Jumento, se alguém bater ai procurando a porta 7171, por favor, redirecione para o IP blablabla porta blabla. Como fazer isso. Bem, ai você precisa fazer sua correria, cada modem tem um nome ou opção e para isso o melhor é pegar o modelo dele e puxar o manual. Geralmente na opção NAT, ou na opção Virtual Server, Port Forward alguma coisa assim. O que se precisa fazer é sempre criar uma configuração nova e escolher um nome para essa configuração depois configurar os parâmetros. Eu geralmente coloco OT ou quando rodo varias instancias de OT coloco OT7171 OT8181, ou sei lá o que, você escolhe o que quiser. Após isso, ele vai pedir as portas iniciais e finais, aqui você também precisa colocar de acordo com o seu OT, e IP o ip da maquina que está o OT dentro da sua rede, se o seu OT estiver em 192.168.0.14 coloca 192.168.0.14, MAS NUNCA COLOQUE 127.0.0.1 pq nesse caso seria o IP do próprio MODEM. Tendo entendido tudo isso procure o manual do seu MODEM leia umas 500Xs estude cada item dele atenciosamente ENTENDA TUDO DELE, vire um mestre de configurações de seu modem ai você já estará apto a fazer qualquer um se conectar no seu OT e até mesmo teleportar pessoas. 1.1.5. Criando IP FIXO Como disse, isso pode ter um monte de nomes (menos o que está logo à cima). COMO CRIAR UM OT COM URL FIXA PARA REDIRECIONAR PARA O SEU SERVIDOR! COMO CRIAR UM REDIRECIONAMENTO FIXO PARA SEU OT! EU NÂO VOU FALAR MAIS JUMENTISSE!! COMO TER UM ENDEREÇO ETERNO PARA SEU OT!! QQ COISA JESUIS!!!! Essa parte é baba. Primeiramente precisa procurar na internet por "dynamic dns free" ou alguma coisa assim. Alguns que eu geralmente usava são os: dyndns, o no-ip e o cjb.net Encontrando um de seu gosto, é só ver se ele tem algum programa que monitora a mudança de IP, se cadastre, crie um domínio gratuito, baixar e instalar o programa rode-o em sua máquina e configure colocando sua senha e login, ele vai ficar atualizando o seu IP no servidor dos caras de tempo em tempo e já era. 2. BUGS!!! Acabamos de escolher uma distribuição, baixamos os arquivos e quando rodamos a primeira X, vem uma mensagem blablabla erro blablaba. Vontade de jogar tudo na parede é a menor nessas horas. Vamos entender por que deu esses erros. Quando se desenvolve um programa, geralmente a linguagem de programação que se usa não possui todos os recursos já disponíveis de antemão que precisamos para o programa ficar completo, ela pode até dar toda a capacidade que se precise más nem sempre já está disponível, ai precisamos escrever mais e mais códigos, geralmente algumas pessoas se dão o trabalho de não criar programas, mas sim bibliotecas com funções já prontas dentro delas, o que acontece é que se você sabe que a função que se quer usar existe em uma biblioteca pronta, geralmente se usa essa biblioteca, e quando outras pessoas vão rodar o programa e no computador está faltando a biblioteca, o Windows avisa acusando o erro, outro problema que se acontece é o seguinte, a mesma linguagem de programação que usamos para desenvolver um programa possui tantas funções internas que se o compilador fosse colocar tudo dentro do nosso programa ele ia ficar com uns 200 Megas só o executável, então essas funções também vem dentro de bibliotecas, por esse motivo quando se cria um programa geralmente ele usa os recursos de algo que chamamos de “RUNTIME Library” que nada mais é que um montão de arquivos DLL’s que ficam na pasta System do Windows. No mesmo caso se dentro do computador que você vai rodar o OT não contiver o RUNTIME da linguagem de programação que ele foi feito o Windows vai reclamar. Os erros mais comuns que se acontece na hora de rodar um OT são os seguintes BlaBlaBla luaxxx.dll -> Nesse caso o Windows está avisando que quem fez o OT usou a biblioteca Lua, e que ele não está encontrando-a, o mais apropriado a se fazer nesse caso é entrar no site do criador do Lua e baixar a versão que se pede BlaBlaBlla MSVCP blablabla.dll -> Esse erro depende muito, pode ser outro nome ali, geralmente isso está relacionado a falta do RUNTIME do Visual C++ onde MS significa Microsoft, VCP significa Visual C Plus(eu acho que é isso) e o resto é a versão, por exemplo se no blablabla estiver 120 é a versão 12.0 ai é sou buscar no google como “RUNTIME Library VC 12” ou melhor ainda “Download Visual C++ Redistributable 12”, lembre se, seja experto e baixe somente se aparecer o Link da Microsoft. O grande problema do erro a cima é que se o OT tiver sido compilado com um C++ de outra empresa, o erro será outro ai você vai ter que ficar esperto nisso. Com essa primeira parte dos bugs corrigidos podemos ir para a segunda parte de Bugs. Geralmente nos OT existem duas tipos de bugs, os que o Windows avisa que nesse caso geralmente acontece por falta de arquivos e bibliotecas e esses erros conseguimos identificar pois aparecem janelinhas de erro do próprio Windows e os erros internos do próprio OT que nesse caso a maioria dos erros estão relacionados a configuração que o servidor precise para carregar e geralmente são mostrados no console do OT, essas configurações são diversas e as mais comuns estão relacionadas ao carregamento do MAPA e a conexão com a base de dados. Entendam que LÊR é primordial para tudo, se aparecer uma mensagem e você tiver paciência de entender essa mensagem com certeza vai resolver o problema. MySQL blablabla-> Esse é um tipo de erro que com certeza vai te frustrar muito, e serão dezenas e dezenas de milhares de vezes então se quer ser um SUPREMO EXCELENTE ADM de OT dominar o conhecimento da base de dados que ele utiliza é primordial. Mas o que é esse tal de MySQL, para entender isso você precisa entender o seguinte Seu OT terá varias contas de usuários e vários itens para esses usuários, e você terá que deixar isso guardado em algum lugar para que eles possam ter acesso aos itens sempre que quiserem, guardar tudo isso de uma forma segura e pratica teria que ser desenvolvido mais código da parte dos desenvolvedores dos OT, para economizar tempo eles optaram por utilizar sistemas já prontos de bancos de dados e uma das opções se chama MySQL entenda então que o MySQL é o cara que vai tomar conta de todos os dados que o seu OT precisa guardar para ser lembrado mais tarde, dês de os itens dos usuários do seu servidor até mesmo a senha e login deles. Sabendo isso vamos aos erros. MySQL blablabla Cant Connect blablabla -> Esse problema acontece por que o MySQl é um programa a parte e para que o OT possa se conectar com os dados no MySQL é preciso instalar ele na máquina sua instalação e uso foge de nosso escopo. MySQL blablabla Access denied blablabla -> O fato de o MySQL estar instalado na máquina não significa que o OT conseguirá se conectar a ele, isso acontece pelo motivo que o MySQL também é um servidor, mas nesse caso um servidor de base de dados, e como empresas o utilizam para manter dados de clientes e mesmo outros tipos de dados que são restritos a apenas uma parte de pessoas os Servidores de Dados precisam dar confiança e segurança, uma delas é negar acessos não autorizados, toda instalação que se faz do MySQL é gerado o usuário Administrador, por padrão esse usuário tem o nome de root, e sempre é pedido uma senha para esse usuário, com essa conta de usuário vc é capaz de criar outros usuários e também novas tabelas para o MySQL, então precisamos configurar o OT para ele se conectar com o servidor de dados, uma coisa legal do OT é que ele tem um arquivo de configuração chamado config.lua e é de extrema responsabilidade do ADM dominar toda a configuração desse arquivo. Vamos utilizar esse arquivo para configurar a conexão com o servidor de dados. Abrindo o config.lua em um editor de sua preferencia vc precisa encontrar os seguintes itens: “mysqlHost” ,”mysqlUser”,”mysqlPass”,”mysqlDatabase”,”mysqlPort”. “mysqlHost” : Corresponde ao IP ou url de onde se encontra hospedado o servidor MySQL, se for na mesma maquina onde se encontra o OT basta colocar 127.0.0.1. ”mysqlUser”: Corresponde ao nome de usuário MySQL que vai ser utilizado para o OT se conectar ao MySQL, geralmente o pessoal usa o usuário root, mas bons administradores de Servidores de Dados cria um novo usuário com acesso a apenas a base que o OT vai se conectar. ”mysqlPass”: Esse item é a senha do usuário que se vai conectar ao MySQL ”mysqlDatabase”: Base de dados ou “Schema” que o seu OT utiliza para acessar as tabelas. ”mysqlPort” : Na hora que se instala o OT pede-se uma porta de acesso, essa porta geralmente é 3306 Normalmente o seu config.lua na parte de acesso a servidor MySQL deve ficar assim mysqlHost = "127.0.0.1" mysqlUser = "root" mysqlPass = "senha" mysqlDatabase = "otServer"<-no meu caso é esse mas vc pode colocar aqui de acordo com onde suas tabelas vão estar no servidor MySQL. mysqlPort = 3306 mysqlSock = "" MySQL blablabla Unknow database -> Lembra dessa configuração mysqlDatabase = “otServer” então no config.lua vc está falando para o seu OT que a base de dados que vai usar para guardas as tabelas e dados do sevidor é “otServer” e se esse erro está acontecendo é pelo motivo de que vc não criou ainda essa tabela no MySQL. Vamos cria-la, acesso o prompt do Windows (digitando cmd em procurar ou Prompt de Comando em Acessórios) e digite mysql –uUsuarioAdministradorDoMysql –pSenhadoUsuario[ENTER](isso vai fazer vc acessar o console do Mysql e fique ligado nos espaços). Você vai ver que o prmpt vai ficar “mysql>”. Digite o seguinte comando: CREATE DATABASE `otserver` /*!40100 DEFAULT CHARACTER SET utf8 */;[ENTER] Terá que aparecer algo mais ou menos assim: Query OK, 1 row affected (0.00 sec). The database you have specified in config.lua is empty->Apesar de esse erro não estar especificando o MySQL o erro ainda está acontecendo por causa dele. Mesmo tendo se criado a base de dados ainda é preciso criar as tabelas, note que mais para frente ao erro está “please import the schema.sql to your database”. Geralmente a distro que vc pega tem um arquivo chamado schema.sql e nela está contido todo o script SQL para se criar as tabelas. Para ficar mais fácil crie na raiz de sua unidade C: um diretório temporário e coloque o arquivo schema.sql nesse diretório no meu caso criei o diretório otMysql. Acesse novamente o prompt do Windows e digite cd\diretorio que vc criou e colocou o arquivo schema.sql, no meu caso cd\otMysql[ENTER] acesse novamente o console do mysql. Quando estiver no console do mysql digite o seguinte, use nomeDasuaTabela, no meu caso use otserver[ENTER], note que esse comando vai fazer vc mudar da base de dados seja lá qual vc esteja para a base de dados onde vamos criar as tabelas para o nosso OT, se aparecer Database changed, o comando foi aceito com sucesso. Para ter certeza de que vc esteja na base de dados certa digite o comando status[ENTER] Na lista que aparecer procure pelo item Current database: se for o nome da tabela do seu OT está certo. Agora vamos executar os scripts SQL que está no arquivo. Digite \. schema.sql(ou o nome do seu arquivo que contém os scripts para criação das tabelas ) note que” \.” é o comando e o resto é o nome do arquivo(de atenção ao espaço digitado entre \. E o nome do arquivo). Vão aparecer várias linhas iguais a essa: Query OK, 0 rows affected (0.02 sec), aguarde até que todas as tabelas tenham sido criadas. Esses são os erros mais comuns que temos quando geralmente estamos criando um servidor do zero. 2.2.1 Entendendo o config.luaIp-> Aqui vamos colocar o IP de seu servidor se vc for rodar o servidor apenas para uma rede interna então coloque aqui o ip da máquina, se ele for 192.168.0.3 então coloque ip = "192.168.0.3", se vc for rodar ele para que seja acessado de pessoas externamente, aqui precisa colocar o seu IP público(IP DO SEU MODEM) mas se vc estive usando redirecionamento de url tipo blablabla.meuserver.com então vc precisa colocar sua url aqui e ai ficaria ip=” blablabla.meuserver.com” loginProtocolPort e statusProtocolPort-> precisam ser a mesma porta, por padrão essas portas são 7171 e é a porta que vc fornece para os seus amigos junto com o ip, não se esqueça de liberar a porta no modem. gameProtocolPort-> também é um numero de uma porta, por padrão o pessoal usa 7172 pode ser qualquer uma e também não se esqueça de liberar no modem. mapName -> Aqui você específica o nome do arquivo do mapa do seu OT e o mapa precisa estar dentro do sub diretório world no diretório data, no meu caso mapName = "Xedegux". Créditos : Mudrock
    1 ponto
  42. Fechei o Atreyu em 2013, por não conseguir conciliar o tempo do trabalho com o gerenciamento do servidor, assim resolvi fecha-lo. Estou disponibilizando todo o servidor. Gostava bastante deste mapa (31 MB). Servidor bastante estável com mais de 500 horas de uptime, todas as vocações estão bastante equilibradas para PVP e PVM. Existem 218 casas dividas em 7 cidades. Download Link (Site/Servidor/Db/Documentos de controle): Mega: https://mega.co.nz/#...TmVtcboibn5ibmg Banco de dados atualizado: atreyu-db-31-12-2014.rar 32,02K 69 Downloads (Atualizei alguns campos que não estavam com valor default e assim não deixavam criar conta/personagem no site) Contas de exemplo: malk/123456 (GOD) teste/123123 (Paladin) MxSample (Não lembro a senha, a conta tem um personagem de cada vocação, quando um personagem é criado no site ele é copiado a partir do personagem desta conta) Cidades: Formiria Daoten Finidia Gasmaril Labaredum Mornea Ucon (VIP) Funcionalidades: Addons funcionando 100%. Guilds Wars com Skull 100%. Montanha Russa. Sistema VIP completo. Sistema de Banco via comando. Sistema de Bless via comando. Sistema de Refinamento de Itens. Sistema de Itens únicos. Tasks. Quests: Annihilator - LVL 100+ Assassin Outfit - Qualquer Behemoth - LVL 80+ Beholder - Qualquer Demon Oak - LVL 120+ Demon Helmet - LVL 150+ Demon Hunter Outfit - Qualquer Dragon Lord - LVL 90+ Draken Quest - LVL 180+ Elf Tree - Qualquer Giant Spider - LVL 35+ Hero - LVL 50+ Hydra - LVL 60+ Infernalist Tower - LVL 75+ Norseman Outfit - Qualquer Pits Of Inferno (POI) - LVL 80+ (Todas as alavancas na mesma ordem do global ) Sand Dragon Lord - Qualquer Warlock - Qualquer Guild Wars (Com Escudos): Sistema igual ao do global onde uma guild pode invitar outra para entrar em guerra assim pode ser definido valores para a guild vencedora receber e todos as morte da guerra são justificadas ou seja não ganhaskull ou ban matando na war. Sistemas: Banco: Sistema para controle de banco através de comando, sem precisar assim de ir na cidade para sacar ou depositar dinheiro em sua conta.Itens Únicos: Cada vez que um monstro dropa algum loot existe a chance desse item ter algum atributo melhor do que o item padrão, por exemplo, pode cair uma giant sword com + 2 de ataque ou um demon shield com +3 de defesa.Refinamento: Você pode utilizar pedras especiais para melhorar a qualidade de seus itens.Renascimento: Existe um item no jogo que pode renascer um jogador morto recentemente trazendo ele para o local do seu corpo. Treinamento com Soul: As áreas de treinamento utilizam a soul do personagem, a cada 3 minutos um ponto de soul é gasto. Eventos: Zombie Event - Todos os dias as 18h e 23h. Coliseum (PVP entre times) - Terça, Quinta e Sábado as 16 horas. Dota (Próprio) Castle War WOE Controle Frags: Quantidade para pegar Skull: - RED SKULL Diario = 5 Semanal = 10 Mensal = 30 - BLACK SKULL Diario = 5 Semanal = 10 Mensal = 30 Tempo para sair a Skull Red Skull = 7 Dias Black SKull = 10 Dias Outras Informações: Level para comprar casa: 100 Level para criar guild: 50 Protection Level: 50
    1 ponto
  43. Taysom Tjf

    Base Otpokemon V1

    ta sem data base '-'
    1 ponto
  44. JeanCristian

    [TFS 1.0] LUA Functions

    Olá galerinha linda, eu vim postar a vocês 1 lista com todas as funçoes do TFS 1.0 eu achei ela em outro forum e achei muito util nao sei se isso é permetido mais vamos lá. o maximo que posso tomar é 1 ban u.u o que valeu foi a boa vontade <3 funçoes ultima update 17 de janeiro, espero que isso ajude quem nao conseguiu achar õ/
    1 ponto
  45. caotic

    Lib - O que é ela e como usar.

    A pasta lib se encontra no seu otserv ele e ultilizada para a criação de funções ultilizando a propria linguagem LUA. Apos feita a função ele pode ser ultilizada em qualquer localidade em seu otserv. Para ultilizar deve ser criado um arquivo lua com os codigos das funçoes. Um exemplo de uma função function doPlayerAddStorage(cid) setPlayerStorageValue(cid, 22221, 1) return true end Nesta função adicionara a o valor 1 na storage 22221 e se fosse ultilizada por exemplo em actions executaria tal ação. Segue a estrutura function NOME DA FUNÇÃO(parâmetros) ... AÇÃO RETORNO TERMINIO DA FUNÇÃO Outro exemplo ultilizando um proprio parâmetros function doPlayerSummon(monster, pos) doSummonCreature(monster, pos) return true end Aqui uma função que sumona um monstro seguida pelo parâmetros nome do monstro e a posição. Para adicionar o paramento deve ser usado dentro de uma função o nome do parâmetros eclarado Exemplo function doPlayerSendMsg(cid, msg) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, msg) return true end Nela adicionamos o parâmetros msg se usamos a função A funçao que usa o parâmetros ficaria tal Ou seja se quisemos alterar o parâmetros cid para para usar a função Ficaria tal doPlayerSendTextMessage(param, MESSAGE_STATUS_CONSOLE_BLUE, msg) Para criar funçoes de verificaçoes Precisamos retonar o valor que queremos. function getPlayerPositionPz(cid) local pz = getTilePzInfo(getCreaturePosition(cid)) return pz end Como nesta que retornos o local pz mais se quisermos nos poderiamos ultilizar de tal maneira. function getPlayerPositionPz(cid) return getTilePzInfo(getCreaturePosition(cid)) end Depos poderemos usar verificaçoes como if getPlayerPositionPz(cid) then E isto gente tomara que aprenderam tudo obrigado a todos Ate mais
    1 ponto
  46. comedinhasss

    [Dev C++] Como Compilar Um Otserv

    Fala ae galera do xtibia.... Venho Aqui comigo postar meu mais novo tutorial... Como compilar um servidor The Forgotten Server em Windows(xp,vista,7) Antes de começarmos gostaria de fazer um breve FAQ: O Que é Compilação? É a transformação de um programa em código fonte (programa escrito pelo programador) em linguagem de máquina (programa executável). Existem centenas de linguagens de programação diferentes umas das outras, cada uma oferece recursos especí­ficos para atender melhor uma necessidade ou caracterí­sticas particulares, algumas são voltadas para bancos de dados, outras somente para a criação de interfaces comunicação (front-ends), aprendizado, etc. Cada linguagem de programação possui comandos especí­ficos que desempenham alguma função, mas todas trabalham com variáveis de memória para a manipulação de dados de entrada/processamento. O Que é C++? O C++ (em português lê-se "cê mais mais") é uma linguagem de programação multiparadigma e de uso geral. A linguagem é considerada de médio nível, pois combina características de linguagens de alto e baixo níveis. Desde os anos 1990 é uma das linguagens comerciais mais populares, sendo bastante usada também na academia por seu grande desempenho e base de utilizadores. O Que é Programação? Uma linguagem de programação é um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. Uma linguagem permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados serão armazenados ou transmitidos e quais ações devem ser tomadas sob várias circunstâncias. O conjunto de palavras (tokens), compostos de acordo com essas regras, constituem o código fonte de um software. Esse código fonte é depois traduzido para código de máquina, que é executado pelo processador. Uma das principais metas das linguagens de programação é permitir que programadores tenham uma maior produtividade, permitindo expressar suas intenções mais facilmente do que quando comparado com a linguagem que um computador entende nativamente (código de máquina). Assim, linguagens de programação são projetadas para adotar uma sintaxe de nível mais alto, que pode ser mais facilmente entendida por programadores humanos. Linguagens de programação são ferramentas importantes para que programadores e engenheiros de software possam escrever programas mais organizados e com maior rapidez. Linguagens de programação também tornam os programas menos dependentes de computadores ou ambientes computacionais específicos (propriedade chamada de portabilidade). Isto acontece porque programas escritos em linguagens de programação são traduzidos para o código de máquina do computador no qual será executado em vez de ser diretamente executado. Uma meta ambiciosa do Fortran, uma das primeiras linguagens de programação, era esta independência da máquina onde seria executada. Bom vamos começar com os downloads: Dev C++ para tfs 0.2 e 0.3: 32 & 64 Bit?: http://www.speedyshare.com/files/19724008/TheForgottenDevCpp.7z Dev C++ para tfs 0.4: 32 Bit: http://www.2shared.com/file/10390970/56443f7c/Stians_Repack_Dev-Cpp.html Mirror: http://rapidshare.com/files/329023838/Stian_s_Repack_Dev-Cpp.rar.html 64 Bit: http://www.megaupload.com/?d=ZO7WZHY9 Mirror: http://www.2shared.com/file/11221888/7c824fd3/Stians_Repack_Dev-Cpp_02_64bit.html Tortoise Svn (baixe em ingles): http://tortoisesvn.net/downloads Legenda: Passo 1 - Configurando Dev C++ Passo 2 - Baixando sources pelo Tortorise Svn Passo 3 - Compilando Passo 1: Abra o seu Dev C++: Se for sua primeira vez ira aparecer uma janela para configurar o seu Dev Cpp, Se não for sua primeira vez vá para o passo 2. Configure com a linguaguem Portugues(Brasil) pois com ela que vou fazer o tutorial... Escolha o estilo que você quiser de imagem pois o Dev C++ é seu... Passo 2: Após baixar o Torise Svn crie uma pasta vazia, clique com o botão direito nela e em SVN Checkout, em URL of repositroy adicone o link da tfs que você quer compilar: Veja a versão que você quer neste link (Recomendo a tfs 0.3.6pl1) http://svn.otland.net/public/forgottenserver/tags/ No site, clique na versão que você quer copie o link em cima do navegador Exemplo: http://svn.otland.net/public/forgottenserver/tags/0.3.6pl1 e cole no local em branco abaixo do URL of repositroy Aperte ok e espere baixar as sources para a pasta (Quando aparecer a mensagem done é que está pronto) Passo 3: Com o Dev Cpp Aberto, vá em Abrir - Abrir Arquivo ou Projeto - (A pasta Vazia que você criou) - dev-cpp - (e abra o arquivo) - TheForgottenServer.dev Para você editar alguma informação alguma coisa, Clique na source que quiser e edite so o que esta entre Aspas "" (em vermelho dentro delas) Para compilar vá em Executar - Compilar, Espere Aparecer Done, vá em (A pasta Vazia que você criou) - dev-cpp e terá o arquivo TheForgottenServer.exe Pronto você compilou seu The Forgotten Server Creditos: stian - Dev C++ Tortoise Svn Team - Tortoise Svn Eu - Tutorial Wikibooks - FAQ [O Que é Compilação] Wikipedia - FAQ [O Que é C++, O Que é Programação] Desculpe a todos que baixaram, aqui o dev que eu uso para 0.4 funciona para 0.3 não sei como... mais ja postei o novo.. caso você baixou e deu erro favor deletar tudo o que tem na pasta do dev para 0.4 e por nela os arquivos que tem no dev 0.3 ...
    1 ponto
  47. Gabriel é isso mesmo que o Vilden falo.. quer dizer antigamente era "XML!" não sei informa se andia é mais so pode ser..
    1 ponto
  48. ~Sqllite~ Não tenho certeza mais acho que é na tabela Tile_Items, e aproveite e delete as informações da house_list e outros.. (não foi testado, porem não tenho certeza!)
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...