Ir para conteúdo

Colocar SetCreatureName


Allangod

Posts Recomendados

Gostaria de que coloca-se a função setcreaturename nessa spell.

Essa spell (do White Wolf) faz com que o caster troque de roupa com o target por 5 segundos e logo depois voltam ao normal.

Eu queria que nesses 5 segundos, além de que eles troquem de roupas, também trocassem os nicks (Lembrando que eu tenho a função SetCreatureName).

Segue abaixo a spell:

 

 

local config = {
tempo = 5, --- tempo que dura o outfit
effect = 61 --- efeito que sai ao castar a spell
}
function onCastSpell(cid, var)
if exhaustion.get(cid, 23008) == false then
addEvent(doSetCreatureOutfit, 1, variantToNumber(var), getCreatureOutfit(cid), (config.tempo * 1000) - 1)
doSetCreatureOutfit(cid, getCreatureOutfit(variantToNumber(var)), config.tempo * 1000)
doSendMagicEffect(getThingPos(cid), config.effect)
addEvent(doSendMagicEffect, 1, getThingPos(variantToNumber(var)), config.effect)
addEvent(doTeleportThing, 1, variantToNumber(var), getThingPos(cid))
doTeleportThing(cid, getThingPos(variantToNumber(var)))
exhaustion.set(cid, 23008, 30)
else
doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid, 23008).."]")
end
return true
end

 

REP+ para quem ajudar.

Link para o comentário
Compartilhar em outros sites

Ela muda o nome da creature inGame.

Olha uma spell que faz com que eu summone um clone com o mesmo nick do que eu

 

 

local function isWalkable(pos)
if getTileThingByPos(pos).itemid == 0 then
return false
end
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, 2) or hasProperty(tile.uid, 7) then
return false
end
end
end
return true
end
function onCastSpell(cid, var)
local anyPos, pos = {x = 0, y = 0, z = 0}, getCreaturePosition(cid)
local toPos = {
{x = pos.x + 1, y = pos.y, z = pos.z},
{x = pos.x - 1, y = pos.y, z = pos.z},
{x = pos.x, y = pos.y + 1, z = pos.z},
{x = pos.x, y = pos.y - 1, z = pos.z}
}
local maxSummons = 2
if maxSummons - #getCreatureSummons(cid) > 0 then
for i = 1, maxSummons - #getCreatureSummons(cid) do
if not isWalkable(toPos) then
toPos = pos
end
doCombatAreaHealth(0, 0, anyPos, 0, 0, 0, 255)
doCreateItem(460, 1, anyPos)
local bunshin = doCreateMonster("Clone", anyPos)
doConvinceCreature(cid, bunshin)
setCreatureMaxHealth(bunshin, getCreatureMaxHealth(cid))
doCreatureAddHealth(bunshin, getCreatureHealth(cid))
doSetCreatureOutfit(bunshin, getCreatureOutfit(cid), -1)
setCreatureName(bunshin, getCreatureName(cid), "a " .. getCreatureName(cid))
doTeleportThing(bunshin, toPos)
doSendMagicEffect(toPos, 2)
end
else
return false
end
return true

end

 

 

Link para o comentário
Compartilhar em outros sites

Amigo procure no seu servidor sé ah essa função doRemoveCreatureName, ou algo do tipo pois sem algo "parecido" a essa função seria impossivel voltar o nome original do player.

Link para o comentário
Compartilhar em outros sites

Bom eu vi pelo geito eu não vou poder ajudar mesmo não sei como fazer pra o nome voltar ao normal no caso do player que é oq vai mudar o nome.

Eu tentei assim

 

 

local config = {

tempo = 5, --- tempo que dura o outfit

effect = 61 --- efeito que sai ao castar a spell

}

 

 

function onCastSpell(cid, var)

addEvent(doSetCreatureOutfit, 1, variantToNumber(var), getCreatureOutfit(cid), (config.tempo * 1000) - 1)

-- mudar nome

addEvent(setCreatureName, config.tempo * 1000, cid, getCreatureName(cid)) -- inicia um evento de voltar ao nome inicial

setCreatureName(cid, getCreatureName(variantToNumber(var))) -- muda o nome

--

doSetCreatureOutfit(cid, getCreatureOutfit(variantToNumber(var)), config.tempo * 1000)

doSendMagicEffect(getThingPos(cid), config.effect)

addEvent(doSendMagicEffect, 1, getThingPos(variantToNumber(var)), config.effect)

addEvent(doTeleportThing, 1, variantToNumber(var), getThingPos(cid))

doTeleportThing(cid, getThingPos(variantToNumber(var)))

return true

end

Mas deu um erro no console

 

<luaSetCreatureName> Creature not found

E não trocou o nome :/

Link para o comentário
Compartilhar em outros sites

@kttallan ué, se tu tem a função de setar, é só guardar o nome (antes de trocar) em um storage, e depois de um determinado tempo, usar o setCreatureName novamente para voltar os nomes ao normal.
Espero ter ajudado.biggrin.png

Link para o comentário
Compartilhar em outros sites

  • 2 months later...

O tópico foi fechado e movido para lixeira por estar inativo a mais de 10 dias. Caso seja preciso reabrir o mesmo, favor entrar em contato com a equipe.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...