Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 10/13/15 em todas áreas

  1. Bom tarde galera, venho por meio deste tópico, anuncar que, estou terminando de desenvolver um ATS derivado de Tibia.. Um pokémon server.. Bom, vou postar ShowOff, apenas dos sistemas no qual tem no servidor.. Irei resolvendo os Bugs, e então, quando achar que está bom, liberarei o Download do servidor, junto com as devidas sources. Eu tambem, colocarei uma lista do que foi feito no servidor.. Desde bugs, até novos sistemas. enfim.. Bom, como todos sabem, esse servidor contem os sistemas básicos.. Mas ainda não parei para mexer nos sistemas mais simples.. Changelog: Adicionado nas sources: - DoCreatureSetNick - AutoStacking - Modificado a função AddItem (estava bugando por causa do autostacking..) - Adicionado todas as races pokémons. - Modificado a cor da fala dos groups nos channels. - Adicionado Passive e Agressive, igual o PokeXGames. - Adicionado OnSpawn - Adicionado Pokémon Ghost System - Adicionado GetCreaturePathTo - Adicionado CastSpell Adicionado no servidor: - Novo NPC de mudança de Nick do pokémon; - Peguei função do PDA para alterar nomes dos pokémons shinys, e deixado normal. Ex: Antes: Shiny Tangela. Agora: Tangela. - Adptado/Adicionado sistema de vantagem e desvantagem do PDA. - Copiei as passives do PDA e adpatei para o servidor. - Copiei sistema de vantagem e desvantagem do PDA e adpatei para o servidor. - Adptado/Adicionado o Clan System do PDA. - Sistema de Icon (acabei de adicionar só adicionei 1 icon pra testar mesmo) ^^ - Retirados o S no final dos pokémons selvagens. - Ao morrer, aparece descrição no corpse, indicando o monstro que matou e o nome de quem morreu. - Sistemas basicos (surf, ride, blink etc.) por order Mudanças nas configurações do servidor: -Adicionar/fazer moves, basta fazer igual o PDA. Porem, se você baixar um servidor PDA e pegar a script de "pokémon moves" da LIB, e jogar nesse servidor, não irá funcionar ^^ -Adicionar pokémons, tambem é só adicionar como se fosse um PDA. -Adicionarfazer novas evoluções igual o PDA. -Adicionar/fazer novas passives igual o PDA. Otclient: Peguei OTClient na versão 0.6.5; - Fiz a barrinha de moves funcionar.. - Não vou adicionar pokebar - Transparency funcionando Obs: O Old cliente ainda está usavel, pois não extendi o cliente, nem pretendo extender.. Faltando/Em andamento: Arrumar alguns moves Refazer nurse joy Configurar todos os pokémons e balancear Configurar o Clan Sistema Configurar Spells Confgurar sistema de ovos Retirar uns duplicad Itens Arrumar os sistemas basicos(hoje ainda deixo 100%) OBSERVAÇÕES: Eu não irei postar ainda, pois o mesmo está em andamento, tem muitos bugs na qual estou resolvendo. ***Se alguem quiser me ajudar, basta deixar seu contato. ** Não me precionem plis. * Sou lindo - Irei atualizar todos os dias, e colocar prints e atualizações e modificar o nome do topico com a data de atualização. - NÃO irei mexer no mapa, se alguma alma quiser ajudar, pois bem, deixe seu contato e.e - NÃO tem level sistema. e NÃO é PDA. CREDITOS: Zipter OrochiElf Arkz Elwyn GabrielTxu Sobre os creditos, *Eu peguei um ou mais sistemas, alguns destes me tiraram duvidas e sou grato*. PRINTS: Estou desenvolvendo esse servidor exclusivamente para o XTIBIA, e tambem porque quero ver a galera sair da mermisse do PDA..Durante muito tempo, vi gente criando topicos, pra geral juntar e fazer os sistemas do PDA, ou fazer um servidor que chegue no rastro do PDA.. Então, se alguem quiser me ajudar.. Basta me comunicar.. OBS: Sempre verifiquem as atualizações abaixo, que é onde eu irei editar sempre e postar atualizações, abram os spoilers. ATUALIZAÇÕES: 11/10/2015 00:16 Parei para mexer no Design do Client. novo entergame: Atualização *11/10/2015* Atualização *12/10/2015* *Vou upar os Prints das atualizações e colocar no tópico*
    4 pontos
  2. Hoje eu vim mostrar o client/launcher do meu projeto (clica aqui), provavelmente eu irei liberar as sources do Launcher Launcher: Client:
    2 pontos
  3. 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.
    2 pontos
  4. kalawalo

    Game Launcher Auto Update (Show-Off)

    Bom primeiramente peço desculpa se postei na área incorreta, não costumo fazer tópicos, então não sei se está certo. obs1: É só um show-off. obs2: (Não reparem no visual, não sou bom com isso). Como funciona? R:Ele compara os arquivos da pasta do client, e se estiver diferente da do host ele baixa o que esta diferente e instala, se não tiver nada diferente ele só abre normalmente.Após Clicar em jogar abre a 2 Parte com as regras do servidor e a opção de escolher entre OpenGL e Dx9. Algumas informaçoes: Botões com efeito. imagem do centro dele é puxada de um site. Bom é isso gente. Creditos: Eu OTPokemon(Imagens) Google(Imagens)
    2 pontos
  5. Estou meio que sem tempo, então vou te passar um rápido aqui ! Em data/actions/scripts crie um arquivo chamado boox.lua e cole isso: Em data/actions/actions.xml cole essa tag: Data/npc: Crie um arquivo com o nome do NPC que quiser, vou usar Ruby como exemplo, e dentro do arquivo cole isso: <?xml version="1.0" encoding="UTF-8"?> <npc name="Ruby" script="RUBYTRADE.lua" walkinterval="350000" floorchange="0" speed="0"> <health now="100" max="100"/> <look type="2335" head="20" body="100" legs="50" feet="0"/> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|.I need {help}...you help me?"/> </parameters> </npc> Em data/npc/scripts crie um arquivo chamado RUBYTRADE.lua e cole isso dentro: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid msg = string.lower(msg) --------- local need = { {id = ID DAS ESSENCES, qt = 50}, --ID DAS ESSENCES ZARD, QUANTIDADE } local rewards = { {id = IDDABOX, qt = 1}, --charizard BOX } local stoFinish = 92120 -- USE ESSA OU A STORAGE QUE QUISER --------- if msgcontains(msg, 'help') or msgcontains(msg, 'ajuda') then if getPlayerStorageValue(cid, stoFinish) >= 500 then selfSay("Sorry, you already had done this quest.", cid) talkState[talkUser] = 0 return true end selfSay("Olá meu amigo, sou o NPC de trocas de Essences, me dê 50 Essences e lhe darei 1 Box que virá seu Pokemon! Diga YES para trocarmos.",cid) talkState[talkUser] = 1 return true elseif msgcontains(msg, 'yes') or msgcontains(msg, 'sim') and talkState[talkUser] == 1 then if getPlayerItemCount(cid, need[1].id) < need[1].qt then selfSay("Você não me trouxe todas as Essences...", cid) selfSay("Lembre-se, eu preciso de 50 Essences...", cid) talkState[talkUser] = 0 return true end for i = 1, #need do doPlayerRemoveItem(cid, need.id, need.qt) end for i = 1, #rewards do doPlayerAddItem(cid, rewards.id, rewards.qt) doPlayerAddExperience(cid, 0) end selfSay("Obrigado, tchau!", cid) setPlayerStorageValue(cid, stoFinish, 1) talkState[talkUser] = 0 return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) OBS: Não testei
    2 pontos
  6. Lucas CP

    script de gm

    Se for TFS 1.x você pode colocar na parte de player.lua da pasta events. Player:onMoveItem(item, count, fromPosition, toPosition) Antes do último return coloca isso: if self:getGroup():getId() > 1 then self:sendCancelMessage("Sorry, not possible.") self:getPosition():sendMagicEffect(CONST_ME_POFF) return false end Em outras versões só mudar na src: em game.cpp e editar essa parte: Game::playerMoveItem Se não me engano
    2 pontos
  7. Tópico atualizado com as atualizações de ontem de madrugada e hoje.. Ou você pode ler no spoiler abaixo: Atualização *12/10/2015*
    2 pontos
  8. Montanhas - Vegetação e Temática Conceito por Daniel Olá meus caros xTibianos, vim trazer este tutorial que queria ter criado a muito tempo atrás. Bom, decidi finalmente retirar um tempo para me dedicar a seção e trazer uns conteúdos bacanas para vocês. Este tutorial, no que se propõe o tema, tem como objetivo mostrar o meu estilo de fazer montanhas detalhar, e aplicar temáticas nestas, também como deixá-las agradáveis no mapa (no meu ponto de vista). Dicionário do Mapper AutoMagic: Mais conhecido como Auto-border. AutoMagic são ferramentas que atravéz de códigos adicionam estruturas prontas no seu mapa. Isto é ruim em parte, pois você não possui tanta flexibilidade para fazer um mapa corretamente. Por outro lado, o AutoMagic proporciona uma rapidez na produção de mapas; muitos que utilizam o Remere's Map Editor reconhecem que mesmo não optando pelo AutoMagic ele pode ser útil muitas vezes. RPG Map: Significa que o mapa citado é um mapa RPG, ou seja, segue conceitos sem deixar passar nada. Para observar se um mapa é RPG, basta verificar se: Há boas opções de mobilidade (conforme o tema propõe); fora criada uma temática conforme o gráfico disponível; detalhes impressionam. Dirty: É um mapa sujo, normalmente contém mais detalhes que o necessário para aquela temática. Não é a mesma coisa que um mapa sujo propositalmente. Oversquare: Concede-se à mapas com a ausência de detalhes importantes, pode-se dizer que um mapa oversquare é um mapa que pode ser melhorado adicionando detalhes essenciais. • Montanhas no Tibia Diferente da vida real, o Tibia tem um estilo gráfico na perspectiva 45º. Isso dificulta sim o mapeamento de estilos próprios ditos "pessoais". No que se refere à este conceito, digamos que vários estilos de mapeamento de montanhas podem chegar ao mesmo resultado. O que muda são alguns aspectos que eu estarei mostrando mais adiante. Itens para Montanhas Simples Base Estrutura Complementos As montanhas do tibia são praticamente iguais (com algumas exceções). Esta montanha mostrada acima é a mais utilizada e bem simples de compreender. Veja que há dois complementos (bordas) que podem ser utilizados em várias situações. Para ter um controle melhor na hora de criar a base das montanhas, comece utilizando os itens id: 4476, 4477, 4478, 4479. Que são as bordas diagonais mais utilizadas nas partes internas e na rotação da montanha. ESTRUTURA A seguir, complete as bordas da estrutura com os itens id: 4468, 4469, 4470, 4471, 4472. Note que algumas partes permaneceram sem estas bordas, isto é porque a repetição contínua delas pode ser impedida, em conceito de oversquare, com detalhamentos melhores que não fogem do tema. Por exemplo: BASE A base é iniciada, no meu estilo, pelas bordas e grounds. Por que iniciar com bordas? Desse jeito, você pode controlar o espaço trabalhado e definir melhor o rpg. Veja um exemplo de base aceitável para a montanha acima. Seguindo então com as bordas secundárias e grounds: Agora basta detalhar e, se decidir, expandir a montanha. Crie a vegetação conforme a base. A inclinação (muitas vezes abstrata) pode ser vista utilizando o 'mountain top ground' em contraste com a grama. É utilizado na maior parte da temática natural. Veja como a vegetação se comporta ao redor da montanha: É importante estudar a temática que você vai trabalhar, pois utilizará diferentes itens dependendo da temática. Quando se fala em montanhas, pode-se pensar em diversos tipos de montanhas. Montanhas em ambientes úmidos, onde a vegetação toma conta; montanhas desérticas, onde se encontra apenas pedras e alguns arbustos; entre outras. Procure observar imagens que se aproximam ao seu conceito de montanha (para a temática que está trabalhando). Isso pode facilitar a produção do mapa. Já foi dito acima que é um pouco complicado imitar alguns detalhes da vida real em um mapa de tibia, como uma inclinação do terreno, ligando o chão a outro ponto mais superior sem "pular um andar" no Tibia. Veja a imagem "Temática", podemos repetir esta temática utilizando os recursos do tibia. Claro, não precisamos utilizar 100% da ideia, até porque os recursos gráficos do tibia podem não ser suficientes as vezes. Veja uma sugestão de adaptação (na temática Selva): Veja que a montanha não foi o foco da temática mas ficou dentro do tema por causa de sua estrutura. Os detalhes principais se ligam à montanha formando uma harmonia geral; isto talvez não seria possível utilizando AutoMagic, pois alguns detalhes exigem a movimentação de itens (um em cima do outro) e a manutenção manual de bordas. O mapa não chega a ser um mapa "Dirty", pois todos os itens adicionados indicam RPG. Por exemplo, perceba que o mapa em si obriga o jogador a andar somente na estrada, ele não tem mobilidade para sair aos lados, uma vez que a vegetação seja fechada propositalmente e tematicamente para dar ênfase à entrada na montanha. Nesse caso, a temática vai dizer: Existe algo dentro da montanha". Até onde devo seguir uma temática? Observando o Tibia global, podemos dizer que a temática se estende e se modifica ao longo de um continente. Se você for andando de Thais até venore, vai perceber uma diferença na vegetação e no terreno. Você deve se basear no tamanho total da área que será mapeada, uma selva deve conter o interior mais denso e a vegetação se dissipar conforme se afasta deste centro. Como repetir os detalhes sem machucar o tema? Os detalhes devem ser adicionados proporcionalmente conforme a estrutura do mapa, se a vegetação possuir pouca variação ela deve ser mais aberta. Desafio! Complete o mapa: Faça download do mapa abaixo e termine um dos mapas feitos para este tutorial, poste o resultado neste tópico. Use sua criatividade. Recompensa: 10REP Versão do Mapa: 8.60 Complete o Mapa.zip IMPORTANTE Foram mais de 2 horas para eu fazer este tutorial, embora não tenha ficado tão bom quanto eu esperava, peço que vocês tenham ética e não o copiem. Se este tutorial for postado em outro fórum, reporte a mim. E se você pretende fazer isto, saiba que temos vergonha de pessoas como você, que dão ctrl + c/ctrl + v para ganhar reputação (uma reputação que não vale de nada). Portanto crie vergonha na cara e aprenda a fazer algo que não seja copiar o conteúdo dos outros.
    1 ponto
  9. jeerenato

    Show Off Jeer Naruto & Pokémon P45º

    Kakashi (100%) Maito Guy (80%) Jiraya (70%) Orochimaru (100%) Victreebel (100%) Machamp (85%) Weezing (100%) Gif Golduck ( Water Gun) Charmander ( Flamethrower ) Exeggutor ( Psychic ) Laxus
    1 ponto
  10. Mihawk Mp

    Cachoeira - Como ficou? :)

    Oque acham?
    1 ponto
  11. Bluester

    Spell Buff

    Ele quer uma skill que dê buff ao player de determinada classe, vamos usar de exemplo Iron Defense do Steelix ( Pokémon )
    1 ponto
  12. O design do launcher foi baseado no seu,as eu deixei bem suave os contornos
    1 ponto
  13. Também estou sem tempo, por isso vou fazer um com box, se ele quiser, ele pega...
    1 ponto
  14. pode ser por box ? por exemplo, você dá 50x Essence Zard por uma box que dá um Charizard...
    1 ponto
  15. SkyLigh

    Script Para Quest

    Esse players anbu? são o que vips? se for passe a storage da vip.
    1 ponto
  16. Aqui está: Não esquece do REP e.e
    1 ponto
  17. O nível para obter os itens será o mesmo para todos?
    1 ponto
  18. Ele quis dizer tanto faz ter 1 ou segunda ou quarta geração kkk, estou roubando wifi, tentando posta a penúltima atualização.. Porém o wifi tá lento.. Penultima atualização *13/10/2015* - PVP System indo e voltando para a cidade de ida. - Shiny balls funcionando caso o player tenha um pokemon shiny ou um que esteja +10 a bola se transforma em shining ball. - Modificado a rota do barco, De Pallet town a cinnabat city - Pokémons ganham mais vida por level upado do player - Life do jogador aumenta quando come comidas. - Algumas Passives modificadas: * "Psyduck" e "Golduck" * "Pikachu", "Raichu", "Shiny Raichu" > Electric charges * "Alakazam", "Tentacruel", "Gengar" - Blast mind e Scary face * "Scyther", "Scizor", "Shiny Scyther", "Hitmontop", "Shiny Hitmontop", "Pineco", "Forretress" > Counter helix - Dark Eye funcionando perfeitamente. - Shiny arrumados - Shinys aparecem aleatoriamente, pelo mapa. Porcentagem de dar um: 2% de chance - Adicionado (!love e !cd. Cd mostrando o tempo que falta para dar teleport). - Ditto adicionado: - Ditto não pode transformar-se em pokemons de GINASIOS e o player tem que ter o level do pokemon que quer transformar. - Novo potion adicionado, só players, com level 10 ou mais, podem usar. - Rary Candy adicionado, ele apenas completa a XP faltando para upar. - Desobri um BUG no control mid, mas nem vou mexer ainda.. - Retirado alguns scripts inuteis, e otmizados outros. - Pokemons 1ª Geração(Inclusive Shinys) reformulados - Foods funcionando - Sistema de Felicidade - !CD - Pokemons apanham de acordo com a fome. - Pokemons batem de acordo com a fome. - Revive e pots refeitas, agora sim está funfando e com "lost heal". - Novas pokebolas feitas (dark, love, golden e frash). - Corrigido e arrumado os efeitos de cerca de 43 moves; - Arrumado as magias de heal - Selfdestruction (vida do poke = dano) - T1, T2, T3 e T4 adicionado sem cooldown. - Npc que pinta bolas(adicionado todas as balls*Antigas e novas*. - Sistema de torneio, peguei aqui do forum '-' - Trofeus adicionados, (Está sendo usado no sistema de torneio) - Pokefluts adicionadas - !check reformuado agora diz qual é o status do seu pokemon. - NPC de vendas iguais à antiga SvkE '-' ( hi / buy nome do item/ quantidade ou hi / sell nome do item / quantidade) hi / buy pokeball / 100 . - Block rewspawn (caso o player fique na area onde o pokémon ira nasce, o poke não nasce) - Boost machine modificado, agora ele fala quanto falta pra a próxima "boostada". - NPC que vende vip, bless e troca de cidade. - NPC que vende comidas. - É possível evoluir pokémons tanto por level quanto por stones - Deletei a pasta pokedex deletada, por estar inutilizada. '-' - Não é mais possível usar order enquanto o pokémon está dormindo - Pokeballs agora são enviadas corretamente para o CP quando se tem 6 pokemons com o player(Mensagens foram arrumadas). - Mensagem avisando quando um move estiver pronto para uso - /dex "nome do poke" ver as infos do poke(só funciona se você ja estiver dado dex no poke ) * Se você usar /dex "nome do poke" e não ter dex dele, aparece a seguinte mensagem: 14:05 This pokemon is still undiscovered. - Recompilei a source por causa de umas função que mexi e deu pau, dai tive que arrumar kkk :v - Efeito ao dropa stone, igual a pxg.. - Efeitos nos pokemons ao andar(em alguns) - Golden areana (apenas um prototipo) Bom, vou ver se preciso fazer mais alguma coisa, ou ver bugs caso contrario, eu libero o servidor. obs; não pude upar as prints ainda, estou sem net
    1 ponto
  19. Overlord Servidor Perfeito , Otimo , Muito Bem feito , Acompanhando , Creio que esse servidor sera uma mudança nos Servidores de Poketibia Rep+ #Edit1 So uma recomendação , extender o limite de effects na source.
    1 ponto
  20. Bom, já fiz mais um update. Com isso, mais algumas coisas e poderei postar o serve.. Acabei de ficar sem net, estou pelo celular.. Mas enfim, vou tentar posta a nova atualização e os prints. Deixa só eu descobrir a senha do wifi do vizinho hehe
    1 ponto
  21. Bluester

    [Encerrado] ajuda porfavor

    Se ele fez o/os tutoriais corretamente, pode ter certeza que não tem funções nas sources da executável.
    1 ponto
  22. obrigado, irei testar.
    1 ponto
  23. Você tem que baixar o tibia 8.60 do site oficial do RME. http://remeresmapeditor.com/rmedl.php?file=tibia860.exe
    1 ponto
  24. Aí via ficar tipo "Nome do Projeto" by "Cara Aleatorio" seria legal uma base, de inicio, com poucos bugs para o pessoal começar a se esforçar e deixar o PDA um pouco de lado
    1 ponto
  25. Excelente discussão, na lista e o que mais vejo é servidor de poketibia abrindo e fechando. Fazendo umas queries no banco de dados, vejo que eles possuem menos update que os globais. Acho que seria interessante a comunidade trabalhar numa versão boa com um site bom e tudo mais pra galera poder criar games com melhor qualidade. Ajudo no site como desenvolvedor php e designer, desde que seja opensource e esteja no github =) Acho que ao invés de ficarmos reclamando, como vejo em todas as comunidades há um bom tempo, temos que mudar esse cenário e passar a criar versões melhores, para servidores melhores, para mais jogadores, para mais desenvolvedores e assim aquecer o mercado.
    1 ponto
  26. Hehe, daqui uns dias já libero.. Ainda nem pensei no nome pro projeto asdaodoa
    1 ponto
  27. mude para linux, pode ajudar. é melhor que windows em caso de proteçao
    1 ponto
  28. De acordo com o que eu sei, precisar editar as pells, e os monsters(adicionar os moves neles).. Bem, não entendi sua pergunta.. Mas bem, o modo de criar spells e pokémons será igual igual o pda.. * Mudanças nas configurações do servidor: -Adicionar/fazer moves, basta fazer igual o PDA. Porem, se você baixar um servidor PDA e pegar a script de "pokémon moves" da LIB, e jogar nesse servidor, não irá funcionar ^^ -Adicionar pokémons, tambem é só adicionar como se fosse um PDA. -Adicionar/fazer novas evoluções igual o PDA. -Adicionar/fazer novas passives igual o PDA. *
    1 ponto
  29. Cara, só 1 º já está de bom tamanho, @Overllord não precisa dar um server todo feito de mão beijada, porque se não ele venderia ou deixa ONLINE pro pessoal
    1 ponto
  30. Belo Tutorial ! Eu irei pegar esse início e irei fazer uma MEGA QUEST em meu servidor ! ^^
    1 ponto
  31. Claro que sim, só mandar. #Topic: Amanha posto novas prints do Projeto Ingame
    1 ponto
  32. Belo Trabalho , Espero que Muito complete o desafio , muito dificil rsrs ! boa sorte.'
    1 ponto
  33. Pode mandar.. Rs Más se for duvida sobre o game, é melhor perguntar aqui, porque pode ter mais gente que venha pergunta a mesma coisa..
    1 ponto
  34. Haha, pode crê, vai funcionar sim *--*
    1 ponto
  35. kabonbue

    Seu Ultimo Sprite.

    Uma das minhas ultimas sprites. Base: Steel Helmet
    1 ponto
  36. RCRISTINAN

    Base Otpokemon V1

    Também preciso da database com urgencia se conseguir uma que rode me passe por favor ! Obrigado :v
    1 ponto
  37. pedrojosex

    Base Otpokemon V1

    Show rep+ gostei Kd a database?
    1 ponto
  38. local item = xxx --ID do item necessário. local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local shopModule = ShopModule:new() npcHandler:addModule(shopModule) shopModule:addSellableItem({'abyss hammer'}, 7414, 20000, 'abyss hammer') shopModule:addSellableItem({'amazon armor'}, 2500, 2500, 'amazon armor') shopModule:addSellableItem({'amazon shield'}, 2537, 4000, 'amazon shield') shopModule:addSellableItem({'amber staff'}, 7426, 8000, 'amber staff') shopModule:addSellableItem({'angelic axe'}, 196, 5000, 'angelic axe') shopModule:addSellableItem({'arbalest'}, 5803, 20000, 'arbalest') shopModule:addSellableItem({'arcane staff'}, 2453, 25000, 'arcane staff') shopModule:addSellableItem({'assassin dagger'}, 7404, 20000, 'assassin dagger') shopModule:addSellableItem({'avenger'}, 6528, 20000, 'avenger') shopModule:addSellableItem({'berserker'}, 7403, 40000, 'berserker') shopModule:addSellableItem({'blessed sceptre'}, 7429, 50000, 'blessed sceptre') shopModule:addSellableItem({'blessed shield'}, 2523, 150000, 'blessed shield') function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local items = {[1] = 2190, [2] = 2182, [5] = 2190, [6] = 2182} if(msgcontains(msg, 'first rod') or msgcontains(msg, 'first wand')) then if(isSorcerer(cid) or isDruid(cid)) then if getPlayerItemCount(cid, item) < 1 then return selfSay("You need 1x "..getItemNameById(item)..".", cid) end if(getPlayerStorageValue(cid, 30002) == -1) then selfSay('So you ask me for a {' .. getItemNameById(items[getPlayerVocation(cid)]) .. '} to begin your advanture?', cid) talkState[talkUser] = 1 else selfSay('What? I have already gave you one {' .. getItemNameById(items[getPlayerVocation(cid)]) .. '}!', cid) end else selfSay('Sorry, you aren\'t a druid either a sorcerer.', cid) end elseif(msgcontains(msg, 'yes')) then if(talkState[talkUser] == 1) then doPlayerAddItem(cid, items[getPlayerVocation(cid)], 1) selfSay('Here you are young adept, take care yourself.', cid) setPlayerStorageValue(cid, 30002, 1) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then selfSay('Ok then.', cid) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
    1 ponto
  39. Eu acho que falta originalidade. Digo, é normal usar a engine do tibia para remodelar e fazer algo criativo, mas na minha opinião, ter sprites 100% originais é no mínimo necessário. Me refiro a não utilizar sprites do tibia. É trabalhoso? É. Mas torna o projeto promissor e de qualidade. Um sai rippando o projeto do outro, por isso fica cada diz mais difícil de crescer. O pokeXgames, antigo [svke] se mantem porque foi o primeiro, e é o original.
    1 ponto
  40. MatheusGlad

    Item Ou Potion De Double Exp.

    Item ou potion de double exp. By: MatheusMkalo Primeiramente vamos ver oque o script tem de diferente dos outros: Se voce sair com o efeito da exp potion o tempo da potion continuara passando, se voce logar antes que ele acabe voce ainda vai poder aproveitar umpouco da double exp. Voce pode escolher varias opçoes, como escolher se so premium accounts podem usar o item, quanta mana vai gasta, se vai remover quando usar e outros AGORA O SCRIPT SOH ESTA DISPONIVEL EM MOD: Vá na pasta mods e adicione um arquivo.xml com o nome de ExpPotion.xml e bote isso: <?xml version="1.0" encoding="UTF-8"?> <mod name="AdvancedExpPotionSystem" enabled="yes" author="MatheusMkalo" forum="XTibia.com"> <!-- Configs and Functions --> <config name="PotionExpConfigs"><![CDATA[ ------ CONFIGURE SEU SCRIPT ------ TRUE ou FALSE configs = { time = 1, ---- TIME IN MINUTES needpa = TRUE, needlvl = {TRUE, level = 50}, costmana = {TRUE, mana = 300}, addrate = 20, -- Exp que vai adicionar em % removeonuse = TRUE } function getTime(s) local n = math.floor(s / 60) s = s - (60 * n) return n, s end CreatureEventChecker = function(event, ...) -- Colex if isCreature(arg[1]) then event(unpack(arg)) end end creatureEvent = function(event, delay, ...) -- Colex addEvent(CreatureEventChecker, delay, event, unpack(arg)) end function getPlayerExtraExpRate(cid) -- By MatheusMkalo return (getPlayerRates(cid)[8]-1)*100 end ]]></config> <!-- exppotion.lua --> <action itemid="7440" event="script"><![CDATA[ domodlib('PotionExpConfigs') if getPlayerStorageValue(cid, 62164) >= 1 then return doPlayerSendCancel(cid, "You are already taking effect from this item.") end if configs.needpa and not isPremium(cid) then return doPlayerSendCancel(cid, "You need to be a premmium account to use this item.") end if configs.needlvl[1] and getPlayerLevel(cid) < configs.needlvl.level then return doPlayerSendCancel(cid, "You need to be level " .. configs.needlvl.level .. " to use this item.") end if configs.costmana[1] then if getCreatureMana(cid) < configs.costmana.mana then return doPlayerSendCancel(cid, "You need " .. configs.costmana.mana .. " mana to use this item.") else doCreatureAddMana(cid, -configs.costmana.mana) end end if configs.removeonuse then doRemoveItem(item.uid, 1) end for i = configs.time*60, 1, -1 do local a = math.floor(i/60) .. ":" .. i - (60 * math.floor(i/60)) if #a < 4 then a = string.sub(a,1,2) .. "0" .. string.sub(a, 3) end if i == configs.time*60 then creatureEvent(doPlayerSendCancel, configs.time*60*1000, cid, "The effect of the exp potion end.") end creatureEvent(doPlayerSendCancel, (configs.time*60-i)*1000, cid, "The effect of the exp potion will end in "..a..".") end doPlayerSetExperienceRate(cid, (1+(configs.addrate/100))+(getPlayerExtraExpRate(cid)/100)) creatureEvent(doPlayerSetExperienceRate, configs.time *60*1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(configs.addrate/100))) doPlayerSendTextMessage(cid, 22, "Agora voce ira receber mais exp por matar os mosntros.") setPlayerStorageValue(cid, 62164, os.time()) creatureEvent(setPlayerStorageValue, configs.time *60*1000, cid, 62164, 0) return TRUE ]]></action> <creaturescript type="login" name="ExpPotion" event="script"><![CDATA[ domodlib('PotionExpConfigs') local time = configs.time if os.time()-getPlayerStorageValue(cid, 62164) < time *60 then doPlayerSetExperienceRate(cid, (1+(configs.addrate/100))+(getPlayerExtraExpRate(cid)/100)) creatureEvent(doPlayerSetExperienceRate, (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) * 1000, cid, 1+(getPlayerExtraExpRate(cid)/100-(configs.addrate/100))) creatureEvent(setPlayerStorageValue, (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) * 1000 , cid, 62164, 0) for i = (time*60-(os.time()-getPlayerStorageValue(cid, 62164))), 1, -1 do local a = math.floor(i/60) .. ":" .. i - (60 * math.floor(i/60)) if #a < 4 then a = string.sub(a,1,2) .. "0" .. string.sub(a, 3) end if i == (time*60-(os.time()-getPlayerStorageValue(cid, 62164))) then creatureEvent(doPlayerSendCancel, (time*60-(os.time()-getPlayerStorageValue(cid, 62164)))*1000, cid, "The effect of the exp potion end.") end creatureEvent(doPlayerSendCancel, ((time*60-(os.time()-getPlayerStorageValue(cid, 62164)))-i)*1000, cid, "The effect of the exp potion will end in "..a..".") end end return TRUE ]]></creaturescript> </mod> Tudo pronto, exp potion funcionando! O ID da potion usada no script foi o: 7440 (Mastermind Potion) Para usa-lo voce precisa tirar a linha no actions.xml da potion porque se nao vai bugar. Para trocar o id da potion eh so mudar essa linha: <action itemid="7440" event="script"><![CDATA[ Resposta para o Topico: Aew Galera Preciso Scripting Da Double Exp Potion
    1 ponto
  41. Animal Pak

    Pokemon Centurion 4.0

    Pokemon Centurion 4.0 Informações: -Adicionado novo continente e novas cidades; -Novas Addons; -Novas Addons para os pokemons; -Mapa editado; -Novos Pokemons; -M1 - M12; -Novos Itens; -Sistema de duelos com npcs; -Dive System; -Servidor 100% estável; -E muito mais! Screen's: Download & Scan: Download: http://www.mediafire...imcb81wtwd61v5p Scan: https://www.virustot...sis/1355705844/ Download Client: Download: http://www.4shared.com/rar/Td3eKQ44/Pokemon_Centurion_40_Oficial.html? Créditos: Alexandre .:[*OwNeR*]:. Cacaiu Equipe de ajuda do CACAIU...
    1 ponto
  42. Primeiro a porta tem que ser um Gate Of Expertise. Clique com o botão direito e vá em Properties, No ActionID você colocará o level da porta, exemplo, para uma porta de level 100 o actionID deverá ser 1100, uma porta de level 8 o actionID deverá ser 1008, uma porta de level 15 o actionID deverá ser 1015. Ajudei rep+
    1 ponto
  43. Kuro o Shiniga

    [Action] Snake System

    Lol troca isso Por isso
    1 ponto
  44. nickt

    [Action] Snake System

    Galera tem só alguns erros de digitação, por isso ninguem consegue fazer rodar. Abaixo esta o codigo correto. --[[ Script by Mock the bear ]] SNAKE = { _VERSION="1.0 by mock", ---Snake config itemid=12496, <Troquei o item>Apague isto depois freeglobalstorage=28103, itemFood=8847, <Troquei o item>Apague isto depois controlpos={x=62,y=188 ,z=6}, <MUDE PARA SEU LOCAL> Apague isto depois exitpos = {x=73,y=186,z=7}, <MUDE PARA SEU LOCAL> Apague isto depois centerpos={x=61,y=187,z=7}, <MUDE PARA SEU LOCAL> Apague isto depois timer = function(cid,n,pos_,time) local pos_ = pos_ or {{SNAKE.centerpos}} setGlobalStorageValue(SNAKE.freeglobalstorage,cid) if not isPlayer(cid) then SNAKE.clean() return end for i,pos in pairs(pos_) do SNAKE.find_and_delete(pos[1]) if i == 1 then pos[2] = SNAKE.copypos(pos[1]) pos[1] = getPosByDir({x=pos[1].x,y=pos[1].y,z=pos[1].z,stackpos=255},getCreatureLookDir(cid)) else pos[2] = SNAKE.copypos(pos[1]) pos[1] = pos_[i-1][2] end local ret,p,walk = SNAKE.check(pos[1]) if ret == 1 or ret == 3 then addEvent(doTeleportThing,1000,cid,SNAKE.exitpos) addEvent(doCreatureSay,1100,cid,'Points '..(#pos_-1)..'.') SNAKE.clean() setGlobalStorageValue(SNAKE.freeglobalstorage,0) return end if ret == 2 then doRemoveItem(p.uid,-1) if p.itemid == SNAKE.itemFood then pos_[#pos_+1] = {pos[2],pos[2]} for i=1,5 do addEvent(doSendMagicEffect,100*i,pos[1],29) end SNAKE.generateFood() end end doCreateItem(SNAKE.itemid,1,pos[1]) end local plpos = getCreaturePosition(cid) local generated = {} for i=0,3 do generated[i] = getPosByDir({x=SNAKE.controlpos.x,y=SNAKE.controlpos.y,z=SNAKE.controlpos.z},i) end for i,pos in pairs(generated) do if SNAKE.samepos(plpos,pos) then doTeleportThing(cid,SNAKE.controlpos,false) end addEvent(doSendMagicEffect,100,pos,56,cid) end addEvent(SNAKE.timer,time,cid,n,pos_,time) end, copypos = function(p) return {x=p.x,y=p.y,z=p.z,stackpos=p.stackpos} end, samepos = function(p1,p2) if p1.x == p2.x and p2.y == p2.y then return true end return false end, generateFood = function() local pp = {x=SNAKE.centerpos.x+math.random(-6,6),y=SNAKE.centerpos.y+math.random(-4,4),z=SNAKE.centerpos.z} for i=1,5 do addEvent(doSendMagicEffect,100*i,pp,30) end doCreateItem(SNAKE.itemFood,1,pp) end, clean = function() for y=-4,4 do for x=-6,6 do local pp = {x=SNAKE.centerpos.x+x,y=SNAKE.centerpos.y+y,z=SNAKE.centerpos.z} for i=250,255 do pp.stackpos = i local p = getThingFromPos(pp) if p.itemid ~= 0 then doRemoveItem(p.uid,-1) doSendMagicEffect(pp,15) end end end end end, check = function(pos) for i=1,10 do pos.stackpos = i local p = getThingFromPos(pos) if p.itemid == SNAKE.itemid then return 1,p,true elseif not SNAKE.isWalkable(pos) then return 3,p,false elseif p.itemid ~= 0 then return 2,p end end return false end, find_and_delete = function(pos) for i=0,255 do pos.stackpos = 255-i local p = getThingFromPos(pos) if p.itemid == SNAKE.itemid then return doRemoveItem(p.uid,1) end end end, isWalkable = function(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end, } Abraço ! xÐ
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...