Ir para conteúdo
  • 0

Script, Teleport Aparece Por Comando Talkaction


Prezyoso

Pergunta

Olá amigos, estou criando meu servidor e preciso deste script.

 

O Script consiste em quando eu uso uma talkaction, no caso eu queria tipo /eventopen o teleport aparecesse no templo, na coordenada:1050 1045 6, o teleport aparecesse lá e levassem o player até a área de eventos, nas coordenadas: 1028 1040 4.

 

E quando eu disse-se /eventclose o teleport sumiria...

 

Estou precisando do script o mais rapido possivel, obrigado!

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

14 respostass a esta questão

Posts Recomendados

  • 0

Serve isso? Você fala /addtp na área de eventos, e vai no templo e fala novamente /addtp, Tudo isso na frente da onde você quer que apareça o teleport. Vou te passar e você testa ok?? é mais fácil esse pois pode fazer o teleport quando quiser ^^ Para tirar é so utilizar o /r mesmo !

 

Crie um arquivo na pasta data/talkactions:

 

 

function comparePosition(pos1, pos2)

return (pos1.x == pos2.x and pos1.y == pos2.y and pos1.z == pos2.z) and true or false

end

local position = false

function onSay(cid, words, param, channel)

local pos,c = getCreatureLookPosition(cid),position

if param == "clear" then

position = false

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Clear.")

end

if not(position) or not(comparePosition(position,pos)) then

if position == false then

position = pos

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, string.format("A posicao do teletransporte foi definido. [X: %i, Y: %i, Z: %i]",pos.x, pos.y, pos.z)) and doSendMagicEffect(pos, 14)

end

position = false

return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, string.format("O teletransporte foi criado. From:[X: %i, Y: %i, Z: %i] To:[X: %i, Y: %i, Z: %i]",c.x, c.y, c.z, pos.x, pos.y, pos.z)) and doSendMagicEffect(pos, 14) and doCreateTeleport(1387, pos, c)

end

return doPlayerSendCancel(cid,"A posicao de teletransporte nao pode ser a posicao na qual o teleporter e.")

end

 

 

Coloque esta tag no arquivo talkactions.xml:

 

 

<talkaction log="yes" words="/addtp" access="4" event="script" value="addtp.lua"/>

 

Link para o comentário
Compartilhar em outros sites

  • 0

Tentarei fazer a seu gosto ^^

 

Depois de muito esforço consegui!

Crie um arquivo na pasta data/talkactions chamado eventoteleport.lua e coloque isto dentro:

 

 

function onSay(cid, words, param)

if words=="/eventoopen" then

local create_pos = {x=1050 , y=1045 , z=6, stackpos=255}

local tp_pos = {x=1028 , y=1040 , z=4}

doCreateTeleport(1387, tp_pos , create_pos)

doSendMagicEffect(create_pos , 10)

doPlayerSendTextMessage(cid, 28 , "Portal para o Evento está aberto!")

return TRUE

end

if words=="/eventoclose" then

doRemoveItem(getTileItemById(create_pos,1387))

doPlayerSendTextMessage(cid, 28 , "Portal para o Evento fechou!")

end

return TRUE

end

 

 

 

Agora abra o seu talkactions.xml e adicione esta tag:

 

<talkaction log="no" words="/eventoclose;/eventoopen" access="4" event="script" value="eventoteleport.lua"/>

 

 

 

Eu testei e deu certo aqui! Boa sorte e BENÇA :))

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

  • 0

Não tem nada haver com LIB. O script que tá errado mesmo.

 

Arrumei os erros e aprimorei o script. Tó:

 

talkactions.xml:

 

<talkaction log="yes" access="5" words="/event" script="event.lua"/>

 

event.lua:

 

function onSay(cid, words, param)
local create_pos = {x = 162, y = 83, z = 7, stackpos = 1} -- Posição em que o teleport será criado
local tp_pos = {x = 1028, y = 1040, z = 4} -- Posição em que o teleport levará

if param == "open" then
if getGlobalStorageValue(7376) == 1 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "O evento já está aberto.") return true
end
setGlobalStorageValue(7376, 1)
doCreateTeleport(1387, tp_pos, create_pos)
doSendMagicEffect(create_pos, 10)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Portal para o evento aberto.") return true
elseif param == "close" then
if getGlobalStorageValue(7376) == -1 then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "O evento já está fechado.") return true
end
setGlobalStorageValue(7376, -1)
doRemoveItem(getThingFromPos(create_pos).uid, 1)
doSendMagicEffect(create_pos, 2)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Portal para o evento fechado.") return true
end
return TRUE
end

 

 

Configurando:

local create_pos = {x = 162, y = 83, z = 7, stackpos = 1} -- Posição em que o teleport será criado
local tp_pos = {x = 1028, y = 1040, z = 4} -- Posição em que o teleport levará

 

Usando o comando:

Para abrir: /event open
Para fechar: /event close

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

×
×
  • Criar Novo...