15
pedido

Teleportar para A com X Level e para B com Y Level

Por 1579091, 07 de mar. de 2013 em Scripts

resolvido
10
901
15790911
07 de março de 2013 às 09:49

Gostaria de um movement, que quando o player subisse level 65 menos, ele teleportava pra uma pos,

e se ele foce level 65+ ele telportasse pra outra poss..

 

Se possivel nenhum efeito, quero dar a aparencia de desser um buraco...

 

Só isso VLW!

SkyLighS
07 de março de 2013 às 11:37

Script .

 

Vá em data/movements/scripts/renome algum arquivopara poslvl.lua é adicione .

 

function onStepIn(cid, item, pos)
local config = {
pos = {x=120, y=190, z=7}, -- a pos que será teleportdo quando ganhar for o lvl 65 +
poss = {x=158, y=190, z=7}, -- a pos que será teleportdo quando ganhar for o lvl 65 -
s = 38102, -- nao mexa
level = 65, -- o level que precisa pra ir na pos
levell = 64 -- aki ponha o 1 level antes que será o level maior
}

if getPlayerStorageValue(cid,config.s) then
if getPlayerLevel(cid,config.level) then
doTeleportThing(cid,config.pos)
setPlayerStorageValue(cod,config.s,1)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Seja bem vindo ao o templo dos deuses")
return true
end
if getPlayerLevel(cid,config.levell) then
doTeleportThing(cid,config.poss)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Você não é um level 65 por isso você não foi para o templo")
end
return true
end
end

 

em movements.xml

 

<movevent type="StepIn" uniqueid="38102" event="script" value="poslvl.lua"/>

Editado Março 7 por SkyLigh

SlicerS
07 de março de 2013 às 12:24

mano em q versao tu testa teus scripts? pq pelo q sei, pelo menos na 854 isso ta errado.. o.O

if getPlayerLevel(cid,config.levell) then

 

o certoo seria..

if getPlayerLevel(cid) <= config.levell then

15790911
07 de março de 2013 às 22:21

Deu o seguinte erro:

[07/03/2013 22:20:42] [Error - MoveEvents Interface]

[07/03/2013 22:20:42] data/movements/scripts/poslvl.lua:onStepIn

[07/03/2013 22:20:42] Description:

[07/03/2013 22:20:42] (internalGetPlayerInfo) Player not found when requesting player info #3

Já tentei fazer a substituição que o Slicer recomendo e mesmo assim não funcionou!

 

Alguém poderia concertar?

Editado Março 7 por GuizitoG

SlicerS
07 de março de 2013 às 22:56

tenta assim..

 

local config = {
pos = {x=120, y=190, z=7}, -- a pos que será teleportdo quando ganhar for o lvl 65 +
pos2 = {x=158, y=190, z=7}, -- a pos que será teleportdo quando ganhar for o lvl 65 -
level = 65, -- o level que precisa pra ir na pos
}
function onStepIn(cid, item, pos)
if not isPlayer(cid) then return true end

if getPlayerLevel(cid) >= config.level then
  doTeleportThing(cid, config.pos, false)
  doPlayerSendTextMessage(cid, 27, "Seja bem vindo ao o templo dos deuses")
  return true
end
doTeleportThing(cid, config.pos2, false)
doPlayerSendTextMessage(cid, 27, "Você não é um level 65 por isso você não foi para o templo")
return true
end

 

StackMinuteS
07 de março de 2013 às 23:01

O certo seria com a função onAdvance e não StepIn.

 

Tenta assim ;x

 

 

http://www.pastebin.com/WRu5uKzV

SkyLighS
07 de março de 2013 às 23:18

@stack na programação lua não é permitido símbolos nas variaveis .

 

corrigindo o seu .

 

local config = {
pos65 = {x=120, y=190, z=7}, -- a pos que será teleportdo quando for lvl 65 +
pos655 = {x=158, y=190, z=7}, -- a pos que será teleportdo quando for lvl 65-
s = 38102, -- nao mexa
level1 = 65 -- o level que precisa pra ir na pos
}
-- End configs --
function onAdvance(cid, newLevel, oldLevel)
if getPlayerStorageValue(cid,config.s) then
if getPlayerLevel(cid) >= config.level1 then
doTeleportThing(cid,config.pos65)
setPlayerStorageValue(cid,config.s,1)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Seja bem vindo ao o templo dos deuses")
return true
end
if getPlayerLevel(cid) <= config.lvl1 then
doTeleportThing(cid,config.pos655)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Você não é um level 65 por isso você não foi para o templo")
end
return true
end
end

SlicerS
07 de março de 2013 às 23:45

@sky

serio, da onde tu tiro isso?

if getPlayerLevel(cid,config.levell) then

e isso... ;x

if getPlayerStorageValue(cid,config.s) then

/\ isso sempre vai ser true...

Editado Março 8 por Slicer

15790911
07 de março de 2013 às 23:47

o primeiro que o slicer posto ja funfo...

pedido sanado :D

08 de março de 2013 às 10:00

Tópico movido para a seção de dúvidas e pedidos resolvidos.