Ir para conteúdo
Banner com Efeitos

matheuspeixoto12

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Curtir
    matheuspeixoto12 deu reputação a Dwarfer em (Resolvido)adicionar magic level nesse script   
    - ####################################### -- ####### Developed by MaXwEllDeN ####### -- ####### Level Points System ####### -- ####### Version: 1.0 ####### -- ####################################### local function addMagLevel(cid, amount) local amount = amount or 1 for i = 1, amount do doPlayerAddSpentMana(cid, getPlayerRequiredMana(cid, getPlayerMagLevel(cid, true) + 1) - getPlayerSpentMana(cid), false) end return true end function onSay(cid, words, param) if not (L_LvlPoints.vocPoints[getPlayerVocation(cid)]) then return false end local param = param:lower() local p2 = string.explode(param, ",") if (getPlayerStorageValue(cid, 14574) < 0) then setPlayerStorageValue(cid, 14574, 0) end local skillids = { ["shielding"] = 5, ["sword"] = 2, ["axe"] = 3, ["club"] = 1, ["distance"] = 4, } if (param == "check") then doPlayerPopupFYI(cid, "~*~*~ Level Points System by MaXwEllDeN ~*~*~\n\nPontos disponíveis: ".. getPlayerStorageValue(cid, 14574) .."\nPontos por level: ".. L_LvlPoints.vocPoints[getPlayerVocation(cid)]) elseif (p2[1] and p2[1] == "add") and (L_LvlPoints.attributes[p2[2]]) and (tonumber(p2[3])) then if (getPlayerStorageValue(cid, 14574) < tonumber(p2[3]) * L_LvlPoints.attributes[p2[2]].np) then doPlayerSendCancel(cid, "Você não tem pontos suficientes para distribuir!") return doSendMagicEffect(getThingPos(cid), 2) end if (p2[2] == "vitalidade") then setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) + L_LvlPoints.attributes[p2[2]].vl * tonumber(p2[3])) doCreatureAddHealth(cid, L_LvlPoints.attributes[p2[2]].vl * tonumber(p2[3])) elseif (p2[2] == "energy") then setCreatureMaxMana(cid, getCreatureMaxMana(cid) + L_LvlPoints.attributes[p2[2]].vl * tonumber(p2[3])) doCreatureAddMana(cid, L_LvlPoints.attributes[p2[2]].vl * tonumber(p2[3])) elseif (p2[2] == "magic" then) addMagLevel(cid, L_LvlPoints.attributes[p2[2]].vl * tonumber(p2[3])) elseif(skillids[p2[2]]) then for a = 1, tonumber(p2[3]) do doPlayerAddSkillTry(cid, skillids[p2[2]], getPlayerRequiredSkillTries(cid, skillids[p2[2]], getPlayerSkillLevel(cid, skillids[p2[2]]) + 1) - getPlayerSkillTries(cid, skillids[p2[2]]), false) end end doSendMagicEffect(getThingPos(cid), 29) doSendMagicEffect(getThingPos(cid), 30) doSendAnimatedText(getThingPos(cid), "-" .. tonumber(p2[3]) * L_LvlPoints.attributes[p2[2]].np, 180) setPlayerStorageValue(cid, 14574, getPlayerStorageValue(cid, 14574) - tonumber(p2[3]) * L_LvlPoints.attributes[p2[2]].np) else local msgx = "" for i, v in pairs(L_LvlPoints.attributes) do local add = (v.np > 1) and "s" or "" msgx = msgx .. string.upper(i:sub(1,1)) .. i:sub(2, #i) .. " - ".. v.np .. " ponto".. add .. " ~ " .. v.vl .. " ".. v.nm .. "\n" end doPlayerPopupFYI(cid, "Pontos necessários para aumentar os stats:\n\n".. msgx .. "\nExemplo de uso: ".. words .." add, vitalidade, 5\n\nPontos disponíveis: ".. getPlayerStorageValue(cid, 14574)) end return true end  
  2. Curtir
    matheuspeixoto12 deu reputação a Belmont em (Resolvido)adicionar magic level nesse script   
    @matheuspeixoto12 Coloca um " - " na linha 1 ficando assim
     
  3. Gostei
    matheuspeixoto12 deu reputação a r0bert0lol em (Resolvido)spell com tempo de espera   
    local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 8)   function onGetFormulaValues(cid, level, maglevel) min = -((level / 5) + (maglevel * 4.5) + 20) max = -((level / 5) + (maglevel * 7.6) + 48) return min, max end   setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")   function onCastSpell(cid, var) local waittime = 20 -- Tempo de exhaustion
    local storage = 5948

    if exhaustion.check(cid, storage) then
    doCreatureSay(cid, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.", TALKTYPE_MONSTER)
    return false
    end local position = {x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} doSendMagicEffect(position, 181) target = getCreatureTarget(cid) exhaustion.set(cid, storage, waittime) end   Tente assim, se modificar no exausted na tag da spell acaba prejudicando outras spells que vem em seguida... tem que ser em script dentro da spell mesmo..
  4. Gostei
    matheuspeixoto12 recebeu reputação de giovanni gabriel ken em Sprite CDZ   
    olá alguém consegue fazer esse cavaleiro em 32x32?
     

    obrigado
  5. Gostei
    matheuspeixoto12 deu reputação a Wakon em nao consigo entrar nos ots   
    Usa MageBot, pode ser o Demo Version mesmo, só IPChanger funciona, se for windows 8+ recomendo executar como administrador:



  6. Gostei
    matheuspeixoto12 deu reputação a rohfagundes em skill otcliente   
    http://www.tibiaking.com/forum/topic/12228-simple-level-points/

    so funciona por comando
  7. Gostei
    matheuspeixoto12 deu reputação a JonatasLucasf em (Resolvido)Tibia 10.50   
    aqui amigo, http://baixe.net/download/3467/tibia-10-50/
     
    http://www.tibiaclient.com.br/2014/07/download-tibiaclient-para-tibia-1050.html
  8. Gostei
    matheuspeixoto12 deu reputação a Danihcv em (Resolvido)Editar esta spell   
    Se eu entendi direito, então deve funcionar:
    function onCastSpell(cid, var) local from,to = {x=962, y=885, z=7},{x=973, y=892, z=7} -- começo e final do mapa local from2,to2 = {x=979, y=901, z=7},{x=991, y=905, z=7} -- começo e final do mapa local playerpos = getPlayerPosition(cid) local position1 = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y+1, z=getPlayerPosition(cid).z} local position2 = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} local MaximoSummon = 3 --- Maximo de Monstros Sumonados!! local summons = getCreatureSummons(cid) if isInRange(getCreaturePosition(cid), from, to) or isInRange(getCreaturePosition(cid), from2, to2) then doPlayerSendCancel(cid, "Você não pode usar Summons Aqui!") return true end if(table.maxn(summons) < MaximoSummon) then -- no summons if getPlayerVocation(cid) == 1 then local clone1 = doCreateMonster("Katsuyu", playerpos) doConvinceCreature(cid, clone1) doSendMagicEffect(position1, 214) doSendMagicEffect(position2, 147) doPlayerSendTextMessage(cid,27,'Kuchyose no Jutsu.') elseif getPlayerVocation(cid) == 2 then local clone2 = doCreateMonster("Gamabunta", playerpos) doConvinceCreature(cid, clone2) doSendMagicEffect(position1, 214) doSendMagicEffect(position2, 147) doPlayerSendTextMessage(cid,27,'Kuchyose no Jutsu.') else getPlayerVocation(cid) == 3 then local clone3 = doCreateMonster("Manda", playerpos) doConvinceCreature(cid, clone3) doSendMagicEffect(position1, 214) doSendMagicEffect(position2, 147) doPlayerSendTextMessage(cid,27,'Kuchyose no Jutsu.') end return TRUE end end
  9. Gostei
    matheuspeixoto12 deu reputação a leonardobo em (Resolvido)Editar esta spell   
    local config = { --[[ [IDdaVocação] ~ NomeDoSummom No caso voce tera que colocar todas as vocations tipo: [30] = {"Gamabunta"}, [31] = {"Gamabunta"} Sempre a ultima voce deixa sem vírgula. ]]-- -- Naruto -- [1] = {"Gamabunta"}, -- Sasuke -- [2] = {"Manda"}, -- Sakura -- [3] = {"Katsuyu"} } function onCastSpell(cid, var) local playerpos = getPlayerPosition(cid) local position1 = {x=getPlayerPosition(cid).x+2, y=getPlayerPosition(cid).y+1, z=getPlayerPosition(cid).z} local position2 = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} local MaximoSummon = 1 local summons = getCreatureSummons(cid) local voc = config[getPlayerVocation(cid)] if(table.maxn(summons) < MaximoSummon) then if voc then local clone1 = doCreateMonster(voc[1], playerpos) doConvinceCreature(cid, clone1) doSendMagicEffect(position1, 111) end return TRUE end end Simplifiquei.
  10. Gostei
    matheuspeixoto12 deu reputação a xWhiteWolf em Hirashin Ni No Dan   
    Fala galera do TK, um cara tinha pedido no suporte pra eu fazer essa spell aqui http://youtu.be/ZWrsRvVYgys?t=1m54s e eu fiz rapidinho e ficou uma bosta, então eu decidi melhorar ela e postar aqui pra vocês. 

    O vídeo é bem explicativo então eu acho que não preciso ficar prologando isso daqui, se vc não quiser ver o vídeo tente entender pelas fotos:








    Bom, antes de tudo vá em spells.xml e coloque isso daqui:
    <instant name="Tibia King" words="Hirashin ni no dan" lvl="50" mana="100" prem="1" range="6" needtarget="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="especiais/playerport.lua"> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> </instant> aqui vc configura nome da magia, palavras pra usar ela, level pra usar, mana que custa, se precisa ser premio, o alcance máximo dela, se precisa de um target (nessa magia em específico eu vou pedir pra que vc não mexa nisso), se ela é bloqueada pelas paredes (1 quer dizer que sim), a exaustão entre um uso e outro (nesse caso vc usa a magia e precisa esperar 1 segundo (1000 milisegundos) pra usá-la novamente) se ela precisa ser aprendida (0 significa que vc já vem com ela) e em value você tem o diretório em que ela vai ficar (no caso dentro da pasta spells\scripts vai ter uma pasta chamada especiais e dentro dessa pasta vai ter um arquivo chamado playerport.lua

    Feito isso crie o arquivo playerport.lua que deverá conter o seguinte:
    local config = { storage = 49708, tempo = 1.5, effect = 65 } local exception = {"Trainer", "Training Monk", "GOD"} function onCastSpell(cid, var) local name = getCreatureName(getCreatureTarget(cid)) if not isInArray(exception, name) then if getPlayerStorageValue(cid, config.storage) <= 0 then doPlayerSetStorageValue(cid, config.storage, 1) doSendMagicEffect(getThingPos(cid), config.effect) doSendMagicEffect(getThingPos(variantToNumber(var)), config.effect) addEvent(function() doPlayerSetStorageValue(cid, config.storage, 0) if isCreature(cid) and isCreature(variantToNumber(var)) then if isWalkable(getCreaturePosition(variantToNumber(var)), false, true, true) then doTeleportThing(cid, getThingPos(variantToNumber(var)), true) arr = {3} doAreaCombatHealth(cid, 1, getThingPos(variantToNumber(var)), arr, -getPlayerLevel(cid), -2*(getPlayerLevel(cid)), 0) elseif isCreature(cid) and not isWalkable(getCreaturePosition(variantToNumber(var)), false, true, true) then doPlayerSendCancel(cid, "You can't reach your target") end end end, 1000*config.tempo) elseif getPlayerStorageValue (cid, config.storage) > 0 then doSendMagicEffect(getThingPos(cid), 2) doPlayerSendCancel(cid, "You've already set your target.") end else doPlayerSendCancel (cid, "You can't use this spell in this creature.") return false end return true end Ali no começo é possível configurar algumas coisas do script:
    o script em si é bem fácil de se configurar.

    Agora pra evitar possíveis bugs você deve ir em creaturescripts\scripts\login.lua e adicionar essas linhas antes do ultimo return true:
    ---------- PlayerPort--------------- if getPlayerStorageValue(cid, 49708) ~= 0 then         setPlayerStorageValue(cid, 49708, 0)  end Lembrando que o storage no login.lua tem que ser igual ao storage no script!!

    OBS: a fórmula pode ser mudada nessa linha aqui:
    doAreaCombatHealth(cid, 1, getThingPos(variantToNumber(var)), arr, -getPlayerLevel(cid), -2*(getPlayerLevel(cid)), config.effectdamage)   aqui é a fórmula:
     -getPlayerLevel(cid), -2*(getPlayerLevel(cid)) sendo min, max respectivamente. Em outras palavras, o mínimo que a magia tira é o level do player e o máximo que ela tira é 2x o level;

    Espero que vcs tenham gostado :]
  11. Gostei
    matheuspeixoto12 deu reputação a D i M i T r E s C u em !Esconder   
    Galera tava fazendo uma script pra mim usar no meu server só que falta algumas coisas mais testei aqui já da pra usar
    Testado em: 8.6
    Finalidade: Se esconder de pessoas
    No meu caso coloquei pra transformar em arvores ou pedras
    Pode ser qualquer coisa que queiram.
    ele se transformar e fica nos items desejados aleatórios e você fica imóvel por 7 segundos, se quiserem mudar é so mudar essas linhas
     
    doSetItemOutfit(cid, math.random(2701, 2704), 7000) --tempo 7 segundos
                  addEvent(doCreatureSetNoMove, 7000, cid, false)
     
    obs2: Deixe no mesmo tempo para ficar bom
     
    vamos lá:
    1º va na pasta data/talkactions/script copie qualquer arquivo e coloque um nome desejado
    e coloque isso:
    function onSay(cid, words, param) if getPlayerLevel(cid) >= 1 then     doCreatureSetHideHealth(cid, true)       addEvent(doCreatureSetHideHealth, 7000, cid, false)     doSetItemOutfit(cid, math.random(2701, 2704), 7000)--tempo 7 segundos           doSendMagicEffect(getCreaturePosition(cid),13)             doCreatureSay(cid, "Voce se Escondeu", TALKTYPE_ORANGE_1) -- mensagem               doCreatureSetNoMove(cid, true)                 addEvent(doCreatureSetNoMove, 7000, cid, false) end return true end Tag:
    <talkaction words="!esconder" event="script" value="arquivo.lua"/> Obs: essa parte math.random(2701, 2704) -- sao os items que irao se transformar
     
    se já existe um assim não sei , só sei que eu que fiz esse 
    Bom uso 
    erros comentem aqui pff
     
    (ARRUMADO) 100%
    credito também ao Xwhitewolf 
     
  12. Gostei
    matheuspeixoto12 deu reputação a xWhiteWolf em (Resolvido)[PEDIDO] Summon Monsters   
    fiz uma versãozinha aqui, espero que vc curta
    function onCastSpell(cid, var) local pos = getPlayerPosition(cid) local maxsummon = 4 -- numero máximo de summons local possible = { {x = pos.x, y = pos.y - 2, z = pos.z, stackpos = 0}, {x = pos.x, y = pos.y + 2, z = pos.z, stackpos = 0}, {x = pos.x - 2, y = pos.y, z = pos.z, stackpos = 0}, {x = pos.x + 2, y = pos.y, z = pos.z, stackpos = 0}, {x = pos.x - 2, y = pos.y - 1, z = pos.z, stackpos = 0}, {x = pos.x + 2, y = pos.y - 1, z = pos.z, stackpos = 0}, {x = pos.x + 2, y = pos.y + 1, z = pos.z, stackpos = 0}, {x = pos.x - 2, y = pos.y + 1, z = pos.z, stackpos = 0}, {x = pos.x - 1, y = pos.y - 2, z = pos.z, stackpos = 0}, {x = pos.x + 1, y = pos.y - 2, z = pos.z, stackpos = 0}, {x = pos.x + 1, y = pos.y + 2, z = pos.z, stackpos = 0}, ---- {x = pos.x, y = pos.y - 1, z = pos.z, stackpos = 0}, {x = pos.x, y = pos.y + 1, z = pos.z, stackpos = 0}, {x = pos.x - 1, y = pos.y, z = pos.z, stackpos = 0}, {x = pos.x + 1, y = pos.y, z = pos.z, stackpos = 0}, {x = pos.x - 1, y = pos.y + 1, z = pos.z, stackpos = 0}, {x = pos.x - 1, y = pos.y - 1, z = pos.z, stackpos = 0}, {x = pos.x + 1, y = pos.y - 1, z = pos.z, stackpos = 0}, {x = pos.x + 1, y = pos.y + 1, z = pos.z, stackpos = 0}, ------ {x = pos.x - 1, y = pos.y + 2, z = pos.z, stackpos = 0} } local mobs = { -- monstros que serão sumonados (coloque o nome deles) [1] = "Clone Spider", [2] = "Demon Skeleton", [3] = "Dog", [4] = "Bug" } summonpos = 0 for k = 1, #mobs do alert = false local summons = getCreatureSummons(cid) if #summons < maxsummon then  for i = 1, #possible do if isWalkable(possible[i], true, false, true) then summonpos = possible[i] end end if summonpos ~= 0 then if #summons >= 1 then for j = 1, #summons do if getCreatureName(summons[j]):lower() == string.lower(mobs[k]) then alert = true end end end if alert == false then doConvinceCreature(cid, doCreateMonster(mobs[k], summonpos)) doSendMagicEffect(pos, 12) doSendMagicEffect(summonpos, 10) else doPlayerSendCancel(cid, "You already have this kinda of summon.") doSendMagicEffect(pos, 2) end else doPlayerSendCancel(cid, "There is not enough room.") doSendMagicEffect(pos, 2) return true end else doSendMagicEffect(pos, 2) doPlayerSendCancel(cid, "You cannot summon more than "..maxsummon.." creature(s).") break end end  end <instant name="Volatile Spiderling" words="utevo res tera" lvl="40" mana="20" prem="1" selftarget="1" exhaustion="2000" groups="1,2000" icon="88" needlearn="0" event="script" value="especiais/assistedsuicide.lua"> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> </instant>
  13. Gostei
    matheuspeixoto12 deu reputação a xWhiteWolf em Spells Minato.   
    rapaz fiz a melhor spell que dava pra fazer, agora você vai ter um script melhor que o dos caras que criaram esse vídeo aí.
    Você só vai precisar adicionar isso daqui no spells.xml:
    <instant name="TK" words="goshun" lvl="8" mana="35" prem="0" exhaustion="1500" range="4" needtarget="1" needlearn="0" event="script" value="especiais/goshun.lua"> </instant> (pode modificar a vontade se baseando nas outras spells, só tenta deixar o needtarget="1" e coloca o range como sendo algo menor que 5 e maior que o jumpMax que vc vai configurar no script abaixo)
    local config = { effectTarget = 9, -- efeito que dá no target ao acertá-lo effectFinal = 37, -- efeito que aparece na posição final onde vc será teleportado jumpMax = 3 -- número máximo de quadrados que irá pular } function onCastSpell(cid, var) local maglevel, level, mana = getPlayerMagLevel(cid), getPlayerLevel(cid), getCreatureMana(cid) local axe, sword, club, distance = getPlayerSkillLevel(cid, 3), getPlayerSkillLevel(cid, 2), getPlayerSkillLevel(cid, 1), getPlayerSkillLevel(cid, 4) local shield, health = getPlayerSkillLevel(cid, 5), getCreatureHealth(cid) local formula = { min = ((level + maglevel)/5 + axe + sword + club + shield + (mana/1000)), --- formula de dano minimo max = ((level + maglevel)/5 + axe + sword + club + shield + ((mana + health)/1000)) --- formula de dano maximo } local pos = getMirroredPos(cid, variantToNumber(var), config.jumpMax) local position = getCreaturePosition(cid) if pos.x ~= position.x or pos.y ~= position.y then doTeleportThing(cid, pos) doTargetCombatHealth(cid, variantToNumber(var), 1, -formula.min, -formula.max, config.effectTarget) doSendMagicEffect(pos, config.effectFinal) else doPlayerSendCancel(cid, "Sorry, not possible.") return false end return true end Contudo esse script usa uma função da minha New Lib. (Se você já tem ela, bom, deleta e adiciona dnv porque eu coloquei a função que usa nesse script hoje cedo)
  14. Gostei
    Bom galera, tem uma coisa bem simples que nem o tibia global fez e que eu to trazendo aqui pra vocês. Trata-se de um pequeno sistema que fará você sempre virar pra direção do seu target ao atacar.
    Testado em TFS 0.3.6 Cliente 8.54.

    Imagem auto explicativa:




    Chega de atacar de costas! 

    Agora pra instalar é bem tranquilo. Abra um arquivo .lua em data\creaturescripts\scripts chamado target e coloque o seguinte conteudo dentro dele:




    Feito isso adicione essa linha no creaturescripts.xml:
    <event type="attack" name="targetCreature" script="target.lua"/> E para finalizar adicione a seguinte tag em creaturescripts\scripts\login.lua:
    registerCreatureEvent(cid, "targetCreature") Espero que vcs tenham curtido, é algo bem simples mas ninguém havia pensado nisso antes (nem o próprio Tibia), é uma coisa bem básica e que torna o jogo bem mais importante e sério. 


    EDIT:: Usem essa versão que está mais completa, na anterior se o target estivesse na diagonal ele não virava.



  15. Gostei
    matheuspeixoto12 deu reputação a Wise em (Resolvido)Npc que da vocação diferente   
    Bom, nesse caso nem precisaria usar storages.. local tab = { voc = {5}, -- newVocationID dctime = 5, -- segundos para desconectar o player stats = {1, 150, 5} -- {newLevel, newHealth, newMana} novo level/hp/mana ao trocar a voc } 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 creatureSayCallback(cid, type, msg) if (not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid function changeVoc(cid) local playerid, mh, mm = getPlayerGUID(cid), getCreatureMaxHealth(cid), getCreatureMaxMana(cid) if(npcHandler:isFocused(cid)) then npcHandler:releaseFocus(cid) end setCreatureMaxHealth(cid, tab.stats[2]) doCreatureAddHealth(cid, -(tab.stats[2] - mh)) setCreatureMaxMana(cid, tab.stats[3]) doCreatureAddMana(cid, -(tab.stats[3] - mm)) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `level`="..tab.stats[1]..",`experience`= 0 WHERE `players`.`id`= "..playerid.."") return true end if (msgcontains(msg, 'change')) then if not (tab.voc[getPlayerVocation(cid)]) then talkState[talkUser] = 1 selfSay('If you choose to change your vocation, your level, health and mana will return as a level '..tab.stats[1]..'..', cid) selfSay('Are you sure you want this?', cid) else talkState[talkUser] = 0 npcHandler:releaseFocus(cid) selfSay('I can not change your vocation.', cid) end elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then doPlayerSetVocation(cid, tab.voc[1]) doSendMagicEffect(getThingPos(cid), CONST_ME_STUN) addEvent(function() if isPlayer(cid) then changeVoc(cid) end end, tab.dctime * 1000) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) selfSay('Okay, now you will pass out and I will send you to the temple of your town in '..tab.dctime..' seconds.', cid) elseif (msgcontains(msg, 'no') and talkState[talkUser] == 1) then talkState[talkUser] = 0 npcHandler:releaseFocus(cid) selfSay('Sure, goodbye!', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  16. Gostei
    matheuspeixoto12 deu reputação a Cerberus em Alguns bugs   
    nada xD , se ajudei Rep+ xD... e reporte para fechar topico xD.. flw e boa sorte.
  17. Gostei
    matheuspeixoto12 deu reputação a xWhiteWolf em (Resolvido)Spell diferente   
    adiciona essa linha
     
    setConditionParam(condition,CONDITION_PARAM_STAT_MAGICLEVELPERCENT, 100+config.percent)
  18. Gostei
    matheuspeixoto12 recebeu reputação de CreatServer em (Resolvido)Spells diferentes   
    Olá vi em um ot server esses dias 2 spells que achei legal, alguém poderia fazer elas para mim?
     
    1- kawarimi no jutsu defensive (o player usa a spell, dai o primeiro dano que ele levar, será anulado e aparecerá uma mensagem em branco em quem usou a spell - kawarimi -. Sendo que pode-se acumular, ex. se o player usar 20 vezes o kawarimi e depois tomar dano ele irá se esquivar ou absorver 20 danos, porém terá uma % para não ficar muito apelativo.)
     
    2- Kawarimi no jutsu defensive (igual o de cima porém, envez de esquivar ou absorver o atk ele irá pular em cima de quem o atacou)
  19. Gostei
    matheuspeixoto12 deu reputação a xWhiteWolf em (Resolvido)Spell diferente   
    local config = { tempo = 10, --- tempo que vai durar a spell percent = 20, -- quanto % vai aumentar cooldown = 20, --- tempo entre um uso e outro effect1 = 39, -- efeito ao executar a spell effect2 = 13 -- efeito que vai ficar saindo por segundo enquanto ela tiver ativa } local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) setCombatParam(combat, COMBAT_PARAM_EFFECT, config.effect1) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, config.tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUBPERCENT, 100+config.percent) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORDPERCENT, 100+config.percent) setConditionParam(condition, CONDITION_PARAM_SKILL_AXEPERCENT, 100+config.percent) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELDPERCENT, 100+config.percent) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCEPERCENT, 100+config.percent) setCombatCondition(combat, condition) function onCastSpell(cid, var) if getCreatureHealth(cid) <= (getCreatureMaxHealth(cid) * 0.3) then if os.time() - getPlayerStorageValue(cid, 54693) >= config.cooldown then doPlayerSetStorageValue(cid, 54693, os.time()) doCombat(cid, combat, var) for n = 1, config.tempo do addEvent(function() if isCreature(cid) then doSendMagicEffect(getCreaturePosition(cid), config.effect2) end end, (n - 1) * 1000) end else doPlayerSendCancel(cid, "Your skill is in cooldown, you must wait "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, 54693))).." seconds.") return false end else doPlayerSendCancel(cid, "You can only use this skill when you're with less than 30 percent of your life.") return false end return true end
  20. Gostei
    matheuspeixoto12 deu reputação a xWhiteWolf em (Resolvido)Spell para ficar intocavel   
    podia pelo menos me agradecer dando rep no tópico né, to fazendo tudo de boa vontade..
  21. Gostei
    matheuspeixoto12 deu reputação a xWhiteWolf em (Resolvido)Spell diferente   
    <instant name="testeTK" words="naruto2" lvl="16" mana="500" prem="1" aggressive="0" exhaustion="1000" needlearn="0" event="script" value="especiais/rage.lua"> <vocation id="5"/> <vocation id="6"/> </instant> local config = { tempo = 10, --- tempo que vai durar a spell percent = 20, -- quanto % vai aumentar cooldown = 20, --- tempo entre um uso e outro effect1 = 39, -- efeito ao executar a spell effect2 = 13 -- efeito que vai ficar saindo por segundo enquanto ela tiver ativa } local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_DISPEL, CONDITION_PARALYZE) setCombatParam(combat, COMBAT_PARAM_EFFECT, config.effect1) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, config.tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUBPERCENT, 100+config.percent) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORDPERCENT, 100+config.percent) setConditionParam(condition, CONDITION_PARAM_SKILL_AXEPERCENT, 100+config.percent) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELDPERCENT, 100+config.percent) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCEPERCENT, 100+config.percent) setCombatCondition(combat, condition) function onCastSpell(cid, var) if getCreatureHealth(cid) <= (getCreatureMaxHealth(cid) * 0.3) then if os.time() - getPlayerStorageValue(cid, 54693) >= config.cooldown then doPlayerSetStorageValue(cid, 54693, os.time()) doCombat(cid, combat, var) for n = 1, config.tempo do addEvent(function() if isCreature(cid) then doSendMagicEffect(getCreaturePosition(cid), config.effect2) end end, (n - 1) * 1000) end else doPlayerSendCancel(cid, "Your skill is in cooldown, you must wait "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, 54693))).." seconds.") end else doPlayerSendCancel(cid, "You can only use this skill when you're with less than 30 percent of your life.") end return true end
  22. Gostei
    matheuspeixoto12 recebeu reputação de CreatServer em (Resolvido)Spell que da muted no target   
    Olá, alguém poderia fazer uma spell que com uma chance de 60%, o player poderá dar muted em outro por 1 segundo? obrigado.
     
    Obs. Apenas target.
  23. Gostei
    matheuspeixoto12 deu reputação a xWhiteWolf em (Resolvido)Spell que da muted no target   
    local condition = createConditionObject(CONDITION_MUTED) setConditionParam(condition, CONDITION_PARAM_TICKS, 2000) local chance = 60 function silence(tar, text)     if(isCreature(tar) == true) then         doSendAnimatedText(getCreaturePosition(tar), text, 215)         doAddCondition(tar, condition)     end     return true end function onCastSpell(cid, var)     local tar = getCreatureTarget(cid)     if hasCondition(tar, CONDITION_MUTED) == true then         return false     else         if isCreature(tar) == true then if math.random(1,100) <= chance then local text = "SILENCE"                     silence(tar, text)      else local text = "MISS" doSendAnimatedText(getCreaturePosition(tar), text, 215) end         else             if isPlayer(cid) == true then                 doPlayerSendCancel(cid, "Silence can be cast only on other creatures.")             end             return false         end     end     return true end <instant name="Narutinho" words="naruto silence" lvl="300" mana="200" prem="1" range="4" needtarget="1" exhaustion="1000" needlearn="0" event="script" value="especiais/silencenaruto.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="3"/> <vocation id="4"/> </instant> 
  24. Gostei
    matheuspeixoto12 deu reputação a xWhiteWolf em (Resolvido)spell igual do video   
    -- =============== COMBAT VARS =============== -- Areas/Combat for 100ms local combat1_Ice_Area_Hit = createCombatObject() setCombatParam(combat1_Ice_Area_Hit, COMBAT_PARAM_EFFECT, 5) setCombatParam(combat1_Ice_Area_Hit, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat1_Ice_Area_Hit,createCombatArea({ {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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 3, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 0, 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}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } )) setCombatFormula(combat1_Ice_Area_Hit, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) -- Areas/Combat for 200ms local combat2_Ice_Area_Hit = createCombatObject() setCombatParam(combat2_Ice_Area_Hit, COMBAT_PARAM_EFFECT, 5) setCombatParam(combat2_Ice_Area_Hit, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat2_Ice_Area_Hit,createCombatArea({ {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, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, })) setCombatFormula(combat2_Ice_Area_Hit, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) -- Areas/Combat for 300ms local combat3_Ice_Area_Hit = createCombatObject() setCombatParam(combat3_Ice_Area_Hit, COMBAT_PARAM_EFFECT, 5) setCombatParam(combat3_Ice_Area_Hit, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat3_Ice_Area_Hit,createCombatArea({ {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, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, })) setCombatFormula(combat3_Ice_Area_Hit, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) -- Areas/Combat for 500ms local combat4_Ice_Area_Hit = createCombatObject() setCombatParam(combat4_Ice_Area_Hit, COMBAT_PARAM_EFFECT, 5) setCombatParam(combat4_Ice_Area_Hit, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatArea(combat4_Ice_Area_Hit,createCombatArea({ {0, 0, 0, 0, 0, 0, 0, 0, 0, 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}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 2, 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, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, })) setCombatFormula(combat4_Ice_Area_Hit, COMBAT_FORMULA_LEVELMAGIC, -2, 60, -2, 60) local function RunPart(c,cid,var,dirList,dirEmitPos,startDir) -- Part if (isCreature(cid)) then doCombat(cid, c, var) if (dirList ~= nil) then -- Emit distance effects local i = 2; while (i < #dirList) do if (startDir == 0) then -- N doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) elseif (startDir == 2) then -- S doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x+dirList[i],y=dirEmitPos.y+dirList[i+1],z=dirEmitPos.z},dirList[1]) elseif (startDir == 1) then -- E doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x+dirList[i+1],y=dirEmitPos.y+dirList[i],z=dirEmitPos.z},dirList[1]) else -- W / Something weird happened doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i+1],y=dirEmitPos.y-dirList[i],z=dirEmitPos.z},dirList[1]) end i = i + 2 end  end end end function onCastSpell(cid, var) local startPos = getCreaturePosition(cid) local startDir = getCreatureLookDirection(cid) addEvent(RunPart,200,combat1_Ice_Area_Hit,cid,var) addEvent(RunPart,350,combat2_Ice_Area_Hit,cid,var) addEvent(RunPart,500,combat3_Ice_Area_Hit,cid,var) addEvent(RunPart,600,combat4_Ice_Area_Hit,cid,var) return true end <instant name="ahahahaa" words="testinho" lvl="16" mana="500" prem="1" range="3" direction="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="especiais/hahaha.lua"> <vocation id="3"/> <vocation id="7"/> </instant>
  25. Gostei
    matheuspeixoto12 deu reputação a xWhiteWolf em (Resolvido)Monstro que enche vida e mana   
    cria a spell que vai encher a vida/mana
    local config = { health = 300, mana = 300 } function onCastSpell(cid, var) if getCreatureMaster(cid) then local master = getCreatureMaster(cid) if isInParty(master) then local members = getPartyMembers(getPlayerParty(master)) local health = math.ceil( config.health / #members ) local mana = math.ceil( config.mana / #members ) for i = 1, #members do doCreatureAddHealth(members[i], health) doCreatureAddMana(members[i], mana) doSendAnimatedText(getCreaturePosition(members[i]), "+"..health, 18) doSendMagicEffect(getCreaturePosition(members[i]), 12) end else doCreatureAddHealth(master, config.health) doCreatureAddMana(master, config.mana) doSendAnimatedText(getCreaturePosition(master), "+"..config.health, 18) doSendMagicEffect(getCreaturePosition(master), 12) end end return true end declara ela e coloca pra só monstros poderem usar:
    <instant name="healmaster" words="healmaster" lvl="0" mana="0" prem="0" aggressive="0" exhaustion="1500" needlearn="1" event="script" value="especiais/healmaster.lua"> </instant> agora vá no xml do monstro que vc quer que solte essa magia e embaixo de 
    <defenses armor="7" defense="5"> coloque isso daqui:
      <defense name="healmaster" interval="10000" chance="99" duration="100">   </defense> No final, se seu monstro não usar nenhuma outra magia de defesa, deve ficar assim:
      <defenses armor="7" defense="5">   <defense name="healmaster" interval="10000" chance="99" duration="100">   </defense> </defenses> esse /defense fecha a magia e o /defenses fecha a armor lá em cima

Informação Importante

Confirmação de Termo