Welcome to xTibia - Sua comunidade de Otserv e Tibia

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

Pesquisar na Comunidade: Showing results for tags 'tfs 0.3'.

  • Search By Tags

    Digite tags separadas por vírgulas
  • Search By Author

Tipo de Conteúdo


Fóruns

  • xTibia Home
    • Regras
    • Noticias
    • Soluções
    • Tutoriais para Iniciantes
  • OTServ
    • Notícias e Debates
    • OTServlist
    • Suporte
    • Pedidos
    • Downloads
    • Scripting
    • Mapping
    • Websites
    • Programação
    • Clients
    • Infraestrutura
    • Spriting
  • Tibia Global
    • Notícias e Discussões
    • Exposições de Characters
  • OFF-Topic
    • Barzinho do Éks
    • Design
    • Informática

Categorias

  • Attack!
  • Heroes Valley
  • OTAAC
  • Pokémon Light
  • Pokémon Global
  • Tibia-Battle
  • Poke Diamond
  • Pokemon HP
  • Apresente Seu Projeto!

Encontrado 10 registros

  1. tfs 0.3

    Olá Galera do EKZ bom não sei se tem esse conteúdo aqui no fórum mas venho trazer um spoof system adaptado para tfs 0.3.6 e 0.4 , Roda em Tibia e derivados como Poketibia,DBO,NTO,HarryPotter etc mas vamo ao que interessa Em configmanager.cpp procure: m_confNumber[MAX_PLAYERS] = getGlobalNumber("maxPlayers", 1000); Abaixo adicione: m_confNumber[SPOOF_PLAYERS] = getGlobalNumber("spoofPlayers", 0); Em configmanager.h procure: MAX_PLAYERS, Abaixo adicione: SPOOF_PLAYERS, Em status.cpp procure: p = xmlNewNode(NULL,(const xmlChar*)"players"); sprintf(buffer, "%d", g_game.getPlayersOnline()); xmlSetProp(p, (const xmlChar*)"online", (const xmlChar*)buffer); sprintf(buffer, "%d", (int32_t)g_config.getNumber(ConfigManager::MAX_PLAYERS)); xmlSetProp(p, (const xmlChar*)"max", (const xmlChar*)buffer); sprintf(buffer, "%d", g_game.getPlayersRecord()); xmlSetProp(p, (const xmlChar*)"peak", (const xmlChar*)buffer); Modifique para: p = xmlNewNode(NULL,(const xmlChar*)"players"); sprintf(buffer, "%d", g_game.getPlayersOnline()+(int32_t)g_config.getNumber(ConfigManager::SPOOF_PLAYERS)); xmlSetProp(p, (const xmlChar*)"online", (const xmlChar*)buffer); sprintf(buffer, "%d", (int32_t)g_config.getNumber(ConfigManager::MAX_PLAYERS)+(int32_t)g_config.getNumber(ConfigManager::SPOOF_PLAYERS)); xmlSetProp(p, (const xmlChar*)"max", (const xmlChar*)buffer); sprintf(buffer, "%d", g_game.getPlayersRecord()+(int32_t)g_config.getNumber(ConfigManager::SPOOF_PLAYERS)); xmlSetProp(p, (const xmlChar*)"peak", (const xmlChar*)buffer); Em config.lua procure: maxPlayers = Abaixo adicione: spoofPlayers = 0 Configurando: No config.lua onde tem spoofPlayers = 0 substitua o valor 0 para o valor de players spoof que você deseja ter.
  2. tfs 0.3

    Fala Xtibianos. Nesse tutorial, gostaria de explicar um pouco sobre coroutine e seu uso. Irei começar com uma lista de funções da coroutine. Irei começa falando sobre a principal função da coroutine. No corpo dessa função, voce precisa declarar pontos para "suspender" a execução da coroutine. Ao criar a coroutine, ela se encontra no estado "suspended", ou seja, parada/pausada. para iniciar a coroutine, voce precisa ativar ela usando a função: Além de ativar/reativar a coroutine, você passa valores para a função da coroutine. A primeira ativação da coroutine, os argumentos passados não poderão ser modificados, ficam estáticos nos parâmetros da função. Veja que o resultado da segunda chamada não coincidem com os valores passados. Isso se dá devido aos parâmetros da função impregada na coroutine, não modificar seus valores. uma vez declarados os valores, eles não poderão ser modificados. uma chamada de coroutine a mais da quantidade de yield's existente na coroutine. Como demonstrado acima, ao exceder a quantidade de yield's, ela retorna essa mensagem (sem disparar erro no console). Agora você deva estar se perguntando: Então como fazer para pegar os valores que são passados em cada ativação? Vou explicar agora: a função yield pega os valores fornecidos e retorna-os; então você pode pegar esses valores usando variaveis para armazena-los. Mas, no corpo da função criada para a coroutine, você pode fazer chamadas a funções, pegar valores de variaveis globais, etc; sempre usando a função yield para "suspender" a coroutine. Agora só falta comentar sobre a função: Assim como coroutine.create, a função auxiliar coroutine.wrap cria uma nova co-rotina, mas ao invés de retornar uma referência para a co-rotina, retorna uma função que, quando chamada, (re)invoca a co- rotina. De forma geral, a função coroutine.wrap oferece uma maior conveniência que coroutine.create; ela provê exatamente o que é usualmente necessario: uma função para reativar uma co-rotina. Por outro lado, o uso das funções coroutine.create e coroutine.resume permite o gerenciamento de erros (funções estas que não podem ser usada por wrap). A função retornada por coroutine.wrap não captura erros; qualquer erro provocado pela execução da co-rotina é propagado a seu chamador. É isso ai pessoal, espero que tenham gostado. qualquer duvida, sugestão ou critica, deixem nos comentários.
  3. tfs 0.3

    Fala Xtibianos. Vim passar um pouco do que aprendi como programar usando SPOO lua. SPOO > Simulação de programação orientada a objeto. Lua, não é uma linguagem orientada a objeto, ela apenas simula isso. Vamos ao que interessa: Para criar um objeto, primeiro cria-se uma estrutura: A estrutura pode ter valores inseridos nela. Agora vamos criar metodos (function) para manipular os valores dentro da estrutura. Agora voce pode usar os metodos para manipular os dados Mas há um problema, só existe um objeto para ser manipulado; e se eu quiser maanipular mais obejtos do mesmo tipo? para isso, lua dispõe de uma função que cria uma metatabela, ou seja, uma tabela que contem os dados originais dessa tabela e mais algumas peculiaridades proprias desse sistema. Se voce quiser se aprofundar em saber como funciona a herança em spoo lua, veja esse tutorial. Para criar um novo objeto; vamos criar um metodo que faça isso usando a função setmetatable: setmetatable(table,metatable) Dois objetos criados com esse metodo. dessa forma, esse novo objeto que foi criado e atribuido as variaveis de nomes opala e fusca, pode usar os metametodos já criados para o objeto principal (_veiculo). Veja que a cor não foi definida para o objeto fusca, então ele retorna o valor padrão que foi declarado na estrutura principal >> _veiculo.cor = "sem cor". Lua dispõe de varios elementos (variaveis) chaves para manipulação de metatabelas; aqui vou comentar sobre algumas delas: Agora vamos por em pratica esses elementos para entendermos melhor seu funcionamento: Usando o parametro __index ao ser declarado o indice, é usado os valores apontado pelo mesmo. Usando o parametro __metatable Usando esse parametro, voce apenas declara qual sera o objeto retornado. Usando o parametro __call Toda a chamada que for feita a esse objeto, pode ser processada usando o parametro call. Usando o parametro __newindex Ao usar esse parametro, voce declara para onde vai ou onde vai buscar os valores do objeto. E por ultimo o elemento __tostring __tostring serve como elemento para receber uma string para outros fins que não sejam metametodos. Bem é isso pessoal espero que tenham entendido. Me corrijam caso tenha errado algo.
  4. tfs 0.3

    Alguem sabe como colocar um pokémon inicial pelo site?! Estou usando o modernacc
  5. tfs 0.3

    ola galera. gostaria de uma ajuda para criar uma magia para ursaring pokemon. sera assim quando usada a magia. o pokemon no caso ursarin mudara de outfit para uma em que ela fica em 4 patas que criei . a partir dae ela entra em estado de berseker em que ela dobra o dano de suas magias porem seram usadas aleatoriamente pelo proprio pokemon como se fosse um selvagem. se nao tiver como fazer assim pode ser apenas ela trocar de outfit para a de 4 patas e isso faria ela tipo usar um focus so que manteria a outfit trocada por um tempo podendo usar as outras magias com dobro de força enquanto estiver nessa forma. segue foto da forma de 4 patas. agradeço desde ja. uso cyan 8.54 by senhor.
  6. tfs 0.3

    Fala XTibianos! Vim disponibilizar e ensinar como usar a livraria xml em lua desenvolvida por mim. A livraria: Vou ensinar como usar ela. Vou usar como exemplo uma parte do arquivo vocations.xml: Primeiro, carregar o arquivo. Ele vai retornar um objeto para ser usado pelos metametodos ou uma string para outros fins como "print". Buscar a tag desejada. Ele vai retornar uma tabela contendo todos os parametros que foram lidos no arquivo. O primeiro argumento da função, é o nome da tag requerida. exemplo: <tagNome ....>, tagNome seria o primeiro argumento da função. O segundo elemento é usado para diferenciar um bloco de outro como no caso do arquivo vocations que contem varias vocations, mas apenas uma é a requerida. O terceiro elemento é o que diferencia um bloco de outro similar. seguindo o exemplo do arquivo vocations, existe varias vocações, mas apenas uma delas tem o id de numero 2. Imprime o que foi lido no arquivo. a saida seria essa, nesse caso. Mas, ela tambem é uma tabela, por isso, voce pode pegar os elementos dentro dela dessa forma. As tags existentes dentro do bloco "vocation", tambem é uma tabela com indice numerico; portanto é valido pegar os dados dela dessa forma. Cada tag que exista dentro do bloco, vem como uma tabela com indicie numerico. Criando objetos para xml: O argumento inserido , seria o nome do bloco. Ex -> <novo> </novo> Adiciona tag's dentro do corpo do bloco. Pode ser adicionado quantas tags quiser. Cria uma tagbloco ou bloco dentro do bloco principal. Ex -> <tagBloco inserido="primer" ordem="2" face="not"> </tagBloco> Essa função retorna um objeto para ser usado pelos metametodos ou uma string para outros fins como "print". Dessa forma que foi declarada sem uma tabela contendo os parametros da tag, ela é criada como um bloco. Ex -> <newBloco> </newBloco> Adiciona tag's ao corpo do novo bloco/tagbloco criado pela função append. E por fim, salva os dados em um arquivo. Nessa função, existe o argumento unico que é o destino do arquivo e seu nome, que nesse caso foi ocultado. É isso ae pessoal, espero que gostem. @Daniel, deleta esse topico. Por algum motivo, duplicou o topico.
  7. Olá pessoal, bom tenho uma duvida e um pedido ao mesmo tempo kkkk queria saber se é possível fixar uma mensagem broadcast, mas não a tradicional que fica no meio da tela e sim no uma fixa no canto superior esquerdo ou direito da tela. É possível fazer isso? se sim alguém poderia me ajudar com isso? Obg a todos! ps: não encontrei a seção de pedidos, se poderem mover agradeço...
  8. tfs 0.3

    Vim aqui explicar sobre a livraria luaxml, suas funções e implementações. Primeiro: Adicionar em seu servidor a livraria luaXml.lua e LuaXML_lib.dll esse é o script da luaXml.lua que voce vai ter que por esse arquivo com esse codigo na mesma pasta do seu executavel. Não vou postar a dll para não virem dizer que tem virus. voce que tem o sistema lua implementado em seu pc, pode pegar a dll de dentro do diretorio: copie essa dll e coloque ela na mesma pasta do executavel. implementado essa nova livraria em seu servidor. agora irei explicar um pouco sobre as funções e implementações dessa livraria. conhecendo as funções dessa livraria disponibilizada por lua: existem outras funções, mas não irei tratar delas. vamos a um uso pratico dessas funções da livraria usando como base o arquivo vocations.xml. apenas para uso didatico, deixo aqui uma parte do codigo do arquivo vocations.xml que irei usar no codigo de exemplo. vamos agora ao codigo que irei usar como uso implementavel das funções da livraria luaxml. Explicando o codigo postado acima. -- Carrega o arquivo xml local xfile_load = xml.load("vocations.xml") -- Pega o bloco requerido segundo os parametros fornecidos. -- pode ser qualquer parâmetro que esteja inserido na tag ('vocation' << cabeçalho da tag - 'id','4' << retornar a tag do knight, 'name','Druid' ...). -- sempre use parâmetros em string mesmo que seja numeros, tem que ser fornecidos em string. local xfile_find = xfile_load:find("vocation",'name','Sorcerer') -- Verificação se houve resultado retornado. if not xfile_find then return end -- Criação de novos dados em xml -- 'Sorcerer' seria a tag do cabeçalho do bloco criado >> <sorcerer> ... </sorcerer> local new_xfile = xml.new('sorcerer') -- Esse daqui são dois exemplos de tags que existem dentro da tag principal. -- Cada tag é chamada por um index sucessivo e ascendente. local formula = xfile_find[1]:find('formula') local skills = xfile_find[2]:find('skill') -- Modifica o nome da tag do cabeçalho; nesse caso: 'Sorcerer'(declarado em xml.new) torna-se 'Bruxo'. new_xfile:tag('Bruxo') -- index [1], Adiciona valores entre tags >> saida gerado por essa função >> <id>1</id> new_xfile:append('id')[1] = xfile_find.id -- index [0], adiciona valores na tag >> saida gerada por essa função >> <autor nome = "Marcryzius" data = "16/julho/2016" /> new_xfile:append('id')[0] = 'autor nome = "Marcryzius" data = "16/julho/2016"' -- Mais um exemplo de adição de valores na tag >> saida gerada por essa função >> <gainCapDefAndAxe cap = "10" def = "1.0" axe = "2.0" /> new_xfile:append('gaincap')[0] = 'gainCapDefAndAxe cap = "'..xfile_find.gaincap..'" def = "'..formula.defense..'" axe = "'..skills.axe..'"' -- Adiciona novas variaveis dentro da propria cadeia de caracteres retornanda pela função find xfile_find['newid'] = '0' -- Modifica valores associados as variaveis xfile_find['id'] = 'newid' xfile_find.newid = '2' -- Cria uma nova tag com valores entre as tags >> <newid>2</newid> new_xfile:append('newid')[1] = xfile_find.newid -- Idem >> <id>newid</id> new_xfile:append('id')[1] = xfile_find.id or 'nil' -- Salva essa string de caracteres em um arquivo formatado como xml. new_xfile:save('dadosXml.xml') -- insira o caminho onde vai ser salvo o arquivo. Esse é o codigo dentro do arquivo (dadosXml.xml) gerado por esse programa: Espero que tenham entendido. Qualquer duvida, deixe nos comentarios e tentarei ajuda-lo.
  9. Existe em outros fóruns esse sistema de simular as funções do tfs em poo lua para versões anteriores do 1.0. Então resolvi fazer um sistema desse para disponibiliza-lo ao Xtibia. É uma livraria, então você terá que por na pasta lib do seu servidor. Crie um arquivo com extensão .lua e nomeie para 050 functions_poo e ponha ela na pasta lib. Agora dentro do arquivo, insira esse código. Lembrando que não está terminado, ainda falta algumas funções e classes. atualizado funções e sistema. script está codificado em utf8, converta-o para ansi antes de usa-lo.
  10. tfs 0.3

    Olá galera, então... toma ai pra vocês uma "base" para ter entrada com 2 websites em seu IP... EntradaDoisOT.rar Explicando como usar... 1º Passo - Primeiro você vai abrir o Index.HTM em bloco de notas/notepad++, como preferir Vai procurar por: E em cima onde está escrito Pokémon SxR editar como o nome da sua página... 2º- Passo - Após fazer isso você irá colocar seu site 1 na pasta ot1 e seu site 2 na pasta ot2, feito isso você terá que ir em ot2/templates/seutemplate/index.php onde estiver isso; Você terá que deixar assim: Após isso é só editar as fotos como quiser das entradas como o background e etc... Lembrando que esses arquivos de entrada tem que ficar na dentro da pasta htdocs. E seus sites seriam: seuip.ddns.net/ot1 = site 1 / seuip.ddns.net/ot2 = site 2 Créditos Rolf por Criar / Eu por Editar e compartilhar.