Ir para conteúdo

Featured Replies

  • Respostas 10
  • Visualizações 525
  • Created
  • Última resposta

Top Posters In This Topic

Posted Images

Postado
  • Autor

@Sttorm testei novamente deu certo porem dessa vez ele não ta removendo o item apos usar a spell.

obs: a que fica no chão não tem o msm ID da q ta na bag só a mesma sprite

1.thumb.PNG.3201a7dccfc801debdfb7096da39c250.PNG

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

Postado
function doShowTimeByPos(uid, pos, duration, type)
type = type or 20
    for i = 0, (duration - 1) do
    addEvent(function()
        if isCreature(uid) then
            doSendAnimatedText(pos, tostring(duration - i), type)
        end
    end, i * 1000)
    end
return true
end

local config = {
  storageID = 49615,
  storageID2 = 49620,
  tempo = 1, -- Tempo de duracao da marcacao
  itemID = 11502, -- item ID da sprite que fica no chao
  effectWhenTeleport = 82, -- Efeito que aparece no player quando é teleportado
  effectWhenExpired = 2, -- Efeito que aparece quando a skill expira
}

local errorMsg = {
  alreadyMarked = "Voce ja possui uma marcacao em andamento neste slot.",
  expired = "A skill de selamento expirou.",
}


function onCastSpell(cid, var)
  local markedPosition = getPlayerPosition(cid)

  if getPlayerStorageValue(cid, config.storageID) <= os.time() and not getPlayerStorageValue(cid, config.storageID)  == -1 then
    doPlayerSendTextMessage(cid, 22, errorMsg.alreadyMarked)
    return false
  end
 
local item = 2160 -- id do item
local count = 1 -- qnt necessária pra usar a spell 
  
  if getPlayerItemCount(cid, item) < count then
  doPlayerSendTextMessage(cid, 22, "voce n tem o item necessario")
  return false
  end
  
local randomi = math.random(2000,35687)
 local item = doCreateItem(config.itemID, 1, markedPosition)
 doItemSetAttribute(item, "uid", randomi)
  doShowTimeByPos(cid, markedPosition, 60, 210)
  doPlayerRemoveItem(cid, item, count)
  setPlayerStorageValue(cid, config.storageID, os.time() + getTime())
  setPlayerStorageValue(cid, config.storageID2, 1)
  doPlayerSendTextMessage(cid, 22, "Voce tem ".. config.tempo .." minutos para usar a spell antes que ela expire.")
    addEvent(doRemoveItem, 60000, randomi)

  local estrutura = {
    cid = cid,
    markedPosition = markedPosition,
    timeFinal = os.time() + getTime()
  }

  addEvent (teleportIsTrue, 100, estrutura)

  return true
end

function getTime ()
  return config.tempo * 60
end

function teleportIsTrue (st)
  if os.time() > st.timeFinal then
    setPlayerStorageValue(st.cid, config.storageID2, 0)
    doPlayerSendTextMessage(st.cid, 22, errorMsg.expired)
    return false
  elseif getPlayerStorageValue(st.cid, config.storageID2) == 2 then
    doTeleportThing(st.cid, st.markedPosition, true)
    setPlayerStorageValue(st.cid, config.storageID2, 1)
    doSendMagicEffect(getPlayerPosition(st.cid), config.effectWhenTeleport)
  end
  addEvent (teleportIsTrue, 100, st)
  return true
end

 

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

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo