Jump to content

Pokemon [10.98] PokeDash Pota v1.0 - TFS 1.2 - Server, Client, Sources, Site, Map editor e Item editor


Recommended Posts

  • Replies 99
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Desenvolvi por muito tempo uma base Pokémon do 0 (parti do TFS 1.2 e fui implementando tudo até chegar nessa versão que estou disponibilizando). O resultado é um servidor extremamente leve e estável (

Fiz uma pequena contribuição pelo pix para apoiar a iniciativa, parabéns

Joguei muito quando era adolecente slc, Erin arcand pqp saúdades

Posted Images

Não conheço o pokeflash, então posso dizer que não foi inspirado nele. Tive mais contato com o pokedash advanced (pda) que gostava bastante, porém além de muito pesado era muito instável. Daí partiu a ideia de desenvolver esse totalmente do zero e bem estruturado, o que fez dele um server muito leve e muito estável.

Link to post
Share on other sites
Em 22/10/2021 em 22:55, pota disse:

Desenvolvi por muito tempo uma base Pokémon do 0 (parti do TFS 1.2 e fui implementando tudo até chegar nessa versão que estou disponibilizando). O resultado é um servidor extremamente leve e estável (já testado com 100+ players e por mais de 1 mês sem cair). Basicamente, ele suporta tranquilamente 1k+ players e não tem nenhum bug conhecido que faça com que ele caia.

 

Esse servidor ficou no ar por muito tempo (mais de 2 anos) e era conhecido como PokeDash. Acabei ficando sem tempo para administrar o servidor, o que fez com que a maioria dos players parassem de jogar e com que eu fechasse de vez.

 

Pensei por muito tempo sobre o que fazer com ele, e decidi disponibilizar para a comunidade. Trata-se de algo único (eu ao menos nunca vi um servidor de Pokémon construído a partir do TFS 1.2)!

 

Como desenvolvi todos os sistemas do 0, tomei cuidado para fazer tudo da melhor maneira possível e para que possa ser facilmente modificado e atualizado. Basicamente, os Pokémons podem ser criados a partir de um único arquivo XML (como monstros do Tibia), e nesse arquivo você pode especificar tudo, desde level máximo e mínimo de spawn, loots, tipos (fogo, agua, etc), se ele pode usar habilidades (surf, fly, etc), moves (quando alguém captura), ataques (quando selvagem), evoluções, chance de catch, etc.

Exemplo de Pokemon


<?xml version="1.0" encoding="ISO-8859-1"?>

<monster name="Abra" nameDescription="an abra" race="psychic" race2="none" experience="31" speed="180" manacost="0">

    <level min="10" max="25"/>

    <health now="527" max="527" />

    <look type="966" head="113" body="57" legs="95" feet="113" corpse="26924" />

    <targetchange interval="5000" chance="0" />

    <flags>

        <flag summonable="1" />

        <flag attackable="1" />

        <flag hostile="1" />

        <flag passive="0" />

        <flag illusionable="1" />

        <flag convinceable="1" />

        <flag pushable="1" />

        <flag canpushitems="1" />

        <flag canpushcreatures="0" />

        <flag targetdistance="1" />

        <flag staticattack="97" />

        <flag runonhealth="0" />

        <flag dexentry="63" />

        <flag portraitid="27179" />

        <flag hasshiny="0" />

        <flag hasmega="0" />

        <flag flyable="0" />

        <flag rideable="0" />

        <flag surfable="0" />

        <flag canteleport="1" />

        <flag catchchance="23" />

        <flag moveMagicAttackBase="105" />

        <flag moveMagicDefenseBase="55" />

    </flags>

    <script>

            <event name="MonsterHealthChange"/>

            <event name="CorpseLevel"/>

            <event name="CorpseLoot"/>

    </script>

    <moves>

        <move name="double slap" interval="3000" isTarget="1" range="1"/>

        <move name="zen headbutt" interval="7000" isTarget="1"/>

    </moves>

    <evolutions>

        <evolution name="Kadabra" level="25" chance="50" itemName="enigma stone" count="1"/>

    </evolutions>

    <attacks>

        <attack name="melee" interval="2000" min="-20" max="-20" />

        <attack name="double slap" interval="3000" chance="40" range="1" target="1"/>

        <attack name="zen headbutt" interval="7000" chance="40" target="1"/>

    </attacks>

    <defenses armor="0" defense="15" >

    </defenses>

    <elements>

    </elements>

    <immunities>

    </immunities>

    <voices interval="5000" chance="10">

        <voice sentence="ABRA!" />

    </voices>

    <loot>

        <item name="enigma stone" countmax="1" chance="88"/>

        <item name="gold coin" countmax="35" chance="40000"/>

        <item name="blue gem" countmax="2" chance="10000"/>

        <item name="future orb" countmax="2" chance="30000"/>

    </loot>

</monster>

 

Resumo de alguns sistemas (tem muita coisa, então coloquei os principais)

Pokemons com level, status e boost. O level do player/boost também influencia no status dos pokes.

Sistema de Love (seu poke fica mais forte que os demais quando upa de level matando pokemons mais fortes que ele).

Base propria com Shinys e Ancients.

Cada player pode conseguir ancient stone para evoluir 1 shiny para ancient através de quest.

Moves bar e pokemon bar (troca de pokemon com 1 click).

Autoloot agrupando em bags.

Ganho de exp ao capturar/dar dex em pokes com um bonus adicional para o primeiro catch de cada poke.

Mapa original com mais de 40 quests, incluindo outland com Ancients.

Eventos diários automáticos: Futebol todo dia 19:30, arena PVP todo dia 20:00, golden arena aos sabados 17:00, bag premiada aos domingos/feriados 17:00.

Profissões (facilmente customizáveis):

  • Catcher: 3.5% mais chance de capturar um Pokemon.
  • Hunter: 10% mais status de dano para o seu Pokemon (tanto magico quanto fisico).
  • Blocker: 25% mais vida para seus Pokemons.
  • Healer: 100% mais cura que aplica tanto em potions quando moves dos seus Pokemons.
  • Explorer: 15% mais experiencia para seu personagem durante a caça.

Task diária de catch/loot dando Tokens. Os tokens podem ser trocados por itens raros (dentre eles premier ball e bags personalizadas) além de pagar seu curso com o NPC Job Manager para aprender uma das profissões acima. Uma das maneiras de conseguir tokens é fazendo tasks diárias.

Muito mais!

Screenshots

?hash=436d1f3b6c61306ac11ba5072201f073

?hash=436d1f3b6c61306ac11ba5072201f073

?hash=436d1f3b6c61306ac11ba5072201f073

?hash=436d1f3b6c61306ac11ba5072201f073

?hash=436d1f3b6c61306ac11ba5072201f073

Download

Baixe o pack contendo o servidor, cliente, site, editor de mapa e editor de itens clique aqui!. Caso considere minha contribuição interessante para a comunidade, considere realizar uma doação para a chave pix: server.pokedash@gmail.com

GM account: gm/gmgmgm

O projeto será atualizado em sua homepage: https://pokedashpota.vercel.app/

 

SCAN

 

testeando , es posible que publiques las fuentes? del cliente y del sev. gracias de antemano

Em 22/10/2021 em 22:55, pota disse:

Desarrollé una base de Pokémon desde 0 durante mucho tiempo (comencé con TFS 1.2 y fui implementando todo hasta que obtuve esta versión que estoy poniendo a disposición). El resultado es un servidor extremadamente ligero y estable (ya probado con más de 100 jugadores y durante más de 1 mes sin fallar). Básicamente, es compatible con más de 1k jugadores sin problemas y no tiene errores conocidos que hagan que se bloquee.

 

Este servidor estuvo en funcionamiento durante mucho tiempo (más de 2 años) y se conocía como PokeDash. Terminé quedándome sin tiempo para administrar el servidor, lo que provocó que la mayoría de los jugadores dejaran de jugar y cerré definitivamente.

 

Pensé durante mucho tiempo qué hacer con él y decidí ponerlo a disposición de la comunidad. ¡Esto es único (al menos nunca he visto un servidor Pokémon construido a partir de TFS 1.2)!

 

Como desarrollé todos los sistemas desde 0, me ocupé de hacer todo de la mejor manera posible y para que se pueda modificar y actualizar fácilmente. Básicamente, los Pokémon se pueden crear a partir de un solo archivo XML (como Tibia monstruos), y en ese archivo puedes especificar todo, desde el nivel máximo y mínimo de generación, botines, tipos (fuego, agua, etc.), si puede usar habilidades (surf , volar, etc.), movimientos (cuando alguien captura), ataques (cuando es salvaje), evoluciones, oportunidad de captura, etc.

Ejemplo de Pokemon




       

      

       

           

       

    

          

          

          

          

          

          

          

          

          

          

          

          

          

          

          

          

          

          

          

          

          

          

          

    

    

            

            

            

    

    

            

           

    

    

             

    

    

             

             

            

    

       

    

    

    

    

    

      

          

    

    

           

           

           

           

    

 

Resumen de algunos sistemas (hay muchos, así que pongo los principales)

Pokemons con nivel, estado y potenciación. El nivel del jugador / impulso también influye en el estado de los golpes.

Sistema de amor (tu golpe es más fuerte que los demás cuando subes de nivel matando pokemon más fuerte que él).

Base propia con Shinys y Ancients.

Cada jugador puede obtener piedra antigua para convertir 1 brillante en antigua a través de la misión.

Mueve la barra y la barra de Pokémon (1 clic en el intercambio de Pokémon).

Autoloot empaquetado en bolsas.

Ganancia de experiencia al capturar / eliminar golpes con una bonificación adicional por la primera captura de cada golpe.

Mapa original con más de 40 misiones, incluido Terrallende con Antiguos.

Eventos diarios automáticos: fútbol todos los días a las 19:30, PVP arena todos los días a las 20:00, golden arena el sábado a las 5:00 pm, bolsa ganadora los domingos / feriados a las 5:00 pm.

Profesiones (fácilmente personalizables):

  • Receptor: 3.5% más de posibilidades de atrapar un Pokémon.
  • Cazador: 10% más de estado de daño para tu Pokémon (tanto mágico como físico).
  • Bloqueador: 25% más de salud para tus Pokémon.
  • Sanador: 100% más de sanación que se aplica tanto en pociones como en movimientos de tus Pokemons.
  • Explorador: 15% más de experiencia para tu personaje mientras caza.

Tarea diaria de captura / botín que otorga tokens. Los tokens se pueden canjear por artículos raros (entre ellos, una pelota premier y bolsas personalizadas) además de pagar su curso con el NPC Job Manager para aprender una de las profesiones anteriores. Una de las formas de conseguir tokens es realizando tareas diarias.

¡ Mucho más!

capturas de pantalla

? hash = 436d1f3b6c61306ac11ba5072201f073

? hash = 436d1f3b6c61306ac11ba5072201f073

? hash = 436d1f3b6c61306ac11ba5072201f073

? hash = 436d1f3b6c61306ac11ba5072201f073

? hash = 436d1f3b6c61306ac11ba5072201f073

Descargar

Descargue el paquete que contiene el servidor, el cliente, el sitio web, el editor de mapas y el editor de elementos, haga clic aquí. . Si encuentra mi contribución interesante para la comunidad, considere hacer una donación a la clave pix: server.pokedash@gmail.com

Cuenta de GM: gm / gmgmgm

El proyecto se actualizará en su página de inicio: https://pokedashpota.vercel.app/

 

ESCANEAR

 

BASE DE DATOS NO ESTA?

Link to post
Share on other sites
7 horas atrás, vagosclub2 disse:

testeando , es posible que publiques las fuentes? del cliente y del sev. gracias de antemano

BASE DE DATOS NO ESTA?

A base de dados está dentro da pasta do servidor (.sql). As sources por enquanto não irei liberar

Link to post
Share on other sites
7 horas atrás, pota disse:

La base de datos está dentro de la carpeta del servidor (.sql). Las fuentes no se publicarán por el momento.

me arroja error al importar la base .sql

 

Link to post
Share on other sites
5 horas atrás, Lord Stryton disse:

Joguei pokedash desde quando lançou.
Fico triste por um game que fez parte da minha vida na comunidade ter acabado assim.

Não entendi a tristeza. Também fez parte da minha vida, e por ter ficado velho e não ter mais tempo para editar o server, esse ao meu ver é o melhor desfecho. Estou disponibilizando todo o trabalho que tivemos para que outras pessoas possam dar continuidade.

Link to post
Share on other sites

Muito obrigado por divulgar o servidor completo com as sources, com certeza foi a maior contribuição dos últimos tempos no cenário de Poketibia, é o primeiro poketibia em TFS 1.x funcional e completo disponibilizado gratuitamente para a comunidade.

Você sempre estará nos meus créditos.

Link to post
Share on other sites

A database está dentro da pasta do servidor (schema.sql). Deve importar em uma base vazia do mysql e alterar as credenciais de acesso no config.lua para funcionar. Quanto ao site testei utilizando php 7. De preferência use algum software (xampp) que utilize alguma variação da versão 7.

Link to post
Share on other sites
4 horas atrás, Furyons disse:

Obrigado pela contribuição!

Porém não estou conseguindo importar a .sql completo, esta faltando varias tabelas...

https://prnt.sc/1xafulz

 

 

É só abrir a database com o Notepadd, pesquisar por essa collation utf e excluir as 2 linhas que tem ela.

 

Não está faltando tables

Link to post
Share on other sites
32 minutos atrás, ducb disse:

 

É só abrir a database com o Notepadd, pesquisar por essa collation utf e excluir as 2 linhas que tem ela.

 

Não está faltando tables

Acabei de fazer desse jeito que falou, porém continua da mesma forma.

Se possível pode disponibilizar a sua .sql?

Link to post
Share on other sites
  • pota changed the title to [10.98] PokeDash Pota v1.0 - TFS 1.2 - Server, Client, Sources, Site, Map editor e Item editor

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   1 member

  • Similar Content

    • By 161996
      SIM! NÓS ESTAMOS DE VOLTA!
      http://psoul.com.br/
       
      Depois de mais de uma década, o melhor Poketibia da história esta devolta, de cara nova! É isso mesmo!, segue como o jogo se encontra atualmente:

      - Fly, Ride, Surf e Teleport = FREE !!
      - Host brasileiro, ping mais baixo possível;
      - Torneios automáticos todos os dias;
      - Pokémons com level.
      - Evolução por level e por stones.
      - Sistema de Market do jogador.
      - Sistema de arvore de talentos.
      - Sistema de autoloot ao clicar no pokémon.
      - Pokémons da 1ª a 3ª geração completa com todos os Shinys;
      - 4ª geração em construção;
      - Pokémons totalmente balanceados;
      - Muitas quests;
      - Ranger club (tasks diárias);
      - Sistema de Nature, IVs e EVs;
      - Sistema de Helds;
      - Sistema de vitaminas;
      - Sistema de Eggs;
      - Sistema de Berries e plantio;
      - Sistema de TM;
      - Sistema de Safari baseado na franquia;
      - Sistema de pokémons boss;
      - Cliente totalmente otimizado.
      - Cliente mobille sendo implantado;
      E muito mais!

      [PRINTS]:
        

      Venha jogar conosco! Acesse: https://psoul.com.br/
      Dicord: https://discord.gg/kPFAA8PgPK
      Fan clube: http://www.psoulcmm.com.br/
      Facebook: https://facebook.com/psoul
    • By usoparagames
      Boa tarde galera ,estou com um problema no meu servidor, é o seguinte ,qualquer npc de duelo que eu enfrentr ,quando eu derroto o pokemon do npc ,o pokemon morre e vira corpo de pokemon selvagem ,sendo possível jogar ball e etc,  porém n sei oq é, ou se é algo que eu fiz errado no script de npc .
      Porém n sei como resolver já que fiquei uns 4 anos com o projeto parado .
       
      Quem puder me ajudar ficarei grato 
       
      Obs: n da nenhum erro na distro em relação a isso!!

    • By Fearlet
      Tibia Infinity
       
      Olá Tibianos, é com grande satisfação e orgulho que apresento a vocês meu novo projeto consistente em diversas ideias para vários temas de servidores alternativos, com o propósito de ser a primeira equipe a desenvolver servidores, onde o servidor e o player tenham rendas num ciclo econômico a ideia principal é um servidor usando no momento apenas nosso dinheiro real BRL, porém futuramente com o capital em mãos criar nosso token TINF.
       
      No momento estamos a procura de colaboradores, desenvolvedores e patrocinadores corajosos afim de enfrentar aventuras e desafios em nossa equipe, procuramos pessoas que tenham disponibilidade de horário, disponibilidade de contato, prontos para trabalharem dedicadamente aos servidores, pessoas com facilidade de trabalho em equipe, trabalho com metas a serem cumpridas e entregues.
       
       
      Quais projetos iniciados está a caminho ?
      Temos três servidores, em desenvolvimento.

       
      TibiaLands – Este servidor é baseado na fazenda feliz para quem já jogou, ou para quem está no mundos dos NFTs uma das formas de farm é igual ao PVU (Plant vs Undead) que consiste também na plantação, mineração, gastronomia e agropecuária e até a caça de presas.
      Tibia Infinity - Servidor de Tibia alternativo baseado no Tibia 7.4. O jogo tem um verdadeiro mapa global 7.4, com todas as missões daquela época e muito mais. O RPG de Tibia Infity vai além. Na época em que Tibia 7.4 (2005) foi jogado, havia uma magia em torno de itens extremamente raros. Pessoas se reúnem ao redor do mapa tentando resolver mistérios que até hoje não foram resolvidos a nostalgia e o tempo gastos valerão a pena. Não há nenhum item intocável. Mas não será fácil, servidor está sendo 24hrs sendo pensado em como será a economia do jogo, pois sabemos que é dificil, dentro de impostos e má intenções de pessoas que existem hoje em dia.
      PokeInfinity – Servidor alternativo de pokémon onde os players entram para duelarem, com torneios diários, recompensas, tokens, porém com a principal ideia do player pagar para adquirir seu time principal e participar de torneios rankeados, para quem já jogo o torneio global (TG) da pokexgames, será basicamente aqui porém o player irá ter uma renda extra caso ele resolva investir em seu time e pense estrategicamente.

       

       
      Quer saber mais do projeto? entre no nosso Discord.
      Quer ser parte da equipe? Entre no nosso discord e chamem o ADM no pv.
      Lippe#7652
       
      https://discord.gg/53KWSBgYUc

      Alguns spoiler de uns dos projetos
       
       

      OBRIGADO A TODOS PELA ATENÇÃO !!!

       

       
    • By L3K0T
      Bom pessoal eu resolvi compartilhar o meu sistema de torneio para poketibia que fiz para meu projeto, ele tem a função de ocorrer 4 vezes ao dia....Falando apenas com o 1 NPC Nick da cidade aonde você por....
       
      Como funciona ? Mata todos e o ultimo que sobrar na arena de batalha é o ganhador!
       
      1° Pasta LIB copie um arquivo e deverá renomear para torneio ficando torneio.lua apaga tudo que tem dentro e add
       
      torneio = { awardTournament = 2148, ---moeda usada para entra no torneio-- awardAmount = 1000, -- quantidade de moeda que o player vai ganhar ao vencer o torneio-- playerTemple = {x = 893, y = 499, z = 15}, --pra onde vai o player quando morrer ?-- tournamentFight = {x = 894, y = 538, z = 15}, --centro da arena torneio combate-- area = {fromx = 866, fromy = 508, fromz = 15, tox = 922, toy = 572, toz= 15},--canto acima direito da arena combate-canto esquerdo abaixo da arena combate-- waitPlace = {x = 969, y = 544, z = 15}, --centro da sala de espera-- waitArea = {fromx = 957, fromy = 536, fromz = 15, tox = 983, toy = 552, toz= 15}, --canto esquerdo acima da sala de espera--canto abaixo esquerdo da sala de espera-- startHour1 = "07:50:00", --horario do aviso?-- endHour1 = "08:00:00",--horario que começa?-- startHour2 = "11:50:00",--horario do aviso?-- endHour2 = "12:00:00",--horario do aviso?-- startHour3 = "17:50:00",--horario do aviso?-- endHour3 = "18:00:00",--horario do aviso?-- startHour4 = "22:50:00",--horario do aviso?-- endHour4 = "23:00:00",--horario do aviso?-- price = 500,--valor para entrar no torneio ? 500 dollar no caso-- revivePoke = 12344,--aqui é revive se tiver e se não tiver não precisa mexer-- } function getPlayersInArea(area) local players = {} for x = area.fromx,area.tox do for y = area.fromy,area.toy do for z = area.fromz,area.toz do local m = getTopCreature({x=x, y=y, z=z}).uid if m ~= 1 and isPlayer(m) then table.insert(players, m) end end end end return players end apaga os coments do scripts acima com --blablabla--
       
       
       
      2° GLOBALEVENTS vá na pasta globalevents/scripts copia um arquivo que voc?ê deverá renomear para torneio ficando torneio.lua e add
       
      function onTime() if #getPlayersInArea(torneio.area) > 1 then doBroadcastMessage("O Torneio dessa vez não teve vencedor, tente na proxima vez") return true end for _, pid in ipairs(getPlayersInArea(torneio.waitArea)) do puxar = math.random(-2, 2) doTeleportThing(pid, {x = torneio.tournamentFight.x + puxar, y = torneio.tournamentFight.y + puxar, z = torneio.tournamentFight.z}) end doBroadcastMessage("O torneio Iniciou!") return true end ou dependendo do tfs pode ser
       
      function onTimer() if #getPlayersInArea(torneio.area) > 1 then doBroadcastMessage("O Torneio dessa vez não teve vencedor, tente na proxima vez") return true end for _, pid in ipairs(getPlayersInArea(torneio.waitArea)) do puxar = math.random(-2, 2) doTeleportThing(pid, {x = torneio.tournamentFight.x + puxar, y = torneio.tournamentFight.y + puxar, z = torneio.tournamentFight.z}) end doBroadcastMessage("O torneio Iniciou!") return true end  
       
       
      agora em globalevents.xml add as tag
       
      <globalevent name="TournamentStart1" time="08:00" event="script" value="torneio.lua"/> <globalevent name="TournamentStart2" time="12:00" event="script" value="torneio.lua"/> <globalevent name="TournamentStart3" time="18:00" event="script" value="torneio.lua"/> <globalevent name="TournamentStart4" time="23:00" event="script" value="torneio.lua"/>
      ou
       
      <globalevent name="TournamentStart1" timer="08:00" event="script" value="torneio.lua"/> <globalevent name="TournamentStart2" timer="12:00" event="script" value="torneio.lua"/> <globalevent name="TournamentStart3" timer="18:00" event="script" value="torneio.lua"/> <globalevent name="TournamentStart4" timer="23:00" event="script" value="torneio.lua"/>  
       
      ainda em globalevents vá em globalevents/scripts copie outro arquivo e renomeia para, msgtorneio ficando msgtorneio.lua e add
       
      local i = { ["07:50"] = {nome = "O Torneio vai começar em 10 minutos, fale com o NPC Nike no CP de sua cidade, vai custar 500 Dollar's para participar!"}, ["07:55"] = {nome = "Faltam 5 minutos para fechar as inscrições do torneio!"}, ["07:59"] = {nome = "As inscrições do Torneio fecharam!"}, ["11:50"] = {nome = "O Torneio vai começar em 10 minutos, fale com o NPC Nike no CP de sua cidade, vai custar 500 Dollar's para participar!"}, ["11:55"] = {nome = "Faltam 5 minutos para fechar as inscrições do torneio!"}, ["11:59"] = {nome = "As inscrições do Torneio fecharam!"}, ["17:50"] = {nome = "O Torneio vai começar em 10 minutos, fale com o NPC Nike no CP de sua cidade, vai custar 500 Dollar's para participar!"}, ["17:55"] = {nome = "Faltam 5 minutos para fechar as inscrições do torneio!"}, ["17:59"] = {nome = "As inscrições do Torneio fecharam!"}, ["22:50"] = {nome = "O Torneio vai começar em 10 minutos, fale com o NPC Nike no CP de sua cidade, vai custar 500 Dollar's para participar!"}, ["22:55"] = {nome = "Faltam 5 minutos para fechar as inscrições do torneio!"}, ["22:59"] = {nome = "As inscrições do Torneio fecharam!"}, } function onThink(interval, lastExecution) hours = tostring(os.date("%X")):sub(1, 5) tb = i[hours] if tb then doBroadcastMessage(hours .. " - " .. tb.nome .. "") end return true end agora as tag globalevents.xml add
       
      <globalevent name="msg torneio" interval="60000" event="script" value="msgtorneio.lua"/>  
      pronto agora vamos mexer com actions...
       
      3° ACTIONS para o player receber a recompensa... vá em actions/scripts copie um arquivo lá e renomeia para torneio ficando torneio.lua e add
       
      function onUse(cid, item) local torneios = 1 if #getCreatureSummons(cid) >= 1 then doPlayerSendCancel(cid, "Volte seu pokémonDBR!") else if #getPlayersInArea(torneio.area) > 1 then doPlayerSendTextMessage(cid, 20 ,"Só o ultimo que ficar na arena, poderá abrir está porta! ") return true end doTeleportThing(cid, torneio.playerTemple) doBroadcastMessage("[Torneio] Parabéns ao treinador "..getCreatureName(cid).." foi o ganhador do torneio de hoje, verifique o rank em nosso site www.seusite.com!") doPlayerAddItem(cid,2148,300) addTopt(cid, torneios) doPlayerSendTextMessage(cid,MESSAGE_EVENT_ORANGE,"[Torneio] Você já venceu "..(getTopt(cid,torneio)).."x, Parabéns.") doPlayerAddItem(cid, torneio.awardTournament, torneio.awardAmount) return true end end agora a tag de actions.xml add
       
      <action uniqueid="18279" event="script" value="torneio.lua"/>  
      *18279 é unique ID que vc terá que por numa porta alavanca o que for pra depois o ultimo player clicar...
       
       
       
      4° NPC vá na pasta npc/scripts copia um arquivo e você deverá renomear para torneio ficando torneio.lua e add
       
      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 if msgcontains(msg, 'torneio') or msgcontains(msg, 'enter') then if getPlayerItemCount(cid, torneio.revivePoke) >= 1 then selfSay('Voce nao Pode entrar no torneio com {revives}, por favor guarde eles e volte a falar comigo novamente.', cid) return true end selfSay('Voce quer Participar no torneio por '..torneio.price..' de Dollars?', cid) talkState[talkUser] = 2 elseif talkState[talkUser] == 2 then if msgcontains(msg, 'yes') or msgcontains(msg, 'sim') then if os.date("%X") < torneio.startHour1 or os.date("%X") > torneio.endHour1 then if os.date("%X") < torneio.startHour2 or os.date("%X") > torneio.endHour2 then if os.date("%X") < torneio.startHour3 or os.date("%X") > torneio.endHour3 then if os.date("%X") < torneio.startHour4 or os.date("%X") > torneio.endHour4 then selfSay('As inscrições para o torneiro ainda não abriram, volte ás 07:50 AM, 11:50 AM, 17:50 AM ou ás 22:50 PM todo os dias', cid) return true end end end end if doPlayerRemoveMoney(cid, torneio.price) then doTeleportThing(cid, torneio.waitPlace) doPlayerSendTextMessage(cid, 21, "Bem vindo, esta e a sala de espera, voce espera aqui enquanto o torneio nao começa.") else selfSay('Voce não tem ('..torneio.price..') Dollars.', cid) end else selfSay('Certeza que voce não quer Participar? Ok, ate a Proxima', cid) talkState[talkUser] = 0 end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) bom agora volte um pasta e copia um arquivo.xml e renomeia para torneio ficando torneio.xml e add
       
      <?xml version="1.0" encoding="UTF-8"?> <npc name="Nick" script="torneio.lua" walkinterval="999000" floorchange="0"> <health now="150" max="150"/> <look type="1245" head="20" body="100" legs="50" feet="99" corpse="2212"/>] <parameters> <parameter key="message_greet" value="Ola |PLAYERNAME|. Sou o NIKE, Encarregado pelo Torneio diario caso queira entrar diga: {torneio}."/> </parameters> </npc> 5° importa para seu mysql o código
       
      ALTER TABLE `players` ADD `torneio` int(11) NOT NULL default '0'; agora a vá na pasta lib copia um arquivo.lua e renomeia para torneio e add ficando torneio.lua
       
      function getTopt(cid) local check4 = db.getResult("SELECT `torneio` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. " LIMIT 1") return check4:getDataInt("torneio") <= 0 and 0 or check4:getDataInt("torneio") end function addTopt(cid,amount) db.executeQuery("UPDATE `players` SET `torneio` = "..getTopt(cid).."+"..amount.." WHERE `id` = "..getPlayerGUID(cid)) end function removeTopt(cid,amount) db.executeQuery("UPDATE `players` SET `torneio` = "..getTopt(cid).."-"..amount.." WHERE `id` = "..getPlayerGUID(cid)) end function setTopt(cid,value) db.executeQuery("UPDATE `players` SET `torneio` = "..value.." WHERE `id` = "..getPlayerGUID(cid)) end 6° pronto torneio 4 vezes ao dia + npc + rank para site como usar o rank no site ? vai em htdocs/template/seulayout/index.tpl e add em algum lugar lá
       
      <div class="top-box"> {include_php file='torneio.php'} </div>  
      agora vá em htdocs criar um novo text com nome torneio.php e add
       
      <?PHP //** Connection to the database **// $ots = POT::getInstance(); $ots->connect(POT::DB_MYSQL, connection()); $SQL = POT::getInstance()->getDBHandle(); //** Top Players + online status By Kavvson **// $money_list = $SQL->query('SELECT name,torneio FROM players ORDER BY torneio DESC LIMIT 5')->fetchAll(); $i = 1; foreach($money_list as $money_chr){ echo '<center>'; echo $i.'. <a href="/pt/index.php/character/view/'.urlencode($money_chr['name']).'">'; $player = $ots->createObject('Player'); $player->find($money_chr['name']); echo '<font color="'; echo ($player->isOnline()) ? 'green' : 'green'; echo '">'; echo ''.$money_chr['name'].'</b></a></font>'; echo' Torneio Ganhos: '.$money_chr['torneio'].'</B>'; $i++; } for( $i; $i <= 1; $i++ ){ echo $i.'. <br><i>Empty</i><br /><br />'; } echo '</center>';  
       
      isso ai pessoal é completo eu fiz pro meu PokémonDBR que tinha fechado então resolvi compartilhar.... qualquer copia favor bote devido créditos e não quero ver ninguém vendendo meu scripts....
       
      Créditos a mim... qualquer dúvida falando que não sou o dono aqui minha página da PokémonDBR e agora somos otPokémon World Online  http://facebook.com/otpwonline
       
    • By L3K0T
      Olá pessoal hoje estava mexendo na minha source, muitos me falavam, "porque você não coloca pro player ficar no respawn do pokemon" então hoje estou para a ajudar vocês, como minha source não tem a opção de blockspawn na config.lua, achei outra forma, vamos lá!
       
       
      Vá em spawn.cpp
       
      Procure:
       
      if(findPlayer(sb.pos)) { sb.lastSpawn = OTSYS_TIME(); continue; } Deixa assim abaixo:
       
      /*if(findPlayer(sb.pos)) { sb.lastSpawn = OTSYS_TIME(); continue; }*/ Agora salva, e recompila sua source.
       
      O que eu fiz fazendo isso ? removi definitivo o blockspawn se caso o player tiver no respawn do pokemon vai nascer do mesmo jeito. espero ter ajudado  rep+ (acharam que era coisa difícil, sqn)
       
      Créditos a mim.

×
×
  • Create New...

Important Information

Confirmação de Termo