
Tudo que Fabi Marzan postou
-
Ajuda com Spell de travar o alvo no local
Basta deletar as linhas: if getPlayerItemCount(cid, itemid) >= 1 then local itemid = 13898, 13941, 13806, 13818, 13975, 13982, 13763, 13607, 13782, 13787 else doPlayerSendCancel(cid, "Voce precisa de uma Gunbai para executar este Jutsu !") return false end Aqui está pronto para você: local config = { storage = 318210, -- storage que salva o tempo da spell storagecol = 3482101, -- storage que salva o tempo entre 1 uso e outro cooldown = 60, -- tempo de um uso e outro duration = 5, -- tempo que a spell dura effect1 = 9 --- efeito que sai qnd usa a spell } function onCastSpell(cid, var) if getPlayerStorageValue(cid, config.storage) - os.time() > 0 then doPlayerSendCancel(cid, "Você está refletindo todo o dano recebido!") return true end if os.time() - getPlayerStorageValue(cid, config.storagecol) >= config.cooldown then setPlayerStorageValue(cid, config.storagecol, os.time()) doSendMagicEffect(getCreaturePosition(cid), config.effect1) setPlayerStorageValue(cid, config.storage, os.time() + config.duration) doPlayerSendTextMessage(cid, 27, "Voce ativou o modo Reflect e nos proximos ".. config.duration.." segundos refletira os danos recebidos.") else doPlayerSendCancel(cid, "Você está cansado, precisa aguardar "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, config.storagecol))).." segundos.") return true end return true end
-
Ajuda com Spell de travar o alvo no local
local function No_Move_Target(cid) local target = getCreatureTarget(cid) if isCreature(target) then doCreatureSetNoMove(target, false) mayNotMove(target, false) end return TRUE end local function No_Move_Target_2(cid) local target = getCreatureTarget(cid) if isCreature(target) then doCreatureSetNoMove(target, true) mayNotMove(target, true) end return TRUE end function onCastSpell(cid, var) local target = getCreatureTarget(cid) local targetpos = getCreaturePosition(target) local efepos = {x=targetpos.x, y=targetpos.y, z=targetpos.z} local time = 5 -- tempo paralyzado if isPlayer(cid) and exhaustion.check(cid, 11560) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, 11560) .. " segundos para usar novamente.") return FALSE end exhaustion.set(cid, 11560, 20) doSendMagicEffect(efepos, 24) addEvent(No_Move_Target, time*1000, cid) addEvent(No_Move_Target_2, time*1500, cid) return TRUE end
-
Ajuda com Spell de travar o alvo no local
local function No_Move_Target_2(cid) local target = getCreatureTarget(cid) if isCreature(target) then doCreatureSetNoMove(target, true) end return TRUE end addEvent(No_Move_Target_2, time*1500, cid) Se não funcionar, use este outro: mayNotMove(target, true) mayNotMove(target, false)
-
Spell Erro '''thing nout found''''
@daniel.braga989 Se você notar, quando você parar de atacar o efeito para, não dá erro, mas para quando perde o alvo. @daniel.braga989 Os scripts que eu te passo, resolvem todos esses problemas apenas usando essas funções. function effect_1(cid, target) -- NOME DO FUCTION (EFFECT_1) if isCreature(cid) and isCreature(target) then local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 32) -- Effect end end Abaixo do function onCastSpell(cid, var) Você coloca isso: local config = { hit = 1, -- Hits que vai dar time = 500, -- Delay (time for effect) configtarget = getCreatureTarget(cid), } for a = 1, config.hit do addEvent(effect_1, config.time * a, cid, config.configtarget) -- Se você olhar, você obterá o nome da função (effect_1) end Você deseja obter outra função com outros hits e tempo? O mesmo function effect_2(cid, target) -- NOME DO FUCTION (EFFECT_2) agr e 2. if isCreature(cid) and isCreature(target) then local pos = getCreaturePosition(target) doSendMagicEffect({x = pos.x + 0, y = pos.y + 0, z = pos.z}, 32) -- Effect end end O mesmo adiciona outro hit e tempo local config = { hit = 1, -- Hits que vai dar hit2 = 2, -- Hits que vai dar (Outro Hit para funcao do Effect_2) time = 500, -- Delay (time for effect) time2 = 500, -- Delay (time for effect) -- (Tempo para funcao do Effect_2) configtarget = getCreatureTarget(cid), } Então o final seria assim for a = 1, config.hit do addEvent(effect_1, config.time * a, cid, config.configtarget) for a = 1, config.hit2 do -- (Hit2 pra funcao Effect_2) addEvent(effect_2, config.time2 * a, cid, config.configtarget) end end A partir daqui é uma questão de saber ler os scripts.
-
Spell Erro '''thing nout found''''
Agr sim: -------Created:FABIAN MARZAN/ DISCORD: SoyFabi#5938------- ---------SCRIPTS--------- -----------FOR--------- ----------NARUTO------- local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_HITCOLOR, 95) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, 205) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1.0, -42000, -1.0, -46000) local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end --/Dentro aqui coloque as funções que você deseja... depois de / if isCreature(target) then function effect_1(cid, target) if isCreature(cid) then if isCreature(target) then ---------> local pos = getCreaturePosition(target) addEvent(doSendMagicEffect, 0, {x = pos.x+1, y = pos.y, z = pos.z}, 292) end end end function onCastSpell(cid, var) local waittime = 1 -- Tempo de exhaustion local storage = 3 -- não mecha if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "You are exhausted.") doSendMagicEffect(getCreaturePosition(cid), 2) return false end local parameters = {cid = cid, var = var, combat = combat, combat1 = combat1 , combat2 = combat2} addEvent(onCastSpell2, 300, parameters) local config = { hit = 1, -- Hits time = 100, -- Delay(time for effect) configtarget = getCreatureTarget(cid), } for a = 1, config.hit do addEvent(effect_1, config.time * a, cid, config.configtarget) end ---DISCORD: SoyFabi#5938---- exhaustion.set(cid, storage, waittime) return doCombat(cid, combat, var) end
-
Spell Erro '''thing nout found''''
@daniel.braga989 Na verdade quando comecei a editar Jutsus, tive o mesmo problema e não consegui encontrar outra forma, até que depois de um tempo encontrei outro script que resolve esse problema. -------Created:FABIAN MARZAN/ DISCORD: SoyFabi#5938------- ---------SCRIPTS--------- -----------FOR--------- ----------NARUTO------- local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_HITCOLOR, 95) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_HITCOLOR, 205) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1.0, -42000, -1.0, -46000) local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end --/Dentro aqui coloque as funções que você deseja... depois de / if isCreature(target) then function effect_1(cid, target) if isCreature(cid) then if isCreature(target) then ---------> local pos = getCreaturePosition(target) addEvent(doSendMagicEffect, 0, {x = pos.x+1, y = pos.y, z = pos.z}, 292) end end function onCastSpell(cid, var) local waittime = 1 -- Tempo de exhaustion local storage = 3 -- não mecha if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "You are exhausted.") doSendMagicEffect(getCreaturePosition(cid), 2) return false end local parameters = {cid = cid, var = var, combat = combat, combat1 = combat1 , combat2 = combat2} addEvent(onCastSpell2, 300, parameters) local config = { hit = 1, -- Hits time = 100, -- Delay(time for effect) configtarget = getCreatureTarget(cid), } for a = 1, config.hit do addEvent(effect_1, config.time * a, cid, config.configtarget) end ---DISCORD: SoyFabi#5938---- exhaustion.set(cid, storage, waittime) return doCombat(cid, combat, var) end Não é o script que você deseja, mas se você o ler, poderá combinar esse script com o seu.
-
Texto saindo para esquerda!
mas isso já é um problema do sprite... a roupa que você tem, não está centrada para dizer.
-
Teria como passar para 8.6 essa spell?
Eles podem ajudá-lo facilmente se você colocar um script inicial. 860? 0.X...?
-
Sprites do rots
bom
-
Spell de dash com dano...
- Compilando TFS 1.3
Coloco database?- Ajuda com Dist. Item sem Setas
Não entendi sua postagem, quer fazer o arco não usar flechas?- Alterar a descrição do item
Deve ir para Items.cpp } else if (it.abilities->regeneration) { s << " (faster regeneration)"; Não tenho ideia de como seria no 0.4, mas encontre o Faster Regeneration, e apague-o.- Alguem tem uma World Limpa ai ?
Que isso do World? Mapa oq?- Magia de Área com Delay.
@raphadoidera VC TEM COLOCAR ISSO: local pos = getCreaturePosition(cid) TESTA AGR: local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -78.2, 1, -88.2, 1) arr1 = { {0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 3, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0} } 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 = 1000150 if exhaustion.check(cid, storage) then doSendMagicEffect(getCreaturePosition(cid), 2) return false end local parameters = { cid = cid, var = var} addEvent(onCastSpell1, 100, parameters) local pos = getCreaturePosition(cid) addEvent(doSendMagicEffect, 100, {x = pos.x, y = pos.y-2, z = pos.z}, 7) addEvent(doSendMagicEffect, 100, {x = pos.x, y = pos.y-1, z = pos.z}, 7) addEvent(doSendMagicEffect, 100, {x = pos.x, y = pos.y+2, z = pos.z}, 7) addEvent(doSendMagicEffect, 100, {x = pos.x, y = pos.y+1, z = pos.z}, 7) addEvent(doSendMagicEffect, 100, {x = pos.x+2, y = pos.y, z = pos.z}, 7) addEvent(doSendMagicEffect, 100, {x = pos.x+1, y = pos.y, z = pos.z}, 7) addEvent(doSendMagicEffect, 100, {x = pos.x-2, y = pos.y, z = pos.z}, 7) addEvent(doSendMagicEffect, 100, {x = pos.x-1, y = pos.y, z = pos.z}, 7) addEvent(doSendMagicEffect, 100, {x = pos.x+1, y = pos.y-1, z = pos.z}, 7) addEvent(doSendMagicEffect, 100, {x = pos.x+1, y = pos.y+1, z = pos.z}, 7) addEvent(doSendMagicEffect, 100, {x = pos.x-1, y = pos.y-1, z = pos.z}, 7) addEvent(doSendMagicEffect, 100, {x = pos.x-1, y = pos.y+1, z = pos.z}, 7) addEvent(doSendMagicEffect, 200, {x = pos.x+2, y = pos.y-1, z = pos.z}, 332) addEvent(doSendMagicEffect, 200, {x = pos.x+1, y = pos.y-2, z = pos.z}, 332) addEvent(doSendMagicEffect, 200, {x = pos.x+2, y = pos.y+1, z = pos.z}, 332) addEvent(doSendMagicEffect, 200, {x = pos.x+1, y = pos.y+2, z = pos.z}, 332) addEvent(doSendMagicEffect, 200, {x = pos.x-2, y = pos.y-1, z = pos.z}, 332) addEvent(doSendMagicEffect, 200, {x = pos.x-1, y = pos.y-2, z = pos.z}, 332) addEvent(doSendMagicEffect, 200, {x = pos.x-1, y = pos.y+2, z = pos.z}, 332) addEvent(doSendMagicEffect, 200, {x = pos.x-2, y = pos.y+1, z = pos.z}, 332) exhaustion.set(cid, storage, waittime) return TRUE end- (Resolvido) Pedido Spell de invisibilidade
-------Created:FABIAN MARZAN------- ---------SCRIPTS--------- -----------FOR--------- ---------NARUTO------- local config = { time = 5, } function onCastSpell(cid, var) local waittime = 8 -- Tempo de exhaustion local storage = 50000 -- não mecha if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "You are exhausted.") --doPlayerSendCancel(cid, "Please wait " .. exhaustion.get(cid, storage) .. " seconds to use Jutsu again.") doSendMagicEffect(getCreaturePosition(cid), 2) return false end parameters = {cid=cid} setPlayerGroupId(cid, 2) doSetItemOutfit(cid, 1548, config.time*1000) doCreatureExecuteTalkAction(cid, "/ghost", TRUE) addEvent(talk, 5200, parameters) exhaustion.set(cid, storage, waittime) return true end function talk(parameters) doCreatureExecuteTalkAction(parameters.cid, "/ghost", TRUE) setPlayerGroupId(parameters.cid, 1) end IN LOGIN ACIMA DO local loss = getConfigValue('deathLostPercent') Você coloca isso -- Login Cancel Invisible -- if(getPlayerGroupId(cid) == 2) then setPlayerGroupId(cid, 1) end if(isPlayerGhost(cid)) then doCreatureExecuteTalkAction(cid, "/ghost", TRUE) end caso contrário, seria dizer que ao usar o jutsu ele não permite atacar ou lançar jutsus, ou quando atacar o fantasma está desativado. Mas você tem que fazer- Magia de Área com Delay.
Esse scripts ta ussando uma funcao so pra Target. Remova isso : local target = getCreatureTarget(cid) -- efeito no alvo- OTX 2.15 Exausted
Não tem nada a ver com otx.- [Movements] Movimentar Player ate x Local
Existe uma maneira de fazer com que pisar no chão o levará um degrau acima? em vez de usar teletransporte .. em esse scripts? algo semelhante a uma escada que quando você clica leva você para cima sem usar um teletransporte, em movements. algo assim, mas eu quero passar para movements. local UP_FLOORS = {1386, 3678, 5543, 8599, 10035, 13010} local FIELDS = {1497, 1499, 11095, 11096} local DRAW_WELL = 1369 function onUse(cid, item, fromPosition, itemEx, toPosition) if(item.itemid == DRAW_WELL and item.actionid ~= 100) then return false end local check = false fromPosition.stackpos = STACKPOS_GROUND if(isInArray(UP_FLOORS, item.itemid)) then fromPosition.z = fromPosition.z - 1 fromPosition.y = fromPosition.y + 1 if(doTileQueryAdd(cid, fromPosition, 38) ~= RETURNVALUE_NOERROR) then local field = getTileItemByType(fromPosition, ITEM_TYPE_MAGICFIELD) if(field.uid == 0 or not isInArray(FIELDS, field.itemid)) then fromPosition.y = fromPosition.y - 2 else check = true end end else fromPosition.z = fromPosition.z + 1 end if(not check and doTileQueryAdd(cid, fromPosition, 38) ~= RETURNVALUE_NOERROR) then local field = getTileItemByType(fromPosition, ITEM_TYPE_MAGICFIELD) if(field.uid == 0 or not isInArray(FIELDS, field.itemid)) then return false end end local pos, dir = getCreaturePosition(cid), SOUTH if(pos.x < fromPosition.x) then dir = EAST elseif(pos.x == fromPosition.x) then if(pos.y == fromPosition.y) then dir = getCreatureLookDirection(cid) elseif(pos.y > fromPosition.y) then dir = NORTH end elseif(pos.x > fromPosition.x) then dir = WEST end doTeleportThing(cid, fromPosition, false) doCreatureSetLookDirection(cid, dir) return true end- Error ao matar um monstro
Hoje comecei a me adaptar para acomodar os monstros, mas agora há um problema em matar o monstro, agora recebo 2 erros uma é que não consigo abrir o cliente antigo (oldclient) porque diz que não foi possível encontrar o tibia.dat. e outra é que quando mato em um Otclient recebo vários erros. OTLCLIENT o erro que eu recebo quando o mato e outro erro que recebo ao abrir o otclient Tento abrir o cliente antigo e não me deixa Tentei mesmo assim, pensei que era porque não se espalhou ou algo assim, mas continuo recebendo erros e não abre Usei alguns sprites antigos que tinha e deixei o antigo cliente abrir, mas quando matei o monstro ele travou.- Spells - Perder Target em Area
Olá pessoal, venho investigando como criar um spell que o oponente vai perder o alvo, mas na área, Duas pessoas estão atacando você, o que eu quero é fazer com que percam o alvo É semelhante ao spell. Mas eu preciso convertê-lo para área Versao: OTX2- Kirigakure No Jutsu
@Siempre feliz hmm, eu estava saber como fazer isso, quero dizer quando voce usa o spell, ele ilhe da storage 9500 neste caso. entao colocar um creaturescripts que ao receber danos do qualquer tipo, sejam montros desabilite o storage 9500. Eu usso este scripts pra invisibilidade function onCastSpell(cid, var) parameters = {cid=cid} setPlayerGroupId(cid, 2) doCreatureExecuteTalkAction(cid, "/ghost", TRUE) setPlayerStorageValue(cid, 9500, 1) -- STORAGEXX addEvent(talk, 15000, parameters) return true end function talk(parameters) doCreatureExecuteTalkAction(parameters.cid, "/ghost", TRUE) setPlayerGroupId(parameters.cid, 1) end A funcao estaria faltando. (OnTarget)- Fazer o Buff trocar de vocation por 30 min depois voltar ao normal.
local tempo = 30 local effect = {80} local effect1 = {80} local outfit = {lookType = 3} local voc = 6 --- VOCATION local points = 20 local combat = createCombatObject() local health = 0.05 setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, points) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, points) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, points) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, points) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, points) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, points) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, points) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) function doHealthSecond(cid, amount, delay) -- function by vodka if not isCreature(cid) then return LUA_ERROR end doCreatureAddHealth(cid, amount) if delay ~= 1 then addEvent(doHealthSecond, 1000, cid, amount, delay -1) end end local function Magica(tempo2,tempo3,cid) if isCreature(cid) then for i=1, #effect do local position = {x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} local position1 = {x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} doSendMagicEffect(position, effect[i]) doSendMagicEffect(position1, effect1[i]) end end end local function Outfitzinha(cid) doRemoveCondition(cid, CONDITION_OUTFIT) end function onCastSpell(cid, var) registerCreatureEvent(cid, "stordeath") setPlayerStorageValue(cid, voc_stor, getPlayerVocation(cid)) doPlayerSetVocation(cid, voc) addEvent(doPlayerSetVocation,tempo,cid,getPlayerStorageValue(cid, voc_stor)) addEvent(setPlayerStorageValue,tempo,cid,voc_stor,0) if exhaustion.check(cid, 102053) == FALSE then doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(Magica, tempo2, tempo2, tempo*1000, cid) addEvent(Outfitzinha, tempo*1000, cid) tempo2 = tempo2 + 1000 end local position = {x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z} exhaustion.set(cid, 102053, tempo) doCreatureSay(cid, "KAIOKEEEEEEEN", TALKTYPE_MONSTER) doSendMagicEffect(position, 80) doHealthSecond(cid, -getCreatureMaxHealth(cid) * health, tempo) doSetCreatureOutfit(cid, outfit) else doPlayerSendCancel(cid, "Desculpe, voce ja esta Transformado.") end end Em creaturescripts/scripts/ function onDeath(cid, corpse, deathList) local i = getPlayerStorageValue(cid, voc_stor) if i > 0 then doPlayerSetVocation(cid, i) setPlayerStorageValue(cid, voc_stor, 0) end return true end <event type="death" name="stordeath" event="script" value="stordeath.lua"/>- Perder life por segundo ao usar buff
Nao sei se isso vai te ajudar doCreatureAddHealth(cid, -1500)- NÃO CONSIGO CRIAR TELEPORT NO MEU REMERES (HELP PFV)
Se voce nao puder, e tao simples quanto colocar um movements. function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition) if getPlayerLevel(cid) >= 10 then -- Level to go down the ladder if item.actionid == 13528 then -- ActionId SQM (Portal, Stairs) doTeleportThing(cid, {x = 905, y = 939, z = 7}) -- Position where it will take you doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT) else doPlayerSendCancel(cid, "You dont have enough level to down the stairs.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) doTeleportThing(cid, fromPosition, FALSE) end end return true end <movevent type="StepIn" actionid="13528" event="script" value="Portal.lua"/> - Compilando TFS 1.3
Informação Importante
Confirmação de Termo