Ir para conteúdo

Janmix

Cavaleiro
  • Total de itens

    152
  • Registro em

  • Última visita

Histórico de Reputação

  1. Upvote
    Janmix deu reputação a Developer Berg em Faço Sistema de criptografia para OTC   
    Developer Berg
     
    olá gente. bom dia, boa tarde, boa noite. estou aqui para vender sistema de criptografia E Compactação para OTC.
    desenvolvi um sistema onde cifro qualquer arquivo do OTC, seja .lua, .otmod, .otui, .png. pode ser qualquer extensão.
    O Sistema consiste em criptografia assimétrica, onde são 2 senhas, uma publica e outra privada, onde a publica a pessoa escolhe e a privada o programa mesmo que escolhe. sendo assim dificultando a engenharia reversa mesmo sabendo a senha publica.
    o programa consiste em 2 opções que o comprador pode escolher qual dos 2 quer adquirir.
    1º opção: são 2 senhas, uma publica e outra privada, onde a publica a pessoa escolhe e a privada o programa mesmo que escolhe. sendo assim dificultando a engenharia reversa mesmo sabendo a senha publica.
    2º opção: consiste em um Roll de 100 senhas diferentes, onde o sistema escolhe qual dessas senhas irá encriptar o arquivo, essa é uma maneira boa, porque cada arquivo será encriptado com senhas diferentes, ou seja, nunca vai ser uma única senha.
     
    quem tiver interesse ou para mais informações entrem em contato:
    email -> ricardoo.berg.alves@gmail.com
    whatsApp -> 87 98152-5454
    vou deixar os prints para vocês apreciarem.
    aqui está o arquivo background.lua do otclient cifrado. apesar de não ser capaz de ler o código, o OTC consegue ler.

     
    aqui está o código original, depois de ser descriptografado.
     

     
     
     
  2. Thanks
    Janmix recebeu reputação de CliffBurtton em Efeitos Ao Upar Lvl Ou Skill.   
    TESTA ESSA AI:
    Crie um arquivo no Creaturescripts/scripts chamado advance.lua e cole:

    local config = { [0] = { "Fist UP", 30}, -- 30 = variable[2] -- Animation effect [1] = { "Club UP", 30}, -- 30 = variable[2] -- Animation effect [2] = { "Sword UP", 30}, -- 30 = variable[2] -- Animation effect [3] = { "Axe UP", 30}, -- 30 = variable[2] -- Animation effect [4] = { "Distance UP", 30}, -- 30 = variable[2] -- Animation effect [5] = { "Shield UP", 30}, -- 30 = variable[2] -- Animation effect [6] = { "Fishing UP", 30}, -- 30 = variable[2] -- Animation effect [7] = { "Magic UP", 30}, -- 30 = variable[2] -- Animation effect [8] = { "Level UP", 30} -- 30 = variable[2] -- Animation effect } function onAdvance(cid, skill, oldlevel, newlevel) local pos = getPlayerPosition(cid) local effectPositions = { {x = pos.x, y = pos.y - 1, z = pos.z}, {x = pos.x, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y, z = pos.z}, {x = pos.x + 1, y = pos.y, z = pos.z}, {x = pos.x - 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y + 1, z = pos.z} } for type, variable in pairs(config) do if skill == type then doCreatureSay(cid, ""..variable[1].." ["..newlevel.."]", TALKTYPE_ORANGE_1) for _, ePos in ipairs(effectPositions) do doSendDistanceShoot(pos, ePos, CONST_ANI_SMALLHOLY) doSendMagicEffect(ePos, CONST_ME_FIREWORK_BLUE) end end end return TRUE end
     
    No Login.lua coloque:

    registerCreatureEvent(cid, "Playeradvance")
     
    e no creaturescripts.xml coloque essa tag:

    <event type="advance" name="Playeradvance" event="script" value="advance.lua"/>
     
    e depois é bom pesquisar um pouco:
    http://www.xtibia.com/forum/topic/195100-efeitos-ao-upar-level-ou-skills/
  3. Upvote
    Janmix deu reputação a Drakopoulos em World of piece - completo! sources - launcher - sprites - modulos   
    Consegui fazer esse client funcionar, é somente na source e nos scripts dele. Irei postar pois estou vendo o pessoal com dificuldades em conseguir arrumar ele e quem consegue não compartilha. Só arrumar 1 coisa q ficou meio bugado e posto.


  4. Upvote
    Janmix recebeu reputação de Caronte em mudar effect aura system   
    acho que é isso que voce quer:
    local config = { [5] = 35; -- [VOCATION] = CORES; [6] = 66; [7] = 144; [8] = 205; } function effectText(cid) local texts, eff = {"´ . ,", ". ´ ,", "` . ,", ", ´ ."} for vocation, color in pairs(config) do if getPlayerVocation(cid) == vocation then eff = color break end end if eff then doSendAnimatedText(getThingPos(cid), texts[math.random(1, #texts)], eff) addEvent(function() if isPlayer(cid) and isPremium(cid) then effectText(cid) end end, 1000) end end function onLogin(cid) effectText(cid) return true end se não for, você me cita e explica melhor. se for isso rep+ para fecharem o tópico.
     
    EDIT: arrumei as vocações, é que eu mudei a 5 e 6 pra 1 e 2 para testar, mas já arrumei.
  5. Upvote
    Janmix recebeu reputação de bfs102030 em mudar effect aura system   
    acho que é isso que voce quer:
    local config = { [5] = 35; -- [VOCATION] = CORES; [6] = 66; [7] = 144; [8] = 205; } function effectText(cid) local texts, eff = {"´ . ,", ". ´ ,", "` . ,", ", ´ ."} for vocation, color in pairs(config) do if getPlayerVocation(cid) == vocation then eff = color break end end if eff then doSendAnimatedText(getThingPos(cid), texts[math.random(1, #texts)], eff) addEvent(function() if isPlayer(cid) and isPremium(cid) then effectText(cid) end end, 1000) end end function onLogin(cid) effectText(cid) return true end se não for, você me cita e explica melhor. se for isso rep+ para fecharem o tópico.
     
    EDIT: arrumei as vocações, é que eu mudei a 5 e 6 pra 1 e 2 para testar, mas já arrumei.
  6. Upvote
    Janmix recebeu reputação de Danihcv em Ajuda em npc que te da certo item   
    tenta ai
    Script:
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local forge = {} local recipes = { [2158] = { -- ID DA STAMINA POTION {2160, 1} -- ID E QUANTIDADE DOS ITENS QUE ELE VAI COBRAR } } 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 function onGreetCallback(cid) talkState[cid] = 0 forge[cid] = {match = nil, recipe = nil} return true end function onCreatureSayCallback(cid, class, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if talkState[talkUser] == 0 then for itemid, items in pairs(recipes) do if msgcontains(msg, getItemNameById(itemid)) then forge[talkUser] = {match = itemid, recipe = items} break end end if forge[talkUser].match ~= nil then local str, sep = "Boa escolha, Eu precisarei de" local n = 1 for _, item in ipairs(forge[talkUser].recipe) do sep = (n == 1) and " " or (n == #forge[talkUser].recipe and " e " or ", ") str = str .. sep .. (item[2] or 1) .." ".. getItemNameById(item[1]) n = n + 1 end str = str ..". Concorda?" npcHandler:say(str, cid) talkState[talkUser] = 1 else npcHandler:say("Desculpa, voce nao tem os itens.", cid) end elseif talkState[talkUser] == 1 then if msgcontains(msg, "yes") or msgcontains(msg, "sim") then local ret = {} for _, item in ipairs(forge[talkUser].recipe) do local g = getPlayerItemById(cid, true, item[1]) if g.uid > 0 and math.max(1, g.type) >= item[2] then table.insert(ret, {g.uid, item[2]}) else ret = {} break end end if #ret > 0 then for _, item in ipairs(ret) do doRemoveItem(item[1], item[2]) end doPlayerAddItemEx(cid, doCreateItemEx(forge[talkUser].match, 1)) npcHandler:say("Foi um prazer negociar com voce, aqui esta a sua ".. getItemNameById(forge[talkUser].match) ..".", cid) else npcHandler:say("Desculpa, voce nao tem os itens para troca.", cid) talkState[talkUser] = 0 forge[talkUser] = {match = nil, recipe = nil} end elseif msgcontains(msg, "no") or msgcontains(msg, "nao") then npcHandler:say("Tudo bem, voce precisa de mais alguma coisa?", cid) talkState[talkUser] = 0 forge[talkUser] = {match = nil, recipe = nil} end end return true end local greet, sep = "Ola, |PLAYERNAME|. eu vendo bla bla bla bla...." local n = 1 for item, recipe in pairs(recipes) do sep = (n == 1) and " " or (n == #recipes and " e " or ", ") greet = greet .. sep .. "{".. getItemNameById(item) .."}" n = n + 1 end npcHandler:setMessage(MESSAGE_GREET, greet) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, onCreatureSayCallback) npcHandler:setCallback(CALLBACK_GREET, onGreetCallback) npcHandler:addModule(FocusModule:new()) Npc:
    <?xml version="1.0" encoding="UTF-8"?> <npc name="NPC Stamina" script="data/npc/scripts/Stamina_Npc.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="60" head="38" body="79" legs="107" feet="114"/> <parameters> <parameter key="message_greet" value="Hello, |PLAYERNAME|."/> </parameters> </npc>
  7. Upvote
    Janmix recebeu reputação de Danihcv em [Pedido] Modificações nesse Script   
    function onDeath(cid, corpse, deathList) local config = { onlypremium = false, -- se precisa ser premium para não perder nada exp = true, -- se ao morrer o jogador irá perder exp skills = true, -- se ao morrer vai perder skills magic = true, -- se vai perder magic level loot = false, -- se ao morrer o jogador irá perder o loot level = 150 -- até que level irá proteger o player } if isPlayer(cid) and (getPlayerLevel(cid) <= config.level) and (getPlayerSkullType(cid) > 2) then if config.onlypremium == true and not isPremium(cid) then return TRUE end if config.loot == false then doCreatureSetDropLoot(cid, false) end if config.magic == false then doPlayerSetLossPercent(cid, PLAYERLOSS_MANA, 0) end if config.skills == false then doPlayerSetLossPercent(cid, PLAYERLOSS_SKILLS, 0) end if config.exp == false then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0) end return TRUE end return TRUE end tenta ae
    obs. não testei, só mudei a função do script que o Danihcv colocou.
  8. Upvote
    Janmix recebeu reputação de Tiago Neri Lima em [PEDIDO] Travel   
    acho que é isso que você procura:
     
    http://www.xtibia.com/forum/topic/203430-npc-travel-por-rota/
    http://www.xtibia.com/forum/topic/159879-barco-que-anda-por-uma-rota/
  9. Upvote
    Janmix deu reputação a edu6279 em ME AJUDEM PLS   
    esse erro do #f#ightmode
     
    nao tem absolutamente nada haver com o erro da bag, mais blz,
     
    erro do fightmode
    http://www.xtibia.com/forum/topic/229572-me-ajudem-com-esse-bug/
  10. Upvote
    Janmix deu reputação a edu6279 em ME AJUDEM PLS   
    Tente
    OTclient\modules\game_menuTop

    Abra o arquivo: mod_topMenu

    Procure por:

    local player = g_game.getLocalPlayer() g_game.useInventoryItem(player:getInventoryItem(10):getId()) end  
    Apenas troque o numero para 3
  11. Upvote
    Janmix recebeu reputação de nociam em [Show Off] Barra Skill - baseada na pxg   
    slicer tira essa assisnatura, não consigo me concentrar no topico. kkk
  12. Upvote
    Janmix recebeu reputação de patozila em Aparecer Tp Após Matar Monsters   
    Tenta AI:
    em creaturescripts/scripts copia um arquivo .lua e renomeia BossTp e coloca:
     
     
     
    Em creaturescripts.xml coloca:
     
     
     
    e em monsters coloca no monstro que voce quizer exemplo: demon, coloque antes do </monster>:
     
     
     
    Vermelho: Nome do Bixo que voce quer que ao matar o tp aparecer.
    Verde: posição onde o tp ira aparecer
    Azul: posição que o player vai aparecer ao entrar no teleport
    Laranja: tempo para o tp desaparecer
     
    PS: o nome do bixo tem que começar com letra maiuscula exemplo: Demon e não demon.
  13. Upvote
    Janmix deu reputação a Darckx13 em Inventory SEMELHANTE ao PXG   
    Fala ae pessoal n vou falar muito so vim postar um inventory semelhante ao pxg a um tempo atraz eu fiz ele bunitinho com skin e tudo mas o maldito pc foi pros quintos entao vo postar o basicao mesmo pro pessoal
     
     
    e so trocar pelo original da pasta modulos e editar as images que tiver que editar
     
    FUNCIONA NO OTC 0.6+
     
     
    Jaja posto uma versão melhorada e aproveito pra editar o topico blz Banania to meio na revolta que perdi um projeto todo ai to sem animo
    game_inventory.rar
  14. Upvote
    Janmix deu reputação a Slicer em [Pokemon] Pda By Slicer 1.9/2.9   
    [Pokemon] PDA By Slicer



    Pokemon dash advanced editado por slicer, vários bugs retidos.



    Projeto encerrado!


    Espero que todos tenham gostado desse 1 ano de trabalho duro!



    Todas as atualizações:



    * Leiam e sigam as instruções do Change Log dentro da pasta do patch!

    Downlaods:
    PDA By Slicer With Level System v2.9 Full -> http://www.mediafire...z2afuu75zblvmvq
    PDA By Slicer Without Level System v1.9 Full -> http://www.mediafire...td0l0ip9ajprrbf

    OTClient editado 2.8/1.8 => http://www.mediafire...1lcbs1fktpm676w

    Atualizações:
    EH OBRIGATORIO O USO DESSE CLIENT ABAIXO E USEM O .PIC TB!!!!!!!!!
    Client v1.9/2.9 => http://www.mediafire...77i414v1hy187fj

    Patch v1.9 => http://www.mediafire...da4umj3ip18jrf1
    Patch v2.9 => http://www.mediafire...7nt275td9afl1fy

    Patch v1.9.1 => http://www.mediafire.com/?i3flwa3lrd016zl
    Patch v2.9.1 => http://www.mediafire.com/?m4zhjgn62uow1sp

    Obs: Atualizaçoes mais antigas estao dentro do spoiler acima!!

    OTAL.DLL:
    OBS: caso n esteja aparecendo a barra de moves no client normal do tibia, baixem essa .dll e coloquem na pasta onde fica o Pokemon_nibe.exe ...
    Otal.rar

    Patch Correçao! Todos olhem!



    Bugs na nova atualizaçao? Olhe o spoiler e veja se arruma o problema! Atualizado: 08/02/13


    Créditos:


     
    Otal.rar
  15. Upvote
    Janmix recebeu reputação de IGORFS em Aumentando Hit Em Player   
    Em Weapons.xml:
     

    <wand id="8910" level="42" mana="13" min="600" max="700" type="death" event="function" value="default"> <!-- Underworld Rod --> <vocation id="2"/> </wand>
     
    Min="600" Dano Minimo (Em Bicho "quanto maior o dano em bixo sera maior o dano em player")
    Max="700" Dano Maximo (Em Bicho "quanto maior o dano em bixo sera maior o dano em player")
  16. Upvote
    Janmix deu reputação a jhon992 em [Pedido] Amulet Of Healing   
    Na pasta data/movements/scripts, duplica um arquivo, nomeie para "amuletPercent" sem as aspas e nele cole:

    local porcentagem = 30 -- porcentagem de life que enche. local delay = 2 -- segundos de delay. function onEquip(cid, item, slot) doAddHpPercent(cid, item.itemid) return true end function doAddHpPercent(cid, item) if isPlayer(cid) and getPlayerSlotItem(cid, CONST_SLOT_NECKLACE).itemid == item then local hpMax = getCreatureMaxHealth(cid) local heal = getCreatureMaxHealth(cid)*(porcentagem/100) doCreatureAddHealth(cid, heal) addEvent(doAddHpPercent, delay*1000, cid, item) end return true end
     
    Em movements.xml cole a tag:

    <movevent type="Equip" itemid="ID DO AMULETO" slot="necklace" level="LEVEL" event="script" value="amuletPercent.lua"/>
  17. Upvote
    Janmix recebeu reputação de Absolut1702 em Efeitos Ao Upar Level Ou Skills   
    TESTA ESSA AI:
    Crie um arquivo no Creaturescripts/scripts chamado advance.lua e cole:

    local config = { [0] = { "Fist UP", 30}, -- 30 = variable[2] -- Animation effect [1] = { "Club UP", 30}, -- 30 = variable[2] -- Animation effect [2] = { "Sword UP", 30}, -- 30 = variable[2] -- Animation effect [3] = { "Axe UP", 30}, -- 30 = variable[2] -- Animation effect [4] = { "Distance UP", 30}, -- 30 = variable[2] -- Animation effect [5] = { "Shield UP", 30}, -- 30 = variable[2] -- Animation effect [6] = { "Fishing UP", 30}, -- 30 = variable[2] -- Animation effect [7] = { "Magic UP", 30}, -- 30 = variable[2] -- Animation effect [8] = { "Level UP", 30} -- 30 = variable[2] -- Animation effect } function onAdvance(cid, skill, oldlevel, newlevel) local pos = getPlayerPosition(cid) local effectPositions = { {x = pos.x, y = pos.y - 1, z = pos.z}, {x = pos.x, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y, z = pos.z}, {x = pos.x + 1, y = pos.y, z = pos.z}, {x = pos.x - 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y - 1, z = pos.z}, {x = pos.x + 1, y = pos.y + 1, z = pos.z}, {x = pos.x - 1, y = pos.y + 1, z = pos.z} } for type, variable in pairs(config) do if skill == type then doCreatureSay(cid, ""..variable[1].." ["..newlevel.."]", TALKTYPE_ORANGE_1) for _, ePos in ipairs(effectPositions) do doSendDistanceShoot(pos, ePos, CONST_ANI_SMALLHOLY) doSendMagicEffect(ePos, CONST_ME_FIREWORK_BLUE) end end end return TRUE end
     
    no login.lua coloque:

    registerCreatureEvent(cid, "Playeradvance")
     
    e no creaturescripts.xml
    bote essa tag:

    <event type="advance" name="Playeradvance" event="script" value="advance.lua"/>
  18. Upvote
    Janmix deu reputação a Vodkart em [Pedido] Monstro Que Só Ataca Player Com Tal Storage   
    algum erro?
     
    passa o arquivo.xml do seu monstro
     
    ah eh pra atacar? achei que era pra n atacar lol
     
    usa o script que eu te mandei assim:
     
     

    function onCombat(cid, target) if isMonster(cid) and isPlayer(target) and getPlayerStorageValue(target, 3241) < 1 then return false end return true end
  19. Upvote
    Janmix deu reputação a brun123 em [Pedido] Como Fazer O Summon Não Roubar A Experiencia Do Player.   
    Faz assim:
    Cria um script chamado summonhit.lua em data/creaturescripts/scripts e coloca isso dentro:
     

    function onCombat(cid, target) registerCreatureEvent(target, "SummonDamage") return true end function onStatsChange(cid, attacker, type, combat, value) if isMonster(attacker) and isPlayer(getCreatureMaster(attacker)) and isInArray({0, 1}, type) then local damage = math.abs(value) * (type == STATSCHANGE_HEALTHGAIN and 1 or -1) doTargetCombatHealth(getCreatureMaster(attacker), cid, combat, damage, damage, 255) return false end return true end
     
    agora adicione essas tags no creaturescripts.xml:
     

    <event type="combat" name="PlayerSummonCombat" event="script" value="summonhit.lua"/> <event type="statschange" name="SummonDamage" event="script" value="summonhit.lua"/>
     
    e adicione essa linha no seu login.lua:
     

    registerCreatureEvent(cid, "PlayerSummonCombat")
  20. Upvote
    Janmix deu reputação a eduardo190696 em Player Não Pode Atacar Seu Proprio Summon.   
    Desculpe mais não entendi.
  21. Upvote
    Janmix recebeu reputação de Lordfire em [Demo] Auction Npc   
    vou esperar ate o Oneshot fazer kkk pelo menos ele disse que ia fazer.
  22. Downvote
    Janmix recebeu reputação de Vodkart em [Demo] Auction Npc   
    vou esperar ate o Oneshot fazer kkk pelo menos ele disse que ia fazer.
  23. Upvote
    Janmix deu reputação a jhon992 em [Pedido] Magia Em Comflito.   
    Par resolver isso basta usar "SUBID" diferentes para cada magia. Exemplo:
     
    Uma spell de buff desse tipo dá conflito com as outras:

    local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_TICKS, 2 * 60 * 1000) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, 5) setConditionParam(condition, CONDITION_PARAM_SKILL_MELEE, 5) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, 5)
     
    Porem se eu adicionar um subid nela o conflito não acontecera mais:

    setConditionParam(condition, CONDITION_PARAM_SUBID, 3)
     
    Ficando assim:

    local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_SUBID, 3) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_TICKS, 2 * 60 * 1000) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, 5) setConditionParam(condition, CONDITION_PARAM_SKILL_MELEE, 5) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, 5)
  24. Upvote
    Janmix deu reputação a caotic em [Pedido] Cada Vocação Logar Com Outfits Diferente. [Velendo Rep+]   
    local vocs = { [4] = {looktype = 35}, [6] = {looktype = 25} } function onLogin(cid) if (vocs[getPlayerVocation(cid)]) then local voca = getPlayerVocation(cid) local look = vocs[voca].looktype doCreatureChangeOutfit(cid, {lookType = look}) return true end return true end
     
     
    Agora e so colocar a tag e registrar em login.lua e pronto
  25. Upvote
    Janmix deu reputação a jhon992 em [Pedido] Aura Ou Raio [Urgente]   
    --[[ Spell by Shawak - Edited by Jhon992. Wolf transform ]]-- local time = 120 * 1000 -- 120 * 1000 = 2 min local addShielding = 20 -- how much shielding should be added local cooldown = 30 local effect = {32, 43, 23} -- efeitos ao usar spell, caso queira só 1 remova os outros, exemplo: local effect = {32} local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, 42) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, time) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, addShielding) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local speed = createConditionObject(CONDITION_HASTE) setConditionParam(speed, CONDITION_PARAM_TICKS, time) setConditionFormula(speed, 0.7, -56, 0.7, -56) setCombatCondition(combat, speed) function cooldownready(cid) if isPlayer(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Cooldown of Transform is ready!") end end function sendMagic(cid) if isPlayer(cid) then for i=1, #effect do doSendMagicEffect(getCreaturePosition(cid), effect[i]) end end end function onCastSpell(cid, var) local lvlMin = 20 -- lvl minimo local lvlMax = 50 -- lvl minimo if getPlayerLevel(cid) >= lvlMin and getPlayerLevel(cid) <= lvlMax then if exhaustion.check(cid, 50001) == false then exhaustion.set(cid, 50001, cooldown) addEvent(cooldownready, cooldown*1000, cid) tempo = 0 while (tempo ~= time) do addEvent(sendMagic, tempo, cid) tempo = tempo + 2000 -- se quiser diminuir o intervalo do effect, diminui de 2000 para 1000. end return doCombat(cid, combat, var) else doPlayerSendCancel(cid, "Cooldown: [" ..exhaustion.get(cid, 50001).."] seconds.") end else doPlayerSendCancel(cid, "Você só pode usar essa spell entre o level "..lvlMin.." e level "..lvlMax..".") end end
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...