Ir para conteúdo
  • 0

Dois Sripts..


leo420

Pergunta

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 por leo420
Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

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 por LuckOake
Link para o comentário
Compartilhar em outros sites

  • 0

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 por leo420
Link para o comentário
Compartilhar em outros sites

  • 0

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 por KennyxD
Link para o comentário
Compartilhar em outros sites

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0

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

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...