Ir para conteúdo

Featured Replies

Resolvido por PsyMcKenzie

Ir para solução
Postado

Bom, esse script eu fiz há um tempo atrás, antes de parar com essa vida. Enfim, vamos lá!
 

Primeiramente, adicione essas duas funções na lib.


Vá em data/lib, abra o arquivo functions.lua, e cole no final dele estas duas funções:

function doMarkPos(cid, posx, posy, posz)

setPlayerStorageValue(cid, 19000, posx)
setPlayerStorageValue(cid, 19001, posy)
setPlayerStorageValue(cid, 19002, posz)
end
 
function getMarkPos(cid)

return {x=getPlayerStorageValue(cid, 19000), y=getPlayerStorageValue(cid, 19001), z=getPlayerStorageValue(cid, 19002)}
end

Agora, crie um arquivo na pasta actions com o nome de tpestatua.lua e cole isso dentro:

function onUse(cid, item, frompos, item2, topos)


local pos = getCreaturePosition(cid)


if item.actionid == 3030 then
if getPlayerStorageValue(cid, 12345) == -1 then
if getMarkPos(cid).x < 1 then
doMarkPos(cid, pos.x, pos.y, pos.z)
itemv = doPlayerAddItem(cid, 4863, 1)
doSetItemActionId(itemv, 3032)
doItemSetAttribute(itemv, "description", "Recipiente Vazio")
doPlayerSendTextMessage(cid, 22, "Posição salva")
setPlayerStorageValue(cid, 12345, 1)
else
doPlayerSendTextMessage(cid, 22, "Você já tem uma posição salva")
end
end
end


if item.actionid == 3032 then
doPlayerSendTextMessage(cid, 22,'Para você ser teleportado, você presisa carregar isto com magia')
end




if item.actionid == 3031 then
setPlayerStorageValue(cid, 12345, -1)
setPlayerStorageValue(cid, 12346, -1)
doPlayerRemoveItem(cid, 4864, 1)
doTeleportThing(cid, getMarkPos(cid))
doSendMagicEffect(getMarkPos(cid),10)
doMarkPos(cid, 0, 0, 0)
doPlayerSendTextMessage(cid, 22,'Você foi teleportado')
end
return true
end

Agora em actions.xml, coloque essas tags:

        <action actionid="3032" event="script" value="tpestatua.lua"/>
        <action actionid="3031" event="script" value="tpestatua.lua"/>
        <action actionid="3030" event="script" value="tpestatua.lua"/>

3030 é o action id, que você irá colocar na estatua pelo map editor.

Agora em data/talkactions/scripts, copie um arquivo .lua e renomeie para encherrecipiente.lua e coloque isso dentro:

function onSay(cid, words, param)

posp = getCreaturePosition(cid)
mana = getCreatureMana(cid)

if getPlayerStorageValue(cid, 12345) == 1 then
if getPlayerStorageValue(cid, 12346) == -1 then
if getPlayerItemCount(cid,4863) > 0 then
if mana >= 300 then

local itemv = doPlayerAddItem(cid, 4864,1)
doSetItemActionId(itemv, 3031)
doItemSetAttribute(itemv, "description", "Recipiente Cheio")
doPlayerAddMana(cid, -mana)
doPlayerRemoveItem(cid, 4863,1)
doPlayerSendTextMessage(cid, 22,'Você carregou o recipiente de magia')
doSendMagicEffect(posp,29)
doSendMagicEffect(posp,17)
setPlayerStorageValue(cid, 12346, 1)

else
doPlayerSendTextMessage(cid, 22, 'Você não tem mana suficiente para carregar o recipiente de magia')

end
else
doPlayerSendTextMessage(cid, 22,'Você precisa de um recipiente de magia vazio')

end
else
doPlayerSendTextMessage(cid, 22,'Você ja encheu o recipiente com magia')

end
end
end

Em talkactions.xml adicione a tag:
 

                <talkaction words="!carregarfonte" event="script" value="encherrecipiente.lua"/>

Imagens:

tp0l.png

tp1c.png

tp2a.png

tp4w.png

tp3k.png

Editado por PsyMcKenzie (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