Ir para conteúdo

[talkaction] Teleport Player To Town


canovas

Posts Recomendados

Essa script é pra você GM, de um servidor nao tao serio,

como o meu (Enforced de ACC) que sempre ve os players pedindo pra levar pro templo blablabla ...

 

Funciona da seguinte maneira: você fala /tp NomeDoPlayer e esse player é automaticamente teleportado

pro templo da cidade da qual ele é cidadão.

Será inutil pra alguns e muito util para outros.

 

Crie um arquivo chamado teleportplayertotown.lua na pasta data\talkactions\scripts de seu OTserver e insira o seguinte codigo:

-- código by Notorious

-- shadowenforced.no-ip.biz

 

function onSay(cid, words, param)

 

if(param == "") then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.")

return TRUE

end

 

local target = getPlayerByNameWildcard(param)

if isPlayerGhost(target) == FALSE then

local townid = getPlayerTown(target)

local town = getTownTemplePosition(townid)

local tmp = getCreaturePosition(target)

doTeleportThing(target,town)

doSendMagicEffect(tmp, CONST_ME_POFF)

doSendMagicEffect(town, CONST_ME_TELEPORT)

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Creature not found.")

end

return TRUE

end

 

 

Vá em talkactions.xml dentro de data/talkactions e adicione a seguinte linha:

<talkaction log="yes" words="/tp" access="3" script="teleportplayertotown.lua"/>

 

Pronto ! 8D

Qualquer erro ou duvida por favor poste aqui

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

Não consigui fazer ele funcionar eu tenho uma duvida: eu coloquei:

<talkaction log="yes" words="/tp" access="3" script="teleportplayertotown.lua"/>

em talkations isso faiz no funfa?

Link para o comentário
Compartilhar em outros sites

utiliza isso assim ele pega o town do player e envia pra a cidade do town dele.

getPlayerTown(cid)

 

e pra por dois parametros e so por isso.

local param2 = string.explode(param, ",")
Editado por Marcryzius
Link para o comentário
Compartilhar em outros sites

SCRIPT ATUALIZADO

Agora voce nao precisa mudar nenhum parametro, é só usa-lo, o player será automaticamente teleportado

para a city da qual é cidadão.

OBS: Obrigado pela dica Marcryzius.

 

Crie um arquivo chamado teleportplayertotown.lua na pasta data\talkactions\scripts de seu OTserver e insira o seguinte codigo:

-- código by Notorious

-- shadowenforced.no-ip.biz

 

function onSay(cid, words, param)

 

if(param == "") then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.")

return TRUE

end

 

local target = getPlayerByNameWildcard(param)

if isPlayerGhost(target) == FALSE then

local townid = getPlayerTown(target)

local town = getTownTemplePosition(townid)

local tmp = getCreaturePosition(target)

doTeleportThing(target,town)

doSendMagicEffect(tmp, CONST_ME_POFF)

doSendMagicEffect(town, CONST_ME_TELEPORT)

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Creature not found.")

end

return TRUE

end

 

Coloque aqui a ID de sua cidade. Exemplo: 1, 6, 8 ... (é escolhida normalmente no map editor)

 

Vá em talkactions.xml dentro de data/talkactions e adicione a seguinte linha:

<talkaction log="yes" words="/tp" access="3" script="teleportplayertotown.lua"/>

 

O Script parece ser funcional, não o testei.

 

É interessante que você coloque os créditos do produtor do Código. Caso tenha sido você, coloque da mesma forma para que saibamos que foi você.

No caso os creditos a min, afinal fui eu que fiz, estão no proprio script.lua.

 

Não consigui fazer ele funcionar eu tenho uma duvida: eu coloquei:

<talkaction log="yes" words="/tp" access="3" script="teleportplayertotown.lua"/>

em talkations isso faiz no funfa?

gust70, alem de colocar essa tag no arquivo talkactions.xml você precisa criar

um arquivo.lua na pasta scripts e inserir o codigo mostrado no post.

Acho que respondi a sua pergunta, qualquer coisa pergunte denovo.

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

Essa script é pra você GM, de um servidor nao tao serio,

como o meu (Enforced de ACC) que sempre ve os players pedindo pra levar pro templo blablabla ...

 

Funciona da seguinte maneira: você fala /tp NomeDoPlayer e esse player é automaticamente teleportado

pro templo da cidade que voce escolher(no script).

Sera inutil pra alguns e muito util para outros.

 

Eu só tenho uma dúvida, alguem pode me ensinar a colocar dois parametros?

Assim eu consigo fazer com que a cidade na qual o player sera teleportado possa ser escolhida in-game.

 

Crie um arquivo chamado teleportplayertotown.lua na pasta data\talkactions\scripts de seu OTserver e insira o seguinte codigo:

-- código by Notorious

-- shadowenforced.no-ip.biz

 

function onSay(cid, words, param)

 

if(param == "") then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.")

return TRUE

end

 

local target = getPlayerByNameWildcard(param)

if isPlayerGhost(target) == FALSE then

local townid = getPlayerTown(target)

local town = getTownTemplePosition(townid)

local tmp = getCreaturePosition(target)

doTeleportThing(target,town)

doSendMagicEffect(tmp, CONST_ME_POFF)

doSendMagicEffect(town, CONST_ME_TELEPORT)

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Creature not found.")

end

return TRUE

end

 

 

Vá em talkactions.xml dentro de data/talkactions e adicione a seguinte linha:

<talkaction log="yes" words="/tp" access="3" script="teleportplayertotown.lua"/>

 

Pronto ! 8D

Qualquer erro ou duvida por favor poste aqui

 

 

esta errado como voce bem disse aqui nessa parte.

Funciona da seguinte maneira: você fala /tp NomeDoPlayer e esse player é automaticamente teleportado

pro templo da cidade que voce escolher(no script).

 

o gm~ nao pode escolher o town que irar enviar o player ja que no script esta usando isso e nao tem outro parametro.

local townid = getPlayerTown(target)
Link para o comentário
Compartilhar em outros sites

  • 1 year later...
×
×
  • Criar Novo...