Ir para conteúdo

Featured Replies

Postado

Eu estou vindo aqui galera do TK perdir dois tipo de spell que teleporta espero que alguém min ajude.

Bom gente o primeiro spell é quando um player fala a palavra magica cairá o item no chao, esse item ficará no chao com o dados x= xxx y=yyy z=z salvo, quando o player usa a magia novamente o player será teleportado para onde o item esta. Só que o item ele vaii ter um templo, quando o templo acaba o item sumirá. Queria que quando o item sumisse o player que uso a magia, receberá uma mensagem dizendo quer o x item sumiu. Bom esse é o primeiro spell.

O Segundo spell fucionar assim o player usa a magia em outro player(Attack Target) ficará o espirito no target, que passa de 1 minunto o player que uso a magia será teleportando pra cima do target. O target pode correr pra onde quisse, mas quando passa 1 minunto cairá o player que uso a magia em cima. Bom esse foi o segundo pedido espero que deu pra entende os dois perdidos. Agradeços e espera que alguem min ajude!

  • Respostas 30
  • Visualizações 4.8k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • 1)  itemport.lua: local config = { storage = 49607,  tempo = 10, itemid = 6217 } local positions = {} function onCastSpell(cid, var) if getPlayerStorageValue(cid, config.storage) <= 0 th

  • eu fiz a segunda spell igualzinha do server dos caras, com o dano e tudo..  dá uma olhada na minha assinatura. A primeira spell o item não some porque o jeito que tem de fazer ele sumir é por Decay e

  • ah desculpa, entendi agora... esse script aí tava cheio de erros, eu refiz nos moldes que você queria, espero que você goste    

Postado
  • Este é um post popular.

1) 

itemport.lua:

local config = {
storage = 49607, 
tempo = 10,
itemid = 6217
}


local positions = {}


function onCastSpell(cid, var)


if getPlayerStorageValue(cid, config.storage) <= 0 then
table.insert(positions, getThingPos(cid))
doPlayerSetStorageValue(cid, config.storage, #positions)
doCreateItem(config.itemid, getThingPos(cid))
doSendMagicEffect(getThingPos(cid), 3)
addEvent(function()
  if isCreature(cid) then
  doPlayerSendTextMessage(cid, 22, "Your item has expired.")
  doPlayerSetStorageValue(cid, config.storage, 0)
  table.remove(positions, getPlayerStorageValue(cid, config.storage))
  end
 end, 1000*config.tempo)
elseif getPlayerStorageValue (cid, config.storage) > 0 then
doTeleportThing(cid, positions[getPlayerStorageValue(cid, config.storage)]) 
doSendMagicEffect(getThingPos(cid), 10)
end
return true
end

2)

playerport.lua 

local config = {
storage = 49608,
tempo = 10
}


function onCastSpell(cid, var)
if isPlayer(getCreatureTarget(cid)) then
local name = getCreatureName(getCreatureTarget(cid))


if getPlayerStorageValue(cid, config.storage) <= 0 then
doPlayerSetStorageValue(cid, config.storage, 1)
doSendMagicEffect(getThingPos(cid), 65)
doSendMagicEffect(getThingPos(getCreatureByName(name)), 65)
addEvent(function()
  if isCreature(cid) then
  doPlayerSetStorageValue(cid, config.storage, 0)
  doTeleportThing(cid, getThingPos(getCreatureByName(name))) 
  end
 end, 1000*config.tempo)
elseif getPlayerStorageValue (cid, config.storage) > 0 then
doSendMagicEffect(getThingPos(cid), 2)
doPlayerSendCancel(cid, "You've already set your target.")
end
else
doPlayerSendCancel (cid, "You can only use this spell on players.")
end
return true
end


e no spells.xml:

<instant name="TK SUPORT" words="itemport" lvl="50" mana="100" prem="1" exhaustion="1000" needlearn="0" event="script" value="especiais/itemport.lua">
<vocation id="5"/>
<vocation id="6"/>
<vocation id="7"/>
<vocation id="8"/>
</instant>
<instant name="TK SUPORT" words="playerport" lvl="50" mana="100" prem="1" range="7" needtarget="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="especiais/playerport.lua">
<vocation id="5"/>
<vocation id="6"/>
<vocation id="7"/>
<vocation id="8"/>
</instant>

agora vá em creaturescripts\scripts\login.lua e adicione essas linhas antes do ultimo return true

 if getPlayerStorageValue(cid, 49607) == -1 then
        setPlayerStorageValue(cid, 49607, 0) 
    end 

 if getPlayerStorageValue(cid, 49608) ~= 0 then
        setPlayerStorageValue(cid, 49608, 0) 
    end 

Editado por xWhiteWolf (veja o histórico de edições)

Postado

Fiz tb uma versão para a primeira spells, caso não goste use a do whitewolf :)

bom, quando acaba o tempo o player é avisado e o item some.

 

local storage = 987123 -- storage
local item = 2160 -- id do item
local time = 20 -- tempo em segundos que o item vai ficar na posição.

local pos = {}

    function terminus(cid)
     local a = getTileItemById(pos[1], item)
       if a.uid > 0 then
          doRemoveItem(a.uid)
       end
       if isPlayer(cid) then
          doPlayerSendTextMessage(cid, 22, "O item sumiu.")
       end
        table.remove(pos, 1)
    end

function onCastSpell(cid, var)

if getPlayerStorageValue(cid, storage) - os.time() <= 0 then
  table.insert(pos, getCreaturePosition(cid))
    setPlayerStorageValue(cid, storage, os.time()+time)
     doCreateItem(item, getCreaturePosition(cid))
    doSendMagicEffect(getCreaturePosition(cid), 3)
  addEvent(terminus, time*1000, cid)
elseif getPlayerStorageValue (cid, storage) - os.time() >= 1 then
  doTeleportThing(cid, pos[1])
  doSendMagicEffect(getCreaturePosition(cid), 10)
end

return true
end
Postado

pelo que eu to vendo seu script tem um bug: se dois players usarem a spell o player 2 será teleportado pra posição 1. Confere isso pra mim e me diz se eu to errado. 

OBS: seu script ficou muito melhor doque o meu mas tem esse bugzinho aí (acredito eu)

Postado

pelo que eu to vendo seu script tem um bug: se dois players usarem a spell o player 2 será teleportado pra posição 1. Confere isso pra mim e me diz se eu to errado. 

OBS: seu script ficou muito melhor doque o meu mas tem esse bugzinho aí (acredito eu)

 

De fato !

Isso nem passou na minha cabeça 'rsrs

 

vou editar.

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo