CA
talkaction

[talkaction] Teleport Player To Town

Por canovas, 30 de jul. de 2009 em Actions e Talkactions

script
otserv
8
3.8k
canovasC
30 de julho de 2009 às 04:27

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 Julho 30 por Notorious

skynagerloasS
30 de julho de 2009 às 08:58

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ê.

wilker007W
30 de julho de 2009 às 12:22

Facilita mesmo com esse action.

Bom tutorial

 

:D

gust70G
30 de julho de 2009 às 14:53

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?

satan666S
30 de julho de 2009 às 16:15

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 Julho 30 por Marcryzius

canovasC
30 de julho de 2009 às 16:55

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 Julho 30 por Notorious

satan666S
30 de julho de 2009 às 21:53
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)
1 ano depois...
joao33J
20 de maio de 2011 às 20:45

http://www.xtibia.com/forum/topic/155843-comando-t/page__p__1029355#entry1029355

 

 

 

PARA ESSE TUTORIAL FUNCIONAR TEM QUER FAZER ESSE TBM EU AXO NAO TENHO CERTEZA DA 1 OLHADA AEW PQ O MEU /TP NAO FUNCIONOU E FIZ ESSE E DEU CERTO :XTibia_smile: