informe versão
info
Group: Campones
Joined: 25/08/12
Posts: 11
Reputation: 0

info
Group: Marquês
Joined: 22/07/12
Posts: 1.1k
Reputation: +400
Gender: Masculino
Tibia Character: 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.
Edited Agosto 25 by 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?
Edited Agosto 25 by leo420
info
Group: Marquês
Joined: 02/08/12
Posts: 1k
Reputation: +234
Tibia Character: 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
Group: Visconde
Joined: 21/08/11
Posts: 470
Reputation: +5
Tibia Character: ...

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
Edited Agosto 27 by KennyxD
deu certo kenny, isso que eu queria, no caso teria como elas piscar de X em X tempo ?
info
Group: Visconde
Joined: 21/08/11
Posts: 470
Reputation: +5
Tibia Character: ...

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
Group: Marquês
Joined: 06/11/11
Posts: 1.1k
Reputation: +109
Tibia Character: 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
Group: Visconde
Joined: 21/08/11
Posts: 470
Reputation: +5
Tibia Character: ...

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
Group: Campones
Joined: 28/07/12
Posts: 27
Reputation: 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 =)..
Edited Agosto 25 by leo420