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ê.
By canovas, 30 de jul. de 2009 in Actions e Talkactions
info
Group: Herói
Joined: 12/11/05
Posts: 715
Reputation: +1
Tibia Character: Lord'Skyxt

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ê.
info
Group: Campones
Joined: 11/04/08
Posts: 27
Reputation: 0
Tibia Character: Herculles

Facilita mesmo com esse action.
Bom tutorial
![]()
info
Group: Campones
Joined: 29/07/09
Posts: 12
Reputation: 0
Tibia Character: drash alfgus
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?
info
Group: Conde
Joined: 07/05/08
Posts: 612
Reputation: +12
Tibia Character: leviana luciferiana

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, ",")
Edited Julho 30 by Marcryzius
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:
-- 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:
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.
Edited Julho 30 by Notorious
info
Group: Conde
Joined: 07/05/08
Posts: 612
Reputation: +12
Tibia Character: leviana luciferiana

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 !
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 teleportadopro 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)
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:
info
Group: Campones
Joined: 15/07/09
Posts: 5
Reputation: +3
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:
-- 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:
Pronto !
Qualquer erro ou duvida por favor poste aqui
Edited Julho 30 by Notorious