Ir para conteúdo
  • 0

Spell de Clone


Junior001

Pergunta

Olá Galerinha do Xtibia estou aqui hoje para pedir uma spell para vocês :D

 

Essa spell quero que quando o Player fala clone, cria-se um clone dele com a mesma outfit, mesmo nome, e mesmo attack :D

 

Eu possuo o doSetCreatureCustom na Source ja adicionei

 

Versão da TFS 0.3.6

 

é isso Obrigado pela atenção darei REP+ para quem puder min ajudar :D

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Tipo esse?

 

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 cloth = getCreatureOutfit(cid)
local health = getCreatureHealth(cid)
local maxhealth = getCreatureMaxHealth(cid)
local MaximoSummon = 2 --- Maximo de Monstros Sumonados!! No Caso So Posso Sumonar 5 Clones
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
local clone = doCreateMonster("clone", playerpos)
doConvinceCreature(cid, clone)
setCreatureMaxHealth(clone, maxhealth)
doCreatureAddHealth(clone, health)
doSetCreatureOutfit(clone, cloth, -1)
doSendMagicEffect(playerpos, 2)
return TRUE
end
end
Link para o comentário
Compartilhar em outros sites

  • 0

@Edit, Não funcionou :/ bom pode-se dizer que funciono só que o clone não vem com o mesmo nome da pessoa que o invocou :/ mais veio com a mesma outfit :D

Editado por Junior Silva
Link para o comentário
Compartilhar em outros sites

  • 0

@Edit, Não funcionou :/ bom pode-se dizer que funciono só que o clone não vem com o mesmo nome da pessoa que o invocou :/ mais veio com a mesma outfit :D

Entendo.. vou ver se consigo ajeitar isso, caso eu consiga irei postar aqui.. :)

Link para o comentário
Compartilhar em outros sites

  • 0

Peguei o do duuh como se disse que funcionou e ve se assim da :

 

 

 

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 cloth = getCreatureOutfit(cid)
local health = getCreatureHealth(cid)
local maxhealth = getCreatureMaxHealth(cid)
local MaximoSummon = 2 --- Maximo de Monstros Sumonados!! No Caso So Posso Sumonar 5 Clones
local nome = getCreatureName(cid)
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
local clone = doCreateMonster("clone", playerpos)
doConvinceCreature(cid, clone)
setCreatureMaxHealth(clone, maxhealth)
doCreatureAddHealth(clone, health)
doSetCreatureOutfit(clone, cloth, -1)
doSetCreatureName(clone, nome, 9999999)
doSendMagicEffect(playerpos, 2)
return TRUE
end
end

Vê se vai funcionar
Editado por eryrrel
Link para o comentário
Compartilhar em outros sites

  • 0

 

Peguei o do duuh como se disse que funcionou e ve se assim da :

 

 

 

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 cloth = getCreatureOutfit(cid)
local health = getCreatureHealth(cid)
local maxhealth = getCreatureMaxHealth(cid)
local MaximoSummon = 2 --- Maximo de Monstros Sumonados!! No Caso So Posso Sumonar 5 Clones
local nome = getCreatureName(cid)
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
local clone = doCreateMonster("clone", playerpos)
doConvinceCreature(cid, clone)
setCreatureMaxHealth(clone, maxhealth)
doCreatureAddHealth(clone, health)
doSetCreatureOutfit(clone, cloth, -1)
doSetCreatureName(clone, nome, 9999999)
doSendMagicEffect(playerpos, 2)
return TRUE
end
end

Vê se vai funcionar

 

 

Deu este erro

[09/03/2014 20:20:29] [Error - Spell Interface]

[09/03/2014 20:20:30] data/spells/scripts/clone2.lua:onCastSpell
[09/03/2014 20:20:30] Description:
[09/03/2014 20:20:30] data/spells/scripts/clone2.lua:21: attempt to call global 'doSetCreatureName' (a nil value)
[09/03/2014 20:20:30] stack traceback:
[09/03/2014 20:20:30] data/spells/scripts/clone2.lua:21: in function <data/spells/scripts/clone2.lua:1>
Link para o comentário
Compartilhar em outros sites

  • 0

nossa que merda é essa ? "doSetCreatureName(clone, nome, 9999999)"

seloco, mas enfim se vc tem o setCreatureName deixe seu script assim

 

 

function onCastSpell(cid, var)

local cloth = getCreatureOutfit(cid)
local health = getCreatureHealth(cid)
local maxhealth = getCreatureMaxHealth(cid)
local MaximoSummon = 2 --- Maximo de Monstros Sumonados!! No Caso So Posso Sumonar 2 Clones
local summons = getCreatureSummons(cid)
if(table.maxn(summons) < MaximoSummon) then -- no summons
local pos = getPlayerPosition(cid)
local bpos = {x=pos.x+2, y = pos.y, z = pos.z}
local farAwayPos = {x = 2347, y = 56, z = 7} --Muda isto/Change This!! -- coloca um local afastado do mapa pois a função só funciona qnd um bicho ta longe da tela do player
local Bunshin = doCreateMonster("Bunshin", farAwayPos)
doConvinceCreature(cid, Bunshin)
setCreatureMaxHealth(Bunshin, maxhealth)
doCreatureAddHealth(Bunshin, health)
doSetCreatureOutfit(Bunshin, cloth, -1)
setCreatureName(Bunshin, "".. getCreatureName(cid) .."", "a ".. getCreatureName(cid) .."")
addEvent(doSendMagicEffect, 300, pos, 2)
addEvent(doTeleportThing, 300, Bunshin, pos)
return TRUE
end
end
Editado por craigmabbit
Link para o comentário
Compartilhar em outros sites

  • 0

eu já postei aqui.

 

 

 

function onCastSpell(cid, var)

local cloth = getCreatureOutfit(cid)
local health = getCreatureHealth(cid)
local maxhealth = getCreatureMaxHealth(cid)
local MaximoSummon = 2 --- Maximo de Monstros Sumonados!! No Caso So Posso Sumonar 5 Clones
local summons = getCreatureSummons(cid)
if(table.maxn(summons) < MaximoSummon) then -- no summons
local pos = getPlayerPosition(cid)
local bpos = {x=pos.x+2, y = pos.y, z = pos.z}
local farAwayPos = {x = 2347, y = 56, z = 7} --Muda isto/Change This!! -- coloca um local afastado do mapa pois a função só funciona qnd um bicho ta longe da tela do player
local Bunshin = doCreateMonster("Bunshin", farAwayPos)
doConvinceCreature(cid, Bunshin)
setCreatureMaxHealth(Bunshin, maxhealth)
doCreatureAddHealth(Bunshin, health)
doSetCreatureOutfit(Bunshin, cloth, -1)
setCreatureName(Bunshin, "".. getCreatureName(cid) .."", "a ".. getCreatureName(cid) .."")
addEvent(doSendMagicEffect, 300, pos, 2)
addEvent(doTeleportThing, 300, Bunshin, pos)
return TRUE
end
end
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...