Ir para conteúdo

MaTTch

Membro
  • Registro em

  • Última visita

Tudo que MaTTch postou

  1. local thecombat = createCombatObject() local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FLASHARROW) local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, 1000) setConditionFormula(condition, -0.4, 0, -0.4, 0) setCombatCondition(combat, condition) local arr = { {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 area = createCombatArea(arr) setCombatArea(thecombat, area) function getSpellDamage(cid, attackSkill, weaponAttack, attackFactor) local hit = ((getPlayerLevel(cid) * 0.2) + (getPlayerSkill(cid, 4) * 2.4)) local damage = -(math.random(hit * 0.5, hit)) return damage, damage end function onTargetTile(cid, pos) return doCombat(cid,combat,positionToVariant(pos)) end function onTargetCreature(cid, target) return doSendAnimatedText(getThingPos(target), "Slowed!", math.random(1,255)) end setCombatCallback(thecombat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") setCombatCallback(thecombat, CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature") setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "getSpellDamage") function onCastSpell(cid, var) return doCombat(cid, thecombat, var) end
  2. local time = 3 -- tempo em segundos que vai ficar imovel local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, time*1000) setConditionParam(condition, CONDITION_PARAM_SPEED, -5000) local function doSpell(cid, target, var) if not isCreature(cid) or not isCreature(target) then return true end if isPlayer(target) then doCreatureSetNoMove(target, true) addEvent(function() if isPlayer(target) then return doCreatureSetNoMove(target, false) end end,time*1000) else doAddCondition(target, condition) end return doCombat(cid, combat, var) end function onCastSpell(cid, var) return doSpell(cid, getCreatureTarget(cid), var) end
  3. MaTTch postou uma resposta no tópico em Playground (Off-topic)
    q?
  4. local vocations = { --[id da vocation] = {lookType = newtype} [1] = {lookType = 2}, [2] = {lookType = 3}, [3] = {lookType = 4}, [4] = {lookType = 5}, } local AID = 1000 -- actionid do tile local function AddMana(cid) if not isPlayer(cid) then return true end if getTileInfo(getThingPos(cid)).actionid == AID then if getPlayerLevel(cid) >= 1 and getPlayerLevel(cid) < 50 then doCreatureAddMana(cid, 500) doSendMagicEffect(getThingPos(cid), 12) elseif getPlayerLevel(cid) >= 50 and getPlayerLevel(cid) < 100 then doCreatureAddMana(cid, 1000) doSendMagicEffect(getThingPos(cid), 12) elseif getPlayerLevel(cid) >= 100 then doCreatureAddMana(cid, 1500) doSendMagicEffect(getThingPos(cid), 12) end addEvent(AddMana, 1000, cid) end return true end function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) then local getVoc = vocations[getPlayerVocation(cid)] if not getVoc then return true end doSetCreatureOutfit(cid, getVoc, -1) AddMana(cid) end return true end function onStepOut(cid, item, position, fromPosition) doRemoveCondition(cid, CONDITION_OUTFIT) return true end
  5. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 3) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1500.25, 6, -56.30, 6) function onCastSpell(cid, var) local cpos = {x=getThingPos(cid).x+1, y=getThingPos(cid).y+1, z=getThingPos(cid).z} local tpos = {x=getThingPos(getCreatureTarget(cid)).x+3, y=getThingPos(getCreatureTarget(cid)).y, z=getThingPos(getCreatureTarget(cid)).z} doSendMagicEffect(cpos, 00) addEvent(doCombat, 200, cid, combat, var) addEvent(doSendMagicEffect, 200, tpos, 43) return true end
  6. Não sei se era isso mas... ai vai: local time = 5 -- tempo que vai durar as paredes function onCastSpell(cid, var) local cpos = getThingPos(cid) local dir = { {1026, {x=cpos.x, y=cpos.y-1, z=cpos.z}}, -- North (cima) {1026, {x=cpos.x, y=cpos.y+1, z=cpos.z}}, -- South (baixo) {1025, {x=cpos.x-1, y=cpos.y, z=cpos.z}}, -- West (esquerda) {1025, {x=cpos.x+1, y=cpos.y, z=cpos.z}} -- East (direita) } for _, info in ipairs(dir) do if not getTileInfo(info[2]).house and not getTilePzInfo(info[2]) then doCreateItem(info[1], 1, info[2]) addEvent(function() if getTileItemById(info[2], info[1]).uid > 0 then doRemoveItem(getTileItemById(info[2], info[1]).uid) end end,time*1000) end end return true end
  7. local tempo = 60 -- tempo em segundos. local effect = {229} -- effect no player, caso queira apenas 1, basta remover os outros numeros. local ml = 50 -- quantos ira aumentar o skill de ML local skillfist = 50 -- quantos ira aumentar o skill de Fist local skillsword = 50 -- quantos ira aumentar o skill de Sword local skillaxe = 50 -- quantos ira aumentar o skill de Axe local skillclub = 50 -- quantos ira aumentar o skill de Club local skilldistance = 50 -- quantos ira aumentar o skill de Distance local skillshield = 50 -- quantos ira aumentar o skill de Shield local health = 100 -- A cada 1 segundo quantos aumentar de vida local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_SPEED, 300) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) function magicEffect2244(tempo2,tempo3,cid) if (isCreature(cid)) then if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then for i=1, #effect do local position = {x=getPlayerPosition(cid).x+4, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} doSendMagicEffect(position, effect[i]) end end end end function onCastSpell(cid, var) local position127 = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(magicEffect2244, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado. doCreatureSay(cid, "Susano", TALKTYPE_MONSTER) doSendMagicEffect(position127, 110) else doPlayerSendCancel(cid, "Sorry, you are transformed.") end end
  8. essa magia vai tirar dano do target?
  9. Em server de narutibia geralmente fica na pasta talkactions nos arquivos chamados transformar.lua e reverter.lua.
  10. <instant name="Nome da spell" words="Palavra para soltar" aggressive="0" prem="0" lvl="Level" mana="0" exhaustion="1000" event="script" value="Nome do arquivo.lua"> <vocation id="0"/> -- ID da vocação que ira usar </instant>
  11. local function isWalkable(pos, creature, proj, pz)-- by 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 pz then return false end local n = not proj and 2 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 local area = { {1,1,1}, {1,3,1}, {1,1,1}, } local function onDash(cid) local poslook = getCreatureLookPosition(cid) poslook.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE if isWalkable(poslook) then if not isCreature(getThingfromPos(poslook).uid) then doMoveCreature(cid, getPlayerLookDirection(cid)) doSendMagicEffect({x=getThingPos(cid).x+1, y=getThingPos(cid).y, z=getThingPos(cid).z}, 245) return true else doMoveCreature(cid, getPlayerLookDirection(cid)) doAreaCombatHealth(0, 1, poslook, area, -getCreatureSpeed(cid)*2/(getCreatureHealth(cid)/500), -getCreatureSpeed(cid)*2/(getCreatureHealth(cid)/500), 240) doCreatureSay(getThingfromPos(poslook).uid, 'Auch', TALKTYPE_MONSTER) doSetItemOutfit(getThingfromPos(poslook).uid, 0, 1000*1000) doSendMagicEffect(getCreaturePosition(getThingfromPos(poslook).uid), 245) return true end end return true end function onCastSpell(cid, var) local distance = 2 for i = 0, distance do addEvent(onDash,90*i,cid) end return true end
  12. MaTTch postou uma resposta no tópico em Suporte Tibia OTServer
    Cara eu tenho a copia do server, mas se o download dele foi removido foi por um bom motivo, então não vou te passar por respeitar isso e também creio que ninguém que tenha ira te passar.
  13. local time = 5 -- tempo que vai durar as paredes function onCastSpell(cid, var) local cpos = getThingPos(cid) local dir = { [0] = {1026, from = {x=cpos.x-1, y=cpos.y-1, z=cpos.z}, to = {x=cpos.x+1, y=cpos.y-1, z=cpos.z}}, -- North (cima) [1] = {1025, from = {x=cpos.x+1, y=cpos.y-1, z=cpos.z}, to = {x=cpos.x+1, y=cpos.y+1, z=cpos.z}}, -- East (direita) [2] = {1026, from = {x=cpos.x-1, y=cpos.y+1, z=cpos.z}, to = {x=cpos.x+1, y=cpos.y+1, z=cpos.z}}, -- South (baixo) [3] = {1025, from = {x=cpos.x-1, y=cpos.y-1, z=cpos.z}, to = {x=cpos.x-1, y=cpos.y+1, z=cpos.z}}, -- West (esquerda) } local getDir = dir[getCreatureLookDirection(cid)] for x = getDir.from.x, getDir.to.x do for y = getDir.from.y, getDir.to.y do local pos = {x=x,y=y,z=cpos.z} if not getTileInfo(pos).house and not getTilePzInfo(pos) then doCreateItem(getDir[1], 1, pos) addEvent(function() if getTileItemById(pos, getDir[1]).uid > 0 then doRemoveItem(getTileItemById(pos, getDir[1]).uid) end end,time*1000) end end end return true end Ali nos números 1026 e 1025 é o ID das paredes.
  14. O mapa ta meio deficiente nos detalhes... E sinceramente não acho mais que Tibia ta virando alguma coisa não.. (Minha opinião)
  15. Converta o script do NPC para ANSI com o notepad ou outro programa da sua preferencia.
  16. Primeiramente vá no seu config.lua e adicione isso embaixo do ProtectionLevel: protectionLevelInScript = 100 -- até que level ira proteger Agora vá em creaturescripts e crie um arquivo.LUA e cole isso dentro: function onCombat(cid, target) if not isPlayer(target) then return true end if getTileInfo(getThingPos(cid)).pvp then return true end local protect = getConfigInfo('protectionLevelInScript') if getPlayerLevel(cid) <= protect or getPlayerLevel(target) <= protect then doPlayerSendCancel(cid, "You may not attack this player.") return false end return true end Adicione a Tag: <event type="combat" name="Protect" event="script" value="nome do arquivo.lua" /> E também registre no onLogin: registerCreatureEvent(cid, "Protect") Pronto agora só testar, e não se esqueça de deixar o ProtectionLevel = 0. OBS: Se o server estiver non-pvp, não adiantara nada.
  17. local function isSummon(cid) return cid ~= getCreatureMaster(cid) or false end local bosses = {"hydra boss"} -- caso for mais de 1 boss, adicione a virgula function onKill(cid, target) if isMonster(target) and not isSummon(target) then for i = 1, #bosses do if getCreatureName(target):lower() == bosses[i]:lower() then return doBroadcastMessage("O jogador "..getCreatureName(cid).." acaba de matar o monstro \""..getCreatureName(target).."\" !", MESSAGE_EVENT_ADVANCE) end end end return true end Você vai ter que registrar no onLogin, e não se esqueça de colocar a Tag.
  18. Você tem 2 opções: 1 - Arrumar por sources. 2 - Deixar o ProtectionLevel 0 e fazer proteger por level por script no creaturescripts.
  19. MaTTch postou uma resposta no tópico em Playground (Off-topic)
    Cansado
  20. MaTTch postou uma resposta no tópico em Suporte & Pedidos
    Esse manja. Acompanhando...
  21. MaTTch postou uma resposta no tópico em Suporte Tibia OTServer
    Se o domínio for valido, sim.
  22. MaTTch postou uma resposta no tópico em Suporte Tibia OTServer
    Sim, só não foi falado quais os domínios removidos.
  23. MaTTch postou uma resposta no tópico em Suporte Tibia OTServer
    "disainer" ... Bom.. Eu parei de jogar Tibia, então não jogaria.
  24. MaTTch postou uma resposta no tópico em Suporte Tibia OTServer
    Não informaram ainda quais foram os domínios removidos.
  25. MaTTch postou uma resposta no tópico em Suporte Tibia OTServer
    Alguns domínios foram removidos do no-ip.com pelo tribunal federal seguido pela microsoft. Fonte: link

Informação Importante

Confirmação de Termo