Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 02/01/16 em %
-
Zare City
Administrador e 2 outros reagiu a Gabriel Couto por um tópico no fórum
Olá pessoal. A versão desse mapa é 9.60 e tenho a intenção de disponibilizá-lo para download futuramente aqui no XTibia. O objetivo principal primário é ser uma cidade com diversas casas, para que seja útil à um servidor que necessite de casas para seus usuários. A primeira versão para download sairá somente com a mesma. Posteriormente, pretendo ir atualizando com áreas de hunt, etc. Estou há pelo menos 2 anos sem fazer mapas de verdade e há pelo menos 1 sem abrir o editor de mapas! Então essas primeiras imagens são somente um esboço. Com mais treinamento, irei depois revisar as áreas para postar a primeira versão para download. Ainda assim, a intenção é que o mapa seja ao mesmo tempo simples e agradável, sem nenhum tipo de detalhe "mirabolante". Seria um mapa para o global, por exemplo. 01/02/2016 01/02/2016 01/02/2016 Abraços, Gabriel.3 pontos -
Olá, xTibianos. Hoje venho lhes trazer algo simples mas bem prático: os tipos de mensagens que podem ser mandadas aos players (por meio de scripts, óbvio). Esses tipos de mensagens são os usados nas versões 0.3/0.4 do The Forgotten Server (TFS para os íntimos). Segue a lista dos tipos de mensagens: MESSAGE_STATUS_CONSOLE_BLUE = 4 MESSAGE_STATUS_CONSOLE_RED = 12 MESSAGE_STATUS_DEFAULT = 16 MESSAGE_STATUS_WARNING = 17 MESSAGE_EVENT_ADVANCE = 18 MESSAGE_STATUS_SMALL = 19 MESSAGE_INFO_DESCR = 20 MESSAGE_DAMAGE_DEALT = 21 MESSAGE_DAMAGE_RECEIVED = 22 MESSAGE_HEALED = 23 MESSAGE_EXPERIENCE = 24 MESSAGE_DAMAGE_OTHERS = 25 MESSAGE_HEALED_OTHERS = 26 MESSAGE_EXPERIENCE_OTHERS = 27 MESSAGE_EVENT_DEFAULT = 28 MESSAGE_LOOT = 29 MESSAGE_TRADE_NPC = 30 MESSAGE_EVENT_GUILD = 31 MESSAGE_PARTY_MANAGEMENT = 32 MESSAGE_PARTY = 33 MESSAGE_EVENT_ORANGE = 34 MESSAGE_STATUS_CONSOLE_ORANGE = 35 MESSAGE_REPORT = 36 MESSAGE_HOTKEY_USE = 37 lembrando que no script pode ser usado tanto a "parte escrita" quanto o numero correspondente! Agora segue uma sequencia de prints da execução de cada tipo de mensagem in-game: as divisórias "//" indicam que todas os tipos de mensagens presentes antes/depois delas surtem os mesmos efeitos (representados nas prints) MESSAGE_STATUS_CONSOLE_BLUE MESSAGE_STATUS_CONSOLE_RED MESSAGE_STATUS_DEFAULT // MESSAGE_EVENT_DEFAULT MESSAGE_STATUS_WARNING MESSAGE_EVENT_ADVANCE // MESSAGE_REPORT MESSAGE_STATUS_SMALL MESSAGE_INFO_DESCR // MESSAGE_LOOT // MESSAGE_TRADE_NPC // MESSAGE_EVENT_GUILD // MESSAGE_PARTY_MANAGEMENT // MESSAGE_PARTY // MESSAGE_HOTKEY_USE MESSAGE_DAMAGE_DEALT // MESSAGE_DAMAGE_RECEIVED // MESSAGE_HEALED // MESSAGE_EXPERIENCE // MESSAGE_DAMAGE_OTHERS // MESSAGE_HEALED_OTHERS // MESSAGE_EXPERIENCE_OTHERS MESSAGE_EVENT_ORANGE // MESSAGE_STATUS_CONSOLE_ORANGE Por hoje é isso, galera. Espero que tenha sido útil. ^^ Créditos: @Danihcv3 pontos
-
Loja de magia (potions e wands/rods)
vh1normando0 e um outro reagiu a Administrador por um tópico no fórum
Informações: Protocolo: 8.60 Descrição: Loja de itens para mages, primeiro andar venda de potions e terceiro andar venda de wands/rods. Conforme os detalhes do mapa, este pode ser colocado em desertos ou cidades com o tema correspondente. Antes de baixar, comente no tópico e repute este post, tem um botãozinho verde ali em baixo, do lado direito Faça bom uso! Mage Shop xTibia.com.rar2 pontos -
rateLoot em lua
Administrador e um outro reagiu a felzan por um tópico no fórum
1. O que é? Script que controla a rateLoot. Significa que pode conceder um bonus de loot (double loot) sem reiniciar o servidor, pode dar mais loot pra premium, mais loot se o player tiver tal item, ou tal storage. 2. Script 2.1 Configurar Para configurar é bem simples, tem a maior parte das variáveis no topo do script com explicações em creaturescripts.lua 3. Imagem2 pontos -
Compilando TFS 0.4 no Linux
Danihcv e um outro reagiu a jvcasarin por um tópico no fórum
Fala galera, eu estava com problema na compilação do TFS 0.4 no linux, pois não achava nenhum tutorial sobre... Eu consegui uma SUPER AJUDA ESPECIAL de um membro aqui chamado @Fir3element, esse cara me ajudou demais, tanto na liberação da source TFS 0.4 rev 3777 com suporte a MSVC quanto na compilação em Linux. Bom, chega de enrolação e vamos ao que interessa. Eu usei o Ubuntu 12.04 64 bits, TFS 0.4 rev3777 do Fir3element. Todos os Downloads estarão no final do tópico. Let's go!!!! 1º - Liberar root 2º - Instalando as LIBs do TFS 3º - Passe o arquivo 3777-master.rar para a raiz(file system ou sistema de arquivos) 4º - Vamos começar o processo de compilação. 5º - O arquivo executável, estará localizado dentro da pasta src, chamado "theforgottenserver" sem nenhuma extensão. Para usá-lo, coloque-o na pasta de seu server, abra o terminal e digite o seguinte: Pronto galera, Tutorial testado e aprovado por mim(Sekk) Downloads: Ubuntu 12.04 - http://releases.ubuntu.com/12.04.5/ (Não postarei scan pois é do site oficial do Ubuntu.) Source TFS 0.4 rev3777 - https://github.com/Fir3element/3777/archive/master.zip Scan da source - https://www.virustotal.com/pt/file/4ad91b1993200dde9a5c77d2b99a1e8d80158bc95f0a6b3fb857e60eaab6fa0a/analysis/1454367244/ Créditos TOTAIS: @2 pontos -
Zare City
Gabriel Couto e um outro reagiu a JustinnoTibianno por um tópico no fórum
Bom te ver voltando ao mapping, já estou esperando o download haha2 pontos -
Editor de Sprites? Object builder!
Administrador e um outro reagiu a Danihcv por um tópico no fórum
@@viniciusd, amigo, vc baixou as sources do programa... sahusahu Pra baixar o programa executavel clique aqui. Porém, para a instalação e uso do mesmo, vc precisa ter o adobe air instalado.2 pontos -
Em algum arquivo da lib, coloque as seguintes funções: Código da spell: local teleport_area = { --Área com as posições que o jogador pode ser teleportado. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 2, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } function onCastSpell(cid) local area_positions = getPosfromArea(cid, teleport_area) local position = area_positions[math.random(#area_positions)] if not isWalkable(position) or getTileInfo(position).protection then while not isWalkable(position) do position = area_positions[math.random(#area_positions)] end end doTeleportThing(cid, position) return true end2 pontos
-
Conteúdo: Imagens Mapa não incluso Downloads: Removendo Bugs de itens (como order, fishing, etc) Sistemas feitos para o PDE: Tutoriais feitos para o PDE: Bugs reportados:1 ponto
-
Hoje vou postar mais um sistema para o PDE Sistema da vez: Pokébolas com maior chance de catch dependendo do tipo do pokemon! Também vou ensinar a adicionar pokébolas Não pensei em um nome melhor, então vou chamar de: Ball System Adicionando novas Pokebolas: Pokébolas com maior chance de catch dependendo do tipo do pokemon! Créditos: @Ceetros (talvez ? ) @zipter98 (tive a ideia no tópico do @@Bluester, para acessar clique aqui)1 ponto
-
Servidor 10.90 | Windows 32/64 Bits | Versão Final
LeonxD reagiu a Marco Oliveira por um tópico no fórum
Depois de muitos pedidos e muita procura acabei compilando o TFS da versão 10.90, está estável. As sources são originais, não houve modificações nelas, apenas os sistemas foram adicionados... Clique Aqui para fazer o download da versão 32 bits. Clique Aqui para fazer o download da versão 64 bits. Clique Aqui para fazer o download das sources. Clique aqui para fazer o download do gesior funcional. Clique Aqui para o scan de 32 bits. Clique Aqui para o scan de 64 bits. Clique Aqui para o scan das sources. Para usar o Reward Chest adicione a seguinte flag no monstro. <flag rewardchest="1" / Você também pode definir o drop para ser único, dessa forma só a pessoa que fez o maior dano irá obter este item. exemplo: <item id="5903" chance="100000" uniquedrop="1" /><!-- ferumbras' hat --> Na versão final foram corrigidos os bugs das mensagens do Server Log como as de potion e loot. Seguem as screen shots.. PS: Eu autorizo postar em outro fórum, porem este conteúdo é oficialmente do XTibia, então coloque meus créditos e o link do fórum oficial.1 ponto -
Basica Sala De Quests
Caronte reagiu a Dennyz Dias por um tópico no fórum
Eaew Galera Xtibiana !!! Hoje Venho traser um pequeno trabalho feito por mim é uma pequena sala de Quests! espero que gostem ! :biggrin: Como é meu primeiro trabalho Deixem nos comentarios oque acharão! Fis no RME 10.80 mais versao é 8.60 ! Scan ! https://www.virustotal.com/pt/file/8198aa759e260bd38f7522f6e9afd081615a688400c25bb3fb03f440782349ca/analysis/1453838455/ Download !! TPS Quests.rar1 ponto -
Sprite de mim (pxg spriter)
Josegvb reagiu a Administrador por um tópico no fórum
Sei que vocês gostam de zuar de mim e comigo então aproveitem a oportunidade... Feita por um spriter da pxg camarada meu. (JeeRenato)1 ponto -
xTibia Recomenda! ROTZ Online
kaleudd reagiu a Administrador por um tópico no fórum
Meus queridos leitores! Você acordou hoje sem ânimo, sem um sentido pra vida. Sem o que fazer, sem o que comer. Pois eu lhe mostro a solução para seus problemas! Este novo servidor está abalando o pessoal fã de Zombies, trazendo muitas novidades exclusivas é claro. Venho acompanhando o desenvolvimento do projeto e garanto que tem muita coisa legal rolando nesse beta! Então se você leu até aqui e sentiu que seu ânimo voltou, confira mais sobre esse BETA clicando aqui. E se leu até aqui mas continua com tédio, clique aqui.1 ponto -
[Arquivado]O Servidor Global mais completo!
Danihcv reagiu a Administrador por um tópico no fórum
Convido você leitor a jogar Globalwar. Online desde 2011, tem sido atualizado a cada versão importante do Tibia. Possuindo em média mais de 300 players online, o Globalwar tem eventos únicos que nenhum outro servidor global dispõe para os jogadores. Hospedado no EUA 24/7, o Globalwar é um dos servidores que possui a melhor proteção anti-DDoS. Com experiência em lidar com qualquer situação, esse servidor vai te garantir uma ótima jogabilidade! O Globalwar também é hospedado na otpanel.com, a melhor empresa de hosting em otserv. Ta esperando o que? É só clicar aqui, criar uma conta e se divertir! :smile_positivo: Skill 40.0x Magic 10.0x Loot 2.0x Mana/HP 3x (free) 5x (promoted) Zombie Event Castle Land Battlefield City War Quest LandEnchanted Forest Resta1 Caça ao Tesouro Lottery1 ponto -
[TFS 1.x] Message types - Tipos de mensagem
manoellouro reagiu a Danihcv por um tópico no fórum
Olá, xTibianos. Hoje venho lhes trazer outra lista de tipos de mensagens que podem ser mandadas aos players (por meio de scripts, óbvio). Os seguintes tipos de mensagens são os usados nas versões 1.x do The Forgotten Server (TFS para os íntimos). Segue a lista dos tipos de mensagens e uma breve descrição de como cada tipo de mensagem se apresenta in-game: MESSAGE_STATUS_CONSOLE_BLUE = 4, /*Mensagem azul no console*/ MESSAGE_STATUS_CONSOLE_RED = 13, /*Mensagem vermelha no console*/ MESSAGE_STATUS_DEFAULT = 17, /*Mensagem branca na parte inferior da tela do jogo e no console*/ MESSAGE_STATUS_WARNING = 18, /*Mensagem vermelha no centro da tela do jogo e no console*/ MESSAGE_EVENT_ADVANCE = 19, /*Mensagem branca no centro da tela do jogo e no console*/ MESSAGE_STATUS_SMALL = 21, /*Mensagem branca na parte inferior da tela do jogo"*/ MESSAGE_INFO_DESCR = 22, /*Mensagem verde no centro da tela do jogo e no console*/ MESSAGE_DAMAGE_DEALT = 23, /*Mensagem branca no console*/ MESSAGE_DAMAGE_RECEIVED = 24, MESSAGE_HEALED = 25, MESSAGE_EXPERIENCE = 26, MESSAGE_DAMAGE_OTHERS = 27, MESSAGE_HEALED_OTHERS = 28, MESSAGE_EXPERIENCE_OTHERS = 29, MESSAGE_EVENT_DEFAULT = 30, MESSAGE_LOOT = 31, MESSAGE_EVENT_ORANGE = 36, /*Mensagem laranja no console*/ MESSAGE_STATUS_CONSOLE_ORANGE = 37 lembrando que no script pode ser usado tanto a "parte escrita" quanto o numero correspondente! Agora segue uma sequencia de prints da execução de cada tipo de mensagem in-game: as divisórias "//" indicam que todas os tipos de mensagens presentes antes/depois delas surtem os mesmos efeitos (representados nas prints) MESSAGE_STATUS_CONSOLE_BLUE MESSAGE_STATUS_CONSOLE_RED MESSAGE_STATUS_DEFAULT // MESSAGE_EVENT_DEFAULT MESSAGE_STATUS_WARNING MESSAGE_EVENT_ADVANCE MESSAGE_STATUS_SMALL MESSAGE_INFO_DESCR // MESSAGE_LOOT MESSAGE_DAMAGE_DEALT // MESSAGE_DAMAGE_RECEIVED // MESSAGE_HEALED // MESSAGE_EXPERIENCE // MESSAGE_DAMAGE_OTHERS // MESSAGE_HEALED_OTHERS // MESSAGE_EXPERIENCE_OTHERS MESSAGE_EVENT_ORANGE // MESSAGE_STATUS_CONSOLE_ORANGE Por hoje é isso, galera. Espero que tenha sido útil. ^^ Créditos: @Danihcv1 ponto -
Zare City
Gabriel Couto reagiu a Caronte por um tópico no fórum
Uiui anyur voltou a mappear.. Gostei bastante.1 ponto -
O fórum precisa de mais conteúdos assim! :smile_positivo: Em TFS 1.x MESSAGE_STATUS_CONSOLE_BLUE = 4 MESSAGE_STATUS_CONSOLE_RED = 13 MESSAGE_STATUS_DEFAULT = 17 MESSAGE_STATUS_WARNING = 18 MESSAGE_EVENT_ADVANCE = 19 MESSAGE_STATUS_SMALL = 21 MESSAGE_INFO_DESCR = 22 MESSAGE_DAMAGE_DEALT = 23 MESSAGE_DAMAGE_RECEIVED = 24 MESSAGE_HEALED = 25 MESSAGE_EXPERIENCE = 26 MESSAGE_DAMAGE_OTHERS = 27 MESSAGE_HEALED_OTHERS = 28 MESSAGE_EXPERIENCE_OTHERS = 29 MESSAGE_EVENT_DEFAULT = 30 MESSAGE_LOOT = 31 MESSAGE_EVENT_ORANGE = 36 MESSAGE_STATUS_CONSOLE_ORANGE = 371 ponto
-
cara,você ja foi avisado que @up é só dps de 24 horas...1 ponto
-
Vou ajudar vc desta vez mais como disse existe "tutorial" no xtibia pra tudo quanto vc compila um tile que quer transparência vc não deve compilar o item com a opção FULL GROUND. Não fique apenas na 1 pagina, quanto se faz um tutorial sempre há erros como tais e o nosso amigo que fez o tutorial explica como arrumar, no caso quanto o EdMignari fez o seu tutorial surgiu o seu erro. testes feitos1 ponto
-
Global 10.90 - Quest sem missões + Ferumbras Quest
Marco Oliveira reagiu a Furabio por uma questão
@Guilherme Souza e @Marco Oliveira. Recomendo vocês aprenderem o básico de lógica de programação e .lua, pois assim vocês podem fazer o quem estão pedindo facilmente(já que envolve apenas algumas storages em diferentes arquivos). Esse tipo de pedido é bem difícil de alguém ajudar, pois não envolve apenas 1 arquivos e sim 4, 5, 6(movements, actions, talkactions), mesmo sendo fácil é algo cansativo de fazer pois se você tira uma storage muda totalmente a quest, o que era apenas para deixar uma pessoa entrar em determinado local, se torna algo que não vai deixa-la fazer essa quest e até outras que são ligadas a ela, assim tendo que repensar a forma que ela vai ser feita.1 ponto -
[Problema] Rme parou de funcionar
joaoibi reagiu a Administrador por uma questão
Não copia o itens.xml, apenas o itens.otb. Você fez o backup do itens.xml antigo?1 ponto -
Bug Área Noticias OTserver
Furabio reagiu a Administrador por um tópico no fórum
Falha de permissão. Arrumado. :}1 ponto -
[Arquivado]O Servidor Global mais completo!
Administrador reagiu a Gabriel Couto por um tópico no fórum
O Servidor é bem maneiro, tenho conta lá e indico bastante1 ponto -
[Encerrado] Ajuda com IP Changer
matheusvulgoshc reagiu a Administrador por um tópico no fórum
Dependendo do ip changer que você está utilizando, você deve abrir o tibia antes de aplicar o ip. Veja esta lista de ip changer: http://www.xtibia.com/forum/topic/238188-otserver-tibia-ip-changer-clients/1 ponto -
Loja de magia (potions e wands/rods)
Administrador reagiu a Marfito por um tópico no fórum
Muito bonito, parabéns.1 ponto -
Opa, e aí, @@kaleudd! Eu vi isso, mas não estou conseguindo excluir. Já mandei mensagem pros moderadores, desculpa pelo post duplo, foi sem querer mesmo!1 ponto
-
1 ponto
-
1 ponto
-
Quimera 10.77 24/7 Hospedado Canadá!
Administrador reagiu a murilow1 por um tópico no fórum
Arrumado! Hehe, obrigado pela educação.1 ponto -
Erro Script Por Storage
Developer Berg reagiu a Marco Oliveira por uma questão
Poste os scripts que você encontrou e marque o tópico como resolvido, assim você ajuda outras pessoas.1 ponto -
Quimera 10.77 24/7 Hospedado Canadá!
murilow1 reagiu a Administrador por um tópico no fórum
Interessante, rs. Você duplicou seu post, edite e organize as informações melhor que vai ficar show! :smile_positivo:1 ponto -
[SQL] Tutorial Básico
Administrador reagiu a Caronte por um tópico no fórum
Olá pessoal, hoje tenho um tempo livre para dedicar, e decidi criar um tutorial de SQL, nele vou explicar algumas coisas básicas, e algumas que pesquisei para ter certeza do que estou passando, no final do tutorial vou fornecer fontes, que podem ser usadas como forma de estudo. Antes de começar, vou utilizar algumas formatações para facilitar: Esse tutorial pode ser usado para MySQL também, pois o MySQL como o próprio nome já dá enfase, usa uma interface em SQL - que é uma linguagem, não confunda SQL com SQLite Studio ou MySQL. Primeiramente tenho que explicar o que é: SQL - (Structured Query Language) Linguagem de Consulta Estruturada, é uma linguagem de banco de dados, ou seja, serve para guardar, consultar e editar quase quaisquer dados. No seu arquivo .sql que fica na sua pasta \schemas, contém uma database salva através de vários QUERYS, como eu disse antes, querys são parte da interface do SQL, e com eles, você pode jogar num MySQL que abrirá magicamente, ou simplesmente executará os querys preenchendo sua database. Exemplo de arquivo .SQL: Os arquivos .s3db são do SQLite Studio, essa extensão de arquivo é usada para armazenar a database para o programa em específico. Trecho retirado de: http://www.w3schools.com/sql/sql_syntax.asp Querys - query, pode ser traduzido para: pergunta, questão, dúvida. Eles são usados em tudo dentro da linguagem, tudo que você faz com seus dados na database, é um query que roda no interpretador. Cada tabela contém colunas, e cada coluna, contém data = dados, e o conjunto de dados forma a sua database, através da organização de rows e colunas. Vou explicar melhor na prática: Sintaxe - é todo o conjunto de comandos de uma linguagem. que serve para montar a lógica. Umas das sintaxes do SQL: SELECT - Extrai dados da database UPDATE - Atualiza dados da database DELETE - Deleta dados de uma database INSERT INTO - Insere novos dados dentro da database CREATE DATABASE - Cria uma nova database ALTER DATABASE - Altera uma database CREATE TABLE - Cria uma nova tabela ALTER TABLE - Modifica uma tabela DROP TABLE - Deleta uma tabela CREATE INDEX - Cria um index DROP INDEX - Deleta um index DISTINCT - Usa-se junto com SELECT para distinguir o que selecionar WHERE - Usa para impor condições AND - Usa para somar condições OR - Usa para subtrair condições ...E etc... Acesse este link, é um interpretador de querys, com uma database. No canto direito "You Database:" você pode visualizar os dados, e restaurar, restaure quando você fizer alguma merda (como deletar ou alterar algo sem querer). Lá dentro, escreva isto, e aperte "Run SQL >>" , o interpretador irá rodar/executar o query. SELECT * FROM Customers; Essa expressão acima, seleciona * (todos os dados) da tabela Customers (poderia ser tabela Accounts ou Players), que contém várias rows/fileiras (um total de 91), vamos diminuir utilizando outro comando, para diminuir a quantidade de informação: SELECT * FROM Customers WHERE CustomerID < 4; Ótimo, agora ficará assim: Para explicar o que é o que: Quando usamos um QUERY para selecionar, seguimos o seguinte padrão: SELECT coluna FROM tabela WHERE coluna=1; Ou SELECT ContactName FROM Customers WHERE Address="Obere Str. 57" isso vai selecionar direto "Maria Anders" pois os endereços são únicos... Essa situação pode ser usada no tibia por exemplo, para selecionar o noivo ou noiva no marriage system, já que eles precisam ser colocados no banco de dados. Os storages não são nada mais nada menos do que dados da database, que são chamados e alterados através de querys, por LUA ou C++... Vale lembrar pessoal que para usar um query em LUA, é só usar a função: db.query("SELECT * FROM `accounts`") o query dentro foi somente um exemplo. Fontes: http://www.w3schools.com/sql/ http://www.1keydata.com/pt/sql/ Não usei, mas é uma opção em português. Recomendo muito o w3schools, não só para sql, mas para tudo que tiver lá, eles explicam muito bem. Bom, foi isso pessoal, espero que tenham gostado e que ajude nas suas empreitadas QUALQUER Crítica construtiva ou sugestão pode comentar abaixo. Posso fazer outros tópicos de sql, caso este esteja bom. Suporte no tópico. :smile_positivo:1 ponto -
Author:Printer Como funciona: Instalação: Vá em actions/actions.xml e adicione essa linha: <action actionid="8000" script="tronEventLever.lua" /> Vá em actions/scripts e crie um arquivo chamado ''tronEventLever.lua'' e adicione isso dentro: function onUse(player, item, fromPosition, target, toPosition, isHotkey) if item.itemid == 1945 then if tronEvent:onUseLever(player) == false then return true end end item:transform(item.itemid == 1945 and 1946 or 1945) return true end Agora vá em movements/movements.xml e remova essas linhas: <movevent event="AddItem" itemid="1492" function="onAddField" /> <movevent event="StepIn" itemid="1493" function="onStepInField" /> <movevent event="StepIn" itemid="1500" function="onStepInField" /> <movevent event="AddItem" itemid="1500" function="onAddField" /> <movevent event="StepIn" itemid="1506" function="onStepInField" /> <movevent event="AddItem" itemid="1506" function="onAddField" /> E adicione essas linhas: <movevent event="StepIn" itemid="1492" script="tronEventMovement.lua" /> <movevent event="StepIn" itemid="1500" script="tronEventMovement.lua" /> <movevent event="StepIn" itemid="1506" script="tronEventMovement.lua" /> Vá em movements/scripts e crie um arquivo chamado "tronEventMovement.lua" e adicione isso dentro: function onStepIn(creature, item, position, fromPosition) local player = creature:getPlayer() if player == nil then return false end position:sendMagicEffect(CONST_ME_FIREAREA) tronEvent:onPlayerDeath(player, tonumber(item:getAttribute(ITEM_ATTRIBUTE_TEXT)) or 0) return true end Agora em data/global.lua,adicione essa linha: dofile('data/tronEvent.lua') Create new lua inside data folder and name it: "tronEvent.lua" and paste this: http://pastebin.com/qdjptfYe1 ponto
-
[TFS 1.x] Tron Event [V0.5]
kaleudd reagiu a Administrador por um tópico no fórum
Criativo de mais, e divertido hahaha Curti muito, obrigado por postar1 ponto -
Reset System sem Logout
Administrador reagiu a Suporte Chaitosoft por um tópico no fórum
Olá pessoal do XTibia, tudo na boa? Após pesquisar muito não consegui encontrar um sistema de reset para usar no servidor de nosso cliente Demolidores então decidi fazer a junção de alguns sistemas e montei também um ranking para Gesior. Chega de blá blá blá e vamos direto ao script. 1°- Adicione a tag em seu "talkactions.xml"; <talkaction words="!resetar;!reset" event="script" value="reseting.lua"/> 2°- Adicione o arquivo "reseting.lua" ao diretório "/data/talkactions/scripts/"; function onSay(cid, words, param, channel) config = { RemainingLvl=8, exper=4200, pid=getPlayerGUID(cid), batle="yes" } function getPlayerResets(cid) resets = getPlayerStorageValue(cid,1021) if resets < 0 then resets = 0 end return resets end if (config.batle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerSendTextMessage(cid,22,"Você Precisa estar sem Battle para Resetar.") return TRUE end if (getPlayerStorageValue(cid, 11548) >= os.time()) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED,"Por medidas de segurança você só pode utilizar este comando em " .. (getPlayerStorageValue(cid, 11548)-os.time()+(0)) .. " segundos.") return TRUE end local healthMax, manaMax = getCreatureMaxHealth(cid), getCreatureMaxMana(cid) ---------------------------------------------------------------------------------------------------------------------------------------- if getPlayerStorageValue(cid,1021) < 85 and getPlayerResets(cid) == 15 then if getPlayerLevel(cid) >= 16000 then setPlayerStorageValue(cid,1021,getPlayerResets(cid)+1) setPlayerStorageValue(cid,11548,os.time()+30) doPlayerAddLevel(cid, config.RemainingLvl) setCreatureMaxHealth(cid, healthMax) setCreatureMaxMana(cid, manaMax) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_FIREWORK_RED) db.executeQuery("UPDATE `players` SET `reset` = `reset` + 1 WHERE `id` = "..config.pid) else doPlayerSendCancel(cid,"Você precisa ter level 16000 ou mais para poder resetar.") end end ---------------------------------------------------------------------------------------------------------------------------------------- if getPlayerStorageValue(cid,1021) < 80 and getPlayerResets(cid) == 14 then if getPlayerLevel(cid) >= 15000 then setPlayerStorageValue(cid,1021,getPlayerResets(cid)+1) setPlayerStorageValue(cid,11548,os.time()+30) doPlayerAddLevel(cid, config.RemainingLvl) setCreatureMaxHealth(cid, healthMax) setCreatureMaxMana(cid, manaMax) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_FIREWORK_RED) db.executeQuery("UPDATE `players` SET `reset` = `reset` + 1 WHERE `id` = "..config.pid) else doPlayerSendCancel(cid,"Você precisa ter level 15000 ou mais para poder resetar.") end end ---------------------------------------------------------------------------------------------------------------------------------------- if getPlayerStorageValue(cid,1021) < 70 and getPlayerResets(cid) == 13 then if getPlayerLevel(cid) >= 14000 then setPlayerStorageValue(cid,1021,getPlayerResets(cid)+1) setPlayerStorageValue(cid,11548,os.time()+30) doPlayerAddLevel(cid, config.RemainingLvl) setCreatureMaxHealth(cid, healthMax) setCreatureMaxMana(cid, manaMax) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_FIREWORK_RED) db.executeQuery("UPDATE `players` SET `reset` = `reset` + 1 WHERE `id` = "..config.pid) else doPlayerSendCancel(cid,"Você precisa ter level 14000 ou mais para poder resetar.") end end ---------------------------------------------------------------------------------------------------------------------------------------- if getPlayerStorageValue(cid,1021) < 65 and getPlayerResets(cid) == 12 then if getPlayerLevel(cid) >= 13000 then setPlayerStorageValue(cid,1021,getPlayerResets(cid)+1) setPlayerStorageValue(cid,11548,os.time()+30) doPlayerAddLevel(cid, config.RemainingLvl) setCreatureMaxHealth(cid, healthMax) setCreatureMaxMana(cid, manaMax) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_FIREWORK_RED) db.executeQuery("UPDATE `players` SET `reset` = `reset` + 1 WHERE `id` = "..config.pid) else doPlayerSendCancel(cid,"Você precisa ter level 13000 ou mais para poder resetar.") end end ---------------------------------------------------------------------------------------------------------------------------------------- if getPlayerStorageValue(cid,1021) < 60 and getPlayerResets(cid) == 11 then if getPlayerLevel(cid) >= 12000 then setPlayerStorageValue(cid,1021,getPlayerResets(cid)+1) setPlayerStorageValue(cid,11548,os.time()+30) doPlayerAddLevel(cid, config.RemainingLvl) setCreatureMaxHealth(cid, healthMax) setCreatureMaxMana(cid, manaMax) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_FIREWORK_RED) db.executeQuery("UPDATE `players` SET `reset` = `reset` + 1 WHERE `id` = "..config.pid) else doPlayerSendCancel(cid,"Você precisa ter level 12000 ou mais para poder resetar.") end end ---------------------------------------------------------------------------------------------------------------------------------------- if getPlayerStorageValue(cid,1021) < 55 and getPlayerResets(cid) == 10 then if getPlayerLevel(cid) >= 11000 then setPlayerStorageValue(cid,1021,getPlayerResets(cid)+1) setPlayerStorageValue(cid,11548,os.time()+30) doPlayerAddLevel(cid, config.RemainingLvl) setCreatureMaxHealth(cid, healthMax) setCreatureMaxMana(cid, manaMax) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_FIREWORK_RED) db.executeQuery("UPDATE `players` SET `reset` = `reset` + 1 WHERE `id` = "..config.pid) else doPlayerSendCancel(cid,"Você precisa ter level 11000 ou mais para poder resetar.") end end ---------------------------------------------------------------------------------------------------------------------------------------- if getPlayerStorageValue(cid,1021) < 50 and getPlayerResets(cid) == 9 then if getPlayerLevel(cid) >= 10000 then setPlayerStorageValue(cid,1021,getPlayerResets(cid)+1) setPlayerStorageValue(cid,11548,os.time()+30) doPlayerAddLevel(cid, config.RemainingLvl) setCreatureMaxHealth(cid, healthMax) setCreatureMaxMana(cid, manaMax) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_FIREWORK_RED) db.executeQuery("UPDATE `players` SET `reset` = `reset` + 1 WHERE `id` = "..config.pid) else doPlayerSendCancel(cid,"Você precisa ter level 10000 ou mais para poder resetar.") end end ---------------------------------------------------------------------------------------------------------------------------------------- if getPlayerStorageValue(cid,1021) < 45 and getPlayerResets(cid) == 8 then if getPlayerLevel(cid) >= 9000 then setPlayerStorageValue(cid,1021,getPlayerResets(cid)+1) setPlayerStorageValue(cid,11548,os.time()+30) doPlayerAddLevel(cid, config.RemainingLvl) setCreatureMaxHealth(cid, healthMax) setCreatureMaxMana(cid, manaMax) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_FIREWORK_RED) db.executeQuery("UPDATE `players` SET `reset` = `reset` + 1 WHERE `id` = "..config.pid) else doPlayerSendCancel(cid,"Você precisa ter level 9000 ou mais para poder resetar.") end end ---------------------------------------------------------------------------------------------------------------------------------------- if getPlayerStorageValue(cid,1021) < 40 and getPlayerResets(cid) == 7 then if getPlayerLevel(cid) >= 8000 then setPlayerStorageValue(cid,1021,getPlayerResets(cid)+1) setPlayerStorageValue(cid,11548,os.time()+30) doPlayerAddLevel(cid, config.RemainingLvl) setCreatureMaxHealth(cid, healthMax) setCreatureMaxMana(cid, manaMax) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_FIREWORK_RED) db.executeQuery("UPDATE `players` SET `reset` = `reset` + 1 WHERE `id` = "..config.pid) else doPlayerSendCancel(cid,"Você precisa ter level 8000 ou mais para poder resetar.") end end ---------------------------------------------------------------------------------------------------------------------------------------- if getPlayerStorageValue(cid,1021) < 35 and getPlayerResets(cid) == 6 then if getPlayerLevel(cid) >= 7000 then setPlayerStorageValue(cid,1021,getPlayerResets(cid)+1) setPlayerStorageValue(cid,11548,os.time()+30) doPlayerAddLevel(cid, config.RemainingLvl) setCreatureMaxHealth(cid, healthMax) setCreatureMaxMana(cid, manaMax) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_FIREWORK_RED) db.executeQuery("UPDATE `players` SET `reset` = `reset` + 1 WHERE `id` = "..config.pid) else doPlayerSendCancel(cid,"Você precisa ter level 7000 ou mais para poder resetar.") end end ---------------------------------------------------------------------------------------------------------------------------------------- if getPlayerStorageValue(cid,1021) < 30 and getPlayerResets(cid) == 5 then if getPlayerLevel(cid) >= 6000 then setPlayerStorageValue(cid,1021,getPlayerResets(cid)+1) setPlayerStorageValue(cid,11548,os.time()+30) doPlayerAddLevel(cid, config.RemainingLvl) setCreatureMaxHealth(cid, healthMax) setCreatureMaxMana(cid, manaMax) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_FIREWORK_RED) db.executeQuery("UPDATE `players` SET `reset` = `reset` + 1 WHERE `id` = "..config.pid) else doPlayerSendCancel(cid,"Você precisa ter level 6000 ou mais para poder resetar.") end end ---------------------------------------------------------------------------------------------------------------------------------------- if getPlayerStorageValue(cid,1021) < 25 and getPlayerResets(cid) == 4 then if getPlayerLevel(cid) >= 5000 then setPlayerStorageValue(cid,1021,getPlayerResets(cid)+1) setPlayerStorageValue(cid,11548,os.time()+30) doPlayerAddLevel(cid, config.RemainingLvl) setCreatureMaxHealth(cid, healthMax) setCreatureMaxMana(cid, manaMax) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_FIREWORK_RED) db.executeQuery("UPDATE `players` SET `reset` = `reset` + 1 WHERE `id` = "..config.pid) else doPlayerSendCancel(cid,"Você precisa ter level 5000 ou mais para poder resetar.") end end ---------------------------------------------------------------------------------------------------------------------------------------- if getPlayerStorageValue(cid,1021) < 20 and getPlayerResets(cid) == 3 then if getPlayerLevel(cid) >= 4000 then setPlayerStorageValue(cid,1021,getPlayerResets(cid)+1) setPlayerStorageValue(cid,11548,os.time()+30) doPlayerAddLevel(cid, config.RemainingLvl) setCreatureMaxHealth(cid, healthMax) setCreatureMaxMana(cid, manaMax) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_FIREWORK_RED) db.executeQuery("UPDATE `players` SET `reset` = `reset` + 1 WHERE `id` = "..config.pid) else doPlayerSendCancel(cid,"Você precisa ter level 4000 ou mais para poder resetar.") end end ---------------------------------------------------------------------------------------------------------------------------------------- if getPlayerStorageValue(cid,1021) < 15 and getPlayerResets(cid) == 2 then if getPlayerLevel(cid) >= 3000 then setPlayerStorageValue(cid,1021,getPlayerResets(cid)+1) setPlayerStorageValue(cid,11548,os.time()+30) doPlayerAddLevel(cid, config.RemainingLvl) setCreatureMaxHealth(cid, healthMax) setCreatureMaxMana(cid, manaMax) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_FIREWORK_RED) db.executeQuery("UPDATE `players` SET `reset` = `reset` + 1 WHERE `id` = "..config.pid) else doPlayerSendCancel(cid,"Você precisa ter level 3000 ou mais para poder resetar.") end end ---------------------------------------------------------------------------------------------------------------------------------------- if getPlayerStorageValue(cid,1021) < 10 and getPlayerResets(cid) == 1 then if getPlayerLevel(cid) >= 2000 then setPlayerStorageValue(cid,1021,getPlayerResets(cid)+1) setPlayerStorageValue(cid,11548,os.time()+30) doPlayerAddLevel(cid, config.RemainingLvl) setCreatureMaxHealth(cid, healthMax) setCreatureMaxMana(cid, manaMax) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_FIREWORK_RED) db.executeQuery("UPDATE `players` SET `reset` = `reset` + 1 WHERE `id` = "..config.pid) else doPlayerSendCancel(cid,"Você precisa ter level 2000 ou mais para poder resetar.") end end ---------------------------------------------------------------------------------------------------------------------------------------- if getPlayerStorageValue(cid,1021) < 5 and getPlayerResets(cid) == 0 then if getPlayerLevel(cid) >= 1000 then setPlayerStorageValue(cid,1021,getPlayerResets(cid)+1) setPlayerStorageValue(cid,11548,os.time()+30) doPlayerAddLevel(cid, config.RemainingLvl) setCreatureMaxHealth(cid, healthMax) setCreatureMaxMana(cid, manaMax) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_FIREWORK_RED) db.executeQuery("UPDATE `players` SET `reset` = `reset` + 1 WHERE `id` = "..config.pid) else doPlayerSendCancel(cid,"Você precisa ter level 1000 ou mais para poder resetar.") end end return true end 3°- Execute a query SQL para criar a coluna "reset" no banco de dados Mysql; ALTER TABLE `players` ADD `reset` BIGINT(255) NOT NULL DEFAULT '0'; 4°- Configure o "index.php" do seu Gesior para receber a página PHP; <?php $limitt = 100; $zap = $SQL->query('SELECT `name`,`level`, `reset` FROM `players` WHERE `group_id` < '.$config['site']['players_group_id_block'].' AND `name` != "Account Manager" ORDER BY `reset` DESC, `level` DESC LIMIT 100;'); $number_of_rows = 0; $main_content .= ' <center><h2>Reset Ranking</h2></center> <TABLE BORDER=0 CELLPADDING=4 CELLSPACING=1 WIDTH=100%> <tr bgcolor="#af2126"> <td><font color="white">Nome</font></td> <td><font color="white">Reset</font></td> <td><font color="white">Level</font></td> </tr> '; foreach($zap as $wynik) { if(!is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; } $number_of_rows++; $main_content .= ' <tr bgcolor="'.$bgcolor.'"> <td> <a href="index.php?subtopic=characters&name='.urlencode($wynik['name']).'"> <b> '.$wynik['name'].' </b></a> </td> <td> '.$wynik['reset'].' </td> <td> '.$wynik['level'].' </td> </tr> '; } $main_content .= ' </tr> </table>'; ?> Seria basicamente isto, espero que possa ter contribuído com alguém. Para alterar o numero de resets permitidos é só remover ou adicionar as linhas.1 ponto -
Potions por alavanca configurado por Talkaction
Administrador reagiu a giots por um tópico no fórum
Este é um sistema para comprar potions por alavanca, só que podendo configurar a quantidade de potions a ser comprada. Exemplo: !potions 50 ~~comprará 50 potions a cada vez que usar a alavanca. Primeiro vou dar o exemplo da gmp Crie um arquivo em data/actions/scripts com o nome de greatmp.lua e coloque: em actions.lua coloque : Agora em talkactions Crie um arquivo chamado potions.lua e coloque: em talkactions.lua coloque: Agora vá no rme e coloque o action id 1515 na alavanca que irá ser usada Extras: movements para o jogador na primeira vez que ele passar em movements, crie potions.lua e coloque: movements.lua ***Para evitar que os jogadores joguem lixo em cima das potions de ilustração, vá no rme e coloque o item 1548 (invisible blocking item) em cima delas. Scripts das outras potions abaixo: mana potion great health potion: spirit potion: strong health potion strong mana potion: ultimate health potion: créditos: eu1 ponto -
[SQL] Tutorial Básico
Caronte reagiu a Administrador por um tópico no fórum
Boa, tava faltando conteúdos assim.1 ponto -
1 ponto
-
Spell Teleport Aleatorio
Vasto Lord X reagiu a Caronte por uma questão
doSendMagicEffect(cidPos, CONST_ME_TELEPORT) em baixo de doTeleportThing(cid, position)1 ponto -
Muito bom caronte :smile_positivo:1 ponto
-
[SQL] Tutorial Básico
Caronte reagiu a Felipe Moraes por um tópico no fórum
Aguardo por mais tutoriais como esse. Apesar de bem básico, com certeza já é um caminho para os que estão começando. Parabéns, e obrigado por compartilhar conosco.1 ponto -
FINALMENTEE!!!!! shuahsuauhas Consegui! Eis o .lua: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end -------------------------- ----PARTE CONFIGURAVEL---- -------------------------- local gatilhos={"informacoes", "mysterious island", "second promotion"} local msgs = { ["informacoes"] = "Sobre o que você quer saber? Sobre a {mysterious island} ou sobre a {second promotion}?", ["mysterious island"] = 'É uma ilha que antigos diziam ficar ao sudoeste de Carlin. Há um teleport que dizem aparecer nos pântanos de Venore, talvez, ele leve a essa ilha.', ["second promotion"] = 'Há um NPC que vem de muito longe e fica a caminhas pelos campos de Thais, dizem que ele pode dar a segunda vocação para os aventureiros.', } local vocs = {1,2,5} ----------------------------- --FIM DA PARTE CONFIGURAVEL-- ----------------------------- function greetCallback(cid) if isInArray(vocs, getPlayerVocation(cid)) then npcHandler:say('Olá, '..getCreatureName(cid)..'. O que você procura? {Informacoes}?', cid) npcHandler:addFocus(cid) else npcHandler:say('Eu não falo com '..getVocationInfo(getPlayerVocation(cid)).name..'s.', cid) npcHandler:resetNpc(cid) return false end return false end function creatureSayCallback(cid, type, msg) for k, v in pairs(gatilhos) do if isInArray(vocs, getPlayerVocation(cid)) then if msgcontains(msg, v) then if msgcontains(msg, v) then npcHandler:say(msgs[v], cid) end elseif msgcontains(msg, 'bye') or msgcontains(msg, 'goodbye') then npcHandler:resetNpc(cid) return false end else npcHandler:say('Eu ja disse que nao falo com '..getVocationInfo(getPlayerVocation(cid)).name..'s.', cid) npcHandler:releaseFocus(cid) npcHandler:resetNpc(cid) return false end end return true end npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) .xml: <?xml version="1.0" encoding="UTF-8"?> <npc name="Ezequiel" script="data/npc/scripts/Ezequiel.lua" walkinterval="1500" speed="100" walkradius="2" floorchange="0"> <health max="100" now="100"/> <look type="130" head="0" body="64" legs="67" feet="114" addons="1" mount="0"/> </npc> Funciona assim: Essa tabela: Tem que estar em sincronia com essa: Ou seja, o primeiro gatilho da tabela gatilhos tem que ser o primeiro elemento da tabela msgs. E assim por diante.? Bom, a espera valeu a pena, caro amigo. sahusauhsauh Eu mesmo testei e está td certo. ^^ Tópico movido para dúvidas / pedidos resolvidos.1 ponto
-
[Show Off] Mega Bomb s2
Administrador reagiu a darklight por um tópico no fórum
Trabalhe mais nas bordas; todas elas, pois percebe-se que você não randomiza seus formatos, deixando tudo quadrado, o que prejudica a estética do mapa. Na última imagem, tente colocar mais variedades de árvore (você repetiu muito). Retire aquela balista dali, pois ela está mirando para uma árvore, creio que não seria muito efetivo; troque por uma catapulta.1 ponto -
Só entra se estiver sem balls, Action para portal
Scizorgame reagiu a zipter98 por uma questão
Moveevent (data/movements/scripts): local config = { toPosition = {x = x, y = y, z = z}, --Para onde o jogador será teleportado. pokeball_IDs = {itemid, itemid, itemid, ...} --IDs das pokeballs. } function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end for i = 1, #config.pokeball_IDs do if getPlayerItemCount(cid, config.pokeball_IDs[i]) > 0 then doPlayerSendCancel(cid, "You can't carry any pokeballs with you.") doTeleportThing(cid, fromPosition) return true end end doTeleportThing(cid, config.toPosition) return true end1 ponto -
[Show Off] SamueLGuedes
Caronte reagiu a SamueLGuedes por um tópico no fórum
Valeu Daniel, to me inspirando em alguns mapas seus xD.1 ponto -
A realidade é que já encheu o saco esse papo. Se não quer postar as sources, pra que cria o tópico dizendo que é open? Isso além de ser vergonhoso é infantil. Toda essa comoção da comunidade em prol de ajudar você com ISSO ai, e você tem coragem de dizer que estão errados em pedir uma coisa que você mesmo disse que teria (as sources)??. Aproveita quando for formatar o PC e formata sua mente junto!! Fica com Deus. Atenciosamente, Douglas!1 ponto
-
[Duvida] Opcodes cdBar OtClient 0.6.2
icaro201094 reagiu a Slicer por uma questão
'scripts mal feitos' banana? pra mim isso eh o melhor q eu podia fazer ja q n tenhu a porra das source do pda --' queria saber oq tu iria fazer no meu lugar... continua desvalorizando o trabalho dos outros vai.... @topic se tu olhar no meu otclient editado em modules\game_textmessage\textmessage.lua tu vai ver como esconder isso... ¬¬1 ponto -
[8.60] Potions Infinita - Definitivo
JustinnoTibianno reagiu a lhibanhi por um tópico no fórum
Olá Xtibianos, Estava com o mesmo problema que varios hosters enfrentam com o pedidos dos players... a famosa POT INFINITA no servidor, e resolvi, como consegui corrigir o SCRIPT final para isso sem BUGS. Lembrando que, eu simplesmente apaguei as partes que se refiriam a criação e remoção dos pot's no arquivo, não criei, não fiz nada, apenas modifiquei ao meu gosto! [TUTORIAL] Primeiramente siga este caminho na pasta do seu servidor : Data/Actions/Scripts/Liquids/Potions.lua No meu computador, neste caso o caminho é este O Script que tem que ser inserido nessa parte é local config = { removeOnUse = "no", usableOnTarget = "yes", -- can be used on target? (fe. healing friend) splashable = "no", realAnimation = "no", -- make text effect visible only for players in range 1x1 healthMultiplier = 1.0, manaMultiplier = 1.0 } config.removeOnUse = getBooleanFromString(config.removeOnUse) config.usableOnTarget = getBooleanFromString(config.usableOnTarget) config.splashable = getBooleanFromString(config.splashable) config.realAnimation = getBooleanFromString(config.realAnimation) local POTIONS = { [8704] = {empty = 7636, splash = 2, health = {50, 100}}, -- small health potion [7618] = {empty = 7636, splash = 2, health = {100, 200}}, -- health potion [7588] = {empty = 7634, splash = 2, health = {200, 400}, level = 50, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health potion [7591] = {empty = 7635, splash = 2, health = {500, 700}, level = 80, vocations = {4, 8}, vocStr = "knights"}, -- great health potion [8473] = {empty = 7635, splash = 2, health = {800, 1000}, level = 130, vocations = {4, 8}, vocStr = "knights"}, -- ultimate health potion [7620] = {empty = 7636, splash = 7, mana = {70, 130}}, -- mana potion [7589] = {empty = 7634, splash = 7, mana = {110, 190}, level = 50, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion [7590] = {empty = 7635, splash = 7, mana = {200, 300}, level = 80, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion [8472] = {empty = 7635, splash = 3, health = {200, 400}, mana = {110, 190}, level = 80, vocations = {3, 7}, vocStr = "paladins"} -- great spirit potion } local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) function onUse(cid, item, fromPosition, itemEx, toPosition) local potion = POTIONS[item.itemid] if(not potion) then return false end if(not isPlayer(itemEx.uid) or (not config.usableOnTarget and cid ~= itemEx.uid)) then if(not config.splashable) then return false end if(toPosition.x == CONTAINER_POSITION) then toPosition = getThingPos(item.uid) end doDecayItem(doCreateItem(2016, potion.splash, toPosition)) return TRUE end if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return TRUE end if(((potion.level and getPlayerLevel(cid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(cid)))) and not getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) then doCreatureSay(itemEx.uid, "Only " .. potion.vocStr .. (potion.level and (" of level " .. potion.level) or "") .. " or above may drink this fluid.", TALKTYPE_ORANGE_1) return TRUE end local health = potion.health if(health and not doCreatureAddHealth(itemEx.uid, math.ceil(math.random(health[1], health[2]) * config.healthMultiplier))) then return false end local mana = potion.mana if(mana and not doPlayerAddMana(itemEx.uid, math.ceil(math.random(mana[1], mana[2]) * config.manaMultiplier))) then return false end doSendMagicEffect(getThingPos(itemEx.uid), CONST_ME_MAGIC_BLUE) if(not realAnimation) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) else for i, tid in ipairs(getSpectators(getCreaturePosition(cid), 1, 1)) do if(isPlayer(tid)) then doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1, false, tid) end end end end após a inserção deste comando no servidor, se você não deseja reiniciar o servidor digite: /reload action feito isso, seu servidor estará com pot infinita, como mostro abaixo: está ai, a prova que seu servidor ficou com POT Infinita, lembrando eu não fiz este script editei de uma distro pronta. Tutorial by : LuuhIbanhi' (LuisH) Distro by : RealServer1 ponto