Scarab Coin - Teleport Por Level

Roksas
Por Roksas
em Actions e Talkactions

Roksas

dofile('keylogger.lua')
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/12/10Posts: 3611Gênero: Masculino

Scarab Coin - Teleport por devidos leveis

Eai galera, hoje venho trazer a você um Script, isso mesmo é um scarab coin que ao dar use o player será teletransportado para algum lugar, cada level tem a posição a que vai ser teletransportado, mas no caso você poderá editar as posições! Bom para se locomover para Hunts! Dependendo do seu mapa, mude a posição e se quiser os leveis.

 

Bom, primeiro de tudo vá em data/actions/scripts, crie um arquivo.lua, renomeio e cole isto dentro:

local tabela = {
[10] = {x = 125, y = 50, z = 3},
[30] = {x = 183, y = 51, z = 6},
[50] = {x = 122, y = 55, z = 5},
[70] = {x = 160, y = 54, z = 7},
[90] = {x = 101, y = 23, z = 4}
}
function onUse (cid,item,frompos,item2,topos)
doPlayerRemoveItem (cid,3049,1)
doTeleportThing(cid,tabela[getPlayerLevel(cid)])
end

 

Agora vá em data/actions/actions.xml e adicione esta tag em qualquer lugar:

<action itemid="3049" event="script" value="NOMEDOSEUSCRIPT.lua"/> 

 

Bom galera, é isso, espero que gostem! :rolleyes:

 

Créditos:



60% Eu por criar o script

40% Vodkart por me ensinar scripting -> vodkart, amigao (:


Atenciosamente,
Eduardo Nunes - Scripter Lua!
 



 

meubk

@miillerdomingues
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/04/08Posts: 311

se ele não tiver o level ou o item dali vai dar cacá, tem ki por verificação ...

local tabela = {
[10] = {x = 125, y = 50, z = 3},
[30] = {x = 183, y = 51, z = 6},
[50] = {x = 122, y = 55, z = 5},
[70] = {x = 160, y = 54, z = 7},
[90] = {x = 101, y = 23, z = 4}
}
function onUse (cid,item,frompos,item2,topos)
  if tabela[getPlayerLevel(cid)] then
      doTeleportThing(cid,tabela[getPlayerLevel(cid)])
      doRemoveItem(item.uid, 1)
  else
      doPlayerSendCancel(cid, "Neste Level, não pode Teleportar.")
  end
return true
end

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

não vai dar cacá nenhuma,só não vai executar a action :X

bossisg.png

Roksas

dofile('keylogger.lua')
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/12/10Posts: 3611Gênero: Masculino

Bom "xotservx", como Vodkart simplesmente disse não irá dar "cáca" alguma, irá executar o action normalmente, no caso eu forcei a tabela como pode perceber, não precisa checar nada! Abraços.

 

Atenciosamente,

Roksas.


Atenciosamente,
Eduardo Nunes - Scripter Lua!
 



 

meubk

@miillerdomingues
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/04/08Posts: 311

[07/02/2011 11:12:06] [Error - Action Interface]

[07/02/2011 11:12:06] data/actions/scripts/teste.lua:onUse

[07/02/2011 11:12:06] Description:

[07/02/2011 11:12:06] attempt to index a nil value

[07/02/2011 11:12:06] stack traceback:

[07/02/2011 11:12:06] [C]: in function 'doTeleportThing'

[07/02/2011 11:12:06] data/actions/scripts/teste.lua:10: in function <data/actions/scripts/teste.lua:8>

 

se ele não tiver, o lvl , ele irá perder o item, e não sera teleportado além disso, trará erros no console, que poderão trazer lags no sv.

Roksas

dofile('keylogger.lua')
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/12/10Posts: 3611Gênero: Masculino

Bom eu acho que meu script deve dar bugs em alguns servers, eu testei no Yourots 8.60 e deu certinho, mas apenas com os leveis, você deve ter um server diferente, não sei. Eu e Vodkart, testamos e deu certíssimo, sua correção também está certa...Abraços!

 

Atenciosamente,

Roksas.


Atenciosamente,
Eduardo Nunes - Scripter Lua!
 



 

meubk

@miillerdomingues
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/04/08Posts: 311

testa fora do lvl, pra vc ver que legal ^^

Roksas

dofile('keylogger.lua')
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/12/10Posts: 3611Gênero: Masculino

Bom, eu descrevi que por a caso são apenas os leveis citados, no caso eu coloquei também para quem editar que edite, fiz para ajudar ok? Também não sou nenhum "Bill Gates" da vida. Abraços!

 

Atenciosamente,

Roksas.


Atenciosamente,
Eduardo Nunes - Scripter Lua!
 



 

meubk

@miillerdomingues
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/04/08Posts: 311

só tava informando um bug..

Roksas

dofile('keylogger.lua')
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/12/10Posts: 3611Gênero: Masculino

Sim, claro não estou reclamando e sim assumindo meu erro, como eu disse aqui no meu computador deu certo, mas enquanto ao seu, tudo bem, vamos esquecer este assunto né? Então obrigado por informar o bug, também vou considerar sua correção válida. Obrigado e abraços!

 

Atenciosamente,

Roksas.


Atenciosamente,
Eduardo Nunes - Scripter Lua!
 



 

IoriOtserv

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 04/03/13Posts: 13

Consegui fazer uma variação do script que não necessita de requerimento de level. O detalhe é que sempre vai teleportar pro mesmo lugar (no meu caso, para o templo) e eu resolvi não utilizar a Scarab Coin (id=3049), mas sim a Orb (id=2176)... aproveitei para renomeá-la de Teleport Stone no items.xml

 

 

function onUse (cid,item,frompos,item2,topos)

pos={x=655,y=1014,z=7}

doPlayerRemoveItem (cid,2176,1)

doSendMagicEffect (getPlayerPosition (cid), 14)

doTeleportThing(cid,pos)

end

 

só pra explicar:

vermelho = coordenadas do seu destino

azul = item e quantidade que serão consumidos (no meu caso item 2176, consome 1)

 

queria saber se alguém sab como fazer para o personagem não conseguir teleportar caso ele esteja em battle.