Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. Eai galera, achei essas extensões criadas por RokojoM e Limos da OtLand. Bom, espero que curtam. Itens.otb OFICIAL BAIXAR EXTENSÕES RkjM RME Mod.rar Map Editor (Última Versão) (São os arquivos que você deve utilizar no map editor para ter as extensões mostradas nas imagens - Para usar basta colar os arquivos baixados em Remere's Map Editor > data > client) IMAGENS
    7 pontos
  2. Deadpool

    [Tutorial] Mudar miniwidow

    Boa tarde galera, eu mostrei no meu showoff a tela do meu cliente, que pretendo liberar para a galera, porem, recebi mensagens de como fazer aquilo, e como eu vou postar o cliente com o module, resolvi fazer esse tutorial e liberar o module.. Esse module é para mudar a Game Window, para que não conhece, veja um print: Então, vou liberar o entergame já feito, e também vou ensinar como modificar. *Download no fim do topico*, vamos ao tutorial: Tenha em mente a imagem, e então, veja o tamanho dela, feito isso, va no entergame.lua e procure a linha que seta o IP do seu servidor, va está assim: EnterGame.setUniqueServer("127.0.0.1", 7877, 854, 361, 356) Vou explicar a linha toda para que entendam: 127.0.0.1 = IP do server 7877 = port do servidor, no meu caso ta 7877, porque é a porta Linnux. 854 = Versão do cliente/servidor. 361 = Tamanho da game window 356 = largura da game window em outras palavras, 361 e 356 é onde vamos modificar.. Você pega as dimensões da imagem, e coloca no lugar dos mesmos(361 e 356).. Feito isso, salve o entergame.lua e feche. Agora vamos editar a OTUI.. Abra o Entergame.otui e na primeira linha temos isso: EnterGameWindow < MainWindow !text: tr('Enter Game') size: 236 274 Bom, vamos modificar.. Retire essa linha: !text: tr('Enter Game') Nessa função modifique esse tamanho "236 274" para as dimensões da imagem *no caso seria (361 e 356): Antes: size: 236 274 Agora: size: 361 356 Adicione isto em baixo dessa função acima: image-source: enter.png *enter.png é a imagem que estamos usando para colocar no game window, a mesma que a gente pegou as dimensões e modificamos no entergame.lua*, *ela tem que está dentro da pasta onde se localiza o entergame.lua*. pronto, seu cliente já vai ler sua nova window com imagem. *Terá que mudar os lugares de onde coloca senha e conta* É bem simples, basta ir na OTUI e mudar os margin-top* DOWNLOAD ENTERGAME COM NOVA WINDOW: Download OBS: Deixei uns 3 Entergame dentro, se vocês quiserem usar como base, não me importo.. POR FAVOR, NÃO POSTE ESSE TUTORIAL EM OUTRO FÓRUM SEM OS DEVIDOS CRÉDITOS. FUNCIONA EM QUALQUER VERSÃO DO OTCLIENT. OBS: se vocês não souberem editar o entergame, irá bugar. É melhor baixar o que estou disponizilizando, e então mudar somente as dimensões..
    1 ponto
  3. SkyLigh

    Evento Double Exp

    Fala galera tudo bem? Essa semana teve um membro que pediu um evento de double exp até que consegui fazer usando alguns scripts como base, então vamos ao código. INSTALAÇÃO Vá em data/creaturescripts/scripts e em creaturescripts.xml adicione a seguinte tag. <event type="kill" name="ExpBonus" event="script" value="exp.lua"/> Em data/creaturescripts/scripts crie um arquivo .lua e renomeie para exp.lua e adicione o seguinte código. function onKill(cid, target) if isPlayer(cid) and isMonster(target) then if getGlobalStorageValue(102590) - os.time() >= 1 then local exp = getExperienceStage(getPlayerLevel(cid), getVocationInfo(getPlayerVocation(cid)).experienceMultiplier) local count = ((getMonsterInfo(string.lower(getCreatureName(target))).experience*1.5*exp)/2) doPlayerAddExperience(cid, count) addEvent(doSendAnimatedText, 500, getCreaturePosition(cid), '+'..count, math.random(50,60)) end else return TRUE end return TRUE end Agora no data/creaturescripts/scripts e login.lua adicione a seguinte tag. registerCreatureEvent(cid, "ExpBonus") Agora vá em data/talkactions/scripts talkactions.xml <talkaction words="/doubleexp" access="5" event="script" value="exp.lua"/> Em data/talkactions/scripts crie um arquivo.lua e o renomeio para exp.lua e adicione o seguinte código dentro. function onSay(cid, words, param, channel) local config = { storage = 102590, } if(param == 'cancel') then if getGlobalStorageValue(config.storage) > 0 then setGlobalStorageValue(config.storage, -1) doBroadcastMessage("Double Exp cancelado") end return true end param = tonumber(param) if(not param or param < 0) then doPlayerSendCancel(cid, "Digite por quantas horas o evento ira durar") return true end if getGlobalStorageValue(config.storage) - os.time() <= 0 then setGlobalStorageValue(config.storage, os.time()+param*60*60) doBroadcastMessage("Exp bonus ativado 50% + EXP por "..param.." horas! Aproveite.") end return true end COMO UTILIZAR Para ativar o comando digite /doubleexp Quantidade de horas que vai durar o evento Exemplo /doubleexp 3 o evento ira durar por 3 horas. Para cancelar o evento basta digitar /doubleexp cancel apenas os GOD'S podem utilizar os 2 comandos. Créditos --- Pela postagem do tópico e edição nos códigos. --- Por eu tê pego uma parte de um script dele do creaturescripts. Espero que gostem
    1 ponto
  4. Informações: Bug da vip removido; 150+ Quests; Novas áreas, algumas importadas de outros mapas; Todos os items 9.81 funcionando; Erro dos NPC's corrigidos; Respawn do mapa 100% Novas áreas de Carlin, Kazz, Port Hope, que possuem Coryms, Dragons e Lost Dwarves; 33 montarias agregadas + 70 novas obtidas com mountdoll; Respawns melhorados; Diversos bugs removidos entre outras coisas melhoradas; Servidor 100% estável livre de lag e erros; Imagens: Download Server: https://mega.co.nz/#...9XlGgGeXW0oza54 http://www.mediafire.com/?828xjbusvaplaem Scan Server: Não realizei porque o tamanho ultrapassa o limite do virustotal; Importante: Servidor compilado para rodar em Windows 64Bit; Créditos: tfs Team kalyst001 NvSo BT Outros.. SmoOkeR
    1 ponto
  5. ImBack

    Global Full 9.6 Ot-Soft

    Bom alguns duvidaram, mais ta ai, flw ai gustavo :* OBS: SE ALGUEM FALAR QUE NÃO É O MESMO DA OT-SOFT É SÓ ABRIR NO RME E DAR UMA OLHADINHA NO TEMPLO E COMPRAR COM A DO SITE. SERVIDOR RODANDO EM MYSQL, NÃO DOU SUPORTE NELE. #Novidades: -Sistema de cooldown das magias 100% funcionando (SEM BUG DO COMBO). -Mount System 100%. -Taming System 97%. -Novos items 9.60. -Market System 100%. -Monstros adicionados. OBS*Este Mapa Possui Gray Island e Quirefang (100% Sem Bugs) #O que possui? -Peso do mapa: 140MB. - War of Emperium (Evento) - Battlefield (Evento) - Raids Automáticas (Script) - Zombie (Evento) - Database completa + Shop Pronto (DB FULL) - Wrath of Emperor com todas as missões (Mapa-quest) - Zao e New Banuta Piece (Mapa) - TFS 0.4 (Distro: Anti-Divulgação, War System, No-otbm check e sem "compite to 64bits") - War System com escudos (Script) - Mais de 30 Ilhas VIPS (Exclusivas OtSoft) - 15+ items VIPS (Script) - 9 cidades VIPS (Mapa) Download servidor completo Download DataBase Scan Pasta Data : https://www.virustot...sis/1349664734/ Scan Dlls + Distro : https://www.virustot...sis/1349665264/ Credito: OTmaker e ot-soft Anne Prevails!
    1 ponto
  6. aremst

    [Sprites] [+226,859] De Tibia 10.82

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

    Anti MC/MB

    Já que tô de bobeira nessa madrugada, não custa nada refazer uns sistemas né. O sistema consiste em não permitir o uso do Magebomb ou fazer (o famoso) MC. antimagemc.lua (data/creaturescripts/scripts) Creaturescripts.xml (data/creaturescripts) <event type="login" name=antimagemc" event="script" value="antimagemc.lua"/> PS: Tirei os acentos do script para evitar futuros bugs. PS²: Eu tirei o script de um fórum gringo e reformulei. Créditos: Gringo desconhecido.
    1 ponto
  9. LuizHenriqueSmania

    PokexDiamond [PDA]

    Olá,Bom Dia,Boa Tarde ou Boa Noite Já postei meu servidor Centurion v9,agora vou postar o meu PDA ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -Informações -Minhas Edições -Erros -Prints -Downloads -Creditos -------------------------------------------------------------------------------------- -Informações -Minhas Edições -Erros -Prints -Downloads -Creditos JeanFlamengo - pelo servidor que eu editei PokexGames - pelas sprites que eu usei no servidor LuizHenriqueSmania - Eu,por editar,adicionar as sprites,etc. =D Murluka - pelas outlands
    1 ponto
  10. TaaG

    Não atacar guild

    O script consiste em não deixar que players da mesma guild se ataquem (se matem). creaturescripts.xml (data/creaturescripts): <event type="attack" name="attackguild" script="attackguild.lua"/> attackguild.lua (data/creaturescripts/scripts):
    1 ponto
  11. TaaG

    Sistema de nocautear e assaltar o player

    Vídeo demonstração Instalando: steal.lua (data/actions/scripts) Actions.xml (data/actions) <action itemid="id da runa/item" event="script" value="steal.lua"/> Créditos: CandleJack
    1 ponto
  12. Olá a todos que estão lendo esse tópico Vou posta aqui um pouco do meu projeto do Dragon Ball Z Online quando ele foi criando e quase tudo. HISTORIA da criação e do nome a dado ao servido: Bom o servidor foi criado pelos fãs de dragon ball z, nossa ideia de criar um servido de Dbo deu inicio no dia 10/06/2014 quando o [GOD Z] Valdemir teve vontade de fazer um Dragon Ball diferente dos servidores que tem hoje fomos procura um ot pela net e editar começamos com a versão 8.00 que entro online dia 01/11/2014 com o nome de Dragon Ball Z ultimate tenkaichi, que duro só um mês era por hamachi e pelo pc então decidimos da um update e a versão passo a ser 8.54 que entro online no dia 01/01/2015 com o nome de Supremo Dragon Ball Z Online, duro 3 mês mais ainda a sim só conseguimos 100 players online mais o servido ainda continuava via hamachi e hospedado no meu pc, então decidimos muda a versão e por ip fixo,24 horas online que no caso o server agora tem o nome de Dragon Ball Z Online, mas por Dragon Ball Z Online Por que Z, Bom como z e a ultima letra do alfabeto e seria a ultima versão e servido que damos update então botamos Dragon Ball Z Online para mostra que seira o ultima vez que mudamos o server, Bom essa foi a historia do server. Bom vamos lá servido Dragon Ball Z Online: Sistema de fly 100% 28 personagem free 9 personagem vip Quest vip: Goku ssj5 set, Legendary quest Quest free: Fusion set, Janemba set Sistema Shenlong 1 hunte com acesso a fly Evento invasion diario Otclient Mapa 99% Todos os personagem tem nível God Sistema refinamento Vocation Free: Goku Vegeta Gohan Gotenks Brolly Bardock Cell Freeza Majin Buu Janemba Trunks Uub Tsuful Cooler Kaio C17 C18 C16 Piccolo Dende Krillin Pan Turles Tenshinhan Raditz Jenk Personagem Vip: Bills Tapion Shenron Goku jr Vegetto Mestre kame King vegeta Zaiko Chilled Staff [GOD Z] Valdemir(eu) [ADM] Baile De Favela(Italo Ramon) [ADM] Gabriel(Gabriel Gusmão) [ADM] Zaiko(Luan Santos) vídeo da legendary quest : https://www.youtube.com/watch?v=Z9d9QnbaRsY Alguns print:
    1 ponto
  13. Só pelo sistema de Fly, atrai muito, eu até poderia criar um DBO, mas gosto de pokémon.. mas enfim, boa sorte com teu projeto, se precisar de algo, só postar aqui no Eks, que a gente te ajuda!
    1 ponto
  14. Projeto interessante, boa sorte!
    1 ponto
  15. christopher17288

    Efeito na Morte

    Tha, então pra parar o erro, põe assim.. function onKill(cid, target, lastHit) if isPlayer(target) then return doSendMagicEffect(getThingPos(target), 65) end return true end Créditos pro Menino ali de cima. heheheh' Só fiz uma alteração para parar o erro... Player Chris matando o player Teste Dois Tres, efeito saindo, erro nenhum na distro.. http://prntscr.com/936yge
    1 ponto
  16. • MAGEBOT Saiba como crackear seu magebot e usá-lo 100% grátis clicando aqui. Ou assista este vídeo e aprenda como crackear todas as versões do seu magebot. • DOWNLOADS 10.x MagebotSetupvT1082.exe MagebotSetupvT1081.exe MagebotSetupvT1080.exe MagebotSetupvT1079.exe MagebotSetupvT1078.exe MagebotSetupvT1077.exe MagebotSetupvT1076.exe MagebotSetupvT1075.exe MagebotSetupvT1074.exe MagebotSetupvT1073.exe MagebotSetupvT1072.exe MagebotSetupvT1071.exe MagebotSetupvT1070.exe MagebotSetupvT1064.exe MagebotSetupvT1062.exe MagebotSetupvT1061.exe MagebotSetupvT1060.exe MagebotSetupvT1059.exe MagebotSetupvT1058.exe MagebotSetupvT1057.exe MagebotSetupvT1056.exe MagebotSetupvT1055.exe MagebotSetupvT1054.exe MagebotSetupvT1053b.exe MagebotSetupvT1052.exe MagebotSetupvT1051.exe MagebotSetupvT1050.exe MagebotSetupvT1039t.exe MagebotSetupvT1038.exe MagebotSetupvT1036t.exe MagebotSetupvT1035.exe MagebotSetupvT1034.exe MagebotSetupvT1033.exe MagebotSetupvT1032.exe MagebotSetupvT1031.exe MagebotSetupvT1030.exe MagebotSetupvT1022.exe MagebotSetupvT1021c.exe MagebotSetupvT1020c.exe MagebotSetupvT1012.exe MagebotSetupvT1011.exe MagebotSetupvT1010.exe 9.x MagebotSetupvT984b.exe MagebotSetupvT982b.exe MagebotSetupvT980.exe MagebotSetupvT971.exe MagebotSetupvT970.exe MagebotSetupvT963c.exe MagebotSetupvT960.exe MagebotSetupvT954.exe MagebotSetupvT953.exe MagebotSetupvT952.exe MagebotSetupvT951.exe MagebotSetupvT950.exe MagebotSetupvT946.exe MagebotSetupvT944.exe MagebotSetupvT943.exe MagebotSetupvT942.exe MagebotSetupvT941.exe MagebotSetupvT940.exe MagebotSetupvT931.exe MagebotSetupvT920.exe MagebotSetupvT910.exe MagebotSetupvT900.exe 8.x MagebotSetupvT874.exe MagebotSetupvT873.exe MagebotSetupvT872.exe MagebotSetupvT871.exe MagebotSetupvT870.exe MagebotSetupvT862.exe MagebotSetupvT861.exe MagebotSetupvT860.exe MagebotSetupvT857.exe MagebotSetupvT855.exe MagebotSetupvT854.exe MagebotSetupvT853.exe MagebotSetupvT852.exe MagebotSetupvT850.exe MagebotSetupvT842.exe MagebotSetupvT841.exe MagebotSetupvT831.exe MagebotSetup_vT822.exe MagebotSetup_vT821.exe
    1 ponto
  17. dyego2008

    Map Editor (Modificado)

    Muito bom em Dani Curti esse RME.
    1 ponto
  18. Caronte

    Map Editor (Modificado)

    Putss, vou usar esse então, é osso achar tudo na raw...
    1 ponto
  19. TaaG

    Map Editor (Modificado)

    VALEU MANO!! Tô tentando evoluir em Mapping, obrigado mesmo!
    1 ponto
  20. Deadpool

    Map Editor (Modificado)

    Do caralho em, curti pakas, ^^
    1 ponto
  21. Entus

    Hunger System - Sistema de fome

    Falaê galera. Hoje vou trazer um script do Wise que achei bem interessante e não achei aqui. O que isso faz? Faz com que o player necessite se alimentar para parar de perder vida, caso não se alimente, sua vida irá descer até 0. Caso o player morra, quando entrar, ele vai continuar perdendo a porcentagem de HP, até que enfim se alimente. Acredito que seja bom para servidores sérios. Versões testadas: TFS 0.3.6, mas pelas funções, acho que execute de boa também com TFS 1.0 e com o TFS 0.4. Bora lá. Vá em data\creaturescripts\scripts, crie um .lua chamado checkhunger e adicione isso: -- Developed by Wise local t = { hp = 2, -- % maxTime = 25 * 60, -- minutes * 60 lossInterval = 5, -- seconds hstor = 98765 -- hunger storage } function checkHunger(cid) local h = getPlayerStorageValue(cid, t.hstor) local loss = t.lossInterval > 1 and t.lossInterval or 2 if getPlayerFlagValue(cid, PLAYERFLAG_CANNOTBEATTACKED) then return true elseif getPlayerFood(cid) < 1 then if h <= t.maxTime then if h < 0 then setPlayerStorageValue(cid, t.hstor, 0) end setPlayerStorageValue(cid, t.hstor, getPlayerStorageValue(cid, t.hstor) + 1) else addEvent(function() if isPlayer(cid) then doCreatureAddHealth(cid, -(t.hp * (getCreatureMaxHealth(cid) / 100))) end end, (loss - 1) * 1000) end else if h > 0 then setPlayerStorageValue(cid, t.hstor, 0) end end addEvent(function() if isPlayer(cid) then checkHunger(cid) end end, 1000) return true end function onLogin(cid) return checkHunger(cid) and true end Agora vá em data\creaturescripts e abra o creaturescripts.xml, adicione a seguinte tag: <event type="login" name="checkHunger" event="script" value="checkhunger.lua"/> Configuração: local t = { hp = 2, -- porcentagem de HP que o player perderá maxTime = 25 * 60, -- tempo máximo para ficar sem se alimentar em minutos * 60 (no caso, seriam 25 minutos, ou seja, 1500 segundos) lossInterval = 5, -- tempo do intervalo de perda da porcentagem do HP, em segundos (no caso, perderia a porcentagem estipulada a cada 5 segundos) hstor = 98765 -- storage que faz a contagem do tempo máximo } Créditos: Wise Enjoy it!
    1 ponto
  22. Caronte

    Duvida nas spells e radius

    Há outra meneira, poste o script com a fala para os dois, monstro e player, que é só colocar uma condição. Radius, como o nome já diz, é o raio de cobertura da magia, com ele você define a distancia de SQM que a magia vai ter, partindo do centro para fora... O O O O X O Radius = 1 O O O X X X X X X Radius = 2 X X X
    1 ponto
  23. Caronte

    Efeito na Morte

    @, preste atenção nos valores que você atribui, você pegou o parâmetro target, que é um id, e atribuiu valor de uma tabela. @@Dennyz Dias, agora vai funcionar... function onKill(cid, target, lastHit) if isPlayer(target) then doSendMagicEffect(getThingPos(target), 65) return true end return true end
    1 ponto
  24. Caronte

    Efeito na Morte

    function onKill(cid, target, lastHit) if isPlayer(target) then doSendMagicEffect(target.pos, 65) end end corrigido. ele esqueceu de dar o then do if...
    1 ponto
  25. Finalmente depois de umas 6 horas fuçando na database eu consegui entender como funciona as tables da mesma. A table player_skills ela é atualizada toda vez que um personagem novo é criado ou seja. Se um dia voce resetar sua table player_skills nunca mais seus players antigos consiguirá treinar e salvar-se. Pensando assim, eu reparei que sempre que um player novo é insertado na table players a tabela player_skills puxa esse player e só assim esse player é salvo quando upa skills.. foi ai que pensei em exportar todos os players, limpar a tabela players e depois dar insert em todos novamente com isso todos os players foram insertados na players e na players_skill tambem. Bug resolvido, se alguem dedicou algum tempo tendando resolver também agradeço.
    1 ponto
  26. Amantezinho

    3 NPC's

    Boa noite pessoal, venho aqui a busca de ajuda dos scripters de plantão que entendem de NPC's. <3 PEDIDO: 3 NPC's. COMO FUNCIONA? São 3 NPC's que no final formarão uma quest. (se possível colocar no QUEST LOG como QUEST INICIAL) LEGENDA: P = Player e N= NPC Os textos aqui apresentados serão apenas uma demonstração, Primeiro NPC: Este é o NPC de início, onde dará o começo da jornada. P = Hi N= Olá |PLAYERNAME|, blablabla bla bla bla... Você parece estar {preparado} para a sua jornada. P= preparado N= OK, blablablabla. Pegue este manual e iremos dar inicio a sua primeira {missão}. P= missão N= Meu amigo Charlie acabou de voltar da floresta perdida, que tal você falar com ele para saber como chegar na cidade?! Azul = quando o player falar Preparado será entregue um item a ele. Roxo= Quando o player falar missão será iniciada a missão do quest log e será entregue a ele uma storage ID, para poder falar com o segundo NPC. Segundo NPC: Para falar com o este NPC precisa ter a storage entregue pelo 1 NPC. P = Hi N= Olá |PLAYERNAME|, você está a caminho da {floresta perdida}? P= floresta perdida N= Bem, é um caminho difícil, porém não há monstros pelo caminho. Mas ouvi dizer que há baús perdidos por lá, talvez ache o {caminho} para sair dela. P= Caminho N= Não é tão complicado, talvez o norte seja seu foco. Que tal você experimentar por si mesmo? Roxo= Quando o player falar Caminho será entregue uma storage ID para que ele possa seguir para o terceiro NPC. Terceiro NPC: Para falar com o este NPC precisa ter a storage entregue pelo 2 NPC. P = Hi N= Olá |PLAYERNAME|, você não parece {preparado} para entrar na floresta. P= preparado N= Err, talvez, você precise comer. Aliás, você não tem muito tempo para ficar de barriga vazia. Você quer algum {alimento}? P= Alimento N= Pegue estas duas maçãs. Pode seguir em frente e boa viagem pela floresta. Roxo= Quando o player falar alimento será finalizado a quest e será adicionado uma storage (que será usada para o player poder sair do mapa tutorial) Agradeço desde já.
    1 ponto
  27. Caronte

    3 NPC's

    NPC 1 NPC 2 NPC 3: Qualquer erro ou edição, é só falar.
    1 ponto
  28. Amantezinho

    [Tutorial] Mudar miniwidow

    Procurei por partes iguais do Entergame, mas não achei, somente a jenela, sem parte de tamanho e tal.
    1 ponto
  29. Amantezinho

    [Tutorial] Mudar miniwidow

    desculpem reviver o tópico, mas tem como fazer isso com o MOTD (Msg do dia), colocar uma imagem no lugar da window?
    1 ponto
  30. Administrador

    Adquira sua conquista aqui!

    Adicionadas.
    1 ponto
  31. Refe

    [PXG]As Novas Remakes.

    Como dá 2 REP? CHOROU AQUI, CHOROU AI?
    1 ponto
  32. Antharaz

    3 Comandos

    Gabriel, achei aqui no xtibia um comando para !ban por storage feito pelo Omega e alterei para funcionar de acordo com o seu ot pokemon. No login.lua seu localizado na pasta data\creaturescripts\scripts você irá apagar tudo e colocar isto: local config = { loginMessage = getConfigValue('loginMessage'), useFragHandler = getBooleanFromString(getConfigValue('useFragHandler')) } --alterado v2.6 tabelas soh em lib/configuration.lua; function onLogin(cid) if isPlayerBanned(cid) and getPlayerStorageValue(cid,banCount) >= 3 then return false end if isPlayerBanned(cid) then local reason = getPlayerBanReason(cid) if reason ~= "" then setPlayerStorageValue(cid,banCount,getPlayerStorageValue(cid,banCount)+1) doTeleportThing(cid,getPlayerTemplePos(cid)) addEvent(doKickPlayerIf,5000,cid) doPlayerSendTextMessage(cid,MESSAGE_STATUS_WARNING,'Voce foi banido por '..reason..' e sera kickado em 5 segundos.') mayNotMove(cid,true) else setPlayerStorageValue(cid,banCount,getPlayerStorageValue(cid,banCount)+1) doTeleportThing(cid,getPlayerTemplePos(cid)) addEvent(doKickPlayerIf,5000,cid) mayNotMove(cid,true) doPlayerSendTextMessage(cid,MESSAGE_STATUS_WARNING,'Voce esta banido e sera kickado em 5 segundos.') end doMutePlayer(cid, 5) return true end if getPlayerLevel(cid) >= 1 and getPlayerLevel(cid) <= 10 then --alterado v2.8 doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0) else doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, (getPlayerLevel(cid) >= 200 and 100 or math.floor(getPlayerLevel(cid)/2)) ) end doCreatureSetDropLoot(cid, false) local accountManager = getPlayerAccountManager(cid) if(accountManager == MANAGER_NONE) then local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage if(lastLogin > 0) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str) str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "." else str = str end doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str) elseif(accountManager == MANAGER_NAMELOCK) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?") elseif(accountManager == MANAGER_ACCOUNT) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.") end if getCreatureName(cid) == "Account Manager" then local outfit = {} if accountManagerRandomPokemonOutfit then outfit = {lookType = getPokemonXMLOutfit(oldpokedex[math.random(151)][1])} else outfit = accountManagerOutfit end doSetCreatureOutfit(cid, outfit, -1) return true end if(not isPlayerGhost(cid)) then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) end local outfit = {} if getPlayerVocation(cid) == 0 then doPlayerSetMaxCapacity(cid, 0) doPlayerSetVocation(cid, 1) setCreatureMaxMana(cid, 6) doPlayerAddSoul(cid, -getPlayerSoul(cid)) setPlayerStorageValue(cid, 19898, 0) if getCreatureOutfit(cid).lookType == 128 then outfit = {lookType = 510, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)} elseif getCreatureOutfit(cid).lookType == 136 then outfit = {lookType = 511, lookHead = math.random(0, 132), lookBody = math.random(0, 132), lookLegs = math.random(0, 132), lookFeet = math.random(0, 132)} end doCreatureChangeOutfit(cid, outfit) end registerCreatureEvent(cid, "dropStone") --alterado v2.7 --alterado v2.6.1 registerCreatureEvent(cid, "ShowPokedex") --alterado v2.6 registerCreatureEvent(cid, "ClosePokedex") --alterado v2.6 registerCreatureEvent(cid, "WatchTv") registerCreatureEvent(cid, "StopWatchingTv") registerCreatureEvent(cid, "WalkTv") registerCreatureEvent(cid, "RecordTv") --registerCreatureEvent(cid, "Death") registerCreatureEvent(cid, "PlayerLogout") registerCreatureEvent(cid, "WildAttack") registerCreatureEvent(cid, "Idle") registerCreatureEvent(cid, "PokemonIdle") registerCreatureEvent(cid, "EffectOnAdvance") registerCreatureEvent(cid, "GeneralConfiguration") registerCreatureEvent(cid, "ReportBug") registerCreatureEvent(cid, "LookSystem") registerCreatureEvent(cid, "T1") registerCreatureEvent(cid, "T2") registerCreatureEvent(cid, "task_count") if getPlayerStorageValue(cid, 99284) == 1 then setPlayerStorageValue(cid, 99284, -1) end if getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 then setPlayerStorageValue(cid, 6598754, -1) setPlayerStorageValue(cid, 6598755, -1) doRemoveCondition(cid, CONDITION_OUTFIT) --alterado v2.9 \/ doTeleportThing(cid, posBackPVP, false) doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) end doChangeSpeed(cid, -(getCreatureSpeed(cid))) --///////////////////////////////////////////////////////////////////////////-- local storages = {17000, 63215, 17001, 13008, 5700} for s = 1, #storages do if not tonumber(getPlayerStorageValue(cid, storages[s])) then if s == 3 then setPlayerStorageValue(cid, storages[s], 1) elseif s == 4 then setPlayerStorageValue(cid, storages[s], -1) else if isBeingUsed(getPlayerSlotItem(cid, 8).itemid) then setPlayerStorageValue(cid, storages[s], 1) --alterado v2.6 else setPlayerStorageValue(cid, storages[s], -1) end end doPlayerSendTextMessage(cid, 27, "Sorry, but a problem occurred on the server, but now it's alright") end end --/////////////////////////////////////////////////////////////////////////-- if getPlayerStorageValue(cid, 17000) >= 1 then -- fly local item = getPlayerSlotItem(cid, 8) local poke = getItemAttribute(item.uid, "poke") doChangeSpeed(cid, getPlayerStorageValue(cid, 54844)) doRemoveCondition(cid, CONDITION_OUTFIT) doSetCreatureOutfit(cid, {lookType = flys[poke][1] + 351}, -1) local apos = getFlyingMarkedPos(cid) apos.stackpos = 0 if getTileThingByPos(apos).itemid <= 2 then doCombatAreaHealth(cid, FIREDAMAGE, getFlyingMarkedPos(cid), 0, 0, 0, CONST_ME_NONE) doCreateItem(460, 1, getFlyingMarkedPos(cid)) end doTeleportThing(cid, apos, false) if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")]) --alterado v2.8 end local posicao = getTownTemplePosition(getPlayerTown(cid)) markFlyingPos(cid, posicao) elseif getPlayerStorageValue(cid, 63215) >= 1 then -- surf local item = getPlayerSlotItem(cid, 8) local poke = getItemAttribute(item.uid, "poke") doSetCreatureOutfit(cid, {lookType = surfs[poke].lookType + 351}, -1) --alterado v2.6 doChangeSpeed(cid, getPlayerStorageValue(cid, 54844)) if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")]) --alterado v2.8 end elseif getPlayerStorageValue(cid, 17001) >= 1 then -- ride local item = getPlayerSlotItem(cid, 8) local poke = getItemAttribute(item.uid, "poke") if rides[poke] then doChangeSpeed(cid, getPlayerStorageValue(cid, 54844)) doRemoveCondition(cid, CONDITION_OUTFIT) doSetCreatureOutfit(cid, {lookType = rides[poke][1] + 351}, -1) if getItemAttribute(item.uid, "boost") and getItemAttribute(item.uid, "boost") >= 50 and getPlayerStorageValue(cid, 42368) >= 1 then sendAuraEffect(cid, auraSyst[getItemAttribute(item.uid, "aura")]) --alterado v2.8 end else setPlayerStorageValue(cid, 17001, -1) doRegainSpeed(cid) --alterado v2.6 end local posicao2 = getTownTemplePosition(getPlayerTown(cid)) markFlyingPos(cid, posicao2) elseif getPlayerStorageValue(cid, 13008) >= 1 then -- dive if not isInArray({5405, 5406, 5407, 5408, 5409, 5410}, getTileInfo(getThingPos(cid)).itemid) then setPlayerStorageValue(cid, 13008, 0) doRegainSpeed(cid) --alterado v2.6 doRemoveCondition(cid, CONDITION_OUTFIT) return true end if getPlayerSex(cid) == 1 then doSetCreatureOutfit(cid, {lookType = 1034, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet}, -1) else doSetCreatureOutfit(cid, {lookType = 1035, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet}, -1) end doChangeSpeed(cid, 800) elseif getPlayerStorageValue(cid, 5700) > 0 then --bike doChangeSpeed(cid, -getCreatureSpeed(cid)) doChangeSpeed(cid, getPlayerStorageValue(cid, 5700)) --alterado v2.8 if getPlayerSex(cid) == 1 then doSetCreatureOutfit(cid, {lookType = 1394}, -1) else doSetCreatureOutfit(cid, {lookType = 1393}, -1) end elseif getPlayerStorageValue(cid, 75846) >= 1 then --alterado v2.9 \/ doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false) setPlayerStorageValue(cid, 75846, -1) sendMsgToPlayer(cid, 20, "You have been moved to your town!") else doRegainSpeed(cid) --alterado v2.6 end if getPlayerStorageValue(cid, 22545) >= 1 then --golden arena setPlayerStorageValue(cid, 22545, -1) --alterado v2.4 doTeleportThing(cid, getClosestFreeTile(cid, posBackGolden), false) setPlayerRecordWaves(cid) --alterado v2.7 end if useKpdoDlls then doUpdateMoves(cid) --alterado v2.4 soh pra quem quiser... ;p doUpdatePokemonsBar(cid) end return true end Adicione no 050-function.lua localizado em data\lib o código abaixo: function isOnline(cid) local onl = getOnlinePlayers() for i=1,#onl do if getPlayerByName(onl[i]) == cid then return true end end return false end function doKickPlayerIf(cid) if isOnline(cid) then doRemoveCreature(cid) end end function getPlayerTemplePos(cid) local town = getPlayerTown(cid) local temple = getTownTemplePosition(town) return temple or false end function doBanPlayer(cid,days,reason) if reason ~= false and reason ~= nil and isPlayer(cid) then setPlayerStorageValue(cid,banReason,reason) end if days ~= false and days ~= nil and isPlayer(cid) then local bantime = ((days * 60 * 60 * 24) + os.time(t)) setPlayerStorageValue(cid,banStorage,bantime) doRemoveCreature(cid) return true elseif isPlayer(cid) then setPlayerStorageValue(cid,banStorage,0) doRemoveCreature(cid) return true end return false end function isPlayerBanned(cid) if not isPlayer(cid) then return false elseif getPlayerStorageValue(cid,banStorage) == 0 then return true elseif getPlayerStorageValue(cid,banStorage) == -1 then return false elseif getPlayerStorageValue(cid,banStorage) >= os.time(t) then return true end return false end function doUnbanPlayer(name) if getPlayerGUIDByName(name) then pid = getPlayerGUIDByName(name) else return false end if getCreatureByName(name) then local cid = getCreatureByName(name) if isPlayer(cid) then doRemoveCreature(cid) end end if db.query("UPDATE `player_storage` SET `value`=-1 WHERE `player_id` = "..pid.." AND `key`="..banStorage..";") == true then db.query("UPDATE `player_storage` SET `value`=-1 WHERE `player_id` = "..pid.." AND `key`="..banCount..";") db.query("UPDATE `player_storage` SET `value`=-1 WHERE `player_id` = "..pid.." AND `key`="..banReason..";") return true end return false end function getPlayerBanReason(cid) if isPlayer(cid) then local reason = getPlayerStorageValue(cid,banReason) if reason == -1 then reason = "" end return reason end return false end Adicione no 000-constant.lua localizado em data\lib o código abaixo: banStorage = 918171623 banCount = 918171624 banReason = 918171625 Crie um arquivo chamado nban.lua em data\talkactions\scripts com o código: function onSay(cid,words,param) if words == '!ban' then local param = string.lower(param) local param = string.explode(param,',') if not param[1] then doPlayerSendTextMessage(cid,27,'You must specify a player to ban.') return true elseif(not param[2]) then local player = getPlayerByName(param[1]) if isPlayer(player) then doBanPlayer(player,false) else doPlayerSendTextMessage(cid,27,param[1]..' is not a valid player.') end elseif param[3] then local player = getPlayerByName(param[1]) local days = tonumber(param[2]) local reason = tostring(param[3]) if days and reason then doBanPlayer(player,days,reason) doPlayerSendTextMessage(cid,27,'You have banned '..param[1]..' for '..param[2]..' days. Reason: '..param[3]..'.') else doPlayerSendTextMessage(cid,27,'Invalid parameters.') end else if type(tonumber(param[2])) == 'number' then local player = getPlayerByName(param[1]) local days = tonumber(param[2]) if days ~= false and days ~= nil then doBanPlayer(player,days) doPlayerSendTextMessage(cid,27,'You have banned '..param[1]..' for '..param[2]..' days.') else doPlayerSendTextMessage(cid,27,'Invalid parameter number 2: '..param[2]..'.') end else local reason = param[2] local player = getPlayerByName(param[1]) doBanPlayer(player,false,reason) doPlayerSendTextMessage(cid,27,'You have banned '..param[1]..'. Reason: '..param[2]..'.') end end elseif words == '!unban' then if doUnbanPlayer(param) then doPlayerSendTextMessage(cid,27,'Player '..param..' foi desbanido.') else doPlayerSendTextMessage(cid,27,param..' is\'n a valid player.') end end return true end E em talkactions.xml localizado em data\talkactions\scripts você coloca o código abaixo uma linha antes de </talkactions>: <talkaction log="yes" access="4" words="!ban;!unban" event="script" value="nban.lua"/> Para saber como usar, basta visitar o tópico do autor inicial: http://www.xtibia.com/forum/topic/225250-comando-ban-v20/ Quando players forem banidos e/ou logarem enquanto estiverem banidos, aparecerá um erro no console, mas basta ignorar... testei aqui e funcionou perfeitamente... eu tentei arrumar os erros, mas não conheço muito bem servidores de pokemon...
    1 ponto
  33. Amantezinho

    [Tutorial] Mudar miniwidow

    Ótimo tutorial! Estou utilizando. Adicionarei seus devidos créditos.
    1 ponto
  34. Roksas

    Recompense Kill

    Recompense Kill Saudações meus anjos, estive um tempo sem postar absolutamente nada, voltei já com algumas ideias e vim trazer para vocês! Este é um sistema, no qual ao matar um PK (White Skull), você recebe uma recompensa, (25 gold coins por level do PK) - Configurável. Exemplo, ele tem level 200 (200x25) = 5k para você disfrutar Instalação Vá em data/creaturescripts/scripts, copie algum arquivo da pasta e cole, renomeie para recompense.lua e coloque isto dentro: Abra com o bloco de notas o arquivo creaturescripts.xml e adicione estas tags: <event type="login" name="LoginRgst" event="script" value="recompense.lua"/> <event type="kill" name="Recompense" event="script" value="recompense.lua"/> Configuração Na primeira linha de todas do código, no caso esta: local moneyPerLevel = 25 Você configura quantos gold coins recebe por level do PK. Assim formando uma conta como explicado na Introdução. Esta conta irá multiplicar o level do PK pela quantidade de gold coins recebe por level, assim dando uma leve recompensa ao killer. Demonstração
    1 ponto
  35. Animal Pak

    [Nicaw] DBKO Template

    Preview: Download: http://www.mediafire.com/download/yol11acwu4jbfm3/htdocs.rar Scan: https://www.virustotal.com/pt/file/4bbed1ab46503882a1470974e51d0e75dcedef1740358a3ec8a4816c6735b0d9/analysis/1434147622/ Créditos: Deejays
    1 ponto
  36. Animal Pak

    [Gesior] Wow Fire Template

    Preview: Download: http://www.mediafire.com/?4kxn7xfcq0bk8j2 Scan: https://www.virustotal.com/pt/file/44b5fe73dfc5e040be5e18faeafd94399ba76b93bf74327524c1278429d93978/analysis/1434144721/ Créditos: Cronox
    1 ponto
  37. lelelord

    Pokemon Revolutionary 1.0

    Não sei se eu usuario normal posso postar, mais tá ai a Scan! \/ Scan do Server = Scan Scan do Client = Scan
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...