informe versão
info
Grupo: Campones
Registrado: 25/08/12
Posts: 11
Reputação: 0

info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

Segundo pedido:
talkactions.xml:
<talkaction log="yes" words="/createteleport" access="3" event="script" value="createteleport.lua"/>
createteleport.lua:
-- Script by LuckOake
function onSay(cid, words, param)
local t = string.explode(param, ",")
local tp = {
["/createteleport"] = {id = 1387, pos = {x=t[1], y=t[2], z=t[3]}, goto = {x = t[4], y = t[5], z = t[6]}, tempo = t[7]}
}
local tp_table = tp[words]
if not t[7] then
doPlayerSendCancel(cid, "Especifique a posição e o tempo.")
return true
end
function doRemoveTp(tp_table)
local telepos = getTileItemById(tp_table.pos, tp_table.id)
doSendMagicEffect(tp_table.pos, CONST_ME_POFF)
doRemoveItem(telepos.uid, 1)
end
local telep = doCreateTeleport(tp_table.id, tp_table.goto, tp_table.pos)
addEvent(doRemoveTp, tp_table.tempo*60*1000, tp_table)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Teleport aberto nas coordenadas X = "..t[1]..", Y = "..t[2]..", Z = "..t[3].." por "..tp_table.tempo.." minutos.")
return true
end
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Como funciona:
/createteleport 100,100,7,200,200,8,1
Verde: Position em que o teleport aparecerá
Vermelho: Position em que o teleport levará
Azul: Tempo em minutos
Caso queira alguma modificação, avise.
PS: Pro seu primeiro pedido, detalhe ele melhor, não compreendi direito.
Editado Agosto 25 por LuckOake
eu uso 8.60 ( 1.0.0 ) Mix Soft Distro
---------------------------------------------
Valeu Luckoake, funcionou bem o script da talktp, pra colocar outra talk como essa de players no teleport, tipo ao invez de tempo, limite de 20 players, hora que entrar os 20 ele some?
Editado Agosto 25 por leo420
info
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit

Você teria que adicionar uma actionid ou uniqueid no teleport usando doAddItemAttribute~ e fazendo um movements para que quando 20 pessoas entrarem no tp ele sumira
Sky eu nao sei fazer nenhum script
nao manjo, tem como vc me ajudar ?
info
Grupo: Visconde
Registrado: 21/08/11
Posts: 470
Reputação: +5
Char no Tibia: ...

1 pedido
crie um arquivo em creaturescripts/scripts com o nome mapmark e cole isso dentro
local config = {
storage = 030220122041,
version = 1, -- Increase this value after adding new marks, so player can step again and receive new map marks
marks = {
{mark = 5, pos = {x = 100, y = 40, z = 6}, desc = "Dorion Temple"},
{mark = 11, pos = {x = 103, y = 64, z = 6}, desc = "Tools Shop!"},
{mark = 7, pos = {x = 92, y = 64, z = 6}, desc = "Paladin Shop!"},
{mark = 8, pos = {x = 93, y = 75, z = 6}, desc = "Weapon Shop!"},
{mark = 8, pos = {x = 97, y = 78, z = 6}, desc = "Armor Shop!"},
{mark = 4, pos = {x = 81, y = 69, z = 6}, desc = "Dorion Depot!"},
{mark = 9, pos = {x = 45, y = 79, z = 6}, desc = "Boat!"},
{mark = 2, pos = {x = 26, y = 51, z = 6}, desc = "Football!"},
{mark = 5, pos = {x = 119, y = 98, z = 6}, desc = "Sanctuary!"},
{mark = 12, pos = {x = 48, y = 103, z = 6}, desc = "Arena PVP!"},
{mark = 1, pos = {x = 666, y = 666, z = 7}}
}
}
local f_addMark = doPlayerAddMapMark
if(not f_addMark) then f_addMark = doAddMapMark end
function onThink(cid, interval)
if(isPlayer(cid) ~= TRUE or getPlayerStorageValue(cid, config.storage) == config.version) then
return
end
for _, m in pairs(config.marks) do
f_addMark(cid, m.pos, m.mark, m.desc ~= nil and m.desc or "")
end
setPlayerStorageValue(cid, config.storage, config.version)
return TRUE
end
em data/creaturescripts/creaturescripts adicione esta tag
<event type="think" name="MapMark" event="script" value="mapmark.lua"/>
em login adicione está tag
registerCreatureEvent(cid, "MapMark")
explicação do script
{mark = 5, pos = {x = 100, y = 40, z = 6}, desc = "Dorion Temple"},
mark = 5 é o id do icon que vai aparecer no map
pos = {x = 100, y = 40, z = 6} a position de onde o icon vai fikar aparecendo no map
Dorion Temple quando o player clicar em cima do icon ou passar o malz por cima vai aparecer o nome do lugar de onde está marcado
Editado Agosto 27 por KennyxD
deu certo kenny, isso que eu queria, no caso teria como elas piscar de X em X tempo ?
info
Grupo: Visconde
Registrado: 21/08/11
Posts: 470
Reputação: +5
Char no Tibia: ...

leo420 vixi isso ai nen sei =(
+ da um REP + ae se voce gostou ^^
eu uso 8.60 ( 1.0.0 ) Mix Soft Distro
---------------------------------------------
Valeu Luckoake, funcionou bem o script da talktp, pra colocar outra talk como essa de players no teleport, tipo ao invez de tempo, limite de 20 players, hora que entrar os 20 ele some?
não seria melhor do geito que está ? por exemplo voce quer usar esse script pra um evento se voce usar ele como esta o teleport vai fika aberto até X horas ai quem entro entro quem nao entro nao entro ai ja comesa o evento agora se voce usar do outro geito como voce ta pedindo vai que voce usa ele tbm pra um evento e seu servidor naquele momento so tem 10 players online ai os 10 players que entraram vao fikar prezo até que voce tire-os de la + ai voce que sabe neh.
info
Grupo: Marquês
Registrado: 06/11/11
Posts: 1.1k
Reputação: +109
Char no Tibia: Stroked

Kenny no caso pra apareçer esses marks o player tem q fazer alguma quest e receber akele storage ou vai apareçer pra geral?
info
Grupo: Visconde
Registrado: 21/08/11
Posts: 470
Reputação: +5
Char no Tibia: ...

vai aparecer pra geral assim que logar
achei o script que eu tinha, mas da um erro, alguém sabe oque é ?
O ERRO É:
[Error - TalkAction Interface]
data/talkactions/scripts/portal.lua:onSay
Description:
data/talkactions/scripts/portal.lua:5: attempt to call global 'doSetItemSpecialDescription' <a nil value>
stack traceback:
data/talkactions/scripts/portal.lua:5: in function <data/talkactions/scripts/portal.lua:1>
Segue o Script: Talkaction:
function onSay(cid, words, param)
local param = param.explode(param, ',')
if param then
teleport = doCreateTeleport(1387, {x=param[1], y=param[2], z=param[3]}, getPlayerPosition(cid))
doSetItemSpecialDescription(teleport, 'The portal may enter '..param[4]..' people left.')
doSetItemActionId(teleport, 100+param[4])
else
doPlayerSendCancel(cid, "You must set param.")
end
return TRUE
end
Movements:
function onStepIn(cid, item, position, fromPosition)
if item.actionid > 100 then
doSetItemSpecialDescription(item.uid, 'The portal may enter '..(item.actionid-101)..' people left.')
doSetItemActionId(item.uid, item.actionid-1)
end
return TRUE
end
function onStepOut(cid, item, position, fromPosition)
if item.actionid == 100 then
doSendMagicEffect(position, 2)
doRemoveItem(item.uid, 1)
end
return TRUE
end



info
Grupo: Campones
Registrado: 28/07/12
Posts: 27
Reputação: 0
Opa boa tarde galera,
To com um projeto de um ot que vo colocar on, queria dois scripts:
1 - Uma quest, pros players começarem que ganha 20k, porém adiciona aqueles ( marks ) no minimap, porque como meu servidor vai ser mapa próprio queria marcar locais como DP,Temple,Lojas ( aquelas marcas que tem no tibia global tipo de missao )
2 - Uma Talkaction pra GM que cria um teleport pra onde o GM configurar e o tempo que ele quiser, tipo: !createtp 160,54,7,2 Minutos, ai cria o teleport que vai pra cordenada 160,54,7 (Templo) que no caso seria um evento e em 2 minutos o tp some..Eu tinha o script mais perdi =//
No aguardo, se alguém puder me ajudar, Agraçedoo =)..
Editado Agosto 25 por leo420