Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 08/03/13 em todas áreas
-
2 pontos
-
Adicionando novas spells - PDA
Drakopoulos reagiu a Slicer por um tópico no fórum
Ola galera hoje trago para vocês um tutorial de como adicionar novas spells aos pokemons em um servidor 'PDA'... Tutorial feito a pedido do usuario: @josegremista Importante: Antes de começar gostaria de deixar claro que criar uma nova spell em um servidor de pokemon eh totalmente diferente que criar uma spell em um servidor de tibia, as spells de pokemon são criadas em lib/pokemon moves.lua e não na pasta spells como no tibia... A pasta spells vai simplismente 'chamar' as spells feitas na pasta lib. Vão em lib/pokemon moves.lua e achem isso.. Caso estejam usando meu servidor: --/////////////////////// PASSIVAS /////////////////////////--Caso usem outro tipo de 'PDA', vão ao final do script e achem isso: end return true end E entao adicionem um outro 'elseif'... elseif spell == "xxxx" thenOnde "xxxx" é o nome da nova spell... E então embaixo disso, criem o script da nova spell.. Exemplo: local pos = getThingPosWithDebug(cid) doMoveInArea2(cid, 91, inferno1, FIREDAMAGE, 0, 0, spell) addEvent(doDanoWithProtect, math.random(100, 400), cid, FIREDAMAGE, pos, inferno2, -min, -max, 0) Importante: Caso usem meu servidor, aconcelho a olharem o arquivo lib/newStatusSyst.lua, la estão todas as funções de dano do servidor... Importante: Não coloquem areas de spells nesse arquivo! As areas de spells devem ser colocadas em lib/areas.lua, para deixar o outro script mais organizado... Depois de criado o script da spell, vão em lib/configuration.lua e achem a tabela movestable, e então adicionem a nova spell nos pokes q vocês quiserem... No meu 'PDA' usem: move1 = {name = "xxxx", level = aa, cd = bb, dist = cc, target = dd, f = ee, t = "yyyy"},Onde: "xxxx" = nome da spell, aa = level que o poke/player precisa ter para usar a spell, bb = cd, tempo de espera, para usar a spell denovo, cc = distância minima que o poke tem q tar pra usar a spell, dd = coloquem 1, caso precise ter um target pra usar a spell, ou coloquem 0, caso não precise de target pra usar a spell, ee = esse é o 'dano' da spell, esse valor vai ser usado na formula final de dano de cada spell -caso seja uma spell que não tem dano coloquem 0-, "yyyy" = é o 'tipo' da spell -"grass", "water", "fire"...- Caso usem outro tipo de 'PDA' usem: move1 = {name = "xxxx", level = aa, cd = bb, dist = cc, target = dd},Onde: "xxxx" = nome da spell, aa = level que o poke/player precisa ter para usar a spell, bb = cd, tempo de espera, para usar a spell denovo, cc = distância minima que o pokemon tem que tar pra usar a spell, dd = coloquem 1, caso precise ter um target pra usar a spell, ou coloquem 0, caso nao precise de target pra usar a spell Importante: caso usem outro tipo de 'PDA' o dano e o 'tipo' da spell ficam em lib/moves.lua... ["xxxx"] = {f = aa, t = "yyyy"}, Onde: "xxxx" = nome da spell, aa = esse é o 'dano' da spell, esse valor vai ser usado na formula final de dano de cada skill -caso seja uma skill que n]ao tem dano coloquem 0-, "yyyy" = é o tipo da spell -"grass", "water", "fire"... Depois de feito isso, vão em spells/ps/ e copiem algum arquivo la e mudem o nome para o nome da sua nova spell e depois abram esse arquivo e mudem isso: docastspell(cid, "xxxx")Onde "xxxx" é o nome da spell... Depois abram o arquivo spells/spells.xml e adicionem uma nova linha... <instant name="xxxx" words="yyyy" lvl="1000" mana="0" event="script" value="ps/xxxx.lua"></instant>Onde: "xxxx" = nome da nova spell, "yyyy" = vocês colocam "spellYYY" onde "YYY" eh o proximo numero em sequencia, olhem a ultima spell adicionada q vocês vão intender... E por ultimo, vão em monster/pokes/ e adicionem a spell nos pokemons que vocês quiserem... <attack name="xxxx" interval="yyyy" chance="zzzz" range="aaaa"/>Onde: "xxxx" = nome da spell, "yyyy" = de quanto em quantos, milésimos de segundos -1s = 1000-, o pokemon tentara usar a spell, "zzzz" = a chance do pokemon conseguir usar a spell, "aaaa" = distância minima pro pokemon começar a usar a spell Pronto, espero q vocês gostem do tutorial. Qualquer erro ou se faltou alguma coisa me avisem para eu editar o post ^^1 ponto -
Mapa de Narutibia 8.54 Meu primeiro tópico aqui no x-tibia espero que fique bom. Esse mapa erá do meu server de narutibia o record foi 245 players online,eu editei ele para ficar com uma aparencia melhor os players gostarão muito de jogar e para não esperdiçar o mapa eu resolvi postar ele aqui no x-tibia.Estou postando ele aqui porque parei com o projeto,não vou mexer mais com tibia.E eu tirei o database do servidor porque estava lotado então e só vocês pegarem outra database e colocar na pasta do servidor a posição da account manager para vocês trocarem o database>1027 914 5. Bugs:Só o do Nto Shinob,mais não afeta o server. Informações Server está 90% sem errors 10% é os errors que mostra quando abre o server. Edições:Konoha a cidade principal a Arena e o Templo. Respaws:100% pelo oque eu analizei Prints: Creditos: 1. HoobinHood:por ter criado o Nto Shinob 2. DarkHeel:peguei o mapa do tópico dele como support para min. 3. Makita Eu:Por ter administrado o server bem editado ele,e ter feito ele ter um pouco de sucesso. Obs: No conteúdo do download, o Server o Client já vem junto na pasta do servidor Se for postar o servidor em outro site não esquecer os devidos creditos.1 ponto
-
PDA Sem lvl 1.9 (Editado Por Bolz)
yoko reagiu a SamueLGuedes por um tópico no fórum
Fala galera do xtibia, hoje trago a voçes, o PDA Slicer 1.9, editado por min, eu passei um bom tempo editando ele, eu até deixei online, entrou 52 players. mais isso nao importa, oque importa e as informaçoes: • Menu: ├ Informações; ├ Ediçoes; ├ Erros; ├ Prints; ├ Download; └ Creditos. • Informações Basicas • • Edições / Ajustes • • Erros Do Servidor • • PrintScreen • • Download's • Servidor Pokemon Dash (editado por Bolz) client incluido na pasta do servidor. 4Shared: http://www.4shared.com/rar/WnEElQIT/PDA_Edited_by_Bolz.html MediaFire: http://www.mediafire.com/?cvm4f5bfksxjbe2 • Scan • https://www.virustotal.com/pt/file/e37c5683162d0264ee2115810c5930f196f516c240d48ce6aebd5102854baaec/analysis/1367376049/ @atualizado 05/05/2013 • Menu: ├ Ediçoes; ├ Prints; ├ Download; • Edições / Ajustes • • PrintScreen • • Download's • Server PDA Slicer editor Por Bolz v2 (client ja na pasta) MediaFire: http://www.mediafire.com/?thh05yhnc7srasn • Scan • https://www.virustotal.com/pt/file/3fd8e0702e23b1f83ce9421f2f9a3808071222d084cf77a385d03e0f3f5099fc/analysis/ Atualizado 30/05/2013 desculpe a demora, eu estava sem tempo, o servidor ja estava arrumado só faltava postar, e só tive hoje para postar. é uma pequena atualização, por isso é 2.5, e nao 3.0, é algumas correções do serv. na proxima atualização tentarei colocar pokemons da 3° geração ou, o icon system, oque tiver ao meu alcanse eu tentarei colocar. abraços. ├ Ediçoes; ├ Prints; ├ Download; └ Creditos. • Edições / Ajustes • • PrintScreen • • Download's • como pedido de alguns, eu deixei o client separado do servidor. Server PDA Edited By Bolz 2.5: http://www.mediafire.com/?ry55tjk2l4l5cow Client: http://www.mediafire.com/?nwdf2nfk9txk35f • Scan • galera eu nao consegui fazer o scan do servidor e do client, quando termina de carregar, ele diz que falhou, se alguem poder colocar o scan, eu agradeçeria muito. abraços Atualizado 24/07/2013 Iaew galera, bem eu falei que ia atualizar para v3, e ta ai, só que nao consegui colocar muito doque eu falei. por falta de espaço no client. porem eu irei começar depois dessa atualização, um novo client, leve, e com espaço, que na verdade, vai ser o client do PDA 1.9. mas eu irei tirar todas as sprites de tibia que existem nelas. e so deixarei as de pokemon. assim tera mais espaço na hora de colocar um novo pokemon. chega de falar, vamos ao que interessa: ├ Ediçoes; ├ Prints; ├ Download; └ Creditos. • Edições / Ajustes • • PrintScreen • • Download's • Server 3.0 (Media Fire): http://www.mediafire.com/?j7e112fw6gaggnj Server 3.0 (4Shared): http://www.4shared.com/rar/2CVWvjAy/PDA_Edited_by_Bolz_v3.html Client 3.0 (MediaFire): http://www.mediafire.com/?4wx5dyy6hyq8upi Client 3.0 (4Shared): http://www.4shared.com/rar/xBrGwfMy/Client_v3.html • Scan • Scan do server: https://www.virustotal.com/pt/file/125ecfbe02cb0b154769a104518100cb30fe28e5fddd58891b708a1aa7a68ab8/analysis/1374685280/ Scan do client: o scan do client eu nao consegui fazer, ele sempre trava na hora de scania, se alguem puder fazer o scan dele eu agradeço • Creditos • Slicer (pelo servidor) Brun123 (por alguns scripts, e por criar o pda) Stylo Maldoso (pelo mapa) Eu (por editar) Xtibia (por alguns scripts) OBS: comentem, e votem no enquete, abraços galera.1 ponto -
[9.83] VoodsOTX
lordzorro reagiu a Animal Pak por um tópico no fórum
Informações: Montarias 100%; Items 97%; Outfits 100%; Trainer Offline Estatuas e Camas 100%; Trainers; Zona Vip; Mais Cidades e Novos Spawns; Quest Vip e Outras Quests Adicionadas; Set Premium; Novos Sistemas, ex: !tp house, !character sell, Caixa Eletrônico e outros; Novos Npcs; Novos Items; E Mais; Servidor 100% estável! Imagens: Account GOD: admin/admin Download Server: Download Scan Server: Scan Créditos Thez BT Outros SmoOker1 ponto -
Southshire - RadBR
Miinerva reagiu a Fir3element por um tópico no fórum
A cidade foi feita pela equipe do RadBR, não está totalmenta completa. Posição do templo: 1677, 1040, 4 Download: http://www.mediafire.com/?lm9c1983dew9db5 Scan: https://www.virustotal.com/pt/file/295d081d0370d9b5090850f5b852d2e2614d44e03f80786a5acee868aba8cee7/analysis/1374323513/ southshire.rar1 ponto -
Um amigo me pediu para fazer um script para ele então depois de pronto resolvi postar para a galera. Ao ligar o otserv depois de 86400000 milisegundos / 24 horas o script vai detectar se o ot esta em OPEN ou OPTIONAL, se tiver em OPEN vai mudar para OPTIONAL e vice-versa. espero ter sido claro se não só deixar um comentário que explico melhor. vamos lá Em globalevents.xml interval = o tempo para ocorrer a mudança Crie um arquivo lua em data\globalevents\scripts com o nome Worldtype e adicione: Em ROXO é a mensage que ira aparecer ao mudar para Optional PvP Em AZUL é a mensage que ira aparecer ao mudar para Open PvP é isso ai.1 ponto
-
Farendar - Jogo original derivado de otserv!
vinnevinne reagiu a fabriciodamazio por um tópico no fórum
O servidor em si não tem muitas coisas diferentes dos usados pelo pessoal. Nosso foco foi mais em fazer graficos, monstros, quests, historia, etc 100% diferente do usado. Mas o que eu puder ajudar o pessoal é só pedir!1 ponto -
Farendar - Jogo original derivado de otserv!
fabriciodamazio reagiu a vinnevinne por um tópico no fórum
massa aew manolow parabns tem futuro. tem como disponibilizar o servidor? se tiver mande por mp1 ponto -
Baiak Zandalari Map Full Sql
SkyTheKing reagiu a kevin2010 por um tópico no fórum
Mapa: Zandalari (Baiak) Baiak Com MAis Rpg QUE JA Vi Editado por: Marcos Bolado Do Tibia Ki*** Editado por: Kevin2010 Xtibia Postado Sql XD Senha do God god/god Account Manger 1/1 Bora galerinha, estou disponibilizando para vocês meu trabalho no qual fiquei meses trabalhando... O motivo pelo qual estou disponibilizando para download é pelo fato de estar muito ocupado com minha profissão, e por este motivo não tive tempo para cuidar do server, nem dos nukers... (risos). Gostaria de lembrar que O zandalari OT ja teve 200 players online em 1 semana de servidor, isso prova o quanto sucesso este mapa faz, e quanto inovador ele é... então espero que façam bom proveito deste grande projeto que é o zandalari! -TFS 0.4_DEV COMPILADO 100% ESTAVEL -PASTA DATA 0 BUGS, REMOVI TODOS OS BUGS POSSIVEIS PODEM CONFERIR -VOCAÇÕES BALANCEADAS -PRONTO PARA RODAR- SEGUE ABAIXO AS IMAGENS: TEMPLO ZANDALARI: ZANDALARI CITY: NPC'S ZANDALARI: HOUSES: DESERTO DE NOATUN AO SUL DE ZANDALARI CITY (OPEN WAR): CIDADES INTERLIGADAS: MOUNTHRIZE SEA (ILHA DOS MISTERIOS) PRECISA NADAR ATÉ A ILHA: [/img] TELEPORTS HUNT: TRAINERS: TELEPORTS QUEST: ARENA PVP: Achei Bem MAssa Ai To Compartilhano pq e massa DOWNLOAD: http://www.4shared.c...wPu/OTSql.html? SCAN: https://www.virustotal.com/file/c65b900a932fc8562961c026eff4d4d09a40bdae28f8d2ca6796d80e5fb9ed4d/analysis/1335120466/ Creditos: Marcos Bolado Do TibiaKi*** Eu Por Compartilha o map com xtibia e Postado Sql +Rep Plx Eu Ajudei Quero Meu Rep kk1 ponto -
Baiakzik Yourots By Baiakzik V 1.0
SkyTheKing reagiu a BaiakZik por um tópico no fórum
NOVO BAIAKZIK YOUROTS Recomendado A Exp Baixa Exp No Max 1k e 500 Agora Vamos As Ss's Templo Tp's Vip2 Arena Free Download http://www.4shared.c...Baiakzik_2.html Na Versao 2.0 irei criar vip3 e mas 1 set novo e com 5 hunts novas free e quase 10 pra vip3 Ate Agr So Isso Acc do god/god Scan http://virusscan.jot...7c7a2b0bbb328e7 Creditos Bryaan Itens Mas Fortes Sao Os Vips Que Estao /\ Do Templo Amostrando !! BUG DE GRANA JA FOI RETIRADO DO MAPA BRYAN1 ponto -
Para as primeiras sprites, estão boas , o que eu posso te dizer para melhorar, é ler alguns tutoriais e ir avançando ao longo do tempo. Aprenda sobre AA, como evitar pillow-shading..1 ponto
-
ish, não sei então..1 ponto
-
Função
fitaisolante reagiu a Eskylo por uma questão
function onAdvance(cid, skill, oldLevel, newLevel, vocation) local efeito = {27,28, 29,79} local sword = getPlayerSkillLevel(cid, SKILL_SWORD) local club = getPlayerSkillLevel(cid, SKILL_CLUB) local axe = getPlayerSkillLevel(cid, SKILL_AXE) if getPlayerStorageValue(cid,99929) == -1 and getPlayerLevel(cid) == 33 and getPlayerVocation(cid) == 1 then doPlayerAddItem(cid, 2187, 1) doSendMagicEffect(getThingPos(cid), efeito[math.random(#efeito)]) setPlayerStorageValue(cid, 99929, 1) doPlayerSendTextMessage(cid, 22, "Você chegou ao level 33 e recebeu uma Wand Of Inferno.") elseif getPlayerStorageValue(cid,99930) == -1 and getPlayerLevel(cid) == 33 and getPlayerVocation(cid) == 2 then doPlayerAddItem(cid, 2183, 1) doSendMagicEffect(getThingPos(cid), efeito[math.random(#efeito)]) setPlayerStorageValue(cid, 99930, 1) doPlayerSendTextMessage(cid, 22, "Você chegou ao level 33 e recebeu uma Hailstorm Rod.") elseif getPlayerStorageValue(cid,99933) == -1 and getPlayerLevel(cid) == 33 and getPlayerVocation(cid) == 3 then doPlayerAddItem(cid, 7367, 1) doSendMagicEffect(getThingPos(cid), efeito[math.random(#efeito)]) setPlayerStorageValue(cid, 99933, 1) doPlayerSendTextMessage(cid, 22, "Você chegou ao level 42 e recebeu um Enchanted Spear.") elseif getPlayerStorageValue(cid,99934) == -1 and sword >= club and sword >= axe and getPlayerVocation(cid) == 4 and getPlayerLevel(cid) == 30 then doPlayerAddItem(cid, 2407, 1) doSendMagicEffect(getThingPos(cid), efeito[math.random(#efeito)]) setPlayerStorageValue(cid, 99934, 1) doPlayerSendTextMessage(cid, 22, "Você chegou ao level 30 e recebeu uma Bright Sword.") elseif getPlayerStorageValue(cid,99934) == -1 and club > sword and club > axe and getPlayerVocation(cid) == 4 and getPlayerLevel(cid) == 30 then doPlayerAddItem(cid, 2436, 1) doSendMagicEffect(getThingPos(cid), efeito[math.random(#efeito)]) setPlayerStorageValue(cid, 99934, 1) doPlayerSendTextMessage(cid, 22, "Você chegou ao level 30 e recebeu um Skull Staff.") elseif getPlayerStorageValue(cid,99934) == -1 and axe > sword and axe > club and getPlayerVocation(cid) == 4 and getPlayerLevel(cid) == 30 then doPlayerAddItem(cid, 3962, 1) doSendMagicEffect(getThingPos(cid), efeito[math.random(#efeito)]) setPlayerStorageValue(cid, 99934, 1) doPlayerSendTextMessage(cid, 22, "Você chegou ao level 30 e recebeu uma Beastslayer Axe.") end end eu falei embaixo da função principal, vc colocou em cima u.u1 ponto -
he enjoyed it but not the first pic, probably because of the floating borders as someone pointed it out in another forum too ^^1 ponto
-
[Encerrado]Proucura-se Equipe Para Server de Poketibia
cicerovictor reagiu a abmauromacedo por um tópico no fórum
Nome: Abmauro Macedo Idade: 16 Anos Experiência: 1 ano Contato: Abmauro Macedo Online 24 horas O que quer fazer? Criar o site e tenho experiência em outras áreas posso ajudar bastante. Porque deseja fazer parte da equipe? Pq já tentei criar um poketibia mas não tive ajuda. Obs: concerta [ Sripter(Urgentemente) ] e organize mais seu tópico amigo, sem querer ser critico por que eu não sou, somente estou dando sugestões.1 ponto -
aaae mlkote me ajudou, +REP pra você muito obrigado por compartilhar seus conhecimentos! Dúvida sanada, podem mover e fechar o tópico!1 ponto
-
1 ponto
-
Southshire - RadBR
Maenilse reagiu a Fir3element por um tópico no fórum
kasopsakopsa neh u-u dps que postei a print q vi que tava faltando uma ilha no oeste =(1 ponto -
[Encerrado] [PDA~BOLZ~] Problemas com quest's
theoriginalelijah reagiu a kttallan por um tópico no fórum
usa remeres e kd uma aushhuashuas usa remeres e bota ele em um lugar..1 ponto -
Menos detalhado.. AhuHAuHA1 ponto
-
Floresta assombrada que eu fiz para o Sky's Heart1 ponto
-
Bons Tempos quando agnt trabalhava neste server, eu gostaria muito de ver ele ir para frente , se alguem for colocar um onlime ne chama pra jogar ^^.1 ponto
-
hoje venho trazer um tutorial de como criar um client para servidores derivados: Começando: entre no site http://vapus.net/customclient e faça apenas o exe (como fazer explicação em "como funciona") baixe o pack de utilitários no fim do post nele contem: descompactador( para descompactar o client que você usa caso for compactado a dat pic e spr). pic editor: para trocar as imagens do client. reshack (para trocar o ícone) explicando como cada um funciona: Primeira parte: como criar client no vapus.net IP do seu servidor. o titulo do seu servidor que vai ficar na barra em cima.(entre o 2 e 3 tem uma opção marque ela se não vai dar bug) site(até 13 letras). site para criar a conta. site para logar a conta. site p quando servidor estiver off(até 13 letras). site para suporte(até 13 letras). o nome do chat geral(caso não queira mudar deixe default). Versão(muito importarte) Fazer o client Exe finalizado. Segunda parte: como descompactar o client base(caso seu client já tenha dat,pic,spr pule esta parte). clique em unpack pronto dat pic e spr estarão na pasta em que estava o client 2º modo se você não conseguiu com o primeiro: baixe e extraia o tibia unbinder coloque o client que você quer descompactar dentro da pasta bin renomeio para Tibia [Ou qualquer outro titulo que esteja seu Client, o titulo que conta é o titulo que esta na barra de cima onde fica o botão de fechar, então renomeie o Client para o titulo que aparecer la em cima.] execute com administrador unbinder e abra o client. execute os seguintes comandos no unbinder, title Tibia [Ou qualquer outro titulo que esteja seu Client, o titulo que conta é o titulo que esta na barra de cima onde fica o botão de fechar, então renomeie o Client para o titulo que aparecer la em cima.] client [a versão sem ponto no meio ex (client 854)] inject espere aparece o dat spr e pic na pasta do unbinder. execute exit no unbinder. Renomeie Unbinder.pic,Unbinder.spr e unbinder.dat para Tibia.spr, Tibia.dat e Tibia,pic Download no final do topico do unbinder Agora junte o exe,dat,pic e spr tudo em uma unica pasta. Terceira parte: abra o pic editor traduzido por rafael lucas( de preferencia execute com administrador). clique em arquivo/abrir e selecione a pic do seu client (que esta na pasta que voce uniu exe com dat pic e spr) selecione a imagem que vai ficar na capa do seu server no lugar da que esta agora (tem que ser com nome 0 ter o formato bmp e ser 640x480). clique em arquivo/compilar pronto já vai estar na pasta do pic editor sua nova pic. até aqui sua foto de entrada IP já estão editadas! acabou?! não ainda temos que trocar o ícone. quarta e ultima parte: instale e abra o reshack. faça uma imagem para o icone 64x64 vá até http://www.icoconverter.com/ selecione size 64 pixels e clique em convert. no reshack vá em file/open e selecione o exe do seu client. agora vá em icon/1 vai aparece um ícone 1033 clique com botão direito nele e em replace source. escolha seu ícone que você criou no primeiro passo. agora vá em file/save. Download download do pack:http://www.mediafire.com/download/44svi2cd8sk5zej/utilitarios_ot_server.rar Unbinder http://www.mediafire.com/?7zxbd999gh7g8zc Tutorial finalizado espero que tenha sido útil para vocês até a próxima!1 ponto
-
[Encerrado] ot server de poketibia
pedrodutra reagiu a jeffersonfds por um tópico no fórum
vc pode arrumar um server de poketibia com icon system1 ponto -
Compilando e rodando um OTServ em Linux (debian). Tutorial Definitivo
reidosnoobs reagiu a juliorpv por um tópico no fórum
Muito bem amigo! Foi pra ser simples e inteiro mesmo, indico esse tutorial para todos que pegam vps linux conosco pra tibia, e mesmo os que nunca tiveram experiencia nenhuma com linux, conseguem fazer 100% sozinhos, o bom é que depois que fiz esse tutorial, começou a sobrar tempo até pra eu tomar banho todos os dias. rsrs1 ponto -
Delay Para Um Comando
RenanBispo123 reagiu a jhon992 por uma questão
Não vou analisar o código acima, mais assim resolve o seu problema caso o de cima não esteja correto novamente. --[[ <(Advanced Reset System 2.0)> Autor: Juniior Cwb ;*. Contato: (Juniior_Cwb@hotmail.com) Versão: 2.0 Testado em: 8.50 e 8.60 TFS: 0.3.6 and 0.4.0 Atenção , Se Achar Esse Sistema em outro site ou forum favor comunicar Eu ( Juniior Cwb ) Juniior_Cwb@hotmail.com ) -=[Características]=- ~( Versão 2.0 )~ - Resets agora Armazenados na DataBase; (Sem Valor de Storage) - Instala o System e cria a Tabela de Resets com o comando "/installreset"; - Resets no Look do jogador ex: 22:10 You see Marcello [Reset 2] (Level 8). He is an elder druid.; - [sTAGES] para "Premium Account" e "Free Account"; ]] --=[Functions]=-- -- installReset()' [instala o Sistema.] -- tableResetInstall()' [Verifica Se o Sistema ja foi instaladao.] -- nowReseting()' [Verifica, retorna o erro ou reseta.] -- getPlayerReset(cid)' [Pega numero de resets do player.] -- checLevelStageReset(cid)' [Verifica o Level para Resetar.] -- newReset(cid)' [Verifica todas as Condições de Reset.] -- addValue(value)' [Adiciona numero de resets.] --=[Comandos de Jogadores]=-- -- "!resetar" -- Para Resetar. local exhaustionMinutes = 2 -- exausted em minutos local storageUse = 34538 -- storage usado no exausted. function onSay(cid, words, param) if words =="!resetar" then if(exhaustion.check(cid, storageUse) == TRUE) then if (exhaustion.get(cid, storageUse) >= 60) then doPlayerSendCancel(cid, "Voçê só pode usar após [" .. math.floor(exhaustion.get(cid, storageUse) / 60 + 1) .."] minutos.") end if (exhaustion.get(cid, storageUse) <= 60) then doPlayerSendCancel(cid, "Voçê só pode usar após [" .. exhaustion.get(cid, storageUse).."] segundos.") end return TRUE end exhaustion.set(cid, storageUse, exhaustionMinutes*60) --[ Condições de Reset ] -- local coNdConf = { needPz = true, -- Precisa estar em Pz pra resetar? [true, false] needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false] withe = false, -- Players com Pk Withe podem resetar? [true, false] red = true, -- Players com Pk Red pode resetar? [true, false] battle = false, -- Players precisão estar sem battle pra resetar? [true, false] teleport = false, -- Teleportar Player para o templo após resetar? [true, false] look = true, -- Aparecer Resets no Look do Player? [true, false] pid = getPlayerGUID(cid), -- Não Mexer. --[ Configurações do Reset ] -- resetConf = { Level = 350, -- Level Necessário para Resetar. [Valor] backLvl = 8, -- Level que voltará após o Reset. [Valor] time = 2, -- Tempo para o Player deslogar ao resetar, em segundos. [Valor] }, } --[[>> STAGES <<]]-- x=true;X=true -- Não Mexer. local stage = {Abilitar = {x}, Desabilitar = {}, --<< Abilitar Stages?? >>-- [{x};{}] -- [RESETS] | [PREMMY] | [FREE] stage1= {resets= 4, premmy= 350, free= 350}, stage2= {resets= 9, premmy= 360, free= 360}, -- EXPLICANDO e Configurando stages. (Se estiver Abilitado [Abilitar = {x}]) stage3= {resets= 14, premmy= 370, free= 370}, -- resets = Número de resets para o Stage; stage4= {resets= 19, premmy= 380, free= 380}, -- premmy = Level necessário para Premium Accounts; stage5= {resets= 24, premmy= 390, free= 390}, -- free = Level necessário para Free Accounts; stage6= {resets= 29, premmy= 400, free= 400}, -- Coloque em Ordem... stage7= {resets= 34, premmy= 420, free= 420}, -- [OBS: MARQUE UM "X" PARA ABILITAR OU DESABILITAR OS STAGES] stage8= {resets= 39, premmy= 440, free= 440}, -- EX: para desabilitar mude: Abilitar = {}, Desabilitar = {x} stage9= {resets= 44, premmy= 460, free= 460}, stage10={resets= 49, premmy= 480, free= 480}, stage11={resets= 54, premmy= 500, free= 500}, stage12={resets= 59, premmy= 525, free= 525}, stage13={resets= 64, premmy= 700, free= 700}, stage14={resets= 69, premmy= 750, free= 750}, stage15={resets= 74, premmy= 760, free= 760}, stage16={resets= 79, premmy= 900, free= 900}, stage17={resets= 84, premmy= 1000, free= 1000}, stage18={resets= 89, premmy= 1100, free= 1100}, stage19={resets= 94, premmy= 1200, free= 1200}, stage20={resets= 99, premmy= 1500, free= 1500}, } --[[>> FIM STAGES <<]]-- --=[Pega Valor de Resets]=-- function getPlayerReset(cid) local qr = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..coNdConf.pid..";") rss = qr:getDataInt("reset", coNdConf.pid) if rss < 0 then rss = 0 end return rss end local success = " ~~ Sucesso! ~~ \nVocê tem agora "..(getPlayerReset(cid)+1).." resets. \nVocê será deslogado em "..coNdConf.resetConf.time.." segundos." ;err = doPlayerSendTextMessage local qrt = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..coNdConf.pid..";");rss_db = qrt:getDataInt("reset", coNdConf.pid) local lvl_query = "UPDATE `players` SET `level` = "..(coNdConf.resetConf.backLvl)..", `experience` = 0 WHERE `id`= " .. coNdConf.pid .. ";" local reset_query = "UPDATE `players` SET `reset` = "..(getPlayerReset(cid)+(1)).." WHERE `id`= " .. coNdConf.pid .. ";" local nolook_query = "UPDATE `players` SET `description` = '' WHERE `players`.`id`= " .. coNdConf.pid .. ";" local look_query = "UPDATE `players` SET `description` = ' [Reset "..(getPlayerReset(cid)+(1)).."]' WHERE `players`.`id`= " .. coNdConf.pid .. ";" --=[Reseta]=-- function addValue(value) if coNdConf.look == false then doRemoveCreature(cid) db.executeQuery(lvl_query);db.executeQuery(reset_query);db.executeQuery(nolook_query) else doRemoveCreature(cid) db.executeQuery(lvl_query);db.executeQuery(reset_query);db.executeQuery(look_query) return LUA_NO_ERROR end end function nowReseting() if (getPlayerLevel(cid) < coNdConf.resetConf.Level) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return true end if getPlayerLevel(cid) >= coNdConf.resetConf.Level and (coNdConf.teleport == false) then doPlayerPopupFYI(cid, success) addEvent(addValue, coNdConf.resetConf.time*1000, value) else doPlayerPopupFYI(cid, success) addEvent(doTeleportThing, coNdConf.resetConf.time*900, cid, getTownTemplePosition(getPlayerTown(cid))) addEvent(addValue, coNdConf.resetConf.time*1000, value) return true end end --[sTAGES Nao mexer em nada.]-- function checkLevelStageReset(cid) local stages = { {resets= stage.stage1.resets, premmy= stage.stage1.premmy, free= stage.stage1.free}, {resets= stage.stage2.resets, premmy= stage.stage2.premmy, free= stage.stage2.free}, {resets= stage.stage3.resets, premmy= stage.stage3.premmy, free= stage.stage3.free}, {resets= stage.stage4.resets, premmy= stage.stage4.premmy, free= stage.stage4.free}, {resets= stage.stage5.resets, premmy= stage.stage5.premmy, free= stage.stage5.free}, {resets= stage.stage6.resets, premmy= stage.stage6.premmy, free= stage.stage6.free}, {resets= stage.stage7.resets, premmy= stage.stage7.premmy, free= stage.stage7.free}, {resets= stage.stage8.resets, premmy= stage.stage8.premmy, free= stage.stage8.free}, {resets= stage.stage9.resets, premmy= stage.stage9.premmy, free= stage.stage9.free}, {resets=stage.stage10.resets, premmy=stage.stage10.premmy, free=stage.stage10.free}, {resets=stage.stage11.resets, premmy=stage.stage11.premmy, free=stage.stage11.free}, {resets=stage.stage12.resets, premmy=stage.stage12.premmy, free=stage.stage12.free}, {resets=stage.stage13.resets, premmy=stage.stage13.premmy, free=stage.stage13.free}, {resets=stage.stage14.resets, premmy=stage.stage14.premmy, free=stage.stage14.free}, {resets=stage.stage15.resets, premmy=stage.stage15.premmy, free=stage.stage15.free}, {resets=stage.stage16.resets, premmy=stage.stage16.premmy, free=stage.stage16.free}, {resets=stage.stage17.resets, premmy=stage.stage17.premmy, free=stage.stage17.free}, {resets=stage.stage18.resets, premmy=stage.stage18.premmy, free=stage.stage18.free}, {resets=stage.stage19.resets, premmy=stage.stage19.premmy, free=stage.stage19.free}, {resets=stage.stage20.resets, premmy=stage.stage20.premmy, free=stage.stage20.free}, } local resets = getPlayerReset(cid) for i, tab in ipairs(stages) do if resets <= tab.resets then coNdConf.resetConf.Level = isPremium(cid) and tab.premmy or tab.free break end end if (getPlayerLevel(cid) < coNdConf.resetConf.Level) then err(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return TRUE end if getPlayerLevel(cid) >= coNdConf.resetConf.Level and (coNdConf.teleport == false) then doPlayerPopupFYI(cid, success) addEvent(addValue, coNdConf.resetConf.time*1000, value) else doPlayerPopupFYI(cid, success) addEvent(addValue, coNdConf.resetConf.time*1000, value) addEvent(doTeleportThing, coNdConf.resetConf.time*900, cid, getTownTemplePosition(getPlayerTown(cid))) return true end end function newReset(cid) if(coNdConf.needPz == true) and (getTilePzInfo(getCreaturePosition(cid)) == LUA_ERROR) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -") return TRUE end if(coNdConf.needPa == true) and not isPremium(cid) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -") return TRUE end if(coNdConf.withe == false) and (getCreatureSkullType(cid) == 3) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -") return TRUE end if(coNdConf.red == false) and (getCreatureSkullType(cid) == 4) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -") return TRUE end if(coNdConf.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -") return TRUE end local xy = {true,false} table.insert(stage.Abilitar, false) table.insert(stage.Desabilitar, false) if stage.Abilitar[1] == xy[1] and stage.Desabilitar[1] == xy[2] then checkLevelStageReset(cid) elseif stage.Abilitar[1] == xy[2] and stage.Desabilitar[1] == xy[1] then nowReseting() else doPlayerPopupFYI(cid, "LUA_ERROR; Configure corretamente o Sistema de STAGES!") end return true end function tableResetInstall() print(not rss_db and LUA_ERROR or "Tabela de Resets: Instalada ... [success] ") addEvent(newReset, 1000, cid) return false end if tableResetInstall() then end end --=[install System]=-- function installReset() if db.executeQuery("ALTER TABLE `players` ADD reset INT(11) NOT NULL DEFAULT 0;") then print("[MarcelloMkez] -= Advanced Reset System 2.0 por DataBase =- Instalado com sucesso!") return TRUE end print('[Advanced Reset System/MarcelloMkez] Não foi possível instalar o Sistema.') return FALSE end local tt = { "Preparando Instalação...", "Instalando: TableReset Db...", "Instalando: getPlayerReset()...", "Instalando: addValue()...", "Instalando: checkLevelStageReset()...", "Instalando: newReset() and nowReseting()...", "Finalizando Instalação...", "...", success = { "Iniciando...", "function: TableReset Db... [success]", "function: getPlayerReset()... [success]", "function: addValue(value)... [success]", "function: checkLevelStageReset()... [success]", "function: newReset() and nowReseting()... [success]", "Fim da Instalação. ", "by: ~~ MarcelloMkez ~~ \nContato: marcello_dirt@hotmail.com", inst = {"MarcelloMkez","Advanced Reset System 2.0 por DataBase" }, }, } if words == "/installresetguiizeera" and getPlayerAccess(cid) >= 3 then function install() if installReset() then print(""..tt.success[7].."") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,""..tt.success[8].."") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "["..tt.success.inst[1].."] -="..tt.success.inst[2].."=- Instalado com sucesso!") else print("["..tt.success.inst[1].."] FALHA NA INSTALAÇÃO! [O sistema ja foi instalado].") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "["..tt.success.inst[1].."] FALHA NA INSTALAÇÃO! [O sistema ja foi instalado].") end return 1 end function concl(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[7].."") print(""..tt[8].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[7].."") doPlayerSendTextMessage(cid, typetx,""..tt[8].."") addEvent(install, 1000,cid) end function finall(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[6].."") print(""..tt[7].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[6].."") doPlayerSendTextMessage(cid, typetx,""..tt[7].."") addEvent(concl, 3000,cid) end function installDd(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[5].."") print(""..tt[6].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[5].."") doPlayerSendTextMessage(cid, typetx,""..tt[6].."") addEvent(finall, 1000,cid) end function installCc(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[4].."") print(""..tt[5].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[4].."") doPlayerSendTextMessage(cid, typetx,""..tt[5].."") addEvent(installDd, 1000,cid) end function installBb(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[3].."") print(""..tt[4].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[3].."") doPlayerSendTextMessage(cid, typetx,""..tt[4].."") addEvent(installCc, 1000,cid) end function installAa(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[2].."") print(""..tt[3].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[2].."") doPlayerSendTextMessage(cid, typetx,""..tt[3].."") addEvent(installBb, 1000,cid) end function toInstall() local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[1].."") print(""..tt[2].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[1].."") doPlayerSendTextMessage(cid, typetx,""..tt[2].."") addEvent(installAa, 1000,cid) end function preparation() local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt[1].."") doPlayerSendTextMessage(cid, typetx,""..tt[1].."") addEvent(toInstall, 3000,cid) end if preparation() then end end return 1 end --=[by: Juniior Cwb ;* ]=--1 ponto -
A Coisa Mais Facil Do Ot, Basta Você Ir Na Pasta Do Serve/Data/Actions/Scripts e Procura Starter.lua Dai Lá vai Tar Assim: Dai Ta Vendo Essa Parte: Onde Tem: ["Nidoran Female"] = {x = 1052, y = 1047, z = 10}, ["Nome Do Poke"] = {POsição Onde Ele Está}, Te Ajudei Da Um REP+ Ae Se Preciza De Mais Alguma Coisa Posta Ae Que Nois Aqui Ajuda.1 ponto