amigo tu postou na area errada !
- Fórum
- xTibia - Notícias e Suporte
- Soluções
- Archived
- Script Elevador
info
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: Jabuti Selvagem

Nesta área não devem ser postados pedidos nem dúvidas. Preste mais atenção quando for criar um tópico!
Movido para Pedidos e dúvidas - Scripting.
info
Grupo: Campones
Registrado: 07/03/14
Posts: 64
Reputação: +19

Hm.. parece uma boa idéia, vou tentar fazer, mas vai ter que usar 2 alavancas, uma pra descer e outra pra subir.
-GstavoLiber
info
Grupo: Campones
Registrado: 27/09/13
Posts: 18
Reputação: +1
Char no Tibia: Delta Force

Sim! Obrigado meu amigo.
info
Grupo: Conde
Registrado: 18/01/12
Posts: 988
Reputação: +327
Gênero: Masculino
Char no Tibia: Xerife Woody

fiz esse bem simples nem testei, to ocupado .
ta ae...
function onUse(cid, item, fromPosition, itemEx, toPosition)
local idAlavanca = XX
local posPlayer = getCreaturePosition(cid)
local efeitoSubi = 1
local efeitoDescer = 2
if itemEx.itemid == idAlavanca then
local pos1 = posPlayer.x and posPlayer.y and posPlayer.z + 1
local pos2 = posPlayer.x and posPlayer.y and posPlayer.z - 1
if (posPlayer.x == posPlayer.x) and (posPlayer.y == posPlayer.y) and (posPlayer.z >= 1) then
doTeleportThing(cid, pos1)
doSendMagicEffect(pos1, efeitoSubi)
elseif (posPlayer.x == posPlayer.x) and (posPlayer.y == posPlayer.y) and (posPlayer.z == 7) then
doTeleportThing(cid, pos2)
doSendMagicEffect(pos2, efeitoDescer)
end
end
return true
end info
Grupo: Campones
Registrado: 27/09/13
Posts: 18
Reputação: +1
Char no Tibia: Delta Force

Ok, vou testar e já digo se funcionou. Obrigado! #DuuhCarvalho
--------------------Editado----------------
Desculpe a demora, eu testei e não funcionou ![]()
Deu esse error:

Editado Abril 9 por NathanAmaro
Hm, fiz uma coisa meio estranha, mas deve funcionar. Configure o quê foi indicado.
local floors = {
[1] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}}, --[andar] = {posição que o jogador deve ficar, posição para onde será teleportado},
[2] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}},
[3] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}},
[4] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}},
[5] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}},
[6] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}},
[7] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}},
}
local storage = 918281
function onUse(cid, item, frompos, item2, topos)
local position = getThingPos(cid)
local function getFloor(cid)
for _, p in pairs(floors) do
if position.x == p[1].x and position.y == p[1].y and position.z == p[1].z then
return _
end
end
return false
end
if not getFloor(cid) then
return true
end
local floor = getFloor(cid)
local function getNextFloor(cid)
if getPlayerStorageValue(cid, storage) < 1 then
return floor + 1
else
return floor - 1
end
end
if not floors[getNextFloor(cid)] then
return true
end
if getNextFloor(cid) == 7 then
setPlayerStorageValue(cid, storage, 1)
elseif getNextFloor(cid) == 1 then
setPlayerStorageValue(cid, storage, -1)
end
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "*Plim* Now you're on the "..getNextFloor(cid).." floor.")
doTeleportThing(cid, floors[getNextFloor(cid)][2])
return true
end
Editado Abril 9 por zipter98
info
Grupo: Campones
Registrado: 27/09/13
Posts: 18
Reputação: +1
Char no Tibia: Delta Force

Hm, fiz uma coisa meio estranha, mas deve funcionar. Configure o quê foi indicado.
local floors = { [1] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}}, --[andar] = {posição que o jogador deve ficar, posição para onde será teleportado}, [2] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}}, [3] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}}, [4] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}}, [5] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}}, [6] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}}, [7] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}}, } local storage = 918281 function onUse(cid, item, frompos, item2, topos) local position = getThingPos(cid) local function getFloor(cid) for _, p in pairs(floors) do if position.x == p[1].x and position.y == p[1].y and position.z == p[1].z then return _ end end return false end if not getFloor(cid) then return true end local floor = getFloor(cid) local function getNextFloor(cid) if getPlayerStorageValue(cid, storage) < 1 then return floor + 1 else return floor - 1 end end if not floors[getNextFloor(cid)] then return true end if getNextFloor(cid) == 7 then setPlayerStorageValue(cid, storage, 1) elseif getNextFloor(cid) == 1 then setPlayerStorageValue(cid, storage, -1) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "*Plim* Now you're on the "..getNextFloor(cid).." floor.") doTeleportThing(cid, floors[getNextFloor(cid)][2]) return true end
Cara, eu testei e não funcionou ![]()
info
Grupo: Conde
Registrado: 29/04/09
Posts: 904
Reputação: +389
Char no Tibia: Jabuti Selvagem

Cara, eu testei e não funcionou
Vc editou a tabela?
local floors = {
[1] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}}, --[andar] = {posição que o jogador deve ficar, posição para onde será teleportado},
[2] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}},
[3] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}},
[4] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}},
[5] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}},
[6] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}},
[7] = {{x = x, y = y, z = z}, {x = x, y = y, z = z}},
}
Edit
Fiz de uma maneira mais simples...
local maxFloor = 7
local minFloor = 2
function onUse(cid, item, fromPosition, itemEx, toPosition)
local pos_ = getThingPos(cid)
if pos_.z < maxFloor and pos_.z < minFloor then
if item.actionid == 4912 then
doTeleportThing(cid, {x = pos_.x, y = pos_.y, z = pos_.z + 1})
doSendMagicEffect({x = pos_.x, y = pos_.y, z = pos_.z + 1}, 28)
doPlayerSendTextMessage(cid, 25, "Voce desceu um andar.")
elseif item.actionid == 4913 then
doTeleportThing(cid, {x = pos_.x, y = pos_.y, z = pos_.z - 1})
doSendMagicEffect({x = pos_.x, y = pos_.y, z = pos_.z - 1}, 28)
doPlayerSendTextMessage(cid, 25, "Voce subiu um andar.")
end
else
doPlayerSendCancel(cid, "Voce ja esta no andar maximo!")
end
return true
end
Registra no actions.xml os actionIDs 4912 e 4913. Na alavanca de subir andar vc bota 4913 e na de descer vc bota 4912.
maxFloor é o andar máximo q o cara pode ir
minFloor é o andar mínimo q o cara pode ir
Editado Abril 10 por Killua





info
Grupo: Campones
Registrado: 27/09/13
Posts: 18
Reputação: +1
Char no Tibia: Delta Force
Olá galera
Vim aqui pedir uma ajuda a vocês. Um script de elevador, que fará o seguinte:
Basicamente o número "1" seria a posição que o jogador deveria estar para subir.
O número "2" é a alavanca (troquei a sprite pra ficar mais bonito), que ao clicar iria subir para o andar 2, e lá teria outra alavanca que ao clicar subiria pro andar 3, e assim por diante, são 7 andares, então quando chegar no sétimo andar quando o player clicar na alavanca novamente iria descer para o 6, depois o 5, e assim por diante. Se for preciso pode usar duas alavancas também.
Quem quiser melhorar a ideia como por exemplo, escolher o número do andar que queira ir, seria uma boa também.
Obrigado a todos!