
Tudo que xWhiteWolf postou
- (Resolvido)Spell Henge No Justu
- (Resolvido)Spell Henge No Justu
-
(Resolvido)[~Duvida~] Como eu faço um combo?
você quer dizer uma spell que dê 3 ou mais hits seguidos? É por addEvent que se faz
- (Resolvido)Spell Henge No Justu
-
(Resolvido)Spells diferentes
vou fazer e colocar um máximo que o player pode stackar pra evitar que o cara deixe no bot stackando infinitos dodges hahaha.. vou colocar 20 por padrão
-
[DÚVIDA] Como mudar a vocação de um item ?
procura o id do item em movements.xml.. se não tiver, adiciona e segue o padrão dos outros itens
-
(Resolvido)Spells diferentes
oque eu perguntei é oque vc quis dizer com essa %... é tipo 30% de chance de esquivar (não tomar dano) e remover 1 carga da spell ou seria algo como esquivar apenas 30% do dano?
-
(Resolvido)Spells diferentes
não entendi oque vc quis dizer com isso: 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.
- Volatile Spiderling
-
Volatile Spiderling
no caso vc precisaria ter essa função da OTAL, testa assim e vê se resolve 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 onCastSpell(cid, var) local pos = getPlayerPosition(cid) local maxsummon = 3 local summons = getCreatureSummons(cid) 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} } summonpos = 0 if(table.maxn(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 doConvinceCreature(cid, doCreateMonster("Clone Spider", summonpos)) doSendMagicEffect(pos, 12) doSendMagicEffect(summonpos, 10) doCreatureSay(cid, "Volatile Spiderling!", 20) 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).") end end
-
(Resolvido)[Spell] Exori Element
essa é a unica parte que não é possivel : Após isso, o Target ficará com um Efeito Death (como um poison) que dará o Dano de Level *1, 10 vezes (1 por segundo). As conditions tem que ser declaradas no começo do script (fora do callback) e o jogo só consegue pegar o seu level dentro do callback (quando a magia é executada), ou seja, não dá pra você criar nenhuma condition que dependa de algo do player
-
(Resolvido)Spell que da muted no target
não dá pra mim prestar atenção em todos os tópicos haha, as vezes eu fico ausente por uns dias e se a pessoa não dá up eu não consigo ver que ela postou aquilo
-
(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
-
(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>
-
(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>
-
(Resolvido)Spell Henge No Justu
<instant name="Nome Qualquer" words="henge no jutso" lvl="23" mana="25" range="4" needtarget="1" params="1" exhaustion="1000" blockwalls="1" needlearn="0" event="script" value="especiais/henge.lua"> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/></instant> function onCastSpell(cid, var) doSetCreatureOutfit(cid, getCreatureOutfit(variantToNumber(var)), 5000) return true end
-
(Resolvido)Monstro que enche vida e mana
eu to meio atolado de coisa da facul, esse fds eu tento fazer pra você.. é só fazer uma spell pra monstro que use master = getCreatureMaster(cid) e adicione 300 de vida e mana pro master
-
Script pra anda na agua
depende do seu script de jetsky ué haha, posta ele aqui que eu tento analisar
-
(Resolvido)Monstro que enche vida e mana
não ficaria muito apelão se ficar 5 caras em party e cada um sumonar 3 desses? Vida infinita huehueuh
-
[Ajuda] Mw e Growth
function onUse(cid, item, fromPosition, itemEx, toPosition) local formula_min = ((getPlayerLevel(cid)*0.7 + getPlayerMagLevel(cid)*3) * 6.0) local formula_max = ((getPlayerLevel(cid)*0.7 + getPlayerMagLevel(cid)*3) * 7.0) if itemEx.uid == cid then if getPlayerLevel(cid) >= 24 and getPlayerMagLevel(cid) >= 4 then doCreatureAddHealth(cid, math.random(formula_min, formula_max)) doSendMagicEffect(getPlayerPosition(cid), 12) else doPlayerSendCancel(cid, "You don't have level 24 or magic level 4.") end elseif isPlayer(itemEx.uid) then doCreatureAddHealth(itemEx.uid, math.random(formula_min, formula_max)) doSendMagicEffect(getPlayerPosition(itemEx.uid), 12) end return true end
-
[Ajuda] Mw e Growth
porque não? auhauh é só fazer uma checagem no itemEx.uid e substituir todos os cid's por itemEx.uid haha posta o script aqui que eu te ajudo
-
Glacier Set dando conditions em área
só fazer edição na source do 8.4 e adicionar a função onStatsChange que vai funcionar haha
-
[Ajuda] Mw e Growth
vish kk nesse caso teria que passar ela pra actions pra resolver esse problema haha
-
(Resolvido)Monstro que enche vida e mana
ficou muito ambígua a sua frase, summon que ataque normal o monstro??? 10 em 10 segundos encha 300 de vida e mana de quem?
-
[Ajuda] Mw e Growth
edita o script pra se itemEx.itemid == iddofogoroxo ele não permitir colocar a magic wall, simples assim