Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. Avuenja

    Ajuste Popup

    Olá pessoal, venho relatar mais um erro ai que esta ocorrendo. Após a inserção do popup de anuncio e etc... Começou a desalinhas umas partes da skin. Os ícones de notificação e mensagem...
    2 pontos
  2. Mudrock

    [Znote ACC] Cupons de Points

    Sistema Ola pessoal do Xtibia hoje venho trazer para vocês um Sistema de regaste de cupom, que é geralmente usado em Eventos ou promoções onde o Administrador gera um Código, que pode vale Points ( indiferente o valor ) e o Player pode ativar no site e ganhar os points automaticamente na conta. Primeiro devemos executar a seguinte query em nosso banco de dados CREATE TABLE IF NOT EXISTS `__cornex_redeem` ( `id` int(11) NOT NULL, `points` int(11) NOT NULL, `used_by` int(11) NOT NULL DEFAULT '0', `time` int(11) NOT NULL, `ip` int(11) NOT NULL, `code` varchar(100) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; ALTER TABLE `__cornex_redeem` ADD PRIMARY KEY (`id`); ALTER TABLE `__cornex_redeem` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; Caso não saiba executar segue o tutorial Agora é somente baixar os arquivos e colocar no website, caso tenha duvidas nesse processo me perguntem mais dentro das pastas já contem os nomes e os diretórios Download: https://www.dropbox.com/s/wtwjmj92qavkra1/redeem.rar?dl=0 Créditos : Cornex eu por traduzir e trazer ao Xtibia
    1 ponto
  3. | Melhorado Mapa e Adicionado Varias Áreas | Novos Itens | Novas Questes | Novos Bichos | Adicionado VIP 15 | Retirado Bugs no Mapa... | Retirado Varios Bugs no Distro | Novo Visual do Templo | Critical System | Dodge System | Reset System,para resetar fale !reset | Guild Frags System | PvP Balanceado Agora todas vocações estão no balanço | Armas Arrumadas Para Melhor PvP | Varios Eventos | Invasões no Templo de Boss Automatico | Battle Field Event | City War | Adicionado CASTLE 24HORAS (COM CASTELO) e AVISOS DE INVASORES | Itens DONATES | Área DONATE ~~ (Só Entra Quem Usar o Itens de Premium Days) | Vários Novos Script | Fast Atk Arrumado | Frags no Look | Npc Hero Seller (Vende Itens Exclusivos para quem tiver honor points) Obs:Consegue no GFS) | Entre Muitas Outras Coisas | Confira ! | Senha do ADM: god/god IMAGENS Templo Parte Centro Treiners Abaixo do Templo Novo Visual Npc Hero Vendendo Itens Heros Castle WAR 24 Horas | Download http://www.4shared.c...ks_Vip_15.html? | Scan https://www.virustot...sis/1403811216/ | Créditos DeathRocks sirrubilax
    1 ponto
  4. Wend ll

    [OTC] Compilando OTCLient no Windows

    Compilando OTCLient no Windows Antes de mais nada, gostaria de dizer que eu não fiz o tutorial, apenas traduzi para português. Link de post original >> https://github.com/e...ling-on-Windows Neste tutorial eu explicarei como compilar e rodar o OTClient em máquinas com o Windows. Faça o download do que você precisará Existem várias ferramentas que você precisa para compilar o projeto, cada uma delas está listada abaixo com seu link. * CMake 2.8.8 ou superior * CodeBlocks sem o MinGW, nós usaremos a versão mais nova * MinGW32 20120426 ou superior * otclient libraries for mingw32 * Código fonte do OTClient Tenha certeza que você instalou as últimas versões, caso contrário, as coisas podem não funcionar. Instale o MinGW32 Observe que o GCC que deve ser usado é o 4.6 ou superior, qualquer versão antiga do GCC que você já tenha instalado não funcionará porque o OTClient precisa de alguns recursos que só são suportados por compiladores recentes. Rode o instalador do MinGW32 e no processo de instalação quando for perguntado tenha certeza que você marcou a caixa para usar o catálogo mais atual. Instale o CMake Rode o instalador do CMake, durante o processo de instalação deverá ser perguntado se você quqer que o CMake configure suas variáveis do sistema(PATH), diga que não, isso será manualmente feito nos próximos passos. Instale o CodeBlocks Rode o instalador do CodeBlocks, Lembre-se, NÃO instale o MinGW quando ele pedir. Instale as bibliotecas do OTClient Extraia o arquivo otclient-libs_mingw32-dwarf2.zip em C:/MinGW/. Esse arquivo zip contem três pastas *lib, include e bin, que serão fundidas a C:/MinGW/lib, C:/MinGW/include e C:/MinGW/bin. Configure a variável PATH do sistema Agora que todas as ferramentas necessárias estão instaladas, você deve configurar a variável PATH do sistema, para fazer o CMake encontrar o MinGW32 e as bibliotecas instaladas, vá para: Painel de controle -> Sistema -> Avançado -> Variáveis de Ambiente Verifique se na área Variáveis de usuário, existe a variável PATH, se não, crie uma e defina ela como: C:\Program Files\CMake 2.8\bin;C:\MinGW\bin;C:\MinGW\lib;C:\MinGW\include Tenha certeza que a variável do usuário PATH existe e que refere para o diretório do CMake. Baixe o código fonte do OTClient Vá para página de download e faça o download do código fonte do OTCLient. O diretório onde você colocará esses arquivos não deve ser longo. Por exemplo: "C:\OTClient\" é um bom diretório, mas "C:\Program Files\OTClient" não é. Gere o arquivo de projeto do CodeBlocks Rode o CMake-gui.exe localizado em \Program Files\CMake 2.8\bin, e especifique o diretório onde você colocou o código fonte do OTCLient, e onde você quer que os arquivos do projeto sejam criados. Clique em configure, seleciona CodeBlocks - MinGW Makefiles, como gerador e gere os arquivos do projeto. Compilando Abra o arquivo de projeto do CodeBlocks que foi gerado (**otclient.cbp**) pelo CMake com o CodeBlocks. Para compilar você deve primeiro configurar a pasta do MinGW32, indo em Settings > Compiler And Debugger... > Toolchain Executables. Tenha certeza de copiar os arquivos Tibia.dat e Tibia.spr dentro da pasta /data/things// antes de rodar o cliente. Suporte a Dx9 Se você quiser ativar a camada de suporte do dx9 para o OTClient, você deve compilar com -DOPENGLES=2.0. Agora o OTClient.exe vai pedir pelas dll libEGL.dll e libGLESv2.dll que você pode conseguir aqui >> https://dl.dropbox.c...nt/dx9_dlls.zip, coloque essas dll na pasta do OTClient.exe Créditos: Eu por traduzir do github e trazer pra cá Edubart pelo tutorial original
    1 ponto
  5. Oneshot

    Forge System

    ADVANCED FORGE SYSTEM O SISTEMA DE CRIAÇÃO DE ITENS PARA SEU SERVIDOR Creio que muitos já conhecem o sistema de forja criado por mim, acontece que o código já estava um pouco obsoleto, então resolvi reescrever ele do 0. Simplesmente consiste em um sistema de criação de itens avançado que ressuscita um pouco do RPG perdido nos servidores de hoje em dia. O jogador poderá criar itens através de forja, agindo como um verdadeiro ferreiro medieval. Adiciona itens em cima de uma bigorna previamente colocada no mapa e com um martelo cria um item totalmente novo. CARACTERÍSTICAS DA VERSÃO FINAL: - Configuração intuitiva e fácil de compreender; - Mini-tutorial auxiliando criação de novas receitas; - Receitas podem conter até 250 itens diferentes com suas respectivas quantidades; - Sistema inteligente que identifica uma receita em qualquer ordem; - Código totalmente orientado a objetos; - Possibilidade de configurar diferentes requerimentos, diferentes skills, magic level e level Há dois modos de instalar o Advanced Forge System, o primeiro é seguir os passos deste tópico e o segundo e baixar pasta data/ anexada no tópico com os arquivos em seus respectivos diretórios, precisando apenas o registro das chaves nos arquivos XML. Escolha o modo que mais convém a você. Crie um arquivo em data/lib chamado forgesystem.lua e cole o conteúdo abaixo: --[[ ADVANCED FORGE SYSTEM FINAL Criado por Oneshot É proibido a venda ou a cópia sem os devidos créditos desse script. ]]-- RecipeHandler = { itemtype = 0, items = {}, level = 1, maglevel = 0, skills = {[0] = 0, [1] = 0, [2] = 0, [3] = 0, [4] = 0, [5] = 0, [6] = 0} } Forge = { type = nil, position = nil, magicEffect = CONST_ME_MAGIC_GREEN, messages = { class = MESSAGE_STATUS_DEFAULT, success = "You have successfully forged a %s.", needskill = "You don't have enough %s to create a %s.", needlevel = "You need level %s to create a %s.", needmaglevel = "You need magic level %s to create a %s." } } function RecipeHandler:new(itemtype, items, level, maglevel, skills) local obj = { itemtype = (itemtype or 0), items = (items or {}), level = (level or 1), maglevel = (maglevel or 0), skills = (skills or {[0] = 0, [1] = 0, [2] = 0, [3] = 0, [4] = 0, [5] = 0, [6] = 0}) } table.insert(Recipes, obj) return setmetatable(obj, {__index = self}) end function RecipeHandler:setItem(itemtype) self.itemtype = (itemtype or 0) end function RecipeHandler:setRecipe(...) self.items = {...} end function RecipeHandler:setRecipeItem(itemid, amount) table.insert(self.items, {itemid, amount}) end function RecipeHandler:setSkill(skillid, value) self.skills[skillid] = value end function RecipeHandler:setLevel(value) self.level = value end function RecipeHandler:setMagLevel(value) self.maglevel = value end function RecipeHandler:check(position) local match = false for n, item in ipairs(self.items) do local thing = getTileItemById(position, item[1]) if thing.uid > 0 and math.max(1, thing.type) >= item[2] then if n == #self.items then match = true end else break end end return match end function RecipeHandler:get(position) if self:check(position) == true then return setmetatable({type = self, position = position}, {__index = Forge}) end return false end function Forge:create(cid) if self.type.itemid == 0 then print("[FORGE SYSTEM - ERROR] ATTEMPT TO CREATE A RECIPE ITEMID 0") return end local status = true if(cid) then if getPlayerLevel(cid) < self.type.level then doPlayerSendTextMessage(cid, self.messages.class, self.messages.needlevel:format(self.type.level, getItemNameById(self.type.itemtype))) return end if getPlayerMagLevel(cid) < self.type.maglevel then doPlayerSendTextMessage(cid, self.messages.class, self.messages.needmaglevel:format(self.type.maglevel, getItemNameById(self.type.itemtype))) return end for skillid, value in pairs(self.type.skills) do if getPlayerSkillLevel(cid, skillid) < value then status = false doPlayerSendTextMessage(cid, self.messages.class, self.messages.needskill:format(SKILL_NAMES[skillid], getItemNameById(self.type.itemtype))) break end end end if status == true then for _, item in ipairs(self.type.items) do local thing = getTileItemById(self.position, item[1]) doRemoveItem(thing.uid, item[2]) end doSendMagicEffect(self.position, self.magicEffect) doPlayerSendTextMessage(cid, self.messages.class, self.messages.success:format(getItemNameById(self.type.itemtype))) doCreateItem(self.type.itemtype, self.position) end end dofile(getDataDir() .."/lib/recipes.lua") Crie um arquivo em data/lib chamado recipes.lua e adicione o conteúdo abaixo: ---------------------------------------- -----** TUTORIAL DE CONFIGURAÇÃO **----- ---------------------------------------- --[[ O 'ADVANCED FORGE SYSTEM' é muito fácil e intuitivo de configurar, você só precisa chamar a função RecipeHandler:new(...), sendo que você já configurar os atributos da receita nela ou usar outras funções para isso. Por exemplo, quero criar uma Magic Sword que precise de 100 Gold Nuggets. RecipeHandler:new(2400, {{2157, 100}}) Ou então Magic_Sword = RecipeHandler:new() Magic_Sword:setItem(2400) Magic_Sword:setRecipe({2157, 100}) Funções do Sistema: RecipeHandler:new(itemtype, items, level, maglevel, skills) --> Cria uma nova instância de forja. RecipeHandler:setItem(itemtype) --> Atribui um certo itemid como resultado da receita. RecipeHandler:setRecipe(recipe) --> Atribui uma receita. RecipeHandler:setRecipeItem(itemid, amount) --> Adiciona um itemid e sua quantidade a receita. RecipeHandler:setSkill(skillid, value) --> Atribui um valor necessário de uma certa skill para poder criar a receita. RecipeHandler:setLevel(value) --> Atribui o level necessário para criar uma receita. RecipeHandler:setMagLevel(value) --> Atribui o magic level necessário para criar uma receita. ]]-- --[[ Este é um exemplo de receita usando algumas funções. É uma Magic Sword (ITEMID: 2400) que precisa de 100 Gold Nuggets (ITEMID: 2157), além disso, o personagem que tentar forjar, precisa ter Level 100 e Sword Fighting 50. ]]-- Recipes = {} magicsword = RecipeHandler:new() magicsword:setItem(2400) magicsword:setRecipeItem(2157, 100) magicsword:setLevel(100) magicsword:setSkill(2, 50) Agora em data/actions/scripts, crie um arquivo chamado iron_hammer.lua e adicione o conteúdo abaixo: function onUse(cid, item, fromPosition, itemEx, toPosition) local recipe = nil for _, v in ipairs(Recipes) do recipe = v:get(toPosition) if(recipe ~= false) then break end end if(recipe) then recipe:create(cid) else doPlayerSendCancel(cid, "This is not a valid recipe.") end return true end E por fim em actions.xml, adicione a seguinte linha: <action itemid="4846" event="script" value="iron_hammer.lua"/> OPCIONAL - TALKACTION A talkaction abaixo mostra ao jogadoras receitas configuradas no servidor que ele pode fazer. Em data/talkactions/scripts, crie um arquivo chamado recipes.lua e adicione o conteúdo abaixo: function onSay(cid, words, param, channel) local ret = {} local msg = " ADVANCED FORGE SYSTEM\n" for _, recipe in ipairs(Recipes) do local skills = true for skillid, value in pairs(recipe.skills) do if getPlayerSkillLevel(cid, skillid) < value then skills = false break end end if skills == true then if getPlayerLevel(cid) >= recipe.level and getPlayerMagLevel(cid) >= recipe.maglevel then table.insert(ret, {recipe, true}) else table.insert(ret, {recipe, false}) end else table.insert(ret, {recipe, false}) end end for _, recipe in ipairs(ret) do msg = msg .."\nRecipe for ".. getItemNameById(recipe[1].itemtype) ..":\n\n" if recipe[2] == true then for _, item in ipairs(recipe[1].items) do msg = msg .."* ".. getItemNameById(item[1]) .." [".. math.min(item[2], math.max(0, getPlayerItemCount(cid, item[1]))) .."/".. item[2] .."]\n" end else msg = msg .."[LOCKED]\n" end end doShowTextDialog(cid, 2555, msg) return true end Em data/talkactions/talkactions.xml, adicione a linha: <talkaction words="/recipes" event="script" value="recipes.lua"/> Siga as instruções para configuração de novas receitas. Em breve vídeo de funcionamento Advanced Forge System.rar
    1 ponto
  6. Galera, vim postar um servidor que o Aberos (Mario Junior) editou. Informações Base do servidor: eron 12 Servidor com sistema de contagem de Pokeball's usadas para capturar pokemons Pokedex diferente, própia do servidor Servidor contém 1° geração com seus respectivos shiny's Loot's modificados, agora estão vindo cartinhas pokémon Colodown bar totalmente diferente Prints Pokedex Colldown bar Catch Download Servidor, source e cliente Versão modificada pelo membro [member=JairKevick22] Scan Servior, source e cliente Versão modificada pelo membro [member=JairKevick22] Créditos Aberos Criadores do eron site
    1 ponto
  7. Piabeta Kun

    Seção tibia global

    Queria saber se tem como reativar a seção de tibia global, já que os updates vem com as atualizações de lá, sim é uma area pouco movimentada, mais antes do rolo que deu no forum que geral foi ban a area estava mo animada. Acho que vale a pena e talz! Qual a sua opinião membro?
    1 ponto
  8. Bom, você pode usar a base do tfs: https://github.com/otland/forgottenserver/blob/master/schema.sql
    1 ponto
  9. 1 ponto
  10. Gutorb

    Show off. Pokémon. Primeiras sprites.

    Saudações! Estas são minhas primeiras sprites, sintam-se livres para criticar pois será deveras construtivo. Meu objetivo era desenhar e sombrear os pokémons ao estilo tibia, razão pela qual suas dimensões não são tão fieis ao anime. Seguem as sprites feitas no paint:
    1 ponto
  11. Oque são as source? Source é todo o codigo fonte de seu trabalho/projeto, é lá onde fica todos os codigos utilizados para executar uma ação/função. Todo programa/jogo é escrito por um programador e esse programador deve escrever na linguagem de computador em uma ide para depois compilar e virar binário. Todo o código que o programador escreve, se chama source ou em portugues, código fonte. Não é obrigatório você mecher com a source de um otserv se você não tem domínio de programação. Pode continuar seu servidor normalmente baixando os arquivos data,executavel e dll. Como abrir uma source para editar? Como os códigos são apenas textos podemos abrir-los em um editor de texto normal, porem para facilitar o trabalho do programador usamos IDE, o mais popular no mundo dos otservs, Dev-cpp. Qualquer melhor servidor de poketibia para projeto? Como você já sabe, servidores sem source não presta então nem pense em usar PDA para projeto sério porq não vai durar uma semana já um servidor com source é diferente, claro que é difícil aprender a mexer nos arquivos da source mais só basta querer aprender. ai vai alguns servidores de poketibia com source: http://www.xtibia.com/forum/topic/233718-erondino-v17-bpo-open-source/ http://www.xtibia.com/forum/topic/233665-pokemon-imperium-open-source/ http://www.xtibia.com/forum/topic/232971-erondino-v16-bpo-open-source/ http://www.xtibia.com/forum/topic/232978-pokemon-dash-20-source/ http://www.xtibia.com/forum/topic/233057-pda-pokemon-dash-advanced-open-source-2015/ http://www.xtibia.com/forum/topic/232976-pna-pokemon-new-age-open-source/ http://www.xtibia.com/forum/topic/229673-pfield-project-open-source/ http://www.xtibia.com/forum/topic/230011-brpokeot-open-sources/ http://www.xtibia.com/forum/topic/222270-pokemon-online-x-com-sources/
    1 ponto
  12. RetornoDeLaug

    [Show Off] RetornoDeLaug

    Medieval Yurots -----
    1 ponto
  13. Lucasmml

    Show off. Pokémon. Primeiras sprites.

    Gutorb, peguei as redeas aqui da seção novamente para voltar a fazer a coisa acontecer por aqui, estarei a disposição para tirar as dúvidas da galera na medida do possível, voltarei com os concursos em breve também para recriar a dinâmica da seção. Continue postando, tente sempre fugir do padrão, quanto mais difícil for, será melhor, assim você irá evoluir mais rápido, pois ficar na mesmice não faz ninguém crescer.
    1 ponto
  14. Tem jeito sim seus mentirosos. baixe: 1 - https://www.virtualbox.org/ 2 - https://www.debian.org/index.pt.html Assista: 3 - http://www.youtube.com/watch?v=1JsHCzjczWU Rode a cabeça! Instale o debian na maquina virtual e depois coloque o game lá e comece a jogar. Depois de testa compre uma vps e deixe o serve 24h on e chame seus amigos! Mereço 1 rep+
    1 ponto
  15. Bruno

    Quest Simples

    Sim, você está certo, eu sempre testo antes de falar merda, mais aqui no trampo é praticamente impossível, eu tinha me perdido na indexação, lua está sendo uma aventura pra mim hahaha! @@zipter98 Na verdade, Lua não é uma linguagem puramente orientada a objetos, ela fornece meta-mecanismos para que possa ser feita a implementação de classes e herança. De qualquer forma, agora está funcionando em tfs 1.1 hahaha: local quest = { items = { {2394, 1}, -- { id, quantidade } {2160, 1} }, sto = 98770 -- storage da quest. } function onUse(player, item, fromPosition, target, toPosition, isHotkey) local queststatus = player:getStorageValue(quest.sto) if queststatus ~= 1 then for _, item in pairs(quest.items) do player:addItem(item[1], item[2]) end player:sendTextMessage(MESSAGE_INFO_DESCR, "Parabens! Voce completou a quest.") player:setStorageValue(quest.sto, 1) else player:sendTextMessage(MESSAGE_INFO_DESCR, "Desculpe! Voce ja completou esta quest.") end return true end
    1 ponto
  16. zipter98

    Quest Simples

    ^ sim. @Bruno Neste loop, id assumiria o valor dos indexes da tabela e qtd, as tabelas contendo ID e quantidade. Assim, o correto seria: local quest = { items = { {2394, 1}, -- { id, quantidade } {2160, 1} }, sto = 98770 -- storage da quest. } function onUse(player, item, fromPosition, target, toPosition, isHotkey) local queststatus = player:getStorageValue(quest.sto) if queststatus ~= 1 then for _, item in pairs(quest.items) do player:addItem(item[1], item[2]) end player:sendTextMessage(MESSAGE_INFO_DESCR, "Parabens! Voce completou a quest.") player:setStorageValue(quest.sto, 1) else player:sendTextMessage(MESSAGE_INFO_DESCR, "Desculpe! Voce ja completou esta quest.") end return true end
    1 ponto
  17. gabrielbsales

    Quest Simples

    Só não usei um valor de retorno booleano pois não era necessário, mas não tava bom mesmo. Uma pergunta, TFS 1.1 é orientado a objetos?
    1 ponto
  18. Wend ll

    Quest Simples

    Faça oque o krono disse ou tente assim: function onUse(cid, item, frompos, item2, topos) if item.uid == 20006 then queststatus = getPlayerStorageValue(cid,98770) if queststatus == -1 then doPlayerSendTextMessage(cid,22,"Voce completou essa quest.") doPlayerAddItem(cid,2394,20) setPlayerStorageValue(cid,98770,1) else doPlayerSendTextMessage(cid,22,"Voce Ja Concluiu A Quest.") end else return 0 end return 1 end ali onde está doPlayerAddItem(cid,2394,20) é onde você irar altera o ID do item e a quantidade
    1 ponto
  19. Adicionada versão 1.4
    1 ponto
  20. RetornoDeLaug

    [Show Off] RetornoDeLaug

    SLAYER EDITADO Montanha -----
    1 ponto
  21. RigBy

    Unknown Heal

    Unknown Heal Introdução Eu tava criando essa script pra participa da oms, mais não deu tempo de coloca então ta aqui. Coloquei o nome de unknown heal porque eu não conseguir pensa em um nome pra ela. ¬¬ O que a script faz : -Se algum monstro ou player tiver te atacando o dano se transforma em curar. por exemplo se você toma um dano de 100 quando a magia tiver ativa esse dano de 100 vai se transforma em life pode ser configurado. Vamos la. xD creaturescript: unknownheal.lua: -- Do not remove the credits -- -- [CREATURESCRIPT] Unknown Heal -- -- developed by Rigby -- -- Especially for the Xtibia.com -- function onStatsChange(cid, attacker, type, combat, value) if type == STATSCHANGE_HEALTHLOSS then local vida = (value) -- não mecha nisso local retira = 1 -- 1 vai absorve o life todo , 2 vai obsorve metade do life if (getPlayerStorageValue(cid, 54654644) == 1) then doCreatureAddHealth(cid, (vida / retira)) doSendAnimatedText(getCreaturePosition(cid), "+"..(vida / retira).."!", 25) return false end end return true end function onLogin(cid) doPlayerSetStorageValue(cid, 54654644, -1) return true end creaturescript.xml tag: <event type="Login" name="unknownheal" event="script" value="unknownheal.lua"/> <event type="StatsChange" name="unknownheal2" event="script" value="unknownheal.lua"/> Login.lua adicione isso antes do ultimo return registerCreatureEvent(cid, "unknownheal") em spells/script unknownheal.lua: -- Do not remove the credits -- -- [SPELL] Unknown Heal -- -- developed by Rigby -- -- Especially for the Xtibia.com -- local tempo = 5 -- quanto tempo a magia vai durar local timer = 5 -- quantos segundos em segundo vai pode usa a magia -- obs:so vai começa a conta quando a magia tiver terminado local effect = 28 -- efeito da magia local storage = 1231234343 local storagemag = 54654644 -- não mecha function onCastSpell(cid, var) if getPlayerStorageValue(cid, storagemag) == -1 then if getPlayerStorageValue(cid, storage) < os.time () then setPlayerStorageValue(cid, storagemag, 1) doSendMagicEffect(getThingPos(cid), 28) setPlayerStorageValue(cid, storage, os.time () + tempo + timer) addEvent(termina, tempo*1000, cid) else doPlayerSendCancel(cid, "Voce so pode usar esse magia daqui a "..getPlayerStorageValue(cid, storage) - os.time ().." segundos.") end else doPlayerSendCancel(cid, "Voce ja ta usando a magia.") end return true end function termina(cid) setPlayerStorageValue(cid, storagemag, -1) doSendMagicEffect(getThingPos(cid), 29) end end Spells.xml tag: <instant name="Unknownheal" words="unknown heal" lvl="1" mana="0" prem="0" range="10" blockwalls="0" exhaustion="0" needlearn="0" event="script" value="unknownheal.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="0"/> </instant> Bug Ageitado funcionando 100%
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...