Ir para conteúdo
Banner com Efeitos

Fabi Marzan

Membro
  • Registro em

  • Última visita

Tudo que Fabi Marzan postou

  1. vc so tem q compilar seus spr em aquele otclient
  2. Fabi Marzan postou uma resposta no tópico em Sprites
    BOM
  3. Fabi Marzan postou uma resposta no tópico em Suporte OTServer Derivados
    Verifica os clientes ai https://mega.nz/file/ePw22QhK#oOaSVi1NOtGryfXUaaqEKT4OLahIJ23QG3RIwLVJ3YI
  4. por isso, e mesmo efeito, quando ele esta olhando pra baixo o efeito troca em diferente direcao. preciso do um scripts assim.
  5. otx 2, nao sei pq ta dando esse error
  6. Tenho o mesmo problema..
  7. Preciso do um tutorial trocando do icons, criando botao.
  8. esse e primeiro local remove_time = 8 -- tempo em segundos para remover as magic wall local item_id = 12870 -- id da magic wall function removeItem(posAll) for i=1, #posAll do for j=0, 255 do pos_stack = {x=posAll[i].x,y=posAll[i].y,z=posAll[i].z,stackpos=j} removeTile = getThingfromPos(pos_stack) if removeTile.itemid == item_id then doRemoveItem(removeTile.uid) end end end end function onCastSpell(cid, var) local waittime = 30 -- Tempo de exhaustion em segundos local storage = 5853 -- Storage de Spell, nunca usar a mesma em outra spell, a menos que não queira usar duas spell juntas! if exhaustion.check(cid, storage) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Espera "..exhaustion.get(cid, storage).." segundos para usar nuevamente.") return false end local pos = getThingPos(getCreatureTarget(cid)) posTile1 = {x=pos.x+1,y=pos.y+1,z=pos.z,stackpos=1} posTile2 = {x=pos.x+1,y=pos.y,z=pos.z,stackpos=1} posTile3 = {x=pos.x+1,y=pos.y-1,z=pos.z,stackpos=1} posTile4 = {x=pos.x,y=pos.y-1,z=pos.z,stackpos=1} posTile5 = {x=pos.x-1,y=pos.y-1,z=pos.z,stackpos=1} posTile6 = {x=pos.x-1,y=pos.y,z=pos.z,stackpos=1} posTile7 = {x=pos.x-1,y=pos.y+1,z=pos.z,stackpos=1} posTile8 = {x=pos.x,y=pos.y+1,z=pos.z,stackpos=1} posAll = {posTile1,posTile2,posTile3,posTile4,posTile5,posTile6,posTile7,posTile8} for i=1, #posAll do if isWalkable(posAll[i]) then doCreateItem(item_id, 1, posAll[i]) end end function dotonprision(cid) if isCreature(cid) and isCreature(getCreatureTarget(cid)) then local position = {x=getThingPosition(getCreatureTarget(cid)).x+2, y=getThingPosition(getCreatureTarget(cid)).y+1, z=getThingPosition(getCreatureTarget(cid)).z} doSendMagicEffect(position, 690) local position = {x=getThingPosition(getCreatureTarget(cid)).x, y=getThingPosition(getCreatureTarget(cid)).y+1, z=getThingPosition(getCreatureTarget(cid)).z} doSendMagicEffect(position, 690) end end local parameters = {cid = cid, var = var, combat1 = combat1 , combat2 = combat2} for i = 1, 2 do addEvent(function() if isCreature(cid) then addEvent(dotonprision,100,cid) end end, 1 + ((i-1) * 8000)) end for i = 1, 1 do addEvent(function() if isCreature(cid) then addEvent(removeItem, remove_time*1000, posAll) end end, 1 + ((i-1) * 8000)) end exhaustion.set(cid, storage, waittime) return true end SEGUNDO local config = { wallArea = { {1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 2, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1}, }, effect = 3, --Efeito. wallId = 2718, --ID da parede. time = 15, --Duração da parede. cooldown = {5, 5}, --{sucessCooldown, failCooldown}, chance = 100, --Chance da spell funcionar. storage = 9571, } 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, true 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 getPosfromArea(cid, area) --by Dokmos icenter = math.floor(table.getn(area)/2)+1 jcenter = math.floor(table.getn(area[1])/2)+1 center = area[icenter] ivar = table.getn(area) jvar = table.getn(area[1]) i = table.getn(area)^2 j = table.getn(area[1])^2 local mydir = isCreature(getCreatureTarget(cid)) and getCreatureDirectionToTarget(cid, getCreatureTarget(cid)) or getCreatureLookDir(cid) setPlayerStorageValue(cid, 21101, -1) if center[jcenter] == 3 then if mydir == 0 then signal = {-1,1,1,2} elseif mydir == 1 then signal = {1,-1,2,1} elseif mydir == 2 then signal = {1,-1,1,2} elseif mydir == 3 then signal = {-1,1,2,1} end else signal = {-1,1,1,2} end POSITIONS = {} P = 0 repeat pvar = {0,0} I = area[ivar] J = I[jvar] i = i-1 j = j-1 if J == 1 then if jvar < jcenter then pvar[signal[3]] = signal[1]*math.abs((jcenter-jvar)) elseif jvar > jcenter then pvar[signal[3]] = signal[2]*math.abs((jcenter-jvar)) end if ivar < icenter then pvar[signal[4]] = signal[1]*math.abs((icenter-ivar)) elseif ivar > icenter then pvar[signal[4]] = signal[2]*math.abs((icenter-ivar)) end end if jvar > 1 then jvar = (jvar-1) elseif ivar > 1 then jvar = table.getn(area[1]) ivar = (ivar-1) end local pos = getThingPos(cid) local areapos = {x=pos.x+(pvar[1]),y=pos.y+(pvar[2]),z=pos.z} if pos.x ~= areapos.x or pos.y ~= areapos.y then P = P+1 POSITIONS[P] = areapos end until i <= 0 and j <= 0 return POSITIONS end function onCastSpell(cid) if getPlayerStorageValue(cid, config.storage) > os.time() then doPlayerSendCancel(cid, "Wait "..getPlayerStorageValue(cid, config.storage) - os.time().." second(s).") doCreatureSay(cid, "Voce precisa aguardar para usar novamente!!.", TALKTYPE_MONSTER) else if math.random(1, 100) > config.chance then doPlayerSendCancel(cid, "Your spell failed.") doSendAnimatedText(getThingPos(cid), "FAIL!", 215) setPlayerStorageValue(cid, config.storage, os.time() + config.cooldown[2]) else local positions = {} setPlayerStorageValue(cid, config.storage, os.time() + config.cooldown[1]) for _, pos in pairs(getPosfromArea(cid, config.wallArea)) do if isWalkable(pos) and not getTileInfo(pos).protection then doCreateItem(config.wallId, 1, pos) doSendMagicEffect(pos, config.effect) table.insert(positions, pos) end end if #positions > 0 then addEvent(function() for i = 1, #positions do local item = getTileItemById(positions[i], config.wallId).uid if item > 0 then doRemoveItem(item) end end end, config.time * 1000) end end end return true end
  9. voce precisa do um scripts que cria item por um tempo, isso e pra tile, vou tbm fazer umo ja mesmo
  10. local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, COLOR_ORANGE) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -9.0, -1600, -9.0, -1800) arr1 = { {3} } local area1 = createCombatArea(arr1) setCombatArea(combat1, area1) local function onCastSpell1(parameters) return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var) end function onCastSpell(cid, var) local waittime = 2 -- Tempo de exhaustion local storage = 6222 if exhaustion.check(cid, storage) then doPlayerSendChannelMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde ".. exhaustion.get(cid, storage) .. " segundos para usar o jutsu novamente.", TALKTYPE_CHANNEL_O, CHANNEL_SPELL) return false end local parameters = { cid = cid, var = var} local target = getCreatureTarget(cid) -- efeito no alvo local pos = getCreaturePosition(target) addEvent(doSendMagicEffect, 100, {x = pos.x-2, y = pos.y, z = pos.z}, 331) addEvent(doSendMagicEffect, 200, {x = pos.x-1, y = pos.y, z = pos.z}, 331) addEvent(doSendMagicEffect, 300, {x = pos.x, y = pos.y, z = pos.z}, 331) addEvent(doSendMagicEffect, 100, {x = pos.x+3, y = pos.y, z = pos.z}, 331) addEvent(doSendMagicEffect, 200, {x = pos.x+2, y = pos.y, z = pos.z}, 331) addEvent(doSendMagicEffect, 300, {x = pos.x+1, y = pos.y, z = pos.z}, 331) addEvent(doSendMagicEffect, 600, {x = pos.x-1, y = pos.y, z = pos.z}, 331) addEvent(doSendMagicEffect, 600, {x = pos.x, y = pos.y, z = pos.z}, 331) addEvent(doSendMagicEffect, 600, {x = pos.x+1, y = pos.y, z = pos.z}, 331) addEvent(doSendMagicEffect, 600, {x = pos.x+2, y = pos.y, z = pos.z}, 331) addEvent(onCastSpell1, 300, parameters) exhaustion.set(cid, storage, waittime) return TRUE end 070edc76c639895a6540745f0a8ae240.mp4
  11. Sprites do DBOGLOBAL! Tibia.dat Tibia.spr Sprites do DBOADVENTURER! Tibia.dat Tibia.spr Sprites do DBOOLD! Tibia.spr Tibia.dat
  12. USSA MELHOR ESSE MANIN: ----------BY---------------- -----FABIAN MARZAN------ -------SCRIPTS-------- ---------------------------- local tempo = 60 -- tempo em segundos. local effect = {647} -- effect no player, caso queira apenas 1, basta remover os outros numeros. local ml = 10 -- quantos ira aumentar o skill de ML local skillfist = 0 -- quantos ira aumentar o skill de Fist local skillsword = 0 -- quantos ira aumentar o skill de Sword local skillaxe = 10 -- quantos ira aumentar o skill de Axe local skilldistance = 0 -- quantos ira aumentar o skill de Distance local health = 0 -- 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_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 Ninj(cid, text) if not isPlayer(cid) then return end doSendAnimatedText(getCreaturePosition(cid), "Ninj+10", 215) end function Taij(cid, text) if not isPlayer(cid) then return end doSendAnimatedText(getCreaturePosition(cid), "Taij+10", 215) end function Def(cid, text) if not isPlayer(cid) then return end doSendAnimatedText(getCreaturePosition(cid), "Def+10", 215) end function magicEffect3(tempo2,tempo3,cid) if (isCreature(cid)) then if getPlayerStorageValue(cid, 1500) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then for i=1, #effect do local position = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} doSendMagicEffect(position, effect[i]) -- parte modificada local summons = getCreatureSummons(cid) if #summons > 0 then for k = 1, #summons do local pos = getCreaturePosition(summons[k]) local positions = {x = pos.x, y = pos.y, z = pos.z} doSendMagicEffect(positions, effect[i]) end end -- fim da parte modificada end end end end function onCastSpell(cid, var) local position = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} if getPlayerStorageValue(cid, 1500) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(magicEffect3, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 1500 end setPlayerStorageValue(cid, 1500,1) -- storage verifica transformado, quando = 1 player esta transformado. doCreatureSay(cid, "Kyuubi Chakra!", TALKTYPE_ORANGE_1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Buff activado por "..tempo.." segundos!") doSendMagicEffect(position, 130) local parameters = { cid = cid, var = var} for k = 1, 1 do addEvent(function() if isCreature(cid) then addEvent(Ninj, 100, cid, "Ninj") addEvent(Taij, 600, cid, "Taij") addEvent(Def, 1200, cid, "Def") end end, 1 + ((k-1) * 600)) end else doPlayerSendCancel(cid, "Sorry, you are transformed.") end end
  13. https://tibiaking.com/forums/topic/100430-source-trocar-nome-das-skills/?tab=comments#comment-536824

Informação Importante

Confirmação de Termo