Ir para conteúdo

Oneshot

Marquês
  • Total de itens

    1347
  • Registro em

  • Última visita

  • Dias Ganhos

    36

Tudo que Oneshot postou

  1. Olá, Tente usar o script abaixo: local config = { monsterName = "Minotaur", maxSummon = 1, storageHealth = 65000 } function onUse(cid, item, fromPosition, itemEx, toPosition) local summon = getCreatureSummons(cid) if(table.maxn(summon) < config.maxSummon) then local p = doCreateMonster(config.monsterName, getThingPosition(cid)) doConvinceCreature(cid, p) doCreatureAddHealth(p, -(getCreatureMaxHealth(p)-getPlayerStorageValue(cid, config.storageHealth))) doCreatureSay(cid, "Go, ".. config.monsterName .."", TALKTYPE_SAY) doSendMagicEffect(getThingPosition(cid), 10) else for _, pid in pairs(summon) do doRemoveCreature(pid) setPlayerStorageValue(cid, config.storageHealth, getCreatureHealth(pid)) doCreatureSay(cid, "Back, ".. config.monsterName .."", TALKTYPE_SAY) end end return true end Eu fiz de um modo que armazene em uma Storage o valor do Health da criatura, por exemplo, Se a criatura tem HP Máximo de 20, e estava com 6, quando foi guardada. Ele voltará com 6. Como? O programa faz uma subtração e adiciona esse valor (negativo) ao HP da criatura que for sumonada. Teste e reporte no tópico!
  2. Olá, Siga as instruções e você conseguirá implementar o script corretamente. - Crie um novo arquivo LUA chamado bossDeath na pasta data/creaturescripts/scripts e cole este conteúdo: local bosses = {"Ghazbaran", "Morgaroth", "Orshabaal") --[[Coloque aqui nomes de Bosses]] function onDeath(cid, corpse, mostDamageKiller, lastHitKiller)] if(isInArray(bosses, getCreatureName(cid)) then doBroadcastMessage("O jogador ".. getCreatureName(lastHitKiller).." matou o poderoso boss ".. getCreatureName(cid) .."") end return true end - Adicione essa linha ao seu arquivo LUA login localizado em data/creaturescripts/scripts: registerCreatureEvent(cid, "bossDeath") - Adicione essa linha ao seu arquivo XML creaturescripts localizado em data/creaturescripts: <event type="death" name="bossDeath" event="script" value="bossDeath.lua"/> Abraços.
  3. Na história, além de refúgio para os iniciantes, Archaria é uma colônia de exploração de Astoria (Um dos Grandes Reinos que provocaram a destruição do Grande Continente). As riquezas serão mais detalhadas no próprio jogo mesmo, pois é em Archaria que o jogador aprenderá a minerar coisas, lenhar árvores, fazer alquimia... Esse é só um teaser básico, mas no jogo, vocês saberão bem mais sobre essa pequena ilha e seus mistérios. Quero deixar avisado para vocês não perderem o Teaser #2 que falará sobre o Shop System, onde o jogador poderá alugar uma lojinha com um NPC e comercializar seus próprios itens lá. E também sobre o Mining System ;D Abraços.
  4. Oneshot

    [Ajuda]

    local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_TICKS, 20000) setConditionFormula(condition, 0.7, -56, 0.7, -56) setCombatCondition(combat, condition) function onCastSpell(cid, var) local position = getCreaturePosition(cid) local t = { [0] = {x = position.x, y = position.y - 5, z = position.z}, [1] = {x = position.x - 5, y = position.y, z = position.z}, [2] = {x = position.x, y = position.y + 5, z = position.z}, [3] = {x = position.x + 5, y = position.y, z = position.z} } doSendDistanceShoot(position, t[getCreatureLookDirection(cid)], 40) return doCombat(cid, combat, var) end Teste e reporte o resultado no tópico!
  5. Sendo o XTibia uma comunidade Brasileira de Tibia e openTibia, Creio que essas Pips caíram muito bem , e me perdoe, as Pips antigas eram tão feias =O
  6. Olá para todos os XTibianos, Trago hoje a vocês o primeiro Teaser do projeto Solscian, para que vocês tenham uma idéia de como ele está sendo desenvolvido. A princípio, os Teasers serão divididos em dois tipos: Mapas e Sistemas. No caso de um Teaser de Mapa, vocês terão uma descrição sobre ele e um show off e no caso de um Teaser de Sistema, vocês terão um vídeo de funcionamento do sistema! O tema do nosso primeiro Teaser é: Archaria, a ilha dos Novatos! "Archaria é um pequeno conjunto de ilhas, onde as almas puras ficam até completar seu aprendizado. Ela serve de ajuda para os Squires, onde estes aprenderão a combater as criaturas que povoam o mundo. Em Archaria, os novatos aprendem a coletar itens, desde minerando a criando eles através da alquimia básica. Quando uma alma pura atinge um certo nível de evolução, ela já está pronta para saber seu destino através daquele que liga os Deuses ao mundo material, o Oráculo, e então partir rumo ao Grande Continente." Show Off "O templo de devoção aos Deuses, também é o lugar mais seguro para aqueles que precisam de proteção." "Existem muitas árvores por aqui, que tal obter madeira de algumas? O serralheiro provavelmente paga por elas!" "Um belo descanso na praia naquele dia de sol... Desse jeito não quero sair de Archaria..." "Nem tudo são flores, no subsolo você já encontra Rats e... casalzinho simpático de Cockroachs aquele, não é?" "Esses malditos Trolls adoram atacar o vilarejo, se soubessemos onde eles se escondem..." "Muito cuidado! Aquela pequena ilha com uma vegetação estranha não é legal, pois é o território das Spiders!" "Até no subsolo esses malditos aracnídeos vivem... Que droga!" "Certo, você está fugindo daquele monte de Poison Spiders, sobe uma montanha e dá de cara com uma delas bem maior... Ops..." "As riquezas da ilha de Archaria atraíram Orcs e eles montaram uma fortaleza ao sudeste, muito cuidado, eles adoram seres humanos!" Bom, esse é o final do nosso primeiro Teaser, Não deixem de conferir as novidades que virão no primeiro System Teaser: Shop System e Mining System. Abraços!
  7. Oneshot

    Luasql

    Ótimo tutorial, apocarai! Eu nunca me aprofundei em LuaSQL, creio que com este tutorial, já terei uma noção grande de como usar essa ramificação da programação Lua nos meus scripts. Parabéns! (+1 de Reputação!)
  8. local config = { animationColor = TEXTCOLOR_LIGHTBLUE, --[[Cor da animação | Padrão = Azul Claro]] textType = MESSAGE_INFO_DESCR, --[[Cor do Texto | Padrão = Verde]] expGain = {100000, 200000} --[[Ganho aleatório de experiência]] removeOnUse = true --[[Remover no uso?]] } function onUse(cid, item, fromPosition, itemEx, toPosition) local gain = math.random(config.expGain[1], config.expGain[2]) doPlayerAddExp(cid, gain) doSendAnimatedText(getThingPosition(cid), gain, config.animationColor) doPlayerSendTextMessage(cid, config.textType, "You received ".. gain .." experience from the Elixir") if removeOnUse == true then doRemoveItem(item.uid, 1) end return true end Pronto, fiz de um modo que a configuração do script fique bem mais versátil, As cores de texto animado e seus respectivos valores são: TEXTCOLOR_BLUE = 5 TEXTCOLOR_GREEN = 18 TEXTCOLOR_TEAL = 35 TEXTCOLOR_LIGHTGREEN = 66 TEXTCOLOR_DARKBROWN = 78 TEXTCOLOR_LIGHTBLUE = 89 TEXTCOLOR_DARKPURPLE = 112 TEXTCOLOR_BROWN = 120 TEXTCOLOR_GREY = 129 TEXTCOLOR_DARKRED = 144 TEXTCOLOR_DARKPINK = 152 TEXTCOLOR_PURPLE = 154 TEXTCOLOR_DARKORANGE = 156 TEXTCOLOR_RED = 180 TEXTCOLOR_PINK = 190 TEXTCOLOR_ORANGE = 192 TEXTCOLOR_DARKYELLOW = 205 TEXTCOLOR_YELLOW = 210 TEXTCOLOR_WHITE = 215 TEXTCOLOR_NONE = 255 Abraços.
  9. É claro que vai dar bug, Como que você vai convencer uma criatura que você mesmo invocou? local clone = doSummonCreature(cid, "Clone", playerpos) doConvinceCreature(cid, clone) Provavelmente a função doConvinceCreature() vai dar erro e mostrar algo como: Creature not found O certo é usar a função doCreateMonster(): local clone = doCreateMonster("clone", playerpos) doConvinceCreature(cid, clone) Agora sim, acho que funciona sem bugs, Abraços.
  10. Seja lá o que você for (homem ou mulher), peço que pare de criar intriguinhas no XTibia. Creio que você já percebeu que a equipe deste projeto já mudou o nome e está fazendo de tudo para evitar "briguinhas", então peço que você adote uma postura menos infantil e pare de fazer "críticazinhas" sem ideal. @Projeto Sem dúvidas é um projeto muito bom, gostei muito do Flying System e do sistema de Dobra de Água, parabéns! Abraços.
  11. Eu já sabia disso, apocarai. Não sou burro ^^, Eu falei sobre isso para ele no msn e ele não queria assim, então tudo bem, não? Tópico Reportado pois dúvida já foi sanada.
  12. Esse servidor de protocolo 792 já possui suporte a creaturescripts?
  13. Como acho que você sabe registrar NPCs, vou apenas passar o script abaixo, local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 msgCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'contar')) then npcHandler:say("Há muitos anos vim para esse lugar...", cid) addEvent(selfSay, 2000, "*Aquele anjo maldito ainda me paga*", cid) addEvent(selfSay, 4000, "A cada dia ele manda um para este horrível lugar...", cid) addEvent(selfSay, 8000, "Vejo um ódio em seu coração, estou {certo}?", cid) talkState[talkUser] = 1 end if(msgcontains(msg, 'certo') and talkState[talkUser] == 1) then npcHandler:say("Você pode me {ajudar} a me vingar e libertar todos desse maldito lugar?", cid) talkState[talkUser] = 2 end if(msgcontains(msg, 'ajudar') and talkState[talkUser] == 2) then npcHandler:say("Boatos dizem que esse Querubim aparece raramente nas redondezas de Sorlavin.\nSe você matar esse anjo, todos do inferno poderão voltar a vida e você ganhará uma recompensa por matar-lo, aceita a missão?", cid) talkState[talkUser] = 3 end if(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then npcHandler:say("Lembre-se, ele é uma criatura muito forte!", cid) addEvent(doTeleportThing, 1000, cid, {x=1031, y=1022, z=7}) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, msgCallback) npcHandler:setMessage(MESSAGE_GREET, "CALE-SE mortal! Eu dou as ordens aqui, quer ouvir o que eu tenho para te {contar}?") npcHandler:addModule(FocusModule:new()) Detalhe: Você não precisa atribuir uma mensagem de boas-vindas (Quando o jogador fala Hi) no arquivo XML.
  14. Só tinha um errinho ^^ local config = { exhaust = 10, -- tempo sem segundos que ficara em exaust storage = 13896, manapercent = 75, -- mana em porcentagem que ira retirar } local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 52) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -5.5, -32, -2.9, -400) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 52) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -5.5, -32, -2.9, -400) arr1 = { {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 2, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0}, } arr2 = { {0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 3, 0, 0, 0}, } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) setCombatArea(combat1, area1) setCombatArea(combat2, area2) local function spell(parameters) doCombat(parameters.cid, parameters.combat2, parameters.var) end function onCastSpell(cid, var) if (getPlayerStorageValue(cid, config.storage) <= os.time()) then if getPlayerMana(cid) >= ((config.manapercent/100)*getCreatureMaxMana(cid)) then doPlayerAddMana(cid, -((config.manapercent/100)*getCreatureMaxMana(cid))) setPlayerStorageValue(cid, config.storage, os.time()+config.exhaust) local parameters = { cid = cid, var = var, combat2 = combat2 } addEvent(spell, 500, parameters) return doCombat(cid, combat1, var) else doPlayerSendCancel(cid, "você nao tem mana o suficiente.") end else doPlayerSendCancel(cid, "Você precisa aguardar "..config.exhaust.." segundos para acumular o espírito.") end return TRUE end
  15. - Crie um arquivo de extensão LUA com o nome de itemTeleport na pasta data/actions/scripts. Cole este conteúdo: local config = { teleportTo = {x=100, y=100, z=7}, --[[Coordenadas de Destino]] failChance = 10 --[[Chance em porcentagem do item não teleportar]] } function onUse(cid, item, fromPosition, itemEx, toPosition) if(math.random(1, 100) > config.failChance) then doTeleportThing(cid, config.teleportTo) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você foi teletransportado com sucesso!") doRemoveItem(item.uid, 1) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O item falhou e quebrou!") doRemoveItem(item.uid, 1) end return true end - Abra seu arquivo XML actions e cole esta tag, <action itemid="" event="script" value="itemTeleport.lua"/> O campo itemid pode ser editado para o ID do item responsável pela ação de teleportar.
  16. Por que não usar uma única linha de tabela para simbolizar essas linhas de configuração aqui? -- item necessário para fazer a busca local i_required = 2268 -- contagem de item necessário para fazer a busca local i_required_count = 1 -- recompensa padrão id item (crystal coins) local i_reward = 2160 -- contagem de recompensa id padrão (10) local i_reward_count = 10 Podendo ficar assim: local item = {required = {2268, 1}, reward = {2160, 10}} De modo que na hora que o NPC faz a verificação, podemos usar, if(doPlayerRemoveItem(cid, item.required[1], item.required[2])) then doPlayerAddItem(cid, item.reward[1], item.reward[2]) end Economiza algumas linhas, haha! Bom script
  17. Ah, entendo como funciona, Você quer que quando de use em um item, permita ao usuário usar uma talkaction, Isso pode ser feito de modo que na action adicione uma storage ao player, assim o jogador poderá usar a talkaction com uma verificação de valor de storage. Poderei fazer, mas daqui um tempinho,
  18. Oneshot

    Mover Monstros

    Vamos reunir algumas explicações, aí poderei te ajudar, - Não tem nenhum monstro, você dá use no itemID 2550, e clica em um lugar e um monstro é sumonado naquele lugar? Caso tenha um jogador naquele lugar, ele mudará de outfit?
  19. Oneshot

    Arrumar Este Script

    Fiz um sistema bem versátil, onde você pode adicionar um pet para cada vocação, Segue o script abaixo, local config = { exhaustTime = 20, --[[exhaustTime em segundos]] exhaustStorage = 3278 --[[storage do Exhaust]] } local pet = { [{2, 6}] = {monsterName="Dragon Hatchling", evolutionName="Dragon", superEvolutionName="Dragon Lord", evolutionTime=10, superEvolutionTime=15, maxSummons=1} } function onUse(cid, item, fromPosition, itemEx, toPosition) if(getPlayerStorageValue(cid, config.exhaustStorage) <= os.time()) then for i, v in pairs(pet) do if(isInArray(i, getPlayerVocation(cid))) then if(table.maxn(getCreatureSummons(cid)) < v.maxSummons) then local mid = doCreateMonster(v.monsterName, getThingPosition(cid)) doConvinceCreature(cid, mid) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, config.exhaustStorage, os.time()+config.exhaustTime) addEvent(onPetEvolution, v.evolutionTime*1000, cid, mid) else doPlayerSendCancel(cid, "You can\'t summon more pets") end else doPlayerSendCancel(cid, "You don\'t have a vocation to summon pets") end end else doPlayerSendCancel(cid, "You are exhausted.") end return true end function onPetEvolution(cid, mid) doRemoveCreature(mid) for i, v in pairs(pet) do if(isInArray(i, getPlayerVocation(cid))) then local evo = doCreateMonster(v.evolutionName, getThingPosition(cid)) doConvinceCreature(cid, evo) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Your pet has evolved") addEvent(onPetSuperEvolution, v.superEvolutionTime*1000, cid, evo) end end end function onPetSuperEvolution(cid, evo) doRemoveCreature(evo) for i, v in pairs(pet) do if(isInArray(i, getPlayerVocation(cid))) then local evo2 = doCreateMonster(v.superEvolutionName, getThingPosition(cid)) doConvinceCreature(cid, evo2) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Your pet has super evolved") end end end Para adicionar pets, você deve adicionar linhas nessa tabela, local pet = { [{2, 6}] = {monsterName="Dragon Hatchling", evolutionName="Dragon", superEvolutionName="Dragon Lord", evolutionTime=10, superEvolutionTime=15, maxSummons=1} } Por exemplo, a tabela poderá ficar assim, se você quiser adicionar um pet para Sorcerers. local pet = { [{2, 6}] = {monsterName="Dragon Hatchling", evolutionName="Dragon", superEvolutionName="Dragon Lord", evolutionTime=10, superEvolutionTime=15, maxSummons=1}, [{1, 5}] = {monsterName="Fire Elemental", evolutionName="Massive Fire Elemental", superEvolutionName="Fire Overlord", evolutionTime=150, superEvolutionTime=500, maxSummons=1} } Lembre-se que cada linha tem que ter uma VÍRGULA no final, com exceção da última linha, E não esqueça de deixar o monstro convencível no arquivo dele! Veja se funciona, pois eu testei e funcionou.
  20. Ops, falha minha, Teste com o script que vou passar abaixo, lembrando que essa Action deve ser atribuída ao ID 2160. function onUse(cid, item, frompos, item2, topos) if (doRemoveItem(item.uid, 100)) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You have changed 100 crystal coins to 1 ruby coin") doPlayerAddItem(cid, 13685, 1) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You have changed 1 crystal coin to 100 platinum coin") doPlayerAddItem(cid, 2152, 100) end return true end Abraços,
  21. A função doItemSetAttribute(uid, attr, value), presente nos servidores com base no The Forgotten Server, não é capaz de editar esse tipo de atributo no item. Então acho que é impossível mudar a resistência elemental de um item com uma Action.
  22. Oneshot

    Arrumar Este Script

    Certo, a primeira coisa que você deve fazer, é abrir o arquivo da criatura Dragon e mudar isso aqui: <flag convinceable="0"/> Para isso aqui: <flag convinceable="1"/> Pois a criatura em si não é "convencível" por natureza, você terá que "forçar" isso. Agora sobre um script, eu poderei arrumar-lo, criar uma versão mais atualizada. Basta algum tempo, Abraços
  23. Muito estranho, rapaz. Acabei de abrir um servidor de testes para ver seu script e ele está funcionando perfeitamente. Um "heal" diferente para cada vocação.
  24. Você está dando /reload spells antes de testar, né?
  25. local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat1, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat1, COMBAT_PARAM_AGGRESSIVE, FALSE) setCombatParam(combat1, COMBAT_PARAM_TARGETCASTERORTOPMOST, TRUE) setCombatParam(combat1, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) --[[Fórmula dos Sorcerers]] function onGetFormulaValues1(cid, level, maglevel) local min = 100 local max = 101 return min, max end setCombatCallback(combat1, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues1") local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat2, COMBAT_PARAM_AGGRESSIVE, FALSE) setCombatParam(combat2, COMBAT_PARAM_TARGETCASTERORTOPMOST, TRUE) setCombatParam(combat2, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) --[[Fórmula dos druids]] function onGetFormulaValues2(cid, level, maglevel) local min = ((level*1)+(maglevel*6)) local max = ((level*1)+(maglevel*7)) return min, max end setCombatCallback(combat2, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues2") local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat3, COMBAT_PARAM_AGGRESSIVE, FALSE) setCombatParam(combat3, COMBAT_PARAM_TARGETCASTERORTOPMOST, TRUE) setCombatParam(combat3, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) --[[Fórmula dos paladins]] function onGetFormulaValues3(cid, level, maglevel) local min = ((level*10)+(maglevel*(25/10))) local max = ((level*10)+(maglevel*3)) return min, max end setCombatCallback(combat3, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues3") local combat4 = createCombatObject() setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(combat4, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat4, COMBAT_PARAM_AGGRESSIVE, FALSE) setCombatParam(combat4, COMBAT_PARAM_TARGETCASTERORTOPMOST, TRUE) setCombatParam(combat4, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) --[[Fórmula dos knights]] function onGetFormulaValues4(cid, level, maglevel) local min = ((level*5)+(maglevel*40)) local max = ((level*5)+(maglevel*50)) return min, max end setCombatCallback(combat4, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues4") function onCastSpell(cid, var) if isInArray({1, 5}, getPlayerVocation(cid)) then doCombat(cid, combat1, var) elseif isInArray({2, 6}, getPlayerVocation(cid)) then doCombat(cid, combat2, var) elseif isInArray({3, 7}, getPlayerVocation(cid)) then doCombat(cid, combat3, var) elseif isInArray({4, 8}, getPlayerVocation(cid)) then doCombat(cid, combat4, var) end return true end
  • Quem Está Navegando   0 membros estão online

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