
Histórico de Curtidas
-
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+
-
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+
-
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!
-
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
-
Mauro Sérgio deu reputação a SrP1kachu em [Link Quebrado]Pokémon MythologyBom 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.
-
Mauro Sérgio recebeu reputação de arley885 em [PEDIDO] Script da Bike do OTPCara 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.
-
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+
-
Mauro Sérgio deu reputação a L3K0T em Shop System otPokémon AMV Modern AACFalaaaaa 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
-
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
-
Mauro Sérgio deu reputação a GOD Vitor em [MOD] Store PokémonEae 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.
-
Mauro Sérgio deu reputação a
Golfem Tutorial Mod OtClientOlá, 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.
-
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)
-
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
-
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.
-
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
-
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+
-
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
-
Mauro Sérgio deu reputação a Schiffert em Limite de effectsai 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
-
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.
-
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..
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ஜ۩۞۩ஜ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
-
Mauro Sérgio deu reputação a Gabrieltxu em [[Mini - Tuto]Entenda O Funcionamento De Um Otserv PokemonOla 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 -
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
-
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
-
Mauro Sérgio recebeu reputação de Elieltederiche 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
-
Mauro Sérgio recebeu reputação de Elieltederiche em Servidor PokeXPower V3 By Draw (ATUALIZADO Com A V3, 21/05/2016)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.