Ir para conteúdo

meubk

Visconde
  • Total de itens

    311
  • Registro em

  • Última visita

  • Dias Ganhos

    8

Tudo que meubk postou

  1. meubk

    Soul Healing

    Soul Healing Bom a spell faz o seguinte, o player que a usa se sacrifica e todos os player online é healado, simples assim, ai tem uns efeitinhos e talls. -- SPELL SOUL HEALING BY: XOTSERVX -- local configs = { delay = 24, -- delay em horas, configurado para usar uma vez no dia. storage = 54781 -- uma storage não usada. } function onCastSpell(cid, var) if exhaustion.check(cid, configs.storage) then return doPlayerSendTextMessage(cid, 27, "Aguarde o resfriamento de " ..configs.delay.. " horas.") end pospl = getThingPos(cid) doSendDistanceShoot(pospl, {x= pospl.x, y= pospl.y - 8, z= pospl.z}, 31) doSendMagicEffect(getThingPos(cid), 17) for _, on in pairs(getPlayerOnlines()) do if on ~= cid then poson = getThingPos(on) doSendDistanceShoot({x= poson.x, y= poson.y - 8, z= poson.z}, poson, 35) doAreaCombatHealth(cid, COMBAT_HEALING, getThingPos(on), 0, getCreatureHealth(cid), getCreatureHealth(cid), 30) end end exhaustion.set(cid, configs.storage, configs.delay * 60 * 60) doBroadcastMessage("O Player " ..getCreatureName(cid).." usou a magia soul healing e se sacrificou por todos") doCreatureAddHealth(cid, -getCreatureHealth(cid)) end eu configurei para usar apenas uma vez no dia, mas ai vai de vocês, eu não vou postar a tag da spell, por que cada um faz do seu jeito, eu acharia interessante a spell apenas para druids e sourceres, e para level bem alto. caso alguém querer a spell para o player não morrer após usar remova esta linha : doCreatureAddHealth(cid, -getCreatureHealth(cid)) flw, até mais.
  2. local effect = 10 -- efeito q vai sair quando remover o summon function onCastSpell(cid, var) summons = getCreatureSummons(cid) for _, summon in pairs(summons) do doSendMagicEffect(getThingPos(summon), effect) doRemoveCreature(summon) end return true end
  3. vocation = { [1] = {5, 2}, -- vocação 1 não pode atacar a vocação 5 e 2 [2] = {4, 1}, } function onTarget(cid, target) if isPlayer(target) then if isInArray(vocation[getPlayerVocation(cid)], getPlayerVocation(target)) then doPlayerSendCancel("Você não pode atacar essa vocação") return false end end return true end pode adicionar quantas vocação quiser {5, 2, 4, 3, 1} etc ... tbem criar outras verificações: [1] = {5, 2}, vocação 1 não pode atacar a vocação 5 e 2 [3] = {4, 1}, [5] = {4, 1, 3}, [2] = {4, 1, 2},
  4. item ao morrer: item, count = 2525, 1 -- id do item e quaantidade function onDeath(cid, corpse, deathList) return doPlayerAddItem(cid, item, count) end healar mana: function onUse(cid, item) doSendMagicEffect(getThingPos(cid), 10) doCreatureAddMana(cid, getCreatureMaxMana(cid)) return true end
  5. obrigado, nem editei o tópico ainda pois, estava sem tempo ai só colei a spell vou editar agr.
  6. Extreme Speeed Spell muito interessante aonde o alvo recebe varios danos por todos os lados, bem legalzinha arquivo em lua: local config = { efeitoTele = 10, -- efeito q ira aparacer a cada teleport. efeitoDamage = 1, -- efeito q ira aparecer ao hitar no alvo hits = 5, -- quantos hits vai dar delay = 200, -- intervalo de tempo a cada hit min = 100, -- dano minimo max = 150, -- dano maximo damage = COMBAT_PHYSICALDAMAGE -- tipo do dano } function isWalkable(pos, creature, pz, proj) -- nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and not pz then return false end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function getPosDirs(p, dir) -- mkalo return dir == 1 and {x=p.x-1, y=p.y, z=p.z} or dir == 2 and {x=p.x-1, y=p.y+1, z=p.z} or dir == 3 and {x=p.x, y=p.y+1, z=p.z} or dir == 4 and {x=p.x+1, y=p.y+1, z=p.z} or dir == 5 and {x=p.x+1, y=p.y, z=p.z} or dir == 6 and {x=p.x+1, y=p.y-1, z=p.z} or dir == 7 and {x=p.x, y=p.y-1, z=p.z} or dir == 8 and {x=p.x-1, y=p.y-1, z=p.z} end function validPos(pos) tb = {} for i = 1, 8 do newpos = getPosDirs(pos, i) if isWalkable(newpos) then table.insert(tb, newpos) end end table.insert(tb, pos) return tb end spell = { start = function (cid, target, markpos, hits) if not isCreature(cid) then return true end if not isCreature(target) or hits < 1 then doTeleportThing(cid, markpos) doSendMagicEffect(getThingPos(cid), config.efeitoTele) return true end posAv = validPos(getThingPos(target)) rand = #posAv == 1 and 1 or #posAv - 1 doSendMagicEffect(getThingPos(cid), config.efeitoTele) doTeleportThing(cid, posAv[math.random(1, rand)]) doAreaCombatHealth(cid, config.damage, getThingPos(target), 0, -config.min, -config.max, config.efeitoDamage) addEvent(spell.start, config.delay, cid, target, markpos, hits - 1) end } function onCastSpell(cid) target = getCreatureTarget(cid) if target then spell.start(cid, target, getThingPos(cid), config.hits) end return true end tag: <instant name="Extreme speed" words="extreme speed" lvl="65" mana="580" prem="0" exhaustion="2000" needtarget="1" range = "4" needlearn="0" script="arquivo.lua"> Não vou postar ss ou video pq estou sem tempo, se querer ver como esta vai ter q testar.
  7. w = { [1] = {ef = 36, sh = 3, dmg = COMBAT_FIREDAMAGE}, [2] = {ef = 42, sh = 28, dmg = COMBAT_ICEDAMAGE}, } min, max = 250, 500 -- dano minimo e maximo function onUseWeapon(cid, var) target = getCreatureTarget(cid) if target then for i, x in pairs(w) do doSendDistanceShoot(getThingPos(cid), getThingPos(target), x.sh) addEvent(doAreaCombatHealth, 100, cid, x.dmg, getThingPos(target), 0, -min, -max, x.ef) end end return true end tá ai, vai sair os 2 ao mesmo tempo. OBS: créditos 100% meu, pq ja era eu q tinha feito.
  8. meubk

    =/

    isso é uma spell minha, editada, então coloque meus créditos, obrigado.. pagina da spell : http://www.xtibia.com/forum/topic/146691-bomba-spell
  9. creatures/scripts crie arquivo nome boots.lua local configs = { [2525] = 23, [2312] = 12, } -- [id da bota] = id do efeito, function onThink(cid) if configs[getPlayerSlotItem(cid, 8).itemid] then return doSendMagicEffect(getThingPos(cid), getPlayerSlotItem(cid, 8).itemid) end end xml: <event type="think" name="Boots" event="script" value="boots.lua"/> login.lua registerCreatureEvent(cid, "Boots") só configura no script lá na tabela -- [id da bota] = id do efeito, tchau
  10. da uma ajeitadinha nos codes, vc pois eles centralizados :S
  11. Auto loot Bom quis trazer para vocês hoje, um script aonde pega os items, escolhidos automaticamente, dos loots de monstros que vc mata, geralmente é mais se usado para pegar o dinheiro, bom sem mais explicações vamos ao que intereça: Abra a pasta creaturescripts/scripts do seu ot e crie um arquivo com nome de autoloot.lua e cole o seguinte código: local configs = { ids = {2148, 2152, 2160}, -- adicionado somente os dos dinheiros, mais pode adicionar qual id quiser. premium = true -- só premium usar o auto loot ? [true ou false] } function getItemsInContainerById(container, itemid) local items = {} if getContainerSize(container) > 0 then for slot=0, (getContainerSize(container)-1) do local item = getContainerItem(container, slot) if isContainer(item.uid) then local itemsbag = getItemsInContainerById(item.uid, itemid) for i=0, #itemsbag do table.insert(items, itemsbag[i]) end else if itemid == item.itemid then table.insert(items, item.uid) end end end end return items end function autoGold(cid, pos, stack) if stack > 255 then return true end local position = {x = pos.x, y = pos.y, z = pos.z, stackpos = stack} local tile = getThingFromPos(position) if isCorpse(tile.uid) then corpse = tile else autoGold(cid, pos, stack + 1) end if corpse ~= nil then for _, idmoney in pairs(configs.ids) do tab = getItemsInContainerById(corpse.uid, idmoney) if #tab ~= 0 then for _, uid in pairs(tab) do item = getThing(uid) doPlayerAddItem(cid, idmoney, item.type) doRemoveItem(item.uid, item.type) end end end end end function onKill(cid, target) if not isPremium(cid) and configs.premium then return true end return addEvent(autoGold, 10, cid, getCreaturePosition(target), 0) end Na mesma pasta procure pelo login.lua abra-o, e antes de return true adicione esta linha: registerCreatureEvent(cid, "AutoLoot") Agora volte na pasta creaturescripts e procure o arquivo creaturescripts.xml e adicione a tag: <event type="kill" name="AutoLoot" event="script" value="autoloot.lua"/> Bom para configurar os items que vão ter o loot automático é só abrir o arquivo autoloot.lua e esta logo no começo as configurações: local configs = { ids = {2148, 2152, 2160}, -- adicionado somente os dos dinheiros, mais pode adicionar qual id quiser. premium = true -- só premium usar o auto loot ? [true ou false] } Tambem quero avisar que o script fica mais funcional em server 9.1 por causa do sistema de juntar o dinheiro sozim, fica muito legal, se usar em uma versão mais antiga, funcionara normal, mais ira fazer um pouco de bagunça na sua bag, hehehehe É isso ai... Fui ;*
  12. meubk

    Xotservx

    me xupa suas kenga, RAIRIAIRAI... é o samsung star II
  13. meubk

    Xotservx

    suahsuahusah, teclado é este ?
  14. meubk

    Xotservx

    vim trazer uma foto minhaa aii. Fuii ;*
  15. denada... mais com esse script a pessoa pode pegar 10 levels qndo ela quiser, coloca uma verifcação pra ver se ela ja feiz ou ñ esta quest, claro se vc kiser trivelatos
  16. copia o script do post novamente, parece ki vc colocou algum caracter invalido sem kerer no script tome cuidado na edição das configurações pode acontecer erros.
  17. mulizeu a função doPlayerAddLevel(cid, quantidade) |: tanto faiz o lvl vai adicionar qntos eu kerer...
  18. me explica oque acontece... e se tiver algum erro no distro mostre - me
  • Quem Está Navegando   0 membros estão online

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