Ir para conteúdo
Banner com Efeitos

Mauro Sérgio

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Mauro Sérgio recebeu reputação de henrique cafe em Portrait De Pokemons 1/2/3/4 Geração (Igual OTPokemon)   
    Daeew Pessoal, Aqui é Estou Eu Mais Uma Vez, Mais Não Para Pedir Ajuda Kkk, E Sim Para Disponibilizar Para Você As Portrait dos Pokemons Da 1 Geração, Elas São Mais Bonitas Que As Que Tem Geralmente Nos Servidores Que Se Baixa.
     
    Bom, Só A 1 Geração e De Pokemons Normal, Futuramente Irei Trazer Novas Gerações E Seus Shinys.
     
    Portrait 1ª Geração
     
    Portrait Shiny 1ª Geração
     
    Portrait 2ª Geração
     
    Portrait 3ª Geração
     
    Portrait 4ª Geração
     
    Gostou? Ajudei? Então Deixa Aquele Rep+ Maroto Kkk
     
    Créditos:
    Mauro << Eeeu
    OTPokemon (Aonde Peguei Elas)
     
     
    Possa Ser Que Eu Tenha Errado Nome De Alguns Pokemons Mais Foi So Uns 3 Ou 2 Kkk
    **Completei As 4 Gerações, Claro Que Falta Os Shinys Mais Em Breve Irei Trazer
    Gostou? Rep+
  2. Gostei
    Mauro Sérgio recebeu reputação de ivison42 em Portrait De Pokemons 1/2/3/4 Geração (Igual OTPokemon)   
    Daeew Pessoal, Aqui é Estou Eu Mais Uma Vez, Mais Não Para Pedir Ajuda Kkk, E Sim Para Disponibilizar Para Você As Portrait dos Pokemons Da 1 Geração, Elas São Mais Bonitas Que As Que Tem Geralmente Nos Servidores Que Se Baixa.
     
    Bom, Só A 1 Geração e De Pokemons Normal, Futuramente Irei Trazer Novas Gerações E Seus Shinys.
     
    Portrait 1ª Geração
     
    Portrait Shiny 1ª Geração
     
    Portrait 2ª Geração
     
    Portrait 3ª Geração
     
    Portrait 4ª Geração
     
    Gostou? Ajudei? Então Deixa Aquele Rep+ Maroto Kkk
     
    Créditos:
    Mauro << Eeeu
    OTPokemon (Aonde Peguei Elas)
     
     
    Possa Ser Que Eu Tenha Errado Nome De Alguns Pokemons Mais Foi So Uns 3 Ou 2 Kkk
    **Completei As 4 Gerações, Claro Que Falta Os Shinys Mais Em Breve Irei Trazer
    Gostou? Rep+
  3. Obrigado
    Mauro Sérgio deu reputação a Vodkart em [8.6] Task System 4.0! (Task system + Daily Task System)   
    Removido:
     
    *Boss Room
    *Rank Task
    *Prêmios para os 10 primeiros a terminar todas as tasks
     
    Adicionado:
     
    *Daily Task System (Sistema exclusivo de Task diario, podendo pegar 1x a cada 24 hrs, irei explicar mais depois.)
    *Task agora é por progresso, você não pode sair e voltar, terá que terminar a task 1 para avançar para a task  2, assim sucessivamente.
    *Task Points
    *Level para realizar a task
    *Nova talkaction que mostra uma janela de informações sobre o level da task, premios que irá receber, progresso, etc...
    *Items para entrega(Se o jogador deverá levar algum item junto com a quantidade de monstro morta) para finalizar a task
    *Sistema de look Task (Varia de acordo com a sua quantidade de Task Points, podendo ficar por exemplo como "Huntsman", "Ranger", etc...(alterável)
    *Mods e npc mais "clean", várias linhas removidas e o sistema está mais rápido
    *Vou Adicionar "scripts extras" Como:
    --> Tile que só passa quem tiver permissão depois de finalizar determinada quest
     --> Npc de Boss Room para entrar e enfrentar o monstro quem fez determinada quest
     
     
    [+] Resumo do Task system + Daily Task System [+]
     
    Task System: É o sistema de task "original", onde consiste em matar determinada quantidade de monstros(E entregar certo itens <- é configurável), para receber recompensas como Exp, Money e Items.
     
    Algumas mudanças do simple task 3.0 para o 4.0 foram:
     
    [+] O sistema agora é por progresso, isso quer dizer que você terá que ir terminando a quest para avançar para a seguinte.
    [+] O sistema Também recebeu uma alteração, fazendo com que as Tasks precisem que o jogador tenha um level determinado
    [+] A tabela para edição está mais fácil, fazendo com que você adicione ou remova monstros com mais tranquilidade, inclusive alterações das Rewards da Task.
     
    Daily Task System: É um sistema que desenvolvi para que os jogadores sempre estejam se comunicando com o npc de Task, no caso da Task Diaria, vária de acordo com o level do jogador, por exemplo:
     
    Jogadores entre level 6 ao 49 poderá cair em uma dessas 3 Task Diarias: Orcs, Tarantulas ou Wyverns
    Jogadores entre level 50 ao 79 poderá cair em uma dessas 3 Task Diarias: Dragons, Wailing Widows ou Ancient Scarabs
     
    E por ai vai, claro que você poderá aumentar as Task Diarias dependendo do level, eu fiz 3 para cada level que é pra postar, mas tudo isso você pode aumentar! Dependendo do seu servidor.
     
    E sim, você pode fazer a TASK "ORIGINAL" e a TASK "DIARIA" ao mesmo tempo! Ambas são distintas e possuem Rewards diferenciadas!
     
    No caso da Task diaria, levando em conta que você começou a fazer ela no dia 08/01 ás 20:00 Hrs, você tem até o dia 09/01 ás 20:00Hrs para termina-la e receber a recompensa, caso termine antes, a Task diaria só irá ficar disponível para repetição a partir desta mesma data 09/01 20:00 Hrs;
     
    [+] Caso você não termine a tempo, não tem problema, basta esperar este horário e começar uma nova Task.
    [+] Caso você começou a Daily Task e terminou antes desta data. mas por algum motivo esqueceu de entregar e a mesma passou do prazo, não tem importância, caso você tenha matado todos os monstros até 09/01 20:00 Hrs, você poderá entregar está Task em qualquer horário para receber suas Rewards e começar uma task a partir do momento em que você entregou! (INJUSTIÇA AQUI NÃO CARALHO).
     
    [+] Comandos Adicionais [+]
     
    /task -- Mostra as informações da sua Task Atual, como Nome da Task, Level, Rewards, Monstros que você poderá matar, Se tem que entregar algum Item junto, etc...
    /task daily -- É basicamente mostra a mesma informação da Task Principal, porém mostra também qual o prazo limite para entrega da task.
    /task counter -- É um comando que ATIVA ou DESATIVA o contador de monstros mortos na task no seu Channel.
     
    [+] Imagens [+]
     
    Cline neste link para ver algumas imagens da Task : http://imgur.com/a/eLIY3
     
     
     
    ------------------------------------------------ // --------------------------------------------------------------
     
    [+] Instalação do Sistema [+]
     
    Requisitos: Nível Médio de conhecimento em scripting LUA
     
    Pasta Mods
     
    Simple Task.xml
     
    https://pastebin.com/raw/P5hqMC3j
     
    NPC:
     
     
    Ludger.xml
     
    https://pastebin.com/raw/R56yLWHw
     
    simple_task.lua
     
    https://pastebin.com/raw/1mRzJ6aJ
     
    ---------------------------------------------- // ----------------------------------
     
    [+] configuração [+ ]
     
    Task System Principal
     
    task_sys = { [1] = {name = "Trolls", start = 176201, monsters_list = {"Troll","Troll champion"}, level = 8, count = 40, points = 0, items = {}, reward = {}, exp = 2000, money = 2000} }  
    [1]  --> O número entre os colchetes [] significa a ordem da Task, como a Task é por progresso sempre começará no 1 e irá pro [2], assim sucessivamente.
    name --> É o nome da task que o jogador irá fazer.
    start --> é a storage que indicará se o jogador começou a Task
    monster_list ={} --> É o nome dos monstros em que o jogador deverá caçar para completar a Task
    level --> É o level necessário para dar inicio á Task
    count --> É o número de monstros que o jogador tem que matar para completar a Task
    points --> Aqui determinada quantos Task points o jogador irá receber ao completar a Task
    items = {} --> Aqui determinada se além de matar os monstros, o jogador terá que entregar item também! Caso tenha só colocar o {ITEM_ID, QUANTIDADE} EX:
    items = {{2173,1},{2160,10},{2493,2}} rewad --> Aqui determinada se o jogador irá receber itens ao terminar a Task, mesma formula do items /\
    reward = {{2520,1},{2173,1}} exp --> Se o jogador irá receber Exp ao terminar a task. 0 ou quantidade de exp
    Money --> Se o jogador irá receber dinheiro ao terminar a task. 0 ou quantidade de dinheiro
     
     
    Daily Task System
     
    daily_task = { [1] = {name = "Orcs" ,monsters_list = {"Orc Berserker","Orc Rider","Orc Leader","Orc Warlord"}, count = 100, points = 0, reward = {}, exp = 5000, money = 10000} }  
    Segue o padrão da Task original, exceto que não precisa entregar items para o npc!
     
    Como funciona A randomização de level de acordo com a Daily task?
     
    Procure por está tabela em MODS
     
    local t = { [{6,49}] = {1,3}, [{50,79}] = {4,6}, [{80,129}] = {7,9}, [{130,math.huge}] = {10,12} }  
    entre as chaves e colchetes é o level do jogador para as Daily Task, Você pode adicionar quantas você quiser!
     
    Digamos que:
     
    [{6,49}] = {1,3}  --> Quer dizer que entre o level 6 ao 49 o jogador poderá cair na Daily Task número 1(Orcs), 2(Tarantulas) ou 3(Wyvern)!
    [{50,79}] = {4,6} --> Quer dizer que entre o level 50 ao 79 o jogador poderá cair na Daily Task número 4(Dragons), 5(Wailing Widows) ou 6(Ancient Scarabs)!
    ...
    [{130,math.huge}] = {10,12} --> Quer dizer que o jogador level 130 ou MAIS poderá cair na Daily Task número 10(Undead Dragons), 11(HydraS) ou 12(Ghastly Dragons)!
     
     
    Look Rank System
    Procure por está tabela em MODS
     
    local ranks = { [{1, 20}] = "Huntsman", [{21, 50}] = "Ranger", [{51, 100}] = "Big Game Hunter", [{101, 200}] = "Trophy Hunter", [{201, math.huge}] = "Elite Hunter" }  
    Entre 1-20 Task points o Rank será Huntsman
    Entre 21-50 Task posints o Rank será Ranger
    Entre 51-100 Task Points o rank será Big Game Hunter
    etc...
    Altere como quiser!
     
     
  4. Obrigado
    Mauro Sérgio recebeu reputação de Arl King em Servidor PokeXPower V3 By Draw (ATUALIZADO Com A V3, 21/05/2016)   
    Bom Pessoal Esse é Meu Primeiro Post Aqui Então Se Não Estiver Na Areá Certa Por Favor Mova-o, Sem Mais Delongas Vamos Falar Do Servidor.
     
    Informações Básicas: O Servidor Contém 4 Gerações De Pokemons Completa, E Vários Shinys, Também Contem Mega Pokemons (Mais De 30), O Mapa é Parecido Com O Do OTPokemon, Varias Quests Interessantes Feitas.
     
    Os Servidor Tem Alguns Sistemas Tais Quais:
    Clãn System (No Total De 8, E Cada Um Da Outfit E Outras Coisas)
    Police Ou Rocket System, Permitindo O Player Escolhe Um Lado Da Força Kk (Ganha Tambem Uma Outfit Exclusiva)
    O Servidor Contém Tambem Boost Stone System (Boost Até +60)
    E Claro Não Podemos Deixa De Citar A Bike System Com Almento De Velocidade Configuravel.
    No Mapa Também Tem PVP  E Trade Center (Para O PVP Funcionar Quando Ligar Serve Click Em World Type > PVP-Enforced.
    Falando Um Pouco Do Client... Bom Ele é Bem Comum é Um OTC Com Todas Função Funcionando.
     
    Erros: Alguns Faceis De Tirar Na Parte Dos Pokemon
    Sem Potrait Alguns Pokemon (Não Acho Que Seja Erro Pois Da Pra Por Facil)
     
    Prints:
     
    ATUALIZAÇÃO V3
     
     
     
    Link Do Download Do Client E Servidor V1.
    http://www.4shared.com/rar/1tIOhOdOba/Base_PxP_Servidor_E_Client_V1.html
     
    Link De Download Do Client E Servidor V2.
    http://www.4shared.com/rar/ZMe4QFWDce/Pokemon_X_Power.html
     
    Link De Download Do Client E Servidor V3
    http://www.mediafire.com/download/kx6kobli6va034s/Pokemon+X+Power.rar
     
    Scan:
    https://www.virustotal.com/pt/file/b830f6800401d37e8ac7d2b0ae809c5a79a472f2373ec5ac5d561ccc354dab11/analysis/1452782049/
    Creditos A Mim Que Fiz Tudo, Mais Informações No Site: http://maurosg8.wix.com/dwpoketibia
  5. Curtir
    Mauro Sérgio deu reputação a SrP1kachu em [Link Quebrado]Pokémon Mythology   
    Bom tava com um projetinho a um tempo atras mas como eu resolvi parar com ele resolvi trazer aqui pra vcs.
    Sim tem a maioria das coisas que a DXP tem porem tem bastante bugs removidos, o servidor fica online sem algum tipo de queda.
    esta estavel para por online alem de ter um mapa unico tem um cliente lido d+ meu orgulho huahuahua
    mais em fim vamos ao que interessa
     
     
    • Informações Basicas •
    • Duel System.
    • Nick System.
    • Autoloot System.
    • Block Respaw System.
    • Mega Evolução Ssystem.
    • Auto Stacking System.
    • Player passa por dentro de outros Players(Não sei o nome deste sistema kk).
    • Ditto Memory System.
    • Player pode usar potions, revive, soltar poke andando sem parar.
    • Limite de efeitos aumentados nas sources até 380(Podendo aumentar muito mais)
    • Transparência.
    • Cliente criptografado(Acompanha OBD único para o cliente).
    • Sistemas básicos como fly, ride, surf, order etc.
    • Held System(Não tem todos, falta fazer alguns, ja tem o x-luck).
    • Fishing trocando o outfit automaticamente.
    • Icone System.
    • Varias Pokeballs novas.
    • Task System.
    • Guild System.
    • NPC dialogo
    E muito+, não testei o servidor todo. podem ter sistemas no server que eu esqueci de colocar aqui na lista.
    Tem mais coisas mas não me lembro ao certo de tudo que eu coloquei ;-; </3
     
    • Bugs •
     
    Irei postar os que eu sei, podem haver mais.
    • Gym System não esta funcionando.
    • O famoso bug do autoloot '-
    • Pokemons da 3 geração todos arrumados porem pode dar revive mesmo com ele pra fora da ball
    • scizor ao ser chamado de volta pra ball fica com o icon de shiny scizor
    • Alguns erros no cliente que faz dar umas speed pra frente
     
    Que eu saiba e só isso mas provavelmente tenha mais que eu não estou ciente :C
     
    • Prints •
     













     
    Não queria ter que postar meu projeto mas como Minha Propia equipe esta ameaçando a fazer isso tai pra vcs :C
     
     
    • Dowload •
     
    scan : https://www.virustotal.com/#/file-analysis/Yjg0MTM2YmRkNjZkNmRjNDJhODgxMThlOWFjZmM2YmM6MTUwMzI3MzI0Mg==
    servidor+sources+cliente : https://mega.nz/#!sIJ1nATJ!cEXaqXdkW0iXWnFeklNpa9yRS0y9exoRDkM-WBnpACo 
    Senha : domviniciusbr
     
     
    • Créditos •
    •CipSoft
    •Nintendo
    •TFS Team
    •Dark X Poke
    •PXG
    •Tom Lukz (Smix)
    •Allan Harlen (Kttallan/lordsorte)
    •Eduardo Meskita (FuuinFake)
    •Noninhouh
    •Tony Araujo
    •Taiger/Dudu
    •Drakopoulos
    •Justiceiro751
    •Vinicius Clel (Walox)
    •Vinicius FT (K95)
    •DeadPool
    •Marshmello  
      E a todos que tiveram alguma participação em sistemas, server, site, cliente etc.
     
    Se estiver faltando algo como créditos, má formatação etc,  por favor me avisem, é meu primeiro post de server.
  6. Gostei
    Mauro Sérgio recebeu reputação de arley885 em [PEDIDO] Script da Bike do OTP   
    Cara Tenho Uma Script Aqui, Ela é Simples Quando Usa Muda Sprite (Uma Da Sua Escolha) e Almenta Velocidade.
     
     
    Azul > ID Da Bike (Item, O Mesmo Que Coloco Na Actions.)
    Vermelho > Texto De Quando Subir
    Violeta > Texto De Quando Descer
    Lima > Velocidade Da Bike.
    Marrom > ID Da Sprite Da Bike (Feminino)
    Verde > ID Da Sprite Da Bike (Masculino)

    Gosto? Ajudei? Não Esqueça De Dar Rep+, Obrigado.
  7. Gostei
    Mauro Sérgio recebeu reputação de Juuniiioor em Portrait De Pokemons 1/2/3/4 Geração (Igual OTPokemon)   
    Daeew Pessoal, Aqui é Estou Eu Mais Uma Vez, Mais Não Para Pedir Ajuda Kkk, E Sim Para Disponibilizar Para Você As Portrait dos Pokemons Da 1 Geração, Elas São Mais Bonitas Que As Que Tem Geralmente Nos Servidores Que Se Baixa.
     
    Bom, Só A 1 Geração e De Pokemons Normal, Futuramente Irei Trazer Novas Gerações E Seus Shinys.
     
    Portrait 1ª Geração
     
    Portrait Shiny 1ª Geração
     
    Portrait 2ª Geração
     
    Portrait 3ª Geração
     
    Portrait 4ª Geração
     
    Gostou? Ajudei? Então Deixa Aquele Rep+ Maroto Kkk
     
    Créditos:
    Mauro << Eeeu
    OTPokemon (Aonde Peguei Elas)
     
     
    Possa Ser Que Eu Tenha Errado Nome De Alguns Pokemons Mais Foi So Uns 3 Ou 2 Kkk
    **Completei As 4 Gerações, Claro Que Falta Os Shinys Mais Em Breve Irei Trazer
    Gostou? Rep+
  8. Gostei
    Mauro Sérgio deu reputação a L3K0T em Shop System otPokémon AMV Modern AAC   
    Falaaaaa pessoal, hoje eu vim aqui disponibilizar o meu shop system sem o bug de clones e sem subtração de pontos, sem essa opção de f5 para comprar várias coisas com 10 pontos, portanto estou aqui, pois sou o dono do otPokémon AMV e uso esse sistema que eu mesmo modifiquei, espero que vocês que estão passando por problemas do modern aac, que agora tenha resolvido.
     
     
    1° de tudo exclua todo seu shop system.
     
    2° baixe meu shop system diferente >>> ShopSystem.zip
     
    3° extraia o shosystem dentro da pasta principal do seu site MODERN AAC
     
    4° vá em system/pages extraia esses arquivos lá dentro >>> pages.zip
     
    5° depois abra seu index.tpl que fica em templates/seu layout/index.tpl coloque essas linhas lá
     
    6° Dentro da pasta ShopSystem está o Shop.sql importe para seu banco de dados.
     
    depois de >>> {if $logged == 1} coloque <li><a href="{$path}index.php/p/v/shopping"><strong><font color ="#006400">|</font></strong> +Shopping</a></li> <li><a href="{$path}index.php/p/v/shopping/history"><strong><font color ="#006400">|</font></strong> +Histórico de Compras</a></li> depois de >> {else} coloque <li><a href="{$path}index.php/p/v/aviso"><strong><font color ="#006400">|</font></strong> Shopping</a></li> entre {/if} Agora salva e pronto, entra com seus dados da ADM e instala novamente seu Modern e tudo será resolvido, qualquer bug me contate, eu já vou avisando tbm, não quero ninguém compartilhe em outros fóruns, se eu pegar vou mandar excluir o poster, pq todo criador, sabe muito bem suas edições e como elas foram feitas, todo programador deixa sua marca nos scripts etc...
    Créditos: EU
     
  9. Gostei
    Mauro Sérgio deu reputação a Stigal em [Npc] Todos GYM 100% (Base: Pokemon Away)   
    Ola Poketibianos,
    Venho Trazer Todos Gym Funcionais.

    • GYM:
    ├ Misty;
    ├ Blaine;
    ├ Brock;
    ├ Erika;
    ├ Koga;
    ├ Sabrina;
    ├ Surge;
    └ Giovanni;


    • Download:

    http://www.mediafire.com/?18e923ns5mm1ccq


  10. Gostei
    Mauro Sérgio deu reputação a GOD Vitor em [MOD] Store Pokémon   
    Eae galera, peguei um módulo de shop de um servidor de Pokémon Tibia, e editei as imagens, e adaptei o módulo para meu projeto (Pokémon Paraíso V3). Então decidi disponibiliza-los para vocês!
    OBS: O SHOP está com um sistema de dois itens específicos que são necessários para comprar itens no SHOP, ou seja ou você usa o módulo assim ou edita.
     
    Screenshot

     
    Tutorial de como adicionar em seu Servidor/otCliente:
     
    1. Extraia a pasta em winrar (Módulo - Shop Pokémon).
    2. Copie a pasta game_shop, e cole dentro da pasta modules do seu OTCliente.
    3 - Copie as duas imagens nomeadas de zito10, e cole-as dentro da pasta data/images/ui/pxg, do seu OTCliente. Caso seu OTCliente não tenha a pasta pxg, crie uma nova pasta e nomeie para pxg.
    4 - Copie a pasta shop e cole-a dentro da pasta data/images/ui
    5 - Vá até a pasta actions do seu servidor, abra o arquivo actions.xml e adicione a seguinte tag:
     
     
    Abra a pasta actions/scripts e dentro dela crie um arquivo em extensão lua, renomeie para buyitem, abra-o e adicione o seguinte conteúdo:
     
    Explicação:
     
    Download do MOD:
     
    Observação: Se ocorrer algum erro ou tiver alguma dúvida, comente aqui no tópico que irei ajudar assim que eu estiver disponível.
     
    Créditos:
    Pokémon Hard - Pelo Sistema.
    GOD Vitor - Pelo Design.
    WillyWonka - Pela criação da Talkaction Command.
    OhGod - Por disponibilizar a Talkaction.
  11. Gostei
    Mauro Sérgio deu reputação a Golf em Tutorial Mod OtClient   
    Olá, amigos esta muito tempo parado e sem tempo para meche no meu otserv por isso esto liberando um sistema meu de tutorial client.
     
    Oque ele faz, ele abre uma janela com menus e seus texto para ajudar os player a ter uma boa jogabilidade ao o game.
    -versão:todas
    Opcodes: Nao precisa de opcodes, roda em qual quer versão otclient.
     
    1- abra a pasta do otclient>mods>game_tutorial.zip
    2- abra a pasta do otclient>mods>game_tutorial>configs.lua
    2.1 em configs.lua voce vai configura todo os text que a no seu tutorial.
     
    3- Menu texto
    tutorialsIndex = { "1. Exp", "2. Exp", "3. Exp" } 4- oque a no menu texto
    }, {name = "1.2 Exp", text = [[EXP: - EXP - HEXP - EXP - EXP Tibia King:100 ]] }, {name = "1.3 Exp", text = [[EXP: - EXP - HEXP - EXP - EXP Tibia King:100 ]] } } Se gosto mais rep.
     



  12. Gostei
    Mauro Sérgio deu reputação a Vodkart em [8.6] Invite Players System!   
    Resumo: Para quem já jogou league of legends, o sistema é "parecido" com o Invite Friends, e para quem não jogou irei dar uma breve descrição sobre o sistema.
     
    Descrição: O sistema oferece algumas premiações como: Itens, Premium Days, Premium Points(para site) e Outfits. Claro que isso tudo é configurável.
    A ideia principal do sistema foi que essas premiações fossem exclusivas do sistema, digamos, que os jogadores só fossem recompensados e tivessem certas outfits se ele atingisse num número "X" de pontos por ter ajudado seu servidor a crescer!
    Como todo mundo almeja algo exclusivo e difícil de ser obtido, iria instigar os jogadores a usar o sistema e convidar seus amigos para o servidor!
     
    Como Funciona o Sistema?
     
    O sistema foi planejado para que jogadores "espertinhos" não burlassem o sistema e acontece da seguinte maneira:
     
    Temos o jogador João e a jogadora Maria:
     
    Maria necessita ser level 30 ou menor que 30(Configurável) para utilizar uma talkactions e dizer por quem foi invitada para o servidor, vamos supor que João a convidou Maria para jogar, João por sua vez necessita também ter um level avançado, digamos 50 ou superior(Configurável). Feito com sucesso o uso do sistema, ele funciona da seguinte maneira:
    OBS: Você pode dizer o nome do jogador mesmo que ele esteja OFFLINE!
     
    OBS2: Um ou mais Players podem ser invitador pelo MESMO JOGADOR! ENTÃO QUANTO MAIS PLAYER VOCÊ CHAMAR, MAIS FÁCIL DE RECEBER PONTOS E PREMIAÇÕES 
     
    O jogador invitado, no caso o João, teria que atingir um número "X" de pontos para receber premiações, por exemplo:
     
    * Com 10 Pontos jogão recebe: Itens
    * Com 25 Pontos jogão recebe: Itens e Premium Points
    * Com 50 Pontos jogão recebe: Itens
    * Com 100 Pontos jogão recebe: Itens, Premium Points, Premium Days e Outifit
    (Claro que isso é tudo configurável em uma Tabela)
     
    E como recebo Recebo esses Pontos VODKART SEU FILHO DA PUTA!
     
    Se lembra que João Convidou Maria para Jogar? Então... Maria tem que atingir certos leveis para que João receba esses pontos! Por exemplo a tabela do sistema:
     
    levels_win = { [50] = 5, [80] = 6, [100] = 8, [150] = 10 }
     
     
    Se Maria atingir level 50, João recebe 5 pontos
    Se Maria atingir level 80, João recebe 6 pontos
    Etc... Claro que isso tudo é acumulativo!
     
    E sabe o que mais? João recebe Pontos mesmo se estiver ONLINE ou OFFLINE!
     
    Sem mais delongas, Vamos instalar o sistema!
     
     
    data\creaturescripts\scripts
     
    InviteFriends.lua
    function onLogin(cid) registerCreatureEvent(cid, "FriendsPoints") if getPlayerStorageValue(cid, _invite_friends.storages[1]) < 0 then setPlayerStorageValue(cid, _invite_friends.storages[1], 0) setPlayerStorageValue(cid, _invite_friends.storages[4], 0) end if getInvitePoints(cid) > 0 then getRewardsFriend(getCreatureName(cid), getPlayerGUID(cid)) end return true end function onAdvance(cid, skill, oldLevel, newLevel) if (skill == SKILL__LEVEL) then if hasInviteFriend(cid) and getPlayerStorageValue(cid, _invite_friends.storages[3]) < newLevel and _invite_friends.levels_win[newLevel] then local f_name, points = getNameFriend(cid), _invite_friends.levels_win[newLevel] local f_pid = getPlayerGUIDByName(f_name) setPlayerStorageValue(cid, _invite_friends.storages[3], newLevel) addInvitePoints(f_name, points) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "[Invite Friends] você atingiu o level "..newLevel.." e o seu amigou "..f_name.." recebeu "..points.." Friend Points. Obrigado!") if isPlayer(getPlayerByNameWildcard(f_name)) then getRewardsFriend(f_name, f_pid) end end end return true end  
    creaturescript.xml
    <event type="login" name="FriendsLogin" event="script" value="InviteFriends.lua"/> <event type="advance" name="FriendsPoints" event="script" value="InviteFriends.lua"/>  
     
    data\talkactions\scripts
     
    InviteFriends.lua
    function onSay(cid, words, param, channel) local param = param:lower() if param == "" or not param then doPlayerSendCancel(cid, "Você precisa digitar o nome de um jogador.") return true elseif param == "points" then doPlayerPopupFYI(cid,"[+] Invite Friend System [+]\n\nvocê tem ["..getInvitePoints(cid).."] Friends Points.") return true elseif hasInviteFriend(cid) then doPlayerSendCancel(cid, "Você já agradeceu o jogador ["..getNameFriend(cid).."] por te convidar a jogar neste servidor.") return true elseif not getPlayerGUIDByName(param) then doPlayerSendCancel(cid, "Desculpe, mas o jogador [" .. param .. "] não existe.") return true elseif getPlayerLevel(cid) > _invite_friends.level_max or db.getResult("SELECT `level` FROM `players` WHERE `id` = "..getPlayerGUIDByName(param)):getDataInt("level") < _invite_friends.level_need then doPlayerSendCancel(cid, (getPlayerLevel(cid) > _invite_friends.level_max and "Desculpe, mas você precisa ter no minimo level ".._invite_friends.level_max.." para usar este comando." or "Desculpe, mas o jogador ["..param.."] precisa ter no minimo level ".._invite_friends.level_need.." para ser escolhido.")) return true elseif getPlayerIp(cid) == tonumber(db.getResult("SELECT `lastip` FROM `players` WHERE `id` = "..getPlayerGUIDByName(param)):getDataString("lastip")) then doPlayerSendCancel(cid, "Desculpe, mas você não pode se auto invitar por estar com o mesmo IP.") return true elseif getCreatureName(cid):lower() == param then doPlayerSendCancel(cid, "Desculpe, mas você não pode se auto invitar.") return true end doInviteFriend(cid, getPlayerGUIDByName(param)) doPlayerSendTextMessage(cid, 25, "Você indicou o jogador "..param..", este sistema é uma forma de agradecer a vocês por trazerem seus amigos para jogar.") doSendMagicEffect(getCreaturePosition(cid), math.random(28,30)) return true end  
    talkactions.xml
    <talkaction words="/invited;!invited" event="script" value="InviteFriends.lua"/>  
     
     
    data/lib
     
    InviteFriends.lua
    _invite_friends = { storages = {202301, 202302, 202303, 202304}, -- points, jogador, recompensa lvl, recompensa items level_max = 20, -- até que level ele precisa falar seu friend level_need = 30, -- que lever o jogador precisa ser para ganhar pontos levels_win = { -- leveis que receberão os pontos(feito pelo onAdvance) [50] = 5, [80] = 6, [100] = 8, [150] = 10 }, rewards = { -- a cada tantos pontos, que tipo de reward ele irá receber(automático onLogin) [10] = {items = {{2160,1},{2173,1}}, p_days = 1, p_points = 0 , out = {0,0}}, [25] = {items = {{2160,2},{2173,1}}, p_days = 0, p_points = 0 , out = {0,0}}, [50] = {items = {{2160,3},{2173,1}}, p_days = 0, p_points = 0 , out = {0,0}}, [100] = {items = {{2160,4},{2173,1}}, p_days = 0, p_points = 0 , out = {0,0}}, [200] = {items = {{2160,5},{2173,1}}, p_days = 0, p_points = 0 , out = {0,0}}, [250] = {items = {{2160,6},{2173,1}}, p_days = 0, p_points = 0 , out = {0,0}}, [500] = {items = {{2160,7},{2173,1}}, p_days = 0, p_points = 0 , out = {0,0}} } } function getInvitePoints(cid) return getPlayerStorageValue(cid, _invite_friends.storages[1]) < 0 and 0 or getPlayerStorageValue(cid, _invite_friends.storages[1]) end function hasInviteFriend(cid) return getPlayerStorageValue(cid, _invite_friends.storages[2]) > 0 and true or false end function doInviteFriend(cid, GUID) return setPlayerStorageValue(cid, _invite_friends.storages[2], GUID) end function getNameFriend(cid) return getPlayerNameByGUID(getPlayerStorageValue(cid, _invite_friends.storages[2])) end function addInvitePoints(name, amount) local pid, Guid = getPlayerByNameWildcard(name), getPlayerGUIDByName(name) if not pid then local getFriendPoints = db.getResult("SELECT `value` FROM `player_storage` WHERE `player_id` = ".. Guid .." AND `key` = ".._invite_friends.storages[1]) if (getFriendPoints:getID() ~= -1) then db.executeQuery("UPDATE `player_storage` SET `value` = ".. (getFriendPoints:getDataInt("value")+amount) .." WHERE `player_id` = ".. Guid .." AND `key` = ".._invite_friends.storages[1]) end else setPlayerStorageValue(getPlayerByName(name), _invite_friends.storages[1], getInvitePoints(getPlayerByName(name))+amount) end return true end function getRewardsFriend(name, pid) local acc = getAccountIdByName(name) if isPlayer(getPlayerByNameWildcard(name)) then local target = getPlayerByNameWildcard(name) local FriendPoints, CheckPoints = getInvitePoints(target), getPlayerStorageValue(target, _invite_friends.storages[4]) for vod, ka in pairs(_invite_friends.rewards) do local str = "" if FriendPoints >= vod and CheckPoints < vod then str = str.."--> Invite Players System <--\n\nVocê acaba de receber algumas recompensas:\n\nItems: \n"..getItemsFromList(ka.items)..".\n\n" if ka.p_days > 0 then doPlayerAddPremiumDays(target, ka.p_days) str = str.."Premium Days:\n"..ka.p_days.." Premium Days." end if ka.p_points > 0 then db.executeQuery('UPDATE accounts SET premium_points=premium_points+' .. ka.p_points ..' WHERE id=' .. acc) str = str.."Premium Points:\n"..ka.p_points.." Premium Points." end if ka.out[1] > 0 then doPlayerAddOutfit(target, getPlayerSex(target) == 0 and ka.out[1] or ka.out[2], 3) str = str.."[New Outfit]\nRecebeu uma Nova Outfit." end setPlayerStorageValue(target, _invite_friends.storages[4], FriendPoints) MandarItensProDp(name, ka.items, str) doPlayerSendTextMessage(target, MESSAGE_STATUS_CONSOLE_ORANGE,"[Invite Players System] Você Recebeu algumas premiações por estar convidando jogadores para o servidor, Por favor conferir os itens no Depot.") end end end return true end function MandarItensProDp(name, items, texto) local parcel = doCreateItemEx(ITEM_PARCEL) for _, i_i in ipairs(items) do local item, amount = i_i[1],i_i[2] if isItemStackable(item) or amount == 1 then doAddContainerItem(parcel, item, amount) else for i = 1, amount do doAddContainerItem(parcel, item, 1) end end end local carta = doAddContainerItem(parcel, 1952) doItemSetAttribute(carta, "writer", "[+] Invite Players System [+]") doItemSetAttribute(carta, "text", texto) doPlayerSendMailByName(name, parcel) return true end -- function adicional -- function getItemsFromList(items) -- by vodka local str = '' if table.maxn(items) > 0 then for i = 1, table.maxn(items) do str = str .. items[i][2] .. ' ' .. getItemNameById(items[i][1]) if i ~= table.maxn(items) then str = str .. ', ' end end end return str end  
    Configurando o Sistema:   *Vá na LIB do sistema que você adicionou*       level_max = 30, -- até que level ele precisa falar seu friend   level_need = 50, -- que lever o jogador precisa ser para ganhar pontos     levels_win = { -- [LEVEL QUE PRECISA ATINGIR] = QUANTIDADE DE PONTOS QUE O OUTRO JOGADOR VAI RECEBER [50] = 5, [80] = 6, [100] = 8, [150] = 10 }         rewards = {
            [10] = {items = {{2160,1},{2173,1}}, p_days = 1, p_points = 0 , out = {0,0}},
            [25] = {items = {{2160,2},{2173,1}}, p_days = 0, p_points = 0 , out = {0,0}},
            [50] = {items = {{2160,3},{2173,1}}, p_days = 0, p_points = 0 , out = {0,0}},
            [100] = {items = {{2160,4},{2173,1}}, p_days = 0, p_points = 0 , out = {0,0}},
            [200] = {items = {{2160,5},{2173,1}}, p_days = 0, p_points = 0 , out = {0,0}},
            [250] = {items = {{2160,6},{2173,1}}, p_days = 0, p_points = 0 , out = {0,0}},
            [500] = {items = {{2160,7},{2173,1}}, p_days = 0, p_points = 0 , out = {0,0}}
        }   rewards = {   [PONTOS NECESSÁRIO PARA OBTER A PREMIAÇÃO] =   exemplo:    [10] = {items = {{2160,1},{2173,1}}, p_days = 0, p_points = 0 , out = {0,0}},     com 10 pontos ele irá receber aquele itens acima /\     items = {} -- Poderá adicionar itens em uma tabela dizendo {id do item, quantidade}   p_days = 0 -- se o jogador vai receber Premium Days? 0 ou Quantidade que vc deseja dar   p_points = 0 -- se o jogador vai receber Premium Points? 0 ou Quantidade que vc deseja dar   out = {0,0} -- se vai receber outfit? {FEMALE, MALE} OU {0 , 0}  para nenhuma. obs:(lembrando que o id das outfits ficam em outfits.xml)  
     
  13. Gostei
    Mauro Sérgio deu reputação a Vodkart em [8.6] Invite Players System!   
    ops
     
    function MandarItensProDp(name, items, texto) local backpack = doPlayerAddItem(getPlayerByNameWildcard(name), 1999, 1) -- backpackID for _, i_i in ipairs(items) do local item, amount = i_i[1],i_i[2] if isItemStackable(item) or amount == 1 then doAddContainerItem(backpack, item, amount) else for i = 1, amount do doAddContainerItem(backpack, item, 1) end end end local carta = doAddContainerItem(backpack, 1952) doItemSetAttribute(carta, "writer", "[+] Invite Players System [+]") doItemSetAttribute(carta, "text", texto) return true end  
  14. Gostei
    Mauro Sérgio deu reputação a Zanicatsky em Quero saber se Object Builder funciona em linux   
    "Não poste mensagens sem conteúdo, que não contribuem em nada ou que não estejam relacionadas ao assunto do tópico. Mensagens assim são chamadas de Floods. Postar coisas como "haha", "lol", "me add no msn aí", entre outras, é o que considera-se completamente inútil. Postar várias mensagens iguais, mesmo que em tópicos diferentes, também pode ser considerado Flood."
     
    aonde "Olha, não sei... mas pergunte ao Comedinha" é flood? logo pois o Otitemeditor foi postado pelo tal, entao se tem uma duvida relacionada com o programa, seria muito mais facil perguntar para quem postou.
     
  15. Gostei
    Mauro Sérgio recebeu reputação de brasil0014 em Servidor PokeXPower V3 By Draw (ATUALIZADO Com A V3, 21/05/2016)   
    Bom Pessoal Esse é Meu Primeiro Post Aqui Então Se Não Estiver Na Areá Certa Por Favor Mova-o, Sem Mais Delongas Vamos Falar Do Servidor.
     
    Informações Básicas: O Servidor Contém 4 Gerações De Pokemons Completa, E Vários Shinys, Também Contem Mega Pokemons (Mais De 30), O Mapa é Parecido Com O Do OTPokemon, Varias Quests Interessantes Feitas.
     
    Os Servidor Tem Alguns Sistemas Tais Quais:
    Clãn System (No Total De 8, E Cada Um Da Outfit E Outras Coisas)
    Police Ou Rocket System, Permitindo O Player Escolhe Um Lado Da Força Kk (Ganha Tambem Uma Outfit Exclusiva)
    O Servidor Contém Tambem Boost Stone System (Boost Até +60)
    E Claro Não Podemos Deixa De Citar A Bike System Com Almento De Velocidade Configuravel.
    No Mapa Também Tem PVP  E Trade Center (Para O PVP Funcionar Quando Ligar Serve Click Em World Type > PVP-Enforced.
    Falando Um Pouco Do Client... Bom Ele é Bem Comum é Um OTC Com Todas Função Funcionando.
     
    Erros: Alguns Faceis De Tirar Na Parte Dos Pokemon
    Sem Potrait Alguns Pokemon (Não Acho Que Seja Erro Pois Da Pra Por Facil)
     
    Prints:
     
    ATUALIZAÇÃO V3
     
     
     
    Link Do Download Do Client E Servidor V1.
    http://www.4shared.com/rar/1tIOhOdOba/Base_PxP_Servidor_E_Client_V1.html
     
    Link De Download Do Client E Servidor V2.
    http://www.4shared.com/rar/ZMe4QFWDce/Pokemon_X_Power.html
     
    Link De Download Do Client E Servidor V3
    http://www.mediafire.com/download/kx6kobli6va034s/Pokemon+X+Power.rar
     
    Scan:
    https://www.virustotal.com/pt/file/b830f6800401d37e8ac7d2b0ae809c5a79a472f2373ec5ac5d561ccc354dab11/analysis/1452782049/
    Creditos A Mim Que Fiz Tudo, Mais Informações No Site: http://maurosg8.wix.com/dwpoketibia
  16. Gostei
    Mauro Sérgio recebeu reputação de KotZletY em [NPC] Sistema De Saffari POKETIBIA   
    Óla Amigos, Hoje Trago Para Vocês O Sistema De Saffari Por NPC.
     
    Sistema Está Bem Simples E Reformulado, Sem Mais Besteira Vamos Lá:
     
    Em "Data/NPC" Crie Arquivo Chamado Saffari.xml e Dentro Coloque Isso:
    "O Arquivo Na Cor Verde Limão (Lima) é O Nome Do NPC"
     
    Agora Em Data/NPC/Scripts Crie Arquivo Chamado saffari.lua e Dentro Cole Isso:
     
    Em Azul Ciano Fica As Cordenadas Para Onde O Player Será Teleportado (No Caso O Saffari).
    Em Amarelo Fica O ID Das Suas Pokebolas Que Não Será Permitido Usa No Saffari (No Caso Super Ball, Ultra Ball e Etc...).
    Em Violeta O Preço Da Entrada No Saffari.
    Em Azul (Escuro) Fica O ID Da Saffari Ball Que O NPC Irá Da Ao Player.
    E Por Fim Em Vermelho Fica A Quantidade De Saffari Balls Dada Pelo NPC Ao Player.
     
     
     
    EXTRA:
    No Caso Tem Como Entrar Certo? E Parar Sair? Bom Pra Isso Tem Uma Script, Irei Deixar Ela Como Um Extra.
     
    Vá Em Actions e Crie Arquivo Chamado safaridoor.lua E Dentro Dele Cole Isso:
    Após Isso Va Em Actions.XML E Coloque Essa Tag:
     
     
    Em Laranja Fica As Cordenadas Do Local Aonde A Porta Vai Teleporta (No Caso Fora Do Saffari)
    E Em Roxo (Índigo) Fica O ID Que Você Tem Que Por, No Caso Nenhum Que Já Tenha Nas Actions.
     
    Agora Crie As Portas (Magic Door) e Coloque O ActionID Usado Na Tag (No Exemplo é O Numero 9800)
    Salve e Pronto, Ao Clicar Nas Portas Ela Teleportará Você.
     
     
     
    Créditos: 
     
    Majarugoou (Wagner) --Por Criar Script
    Mauro (Eu Kkk) --Trazer E Fazer Leves Edições



    Gostou? Quer Mais? Então Deixa Aquele REP+
  17. Gostei
    Mauro Sérgio deu reputação a Guilherme em [C++] Opcode versão 8.54+   
    Por: BananaFight > DragonElement
     
    Adaptação pra source 8.54+

    LEMBRE-SE, ISSO É NA SOURCE DO SERVIDOR

    Vamos ao código.


    protocolgame.h

    Embaixo de
    void AddShopItem(NetworkMessage_ptr msg, const ShopInfo item); Adicione

    void parseExtendedOpcode(NetworkMessage& msg); void sendExtendedOpcode(uint8_t opcode, const std::string& buffer); protocolgame.cpp

    Embaixo de

    uint32_t key[4] = {msg.GetU32(), msg.GetU32(), msg.GetU32(), msg.GetU32()}; enableXTEAEncryption(); setXTEAKey(key); Adicione

    // notifies to otclient that this server can receive extended game protocol opcodes if(operatingSystem >= CLIENTOS_OTCLIENT_LINUX) sendExtendedOpcode(0x00, std::string()); Embaixo de

    void ProtocolGame::AddShopItem(NetworkMessage_ptr msg, const ShopInfo item) { const ItemType& it = Item::items[item.itemId]; msg->AddU16(it.clientId); if(it.isSplash() || it.isFluidContainer()) msg->AddByte(fluidMap[item.subType % 8]); else if(it.stackable || it.charges) msg->AddByte(item.subType); else msg->AddByte(0x01); msg->AddString(item.itemName); msg->AddU32(uint32_t(it.weight * 100)); msg->AddU32(item.buyPrice); msg->AddU32(item.sellPrice); } Adicione

    void ProtocolGame::parseExtendedOpcode(NetworkMessage& msg) { uint8_t opcode = msg.GetByte(); std::string buffer = msg.GetString(); // process additional opcodes via lua script event addGameTask(&Game::parsePlayerExtendedOpcode, player->getID(), opcode, buffer); } void ProtocolGame::sendExtendedOpcode(uint8_t opcode, const std::string& buffer) { // extended opcodes can only be send to players using otclient, cipsoft's tibia can't understand them NetworkMessage_ptr msg = getOutputBuffer(); if(msg) { TRACK_MESSAGE(msg); msg->AddByte(0x32); msg->AddByte(opcode); msg->AddString(buffer); } } Embaixo de

    case 0x1E: // keep alive / ping response parseReceivePing(msg); break;
    Adicione

    case 0x32: // otclient extended opcode parseExtendedOpcode(msg); break; enums.h

    Embaixo de

    enum GuildLevel_t { GUILDLEVEL_NONE = 0, GUILDLEVEL_MEMBER, GUILDLEVEL_VICE, GUILDLEVEL_LEADER }; Substitua o OperatingSystem por este

    enum OperatingSystem_t { CLIENTOS_LINUX = 0x01, CLIENTOS_WINDOWS = 0x02, CLIENTOS_OTCLIENT_LINUX = 0x0A, CLIENTOS_OTCLIENT_WINDOWS = 0x0B, CLIENTOS_OTCLIENT_MAC = 0x0C, };/
    player.h

    Embaixo de
     

    void sendCreatureShield(const Creature* creature) Adicione

    void sendExtendedOpcode(uint8_t opcode, const std::string& buffer) {if(client) client->sendExtendedOpcode(opcode, buffer);} luascript.cpp

    Embaixo de

    void LuaScriptInterface::registerFunctions() { Adicione

    //doSendPlayerExtendedOpcode(cid, opcode, buffer) lua_register(m_luaState, "doSendPlayerExtendedOpcode", LuaScriptInterface::luaDoSendPlayerExtendedOpcode); Embaixo de

    SHIFT_OPERATOR(int32_t, LeftShift, <<) SHIFT_OPERATOR(int32_t, RightShift, >>) SHIFT_OPERATOR(uint32_t, ULeftShift, <<) SHIFT_OPERATOR(uint32_t, URightShift, >>) #undef SHIFT_OPERATOR Adicione
    int32_t LuaScriptInterface::luaDoSendPlayerExtendedOpcode(lua_State* L) { //doSendPlayerExtendedOpcode(cid, opcode, buffer) std::string buffer = popString(L); int opcode = popNumber(L); ScriptEnviroment* env = getEnv(); if(Player* player = env->getPlayerByUID(popNumber(L))) { player->sendExtendedOpcode(opcode, buffer); lua_pushboolean(L, true); } lua_pushboolean(L, false); return 1; } luascript.h

    Embaixo de

    virtual void registerFunctions(); Adicione

    static int32_t luaDoSendPlayerExtendedOpcode(lua_State* L); creatureevent.h
    .
    Substitua
    CREATURE_EVENT_PREPAREDEATH Por isso

    CREATURE_EVENT_PREPAREDEATH, CREATURE_EVENT_EXTENDED_OPCODE // otclient additional network opcodes Embaixo de
    uint32_t executePrepareDeath(Creature* creature, DeathList deathList); Adicione
    uint32_t executeExtendedOpcode(Creature* creature, uint8_t opcode, const std::string& buffer); creatureevent.cpp

    Embaixo de

    else if(tmpStr == "death") m_type = CREATURE_EVENT_DEATH; Adicione

    else if(tmpStr == "extendedopcode") m_type = CREATURE_EVENT_EXTENDED_OPCODE; Embaixo de

    case CREATURE_EVENT_DEATH: return "onDeath"; Adicione
    case CREATURE_EVENT_EXTENDED_OPCODE: return "onExtendedOpcode"; Embaixo de

    case CREATURE_EVENT_DEATH: return "cid, corpse, deathList"; Adicione
    case CREATURE_EVENT_EXTENDED_OPCODE: return "cid, opcode, buffer"; Embaixo de

    std::cout << "[Error - CreatureEvent::executeFollow] Call stack overflow." << std::endl; return 0; } } Adicione
    uint32_t CreatureEvent::executeExtendedOpcode(Creature* creature, uint8_t opcode, const std::string& buffer) { //onExtendedOpcode(cid, opcode, buffer) if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { env->setRealPos(creature->getPosition()); std::stringstream scriptstream; scriptstream << "local cid = " << env->addThing(creature) << std::endl; scriptstream << "local opcode = " << (int)opcode << std::endl; scriptstream << "local buffer = " << buffer.c_str() << std::endl; scriptstream << m_scriptData; bool result = true; if(m_interface->loadBuffer(scriptstream.str())) { lua_State* L = m_interface->getState(); result = m_interface->getGlobalBool(L, "_result", true); } m_interface->releaseEnv(); return result; } else { #ifdef __DEBUG_LUASCRIPTS__ char desc[35]; sprintf(desc, "%s", player->getName().c_str()); env->setEvent(desc); #endif env->setScriptId(m_scriptId, m_interface); env->setRealPos(creature->getPosition()); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(creature)); lua_pushnumber(L, opcode); lua_pushlstring(L, buffer.c_str(), buffer.length()); bool result = m_interface->callFunction(3); m_interface->releaseEnv(); return result; } } else { std::cout << "[Error - CreatureEvent::executeRemoved] Call stack overflow." << std::endl; return 0; } } game.h

    Embaixo de


    int32_t getLightHour() {return lightHour;} void startDecay(Item* item); Adicione
    void parsePlayerExtendedOpcode(uint32_t playerId, uint8_t opcode, const std::string& buffer);
    game.cpp

    Embaixo de

    player->sendTextMessage(MSG_INFO_DESCR, buffer); }
    Adicione

    void Game::parsePlayerExtendedOpcode(uint32_t playerId, uint8_t opcode, const std::string& buffer) { Player* player = getPlayerByID(playerId); if(!player || player->isRemoved()) return; CreatureEventList extendedOpcodeEvents = player->getCreatureEvents(CREATURE_EVENT_EXTENDED_OPCODE); for(CreatureEventList::iterator it = extendedOpcodeEvents.begin(); it != extendedOpcodeEvents.end(); ++it) (*it)->executeExtendedOpcode(player, opcode, buffer); } /creaturescripts/creaturescrips.xml

    <event type="extendedopcode" name="ExtendedOpcode" event="script" value="extendedopcode.lua"/>
    /creaturescripts/extendedopcode.lua
    OPCODE_LANGUAGE = 1 function onExtendedOpcode(cid, opcode, buffer)         if opcode == OPCODE_LANGUAGE then          -- otclient language          if buffer == 'en' or buffer == 'pt' then                  -- example, setting player language, because otclient is multi-language...                  --doCreatureSetStorage(cid, CREATURE_STORAGE_LANGUAGE, buffer)          end         else          -- other opcodes can be ignored, and the server will just work fine...         end end Créditos : MaXwEllDeN 100% por adaptar o código
  18. Gostei
    Mauro Sérgio deu reputação a Schiffert em Limite de effects   
    ai ai gente, se está no client de vcs, ele ja está no seu tibia, porém pra tu fazer uma magia com esses effects vcs terao que editar o seu talkactions/magiceffect 
    trocar lá onde tem 0 > 59 ou sei la... mas tem um valor, tu coloca um valor elevado, se for 0 > 59 tu poe 0 > 100
    ai tu usa no /z 60 por exemplo, pra saber qual o effect, mas pra fazer spell tu vai ter que colocar o numero, inventar nome, mesmo colocando no lib não dá
    ...
    tem que ser só pelo numero dai digo pra vcs, é complicadinho fazer isso e dá um pouco de trabalho
  19. Gostei
    Mauro Sérgio recebeu reputação de drakyom em (Pedido) Como fazer aria pvp em poketibia (Urgente)   
    Não Só Vai Atacar Na Area PVP
    Deixe Seu Seu .Lua Assim:
     
        -- Battle
        -- NOTE: showHealingDamageForMonsters inheritates from showHealingDamage.
        -- loginProtectionPeriod is the famous Tibia anti-magebomb system.
        -- deathLostPercent set to nil enables manual mode.
        worldType = "pvp-enforced"
        protectionLevel = 1
        pvpTileIgnoreLevelAndVocationProtection = true
        pzLocked = 60 * 1000
        huntingDuration = 1 * 60
        criticalHitChance = 7
        criticalHitMultiplier = 1
        displayCriticalHitNotify = false
     
     
    Prestou? Rep+ Happy New Year.
  20. Gostei
    Mauro Sérgio deu reputação a TsplayerT em Afk System!   
    ALO, COM QUEM EU FALO?
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    INTRODUÇÃO
     
        Galera, nesse topico estarei ensinando um projeto meu de Afk System, que foi esqueçido.
    Esse sistema é bem basico e simples, porém é legal, util e interresante...
    Só avisando... Ele é totalmente configuravel xD
    Então vamos la...
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    COMO FUNCIONA
     
      
       O jogador digitará um comando e fica saindo automaticamente umas mensagens em cima dele, também apareçerá uma mensagem de o jogador estará ausente, e apareçerá tambem uma janela dissendo que se o jogador se mover será cancelado o  sistema.
        NÃO INTENDEU? VEJA COM SEUS PROPRIOS OLHOS.

    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    ENSINANDO
     
       Crie um arquivo chamado "Afk" em tipo ".lua" em: data\talkactions\scripts
     
    e coloca essas configurações dentro do arquivo criado:


     
    Após fazer isso abra o arquivo "TalkActions" do tipo ".xml". Localizado em: data\talkactions
     
    E coloque essa linha no aquivo:



     
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    CONFIGURANDO
     
    ESSAS CONFIGURAÇÕES SÃO PARA TROCAR AS MENSAGENS.
     
         Onde está escrito em VERMELHO, é onde fica as mensagem que fica em cima do Jogador.
    Obs¹: Caso queira mensagem diferentes, digite-as entre aspas e separadas por virgula
    Obs²: Essas mensagens ficam repetindo sequencialmente.
     
         O número escrito em AZUL, é o tempo em segundos que a mensagem apareçerá (Intervalo)
     
         Em AMARELO, é a mensagem que apareçerá em vermelho, essa mensagem é como se fosse porque o jogador está ausente(Configurado somente no arquivo, não pelo jogador)
     
         O CINZA ESCURO, é a mensagem que apereçerá na janela, para alertar o jogador que se ele se mover ele para de mandar essas mensagens.
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    AJUDEI? GOSTOU? FOI BOM? ESTÁ EXPLICATIVO? ESTÁ ORGANIZADO? DA REP+ afinal, não explode o Dedo..
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
  21. Gostei
    Ola pessoal estou neste tutorial para revelar todos os fundamentos de um otserv pokemon.




    Quando eu desenvolvia otservs pokemons eu sempre utilizava de base o pokemon dash.




    Pokemon dash foi criado pelo brun123 o mesmo criador do PDA.




    Logo apos o lançamento do PDA o pokemon dash perdeu sua popularidade mais continua sendo umas melhoras opções para o desenvolvimento de um otserv pokemon.





    Neste tutorial vamos ver com o pokemon dash utiliza LUA e como seu funcionamento e tão perfeito.




    PokeBalls


    As pokebolas que são famosas bolas que guardam monstrinhos que podem ser soltos pelo treinador.
    No seu otserv pokemon basicamente suas pokebolas são itens normais como atributos diferentes.
    A função doItemSetAttribute(....) e a responsável pelo nome,vida e etc....



    doItemSetAttribute(item, "poke", params.poke) doItemSetAttribute(item, "nome", params.nome) doItemSetAttribute(item, "description", params.description) doItemSetAttribute(item, "description", "Contains a "..i.." +1.") doItemSetAttribute(item, "nick", ""..i.."") r1 = math.random(1,2) if r1 == 1 then doItemSetAttribute(item, "gender", 3) end if r1 == 2 then doItemSetAttribute(item, "gender", 4) end Todos estes atributos são verificados durante a action do go/back e logo seu summon veem com características únicas. Vamos ao exemplo do script que eu fiz usando as funções do executavel do PDA. Incrivelmente os summons foi uma etapa fácil para a criação dos sistema dos pokemons porque tibia já acompanha funções para summonar getCreatureMaster(cid) getCreatureSummons(cid) doSummonCreature(name, pos) doRemoveCreature(cid[, executeLogout = true]) Estas funções foram muito importante para que seu otserv pokemon ser construído. A manipulação das funções e de fácil utilização mais precisa tomar algumas precações. A função getCreatureSummons(cid) verifica TODOS os summons do player então precisamos usar # ou uma estrutura de repetição tal como for. Vamos verificar se o player tem pelo menos um summon: for _,summon in pairs(getCreatureSummons(cid)) do if summon > 0 then ..... return true end if #getCreatureSummons(cid)) > 0 then .... return true end Habilidades Pokemons Não foi um grande desafio criar o order sytem mais a quantidade de habilidades custo algumas horas de trabalhos. Os famosos ride e fly foram criados usando funções tibianas o que acontece e que quando o order e clicado no player acontece uma rápida troca de outfit e a colocação de algumas storages. Light/Rock Smash/Cut e Ditto são sistema secundários do order sytem. Todas essa habilidades foram feitas em apenas uma action. Na action do order existe varias verificações do item2 tais como itemID,Monstro e Player. O order sytem e um desafio para a edição pois a retirada de apenas uma storage pode bugar o sistema completamente. Moves PokemonsEstes foram complicados e estão ate hoje em evolução. São muitos ataques de pokemons e diferentes de tibia os ataques foram todos construindo em talkactions separados com (m1,m2,m3,m4,m5,m6,m7,m8,m9,10,m11,m12). Foram utilizados funções para mandar efeitos e retirar danos doAreaCombatHealth(....) doSendMagicEffect(...) Tabelas local flamen = createCombatArea{ {0, 0, 2, 0, 0}, {0, 1, 1, 1, 0}, {0, 1, 1, 1, 0}, {0, 1, 1, 1, 0}, {0, 0, 0, 0, 0} } [6] = {x = { pok = wartortle, spell = "Bubbles", minLv = 20, ex = 8000002, base1 = 120, base2 = 135, dista = 4, bonus = 4.2, type = "water", cd = 8 } }


    Para os iniciantes a edição de tal script foi um pouco complicado.
    Suas variáveis foram todas colocadas em tabelas deixando o script um pouco mais leve.


    O script e ainda maior do que o order sytem

    Creditos: Caotic
    Summons
  22. Gostei
    Mauro Sérgio deu reputação a Valakinhas em Pokémon dash v7 (Open source)   
    o certo era cada 1 contribuir com alguma coisinha nem que seja um mizero bug
    assim o forum fica mais descente e com menos pda
    eu estou pensando se devo ou não postar o erondino do aberos com a barra de cooldown funcional
     
    Agora todo dia vim aqui no forum e ver pda para todo lado desanima 
     
    eu gosto de vim aqui  ver todo dia uma noticia nova igual antigamente 
  23. Gostei
    Mauro Sérgio deu reputação a aleknnto em [MOD] Character List ( Aparece o Char no Login )   
    Olá, Galerinha do TK... Estou Trasendo este script, não foi feito por mim, mas eu fui dando uma reformulada, e tenho recebido muitos pedidos... lembrando que ele esta adaptado para POKEMON,
    Ele Está desta Forma, Infelizmente estou sem Tempo, Trabalhando Duro em um projeto, com minha equipe mais enfim, ja é uma otima base !
     
    characterlist.rar

     
    Scan Virus Total ! :
    https://www.virustotal.com/pt/file/52b5e34db021895946a9184328a58d6713e3ecd6bbf08a2927bd5258e9ba128e/analysis/1450881632/
    xD
  24. Gostei
    Bom Pessoal Esse é Meu Primeiro Post Aqui Então Se Não Estiver Na Areá Certa Por Favor Mova-o, Sem Mais Delongas Vamos Falar Do Servidor.
     
    Informações Básicas: O Servidor Contém 4 Gerações De Pokemons Completa, E Vários Shinys, Também Contem Mega Pokemons (Mais De 30), O Mapa é Parecido Com O Do OTPokemon, Varias Quests Interessantes Feitas.
     
    Os Servidor Tem Alguns Sistemas Tais Quais:
    Clãn System (No Total De 8, E Cada Um Da Outfit E Outras Coisas)
    Police Ou Rocket System, Permitindo O Player Escolhe Um Lado Da Força Kk (Ganha Tambem Uma Outfit Exclusiva)
    O Servidor Contém Tambem Boost Stone System (Boost Até +60)
    E Claro Não Podemos Deixa De Citar A Bike System Com Almento De Velocidade Configuravel.
    No Mapa Também Tem PVP  E Trade Center (Para O PVP Funcionar Quando Ligar Serve Click Em World Type > PVP-Enforced.
    Falando Um Pouco Do Client... Bom Ele é Bem Comum é Um OTC Com Todas Função Funcionando.
     
    Erros: Alguns Faceis De Tirar Na Parte Dos Pokemon
    Sem Potrait Alguns Pokemon (Não Acho Que Seja Erro Pois Da Pra Por Facil)
     
    Prints:
     
    ATUALIZAÇÃO V3
     
     
     
    Link Do Download Do Client E Servidor V1.
    http://www.4shared.com/rar/1tIOhOdOba/Base_PxP_Servidor_E_Client_V1.html
     
    Link De Download Do Client E Servidor V2.
    http://www.4shared.com/rar/ZMe4QFWDce/Pokemon_X_Power.html
     
    Link De Download Do Client E Servidor V3
    http://www.mediafire.com/download/kx6kobli6va034s/Pokemon+X+Power.rar
     
    Scan:
    https://www.virustotal.com/pt/file/b830f6800401d37e8ac7d2b0ae809c5a79a472f2373ec5ac5d561ccc354dab11/analysis/1452782049/
    Creditos A Mim Que Fiz Tudo, Mais Informações No Site: http://maurosg8.wix.com/dwpoketibia
  25. Gostei
    Mano 1º Se Estiver Falando Dos Erro Que Aparece Ao Ligar Server, Quem Tem O Minimo De Noção De Scripter Tira Em 2 Minutos.
    2º Tenha Respeito Pelo Post Dos Outros, Pois Pelo Que Vejo Não Ajudas-te Nem Nada Do TK.
    Então Faça Melhor Depois Nós Conversa.
     

Informação Importante

Confirmação de Termo