Histórico de Curtidas
-
eskylo deu reputação a ewerton157 em Styller Yourots para ser TERMINADOOlá pessoal, tem um bom tempo que eu não posto e que não jogo Tibia, portanto, quero deixar com vocês um mapa que eu fiquei cerca de 1 ano, editando 2~3 horas por dia, as vezes chegava a virar a noite bolando novas hunts ou fazendo um CTRL+C-V dos mapas globais e fazia uma leve adaptação para o Styller.
Estava perdido aqui em meu Pendrive, guardei com muito carinho, cheguei até deixar on-line mas por falta de dinheiro e de conhecimento, acabaram nukando o servidor e hackearam o site principal. Chegou a ficar On por 15 dias, na primeira semana o servidor já começou a lotar e dar lag (cerca de 40 pessoas jogando direto)
Espero que façam um bom proveito do server, como há muito tempo que eu não mexo, não posso falar tudo o que há no server, mas garanto que tem bastante coisa diferente dos demais, na época eu fiz com muito carinho e dedicação para ter um server único, com quests únicas e hunts bem feitas mas, o tempo me planejou outras coisas :D
Resumão rápido do que eu lembro:
Poi, Inqui, Demon Oak, Arena, DH, iguais ao Global.
Algumas quests novas como: Mermaid Comb, Koshei's Ancient Amulet, Dragon Scale legs e Blessed Shield (inacabada, falta os monstros e alguns scripts), Yalahar quest (Falta alguns scripts mas já tem o local da quest), Elemental Spheres (funcionava 90%, até onde eu me lembro)
Tinha invasão de Orshabaal, Ghazbaran e outros bosses, os TPS apareciam na sala principal de hunts.
Tem muita, muita, muita, muitas opções de hunts com novos lugares, o problema é que na época eu era meio retardado e só colocava monstros meio random, coisa que enjoava em 1h e favorecia só botters, então, é necessário inovar nisso ai. Vai da sua responsa.
Os addons eram por itens, o jogador teria de pegar um por um para concluir o addon, até onde lembro, eu estava terminado esta parte ai, porque faltavam alguns monstros para fazer todos os addons, mas já está mais da metade concluída, acredito que mais de 70%.
Link do Download: http://www.4shared.com/rar/19DAPkcrce/Otserv.html
Link do Scan: https://www.virustotal.com/pt/file/825b6e53c9c212fa540910280e2466e4df10b37871b8ca70ee4363e1c108cf53/analysis/1450766752/
Tema da cidade principal: Yalahar
Algumas áreas para caçar,
A
-
eskylo deu reputação a Baahzera em [8.6 Datapack] Keeperian - RPG/Custom com TPsOlá pessoal!
Tenho esse servidor desde 2012, só vi um servidor online com esse mapa. Não sei dizer qual o nome original, muito menos quem criou o server.
Eu editei algumas coisas, coloquei teleportes, modifiquei o templo e o DP inicial.
O mapa é gigante, cheio de hunts e quests para explorar.
Estou disponibilizando apenas o datapack, sem sources.
Recomendo usar TFS 0.4 3777 para linux ou 3884 para windows.
Download do Datapack: http://www.4shared.com/rar/P8NVdW-lce/keeperian.html
Scan pros preguiçosos: https://www.virustotal.com/pt/file/f414f98de111056e5caf3bc9e7e002f141ab8ef759dbe6a371d815591006beda/analysis/1480137588/
Façam bom proveito.
Imagens:
-
eskylo deu reputação a willks123 em [PEDIDO] Quest ElaboradaSalve pessoal, preciso de ajuda pra configurar uma quest do meu servidor.
Bom, vou explicar como a quest vai funcionar para poderem me ajudar.
O player vai passar pela porta e vai ver os 5 Basin, a Alavanca e o Esqueleto. OBS* O TELEPORTE SO VAI APARECER QUANDO MATAR O BOSS.
No basin ao lado da alavanca o Player vai ter que colocar uma SKULL ID 2229.
Nos quatro Basin abaixo ele vai ter que por 1 BONE ID 2230 em cada.
Quando ele puxar a alavanca:
-Some o Eskeleto que esta no trono.
-Os 5 basin se transformam em outro basin com a chama acesa ID 1483.
-A Porta fica travada para ninguem mais entrar ou sair.
-O Boss aparece no lugar do eskeleto.
-E ele tem 5 minutos para matar o BOSS e passar pelo portal ( Se tiver como aparecer uma mensagem pra quem puxou a alavanca quando estiver faltando 30 segundos)
Se ele morrer ele so vai poder entrar na sala de novo apos 20 minutos.
Se matar o boss aparece o teleporte e o tempo continua contando até ele passar pelo teleporte.
Quando ele passar pelo teleporte, limpa a sala, e libera o acesso para outros jogadores matarem o boss.
Se acabar o tempo, reseta a sala, e o player é teleportado para o lado de fora da porta.
-
eskylo deu reputação a drakencaio em Projeto OLD TIBIA 8.60Projeto do meu ot to fazendo o mapa +- vou por aqui pra voces verem oque acham - https://www.facebook.com/Old-Tibia-860-148468425362761/
http://prntscr.com/exe91x
-
eskylo deu reputação a Wakon em Retirando Bug Do Rme 8.60@Dornellas, não lembro se baixei esse cliente no site do RME mas ele funciona perfeitamente aqui, testa ai:
https://www.mediafire.com/?lvz8c12b8e0y09k
-
eskylo deu reputação a Wakon em Retirando Bug Do Rme 8.60@Dornellas, por nada .
-
eskylo deu reputação a deivaoo em [MOD] Pokedex Window para base PDA [v1.0]Eai galera, blz?
Bom, vim trazer pra vcs a versão 1.0 do mod de pokedex que eu desenvolvi mês passado visando aprendizado no mundo de OTC, com o objetivo também de mostrar que o otclient é flexível suficiente para se fazer muitas coisas sem a necessidade das sources tanto do servidor quanto do client...
Para aqueles que não conhecem, vejam o Show Off desse trabalho.
Eu fiz essa versão com o objetivo de não fazer alterações no servidor... Ou seja, tem apenas edições no OTC.
Atualizações:
1. Adicionado um pack com 276 imagens de pokemons (16,1MB);
2. Pokemons shiny tem a exibição da imagem de pokemons normais (para alterar, basta remover
a linha 75 do arquivo game_pokedex.lua, na pasta modules/game_pokedex de seu client);
3. Pokedex fecha ao se deslogar do char com ela aberta [créditos a @Soulviling pela ideia];
Bom, sem mais delongas;
Instalação fácil:
Passo 1. Faça o download do arquivo RAR (download no final do tópico);
Passo 2. Copie a pasta modules pro seu client;
Passo 3. "Deseja substituir?" [X]Sim [ ]Não
Passo 4. Só vai até o passo 3;
Bom, segue uma imagem ATUALIZADA
Download e Scan
-
eskylo deu reputação a Avuenja em [OTC] Background animadoOlá pessoal, achei um tutorial muito legal na net, e resolvi trazer para vocês... Ele ensina como colocar background animado no OTClient.
Entendendo as limitações do OTC
Todos nós sabemos que o OTC só aceita imagens em .pgn e a maioria das imagens animadas são gif ou flash, então como vamos colocar imagens animadas no nosso cliente...
Introdução
Passeando pelas profundezas da internet andei lendo que o novo firefox 3 aceitara uma extensão de imagem nova, e qual é essa extensão o APNG isso mesmo Animated Portable Networks Graphics
então pensei vamos explorar isso.. encontrei um programa que se chama APNG Anime Maker e e ele que vamos utilizar
1º Passo
Baixe o Programa AQUI
( ele funciona por frames então vc tera que ter todas as imagens de sua animação 1 por 1 em qualquer arquivo mas desde que elas tenham o mesmo tamanho (1024x719 padrão OTC) para n dar conflito visual).
depois de baixar o programa e ter todas as imagens agora fica facil então vamos seguir.
2º Passo.
Abra o APNG
Menu Principal
OPEN > Abre as suas imagens SAVE > Salva a sua imagem em formato png (porem com a animação) CLEAN > Limpa todas as imagens Move Up / Move down > altera a ordem das imagens Menu Lateral
Delay > tempo para cada imagens ficar em exibição em ms ou fps Offset / Increment > não sei pra que serve =p os outros menus tbm n mas n vamos usar eu acho rsrs Após adicionar todas as suas imagens em frames e classificar a ordem e tempo de exibição delas salve o arquivo no botão SAVE e coloque dentro da pasta \data\images com nome de background e teste
-
eskylo deu reputação a Snowsz em Criando um mod simplesNeste tutorial espero ensina-los a criar um mod simples, composto por uma janela e um botão, para ativa-la e desativá-la.
O mod deve ficar mais ou menos assim:
• Entre na pasta mods do seu otclient, e crie um arquivo com um nome quaisquer, como por exemplo, o nome que quer para seu mod, o meu, vou chamar de "tutorial".
• Dentro da pasta criada, crie um novo arquivo com extensão "otmod", coloque o nome do seu mod nele, eu vou colocar o nome de "tutorial", ficando "tutorial.otmod":
• Dentro do seu arquivo de extensão "otmod" adicione o seguinte código:
Module name: description: author: website: version: autoload: autoload-priority: scripts: [ ] @onLoad: @onUnload:
• Explicando
Dai você me pergunta por que isso está identado dessa forma?
Module name: Com dois espaços antes de "name:"?
Porque "Module" é uma declaração do tipo de arquivo que está sendo utilizado, já o "name:", é um componente do "Module", por isso, ele deve estar dentro de "Module", caso contrário, poderá ocorrer erros.
Nesta linha:
Module Ele está declarando que este arquivo é um modulo, uma modificação para seu client.
Nesta linha:
name: Aqui, estará sendo declarado o nome do seu módulo, eu vou colocar o nome "Tutorial":
name: Tutorial Ao clicar no gerenciador de módulos, ele irá mostrar o seu mod com o nome escolhido:
Nesta linha:
description: Aqui, entrará a descrição do seu mod, por exemplo:
description: Um mod simples. Irá mostrar mais ou menos assim:
Nesta linha:
author: Entrará o seu nome, ou seja, o nome de quem criou o mod(autor óbvio), por exemplo:
author: Snowsz Ficaria mais ou menos assim:
Nesta linha:
website: Você pode declarar o seu site, por exemplo:
website: tibiaking.com Ficaria mais ou menos assim:
Nesta linha:
version: Você pode colocar a versão do seu mod, por exemplo:
version: 1.0 Ficaria mais ou menos assim:
A parte com explicação gráfica terminou !
Nesta linha:
autoload: Será determinado se o seu mod irá ser carregado automaticamente, por exemplo:
Exemplo 1:
autoload: false Assim, seu mod só irá ser carregado manualmente, você terá que ir no gerenciador de módulos e clicar em carregar para inciar seu mod.
Exemplo 2:
autoload: true Assim, seu mod só irá ser carregado automaticamente, sem a necessidade de clicar para ser carregado.
Nesta linha:
autoload-priority: Será determinada a prioridade de carregamento do seu mod, "Como assim?", é simples, ele irá carregar antes ou depois de outro mod, isso determina em que posição de carregamento seu mod deve estar, como por exemplo, em primeiro lugar , um exemplo de prioridade:
autoload-priority: 1000 Acho que não tem nenhum mod com essa prioridade? Hehe, será um dos primeiros a carregar!
Nesta linha:
scripts: [ ] Será determinado os scripts carregados pelo seu módulo, os scripts usado por ele, por exemplo:
scripts: [ tutorial ] Ele irá busca um arquivo com o nome tutorial.lua na mesma pasta que ele estiver, e carregará tudo que tem dentro daquele arquivo.
Nesta linha:
@onLoad: Será determinado que função o seu mod irá chamar ao iniciar, por exemplo:
@onLoad: print("Hello World!") Irá mostrar uma mensagem no seu terminal do otclient.
Por fim, nesta linha:
@onUnload: Será determinado que função o seu mod irá chamar ao ser descarregado, ao se desligar, por exemplo:
@onUnload: print("Bye World! ;(") Irá mostrar uma mensagem no seu terminal do otclient.
Bom, a configuração que usaremos no nosso mod simples será essa:
Module name: Tutorial description: Um mod simples. author: Snowsz website: tibiaking.com version: 1.0 autoload: true autoload-priority: 1000 scripts: [ tutorial ] @onLoad: init() @onUnload: terminate()
Mexa apenas no que souber
Na pasta do seu mod, crie um novo arquivo, com o nome "tutorial", ele deverá conter a extensão "lua", ficando "tutorial.lua", que é o arquivo de script setado no nosso "tutorial.otmod":
scripts: [ tutorial ] Dentro dele, coloque o seguinte código:
function init() tutorialWindow = g_ui.displayUI('tutorial.otui') tutorialWindow:hide() tutorialButton = modules.client_topmenu.addRightButton('tutorialButton', tr('Exemplo'), 'icone', onoff, true) end function terminate() tutorialWindow:hide() end function onoff() if tutorialWindow:isVisible() then tutorialWindow:hide() else tutorialWindow:show() end end A função "init()" é a função chamada pelo seu mod, ao iniciar, a função "terminate()", é chamada pelo seu mod, ao ser desligado.
Na função "init()", em uma de suas linhas podemos encontrar isso:
tutorialWindow = g_ui.displayUI('tutorial.otui') Onde tem "tutorialWindow", está sendo declarado uma variável global, um iniciante em lua deve saber o que é, então não vou explicar.
Dentro de tal variável, há uma função, "O que essa função faz?", ela executa os elementos contidos em um arquivo, que seria os arquivos de extensão "otui", nela, estaremos executando o "tutorial.otui".
Nesta linha:
tutorialWindow:hide() Ele executa uma função na variável "tutorialWindow", que seria uma função para esconder a janela, pois, o que estava contido no "tutorial.otui" seria uma janela que criaremos logo logo.
Nesta linha:
tutorialButton = modules.client_topmenu.addRightButton('tutorialButton', tr('Exemplo'), 'icone', onoff, true) Está sendo declarado uma variável global, nela, está contido a referencia de uma função, que seria um botão adicionado ao lado direito do menu, exemplo:
Utilizei a imagem de ícone do otclient para demonstração.
Explicando a função:
Sua base é essa:
modules.client_topmenu.addRightButton(id, description, icon, callback, front) • Id: Será o id dado ao botão, para melhorar o acesso.
• Description: É a descrição do botão, ao passar o mouse em cima, aparecerá um texto.
• Icon: É a imagem do botão, como a que eu utilizei no exemplo, usei o ícone do otclient.
• Callback: É uma função chamada ao clicar nele.
• Front: Define se o botão será adicionado na frente ou atrás dos demais botões do seu menu.
Explicando a função "terminate()", na sua única linha podemos encontrar isso:
tutorialWindow:hide() É o seguinte, ao seu mod descarregar, ele irá esconder sua janela criada.
Explicando a função "onoff()", nas suas linhas podemos encontrar isso:
if tutorialWindow:isVisible() then tutorialWindow:hide() else tutorialWindow:show() end Mas bem, o que isso faz? Simples, "tutorialWindow:isVisible()", ele checa se a janela está visível, se estiver, ele irá esconde-la "tutorialWindow:hide()", caso a janela não esteja visível, ele irá mostra-la "tutorialWindow:show()", essa é a utilidade da função utilizada no botão do menu.
Agora, na pasta do seu mod, crie um novo arquivo, com o nome de "tutorial", a extensão dele deve ser "otui", ficando "tutorial.otui", dentro desse arquivo, adicione isso:
MainWindow id: tutorialwindow height: 255 width: 438 !text: tr("Mod simples") Explicando:
• "MainWindow", seria o objeto que irá ser utilizado pelo arquivo, no caso, uma janela.
• "id", o id, estaria setando um id para a sua janela.
• "height", seria a altura da sua janela, do "MainWindow".
• "width", seria a largura da sua janela, do "MainWindow".
• "!text", seria o texto inserido como título de sua janela, a função chamada nele "tr()", chama uma tradução para aquela frase, caso não tenha ficaria aquilo mesmo, caso tenha, iria mudar para outro texto traduzido.
Bom gente, espero que tenham gostado do tutorial, eu não sou bom com tutoriais... Se tiver me perdido peço desculpas, qualquer erro podem postar aqui que irei corrigir, se eu tiver me enrolado em algo, me desculpem, dei várias pausas enquanto fazia isso kk', espero que tenham entendido tudo.
Créditos: Snowsz
-
eskylo recebeu reputação de Magonnite em (Resolvido)[PEDIDO] Magia de heal mana/lifemana
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function onCastSpell(cid, var) doCreatureAddMana(cid, 10000) return doCombat(cid, combat, var) end health
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function onCastSpell(cid, var) doCreatureAddHealth(cid, 10000) return doCombat(cid, combat, var) end basta criar 1 arquivo lua pra cada arquivo na pasta spells/scripts
depois abrir o spells.xml e copiar a linha de uma outra spell qualquer e editar para suas novas magias, com o tanto de mana q vai gastar, quais as palavras pra usar e etc
-
eskylo recebeu reputação de Slaake em (Resolvido)[PEDIDO] Magia de heal mana/lifemana
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function onCastSpell(cid, var) doCreatureAddMana(cid, 10000) return doCombat(cid, combat, var) end health
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function onCastSpell(cid, var) doCreatureAddHealth(cid, 10000) return doCombat(cid, combat, var) end basta criar 1 arquivo lua pra cada arquivo na pasta spells/scripts
depois abrir o spells.xml e copiar a linha de uma outra spell qualquer e editar para suas novas magias, com o tanto de mana q vai gastar, quais as palavras pra usar e etc
-
eskylo deu reputação a nociam em (Resolvido)Como compilar OTclient com suporte do DX9?na parte do cmake aonde tem a opçao DOPENGLES on ou off nao lembro se coloca la 2.0 so isso seja feliz so isso a imagem e so uma fotinha aonde se tem que mudar nao copia o que esta marcado so muda aquela opçao
-
eskylo recebeu reputação de NecromancerNeko em (Resolvido)[PEDIDO] Magia de heal mana/lifemana
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function onCastSpell(cid, var) doCreatureAddMana(cid, 10000) return doCombat(cid, combat, var) end health
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) function onCastSpell(cid, var) doCreatureAddHealth(cid, 10000) return doCombat(cid, combat, var) end basta criar 1 arquivo lua pra cada arquivo na pasta spells/scripts
depois abrir o spells.xml e copiar a linha de uma outra spell qualquer e editar para suas novas magias, com o tanto de mana q vai gastar, quais as palavras pra usar e etc
-
eskylo deu reputação a luanluciano93 em TFS 0.4 CASTOlá pessoal, tive a iniciativa de criar esse tópico para atualizar e otimizar as sources do TFS 0.4 DEV que é uma das mais usadas no mundo do otserv. Conteúdo totalmente gratuito e pretendemos melhora-lo cada vez mais.
Qualquer um pode colaborar, postando bugs, erros, otimizando códigos, comentar aqui no tópico, toda ajuda é bem vinda, vamos tornar essa a melhor source disponível. Conto com vocês.
Versão do Tibia: 8.60
Alguns sistema já implementados na source:
• TFS 0.4 DEV rev 3777 (by TFS Team)
• Anti-Divulgação (.servegame, .no-ip, .net, .com, .org, .pl, .biz, .br, .sytes, .info)
• War System
• Cast System (by Summ)
• Retirado bugs de anti-push ..
• Retirado bugs de elfbot ...
• Retirado erro de não aceitar outros items ...
• Retirado erro de Malformed File ...
• Add creatureevent onMoveItem() ...
• Add função getCreaturePathTo () ...
• E vários outros!
Complementos:
• Add cast System (passo a passo): [AQUI]
• Pode add o comando na config.lua:
healthHealingColor = COLOR_GREEN -- [podendo alterar a cor]. manaHealingColor = COLOR_DARKPURPLE -- [podendo alterar a cor]. Downloads:
• Distro Compilada 32x
• Distro Compilada 64x
• Sources 7
TESTADO EM WINDOWS, DEBIAN 7.8, UBUNTU 12.04 E 14.05!
• Compilar em Linux:
• Erros para arrumar:
Obrigado ao runeraserver pelo incentivo em fixa-la para linux
E é isso pessoal, espero ter ajudado, abraços
-
eskylo recebeu reputação de joseiz em Criando Client com launcherconfiguration erro ao executar o gendata ;/
-
eskylo deu reputação a Developer Berg em Sprite do cp do Pxg, e itens do Pxgpra falar a verdade eu n conseguir pegar essas sprites do pxg, eu descompilei o client do Psoul.net
-
eskylo deu reputação a Developer Berg em Sprite do cp do Pxg, e itens do PxgOlá Galerinha como eu estou " Bonzinho Hoje " heuheu venho aqui ter a honra de passar para vcs vários itens do PXG, é isso mesmo que vc leu
e quais são esses itens ? ( Sabem aquele novo cp que o Pxg tem ? aquele bonito que teve agr no update ? Ss é ele mesmo, fora outros itens muito massas que vou deixar os prints )
Obs: coloquei esse tópico nessa área por causa que no tópico " Download De Sprites " n ta podendo + criar tópico lá, então Agradeço se moverem pra o lugar Certo
Link do download --->>> http://www.mediafire.com/download/9v349c4kjdv94s1/Sprites+fodas.rar
Scan --->>>https://www.virustotal.com/pt/file/c16b849d74e50f467c2a048957e7b604016d2cfdd5b218b34ba86115a92b06b8/analysis/1430576442/
Obs: quando for abrir no Object Builder vc precisa marcar as opções Estendido e Transparência
-
eskylo deu reputação a Developer Berg em Descriptografar client do pxgN sei se é permitido falar isso + achei uma script no client do pxg que mostra o tipo de criptografia que todas as scripts do jogo tem, o Poke X Games é todo criptografado em Hash, n sei qual tipo de Hash é usado para criptografar o client do pxg + to desconfiando que é Md5 Ou Sha1, talvez alguém aki do Tibiaking entenda desse negocio de criptografia em Hash, e to deixando isso para se alguém conseguir descriptografar o client do pxg compartilhar com o Forum do Tibiaking
o nome da script que tem as senhas criptografadas no client do pxg é .lam e dentro dela ta assim
tag: v4.0 hash: 565b1de694142d504540a7b957cc781f00d1b942 assets: - path: /.lamignore hash: 1311b5ed35792e44cccc2f3577f3d3fe26b0bf2d time: 1399368146 - path: /OpenAL32.dll hash: 8316319341a0f9054e19e4a7b21df3dc49386fee time: 1399368148 - path: /d3dcompiler_43.dll hash: 98be17e1d324790a5b206e1ea1cc4e64fbe21240 time: 1399368182 - path: /d3dx9_43.dll hash: f5944df4142983714a6d9955e6e393d9876c1e11 time: 1399368216 - path: /gamedata/client/client.bc hash: 1e844bc3574dc157fc016fe3f8763b5370dd4e50 time: 1399368216 - path: /gamedata/client/client.bm hash: 0bcf2e8208cddb45d3c3a416593c0c6adf6eef17 time: 1399368216 -
eskylo deu reputação a Orochi Elf em Catch Window v1.3[MOD] Catch Window v1.3
Bom.. todos conhecem a nova janela, que quando algum jogador captura um pokemon, que nunca capturou antes, abre na tela informando quantas pokebolas (PokeBalls, GreatBalls, SuperBalls e UltraBalls), o jogador gastou para capturar aquele pokemon, e mostra também quanto de experiencia o jogador ganhou por capturar aquele pokemon.
Instalação.
Por enquanto o PDA, é o único servidor que está adaptada no tópico, se alguém adaptar para outros servidores, e quiser compartilhar, será muito bem vindo. Obrigado
Pokemon Dash Advanced
Vá na pasta Lib / Catch System.lua, e procure por:
doAddPokemonInCatchList(cid, poke) E abaixo adicione:
CW_Count(cid, poke, typeee) CW_Caught(cid, poke) Agora procure por:
doIncreaseStatistics(poke, true, false) E abaixo adicione:
CW_Count(cid, poke, typeee) Agora, vá na pasta Lib / Crie um arquivo chamado "CatchWindow_lib.lua".
E dentro adicione -> Link Direto (PasteBin) <- Atualizado v1.3 !
Agora baixe o arquivo"CatcherWindow.rar", e extrai-a os arquivos dentro da pasta MODS da pasta do OTClient.
Editando...
No arquivo que voce colocou na LIB, tem uma tabela chamada "CW_Pokes", lá voce adiciona os pokemons e os configura.
["bulbasaur"] = {DB_Balls = 500001, DB_PK = 900001, ID_Portrait = 11989, P_Experience = 5000}, Legenda:
[NomeDoPokemon] = {DB_Balls = Numero da storage, que irá ficar salvo as balls usadas.
DB_Pk, Numero da storage, que irá ficar salvo se o pokemon foi capturado ou não.
ID_Portrait = Item ID do Portrait de cada pokemon
P_Experience = A quantidade de experiencia que o jogador irá ganhar ao capturar este pokemon.}
Vídeo:
https://www.youtube.com/watch?v=9ERSelYANFY&feature=youtu.be
Galera, eu estou com uma meta de conseguir 30 rep+ neste tópico, GO!
Créditos: Tony Araújo (OrochiElf) 100%
catcherWindow.rar
-
eskylo recebeu reputação de Vodkart em Projeto PokémonSim, mais um projeto pokémon!
O principal objetivo é desenvolver um servidor quase idêntico ao pxg.
As diferenças serão sutis e farão a diferença, mas ainda não divulgarei.
Estou usando uma base aqui do fórum, segue uma screenshot da reforma que está acontecendo no mapa de Saffron...
...
Trocando as calçadas e ruas de Saffron...
Paredes e portas de Saffron...
Acompanhe também nossa página no Facebook...
https://www.facebook.com/pokejota
Atualizarei o máximo possível aqui no TibiaKing, mas o Facebook será mais usado para atualizações e imagens...
Interessados em participar visite o tópico de formação...
http://www.tibiaking.com/forum/topic/55931-forma%C3%A7%C3%A3o-de-equipe-profissional/
Obrigado.
-
eskylo recebeu reputação de TsplayerT em Projeto PokémonSim, mais um projeto pokémon!
O principal objetivo é desenvolver um servidor quase idêntico ao pxg.
As diferenças serão sutis e farão a diferença, mas ainda não divulgarei.
Estou usando uma base aqui do fórum, segue uma screenshot da reforma que está acontecendo no mapa de Saffron...
...
Trocando as calçadas e ruas de Saffron...
Paredes e portas de Saffron...
Acompanhe também nossa página no Facebook...
https://www.facebook.com/pokejota
Atualizarei o máximo possível aqui no TibiaKing, mas o Facebook será mais usado para atualizações e imagens...
Interessados em participar visite o tópico de formação...
http://www.tibiaking.com/forum/topic/55931-forma%C3%A7%C3%A3o-de-equipe-profissional/
Obrigado.
-
eskylo deu reputação a EdMignari em Ot Item Editor para cliente extendedOi, jgmmiranda.
O OTItemEditor não tem suporte para arquivos estendidos. Você já tentou usar este:
https://github.com/Mignari/ItemEditor#download
E já existe um RME com suporte a estendidos:
http://www.tibiaking.com/forum/topic/38665-remeres-map-editor-versão-cliente-estendidaextended/?p=223663
Abraço.
-
eskylo deu reputação a Orochi Elf em [C++] doCreatureCastSpell(creature, spellName)[C++] doCreatureCastSpell (0.3.6pl1)
Escrito e testado: 0.3.6PL1 [8.54 - 8.60]
Salve galera do TibiaKing, eu fui procurar na internet sobre essa função e vi que já tentaram cria-la, porém não conseguiram, ou se conseguiram nunca postaram. Então eu resolvi faze-la para vocês, e eu percebi que ninguém nunca tinha feito, por causa de uma dúvida, e um certo grau de dificuldade. Certamente, eu tive uma dificuldade no começo, porém ao desenvolver da função eu percebi que não era nada de mais.
Então eu trago aqui pra vocês esta função, cuja a ideia é fazer com que a criatura (jogador ou monstro) a utilize uma magia pelo nome dela, importante lembrar que o nome da magia, não é as palavras mágicas, exemplo: "utani hur" é a palavra mágica e "haste" é o nome da magia. Enfim, sem mais delongas e vamos aos códigos
Vá ao arquivo "LuaScript.cpp" e procure por:
//doPlayerAddExperience(cid, amount) lua_register(m_luaState, "doPlayerAddExperience", LuaScriptInterface::luaDoPlayerAddExperience);
E abaixo adicione:
//doCreatureCastSpell // by OrochiElf. lua_register(m_luaState, "doCreatureCastSpell", LuaScriptInterface::luaDoCreatureCastSpell);
Agora procure por:
E abaixo adicione:
int32_t LuaScriptInterface::luaDoCreatureCastSpell(lua_State* L) // by OrochiElf. { //doCreatureCastSpell(cid, spellname) std::string spellName = popString(L); ScriptEnviroment* env = getEnv(); if(Creature* creature = env->getCreatureByUID(popNumber(L))) { InstantSpell* spell = g_spells->getInstantSpellByName(spellName); if(!spell) { lua_pushboolean(L, false); return 1; } Creature* target = creature->getAttackedCreature(); if(target) spell->castSpell(creature, target); else spell->castSpell(creature, creature); lua_pushboolean(L, true); } else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; }
Agora vá ao arquivo "LuaScript.h" e procure por:
static int32_t luaDoPlayerAddItem(lua_State* L);
E abaixo adicione:
static int32_t luaDoCreatureCastSpell(lua_State* L); // by OrochiElf
Exemplo, eu tenho um pet, e quero que ele utilize a magia de "utani hur" - "haste".
Talkaction Code:
function onSay(cid, words, param, channel) local summon = getCreatureSummons(cid)[1] if isCreature(summon) then doCreatureCastSpell(summon, "haste") end return true end
Esta função é muito requisitada para fazer servidores de pokémon, evitando gambiarras. Que foi o motivo para qual eu desenvolvi ela
Créditos.
Tony Araújo (OrochiElf) 100%
-
eskylo deu reputação a Elwyn em getCreaturePathToPara TFS 0.4/0.3.6 e OTX2
Em luascript.h depois de:
static int32_t luaGetCreatureName(lua_State* L); Adicionar:
static int32_t luaGetCreaturePathTo(lua_State* L); Em luascript.cpp depois de:
//getCreatureName(cid) lua_register(m_luaState, "getCreatureName", LuaInterface::luaGetCreatureName); Adicionar:
//getCreaturePathTo(cid, pos, maxSearchDist) lua_register(m_luaState, "getCreaturePathTo", LuaInterface::luaGetCreaturePathTo); Depois de:
int32_t LuaInterface::luaGetCreatureName(lua_State* L) { //getCreatureName(cid) ScriptEnviroment* env = getEnv(); if(Creature* creature = env->getCreatureByUID(popNumber(L))) lua_pushstring(L, creature->getName().c_str()); else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } Adicionar:
int32_t LuaInterface::luaGetCreaturePathTo(lua_State* L) { //getCreaturePathTo(cid, pos, maxSearchDist) ScriptEnviroment* env = getEnv(); int32_t maxSearchDist = popNumber(L); PositionEx position; popPosition(L, position); Creature* creature = env->getCreatureByUID(popNumber(L)); if (!creature) { lua_pushnil(L); return 1; } std::list<Direction> dirList; lua_newtable(L); if (g_game.getPathTo(creature, position, dirList, maxSearchDist)) { std::list<Direction>::const_iterator it = dirList.begin(); for (int32_t index = 1; it != dirList.end(); ++it, ++index) { lua_pushnumber(L, index); lua_pushnumber(L, (*it)); pushTable(L); } } else { lua_pushboolean(L, false); } return 1; } E sejam felizes!
getCreaturePathTo(cid, position, maxSearchDist) retornará uma tabela com as direções que o jogador deve seguir para chegar no ponto position. Não contem as posições que ele deve passar por. maxSearchDist é o valor máximo de passos que ele vai dar em direção à essa position e na via das dúvidas coloque o maior valor de distancia entre as duas posições.
-
eskylo recebeu reputação de Wiz Khalifa em Como rodar um servidor por vps?Cuidado; já é o 4º tópico que você cria com o mesmo conteúdo; tente pesquisar também, tenho certeza de que irá achar