MA
pedido

5 Item em x location 1 Alavanca

Por Matador18, 18 de out. de 2013 em Scripts

resolvido
otserv
tibia
18
1.4k
Matador18M
18 de outubro de 2013 às 19:21

Fala ae Galera XTIBIANA.

Assim queria uma alavanca que puxada some os 5 item que estão em Blocos que estao na em x position frente e Quando puxada com os items encima some os items e aparece um portal em x location.

 

SS

Alavanca:

post-360581-0-65724000-1382134763_thumb.png

 

Teleport:

post-360581-0-42265800-1382134894.png

 

Agradeço deis de Já

Guh Lourenco

zipter98Z
18 de outubro de 2013 às 20:59

Eu peguei uma parte de um script do brun123 e tentei dar uma modificada pra aparecer o tp e talz, mas não sei se vai funcionar mesmo :x se quiser o link do tópico q o brun postou pra ver se consegue modificar melhor ao seu gosto, tae: http://www.xtibia.com/forum/topic/197522-alavanca-que-sacrifica-item-e-faz-sumonar-monstro/

Se não funcionar, poste o erro que der no console. E se tiver algum erro no script (q eu fiz rapidin aqui), e alguém reparar, comente aqui sobre ele, plz e.e

OBS: Não testei...

 

Fiz 3 tentativas aqui, não testei... se as 3 não funcionar, então, melhor esperar alguém experiente te ajudar...

 

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

local items = {
pos1 = {x=100, y=100, z=7}, stackpos = 1}, --Posição do item nos blocos...
pos2 = {x=100, y=100, z=7}, stackpos = 1},
pos3 = {x=100, y=100, z=7}, stackpos = 1},
pos4 = {x=100, y=100, z=7}, stackpos = 1},
pos5 = {x=100, y=100, z=7}, stackpos = 1},
}
local cfg = {
tp1 = {x=xxx, y=yyy, z=zzz}, --Para onde o player será teleportado.
tp2 = {x=xxx, y=yyy, z=zzz}, --Onde irá surgir o teleport.
}
local i = getTileItemById(items.pos1, id do item).uid --Troque id do item pelo ID do item que será 'sacrificado'
local a = getTileItemById(items.pos2, id do item).uid
local b = getTileItemById(items.pos3, id do item).uid
local c = getTileItemById(items.pos4, id do item).uid
local d = getTileItemById(items.pos5, id do item).uid
if i < 1 then
doPlayerSendCancel(cid, "Algum item está faltando.")
elseif a < 1 then
doPlayerSendCancel(cid, "Algum item está faltando.")
elseif b < 1 then
doPlayerSendCancel(cid, "Algum item está faltando.")
elseif c < 1 then
doPlayerSendCancel(cid, "Algum item está faltando.")
elseif d < 1 then
doPlayerSendCancel(cid, "Algum item está faltando.")
end
doRemoveItem(getThingFromPos(items.pos1]).uid, 1)
doRemoveItem(getThingFromPos(items.pos2).uid, 1)
doRemoveItem(getThingFromPos(items.pos3).uid, 1)
doRemoveItem(getThingFromPos(items.pos4).uid, 1)
doRemoveItem(getThingFromPos(items.pos5).uid, 1)
doCreateTeleport(1387, tp1, tp2)
return true

end

 

 

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

local items = {
pos1 = {x=100, y=100, z=7, stackpos = 1}, --Posição do item nos blocos
pos2 = {x=100, y=100, z=7, stackpos = 1},
pos3 = {x=100, y=100, z=7, stackpos = 1},
pos4 = {x=100, y=100, z=7, stackpos = 1},
pos5 = {x=100, y=100, z=7, stackpos = 1},
}
local cfg = {
tp1 = {x=xxx, y=yyy, z=zzz}, --Para onde o player será teleportado.
tp2 = {x=xxx, y=yyy, z=zzz}, --Onde irá surgir o teleport.
}
local i = getTileItemById(items.pos1, id do item).uid --Troque id do item pelo ID do item que será 'sacrificado'
local a = getTileItemById(items.pos2, id do item).uid
local b = getTileItemById(items.pos3, id do item).uid
local c = getTileItemById(items.pos4, id do item).uid
local d = getTileItemById(items.pos5, id do item).uid
if i < 1 then
doPlayerSendCancel(cid, "Algum item está faltando.")
elseif a < 1 then
doPlayerSendCancel(cid, "Algum item está faltando.")
elseif b < 1 then
doPlayerSendCancel(cid, "Algum item está faltando.")
elseif c < 1 then
doPlayerSendCancel(cid, "Algum item está faltando.")
elseif d < 1 then
doPlayerSendCancel(cid, "Algum item está faltando.")
end
doRemoveItem(getThingFromPos(items.pos1).uid, 1)
doRemoveItem(getThingFromPos(items.pos2).uid, 1)
doRemoveItem(getThingFromPos(items.pos3).uid, 1)
doRemoveItem(getThingFromPos(items.pos4).uid, 1)
doRemoveItem(getThingFromPos(items.pos5).uid, 1)
doCreateTeleport(1387, tp1, tp2)
return true

end

 

 

EDIT: Retirei 1 das 'tentativas', já tava na cara q ia bugar..

Editado Outubro 19 por zipter98

Matador18M
18 de outubro de 2013 às 22:46

é aonde isso?

zipter98Z
18 de outubro de 2013 às 22:48

data/actions/scripts, já que você precisa clicar numa alavanca, certo? O xml, suponho que você saiba fazer...

Matador18M
18 de outubro de 2013 às 23:13

Nao Funciono

Aparece Isso:

post-360581-0-16563500-1382148913_thumb.png

Editado Outubro 18 por Matador18

zipter98Z
18 de outubro de 2013 às 23:43

Editei meu comentário ali em cima com 3 'tentativas'. No próprio script mostra o que você deve configurar.

Drk ShadowD
19 de outubro de 2013 às 00:06

nenhum dos 3 da certo '-'

 

no jeito 1 apareçe:

 

[19/10/2013 00:02:52] [Error - LuaScriptInterface::loadFile] data/actions/scripts/questloca.lua:5: unexpected symbol near '='
[19/10/2013 00:02:52] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/questloca.lua)
[19/10/2013 00:02:52] data/actions/scripts/questloca.lua:5: unexpected symbol near '='
no 2:
[19/10/2013 00:04:33] [Error - LuaScriptInterface::loadFile] data/actions/scripts/questloca.lua:5: unexpected symbol near '='
[19/10/2013 00:04:33] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/questloca.lua)
[19/10/2013 00:04:33] data/actions/scripts/questloca.lua:5: unexpected symbol near '='
e no 3:
[19/10/2013 00:05:25] [Error - LuaScriptInterface::loadFile] data/actions/scripts/questloca.lua:6: unexpected symbol near '='
[19/10/2013 00:05:25] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/questloca.lua)
[19/10/2013 00:05:25] data/actions/scripts/questloca.lua:6: unexpected symbol near '='
'-'
zipter98Z
19 de outubro de 2013 às 00:16

/\ vou tentar fazer 1 coisa aqui pra ver se corrige, jaja edito.

 

substituam o local items = {

blablabla

} q fica no começo por

local items = {
pos1 = {x=100, y=100, z=7}, 
pos2 = {x=100, y=100, z=7}, 
pos3 = {x=100, y=100, z=7}, 
pos4 = {x=100, y=100, z=7}, 
pos5 = {x=100, y=100, z=7},
}

E configurem tudo certo...

Editado Outubro 19 por zipter98

Drk ShadowD
19 de outubro de 2013 às 00:20

ja pode testar as novas tentativas ? '-'

zipter98Z
19 de outubro de 2013 às 00:27

Já, e aproveite pra também postar os novos erros e.e

 

legal nome do seu arquivo, questloca '-'

Editado Outubro 19 por zipter98

Matador18M
19 de outubro de 2013 às 01:15

Bug nessa aki:

 

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

local items = {
pos1 = {x=100, y=100, z=7, stackpos = 1}, --Posição do item nos blocos
pos2 = {x=100, y=100, z=7, stackpos = 1},
pos3 = {x=100, y=100, z=7, stackpos = 1},
pos4 = {x=100, y=100, z=7, stackpos = 1},
pos5 = {x=100, y=100, z=7, stackpos = 1},
}

local cfg = {
tp1 = {x=xxx, y=yyy, z=zzz}, --Para onde o player será teleportado.
tp2 = {x=xxx, y=yyy, z=zzz}, --Onde irá surgir o teleport.
}

local i = getTileItemById(items.pos1, id do item).uid --Troque id do item pelo ID do item que será 'sacrificado'
local a = getTileItemById(items.pos2, id do item).uid
local b = getTileItemById(items.pos3, id do item).uid
local c = getTileItemById(items.pos4, id do item).uid
local d = getTileItemById(items.pos5, id do item).uid

if i < 1 then
doPlayerSendCancel(cid, "Algum item está faltando.")
elseif a < 1 then
doPlayerSendCancel(cid, "Algum item está faltando.")
elseif b < 1 then
doPlayerSendCancel(cid, "Algum item está faltando.")
elseif c < 1 then
doPlayerSendCancel(cid, "Algum item está faltando.")
elseif d < 1 then
doPlayerSendCancel(cid, "Algum item está faltando.")
end

doRemoveItem(getThingFromPos(items.pos1).uid, 1)
doRemoveItem(getThingFromPos(items.pos2).uid, 1)
doRemoveItem(getThingFromPos(items.pos3).uid, 1)
doRemoveItem(getThingFromPos(items.pos4).uid, 1)
doRemoveItem(getThingFromPos(items.pos5).uid, 1)
doCreateTeleport(1387, tp1, tp2)
return true
end

 

 

ele some ate as Bancadas

zipter98Z
19 de outubro de 2013 às 01:34

Fiz aqui duas tentativas muxo locas. Poste o erro que vai dar (provável) e.e

function onUse(cid, item, frompos, item2, topos)
 
local items = {
[iddoitem] = {pos = {x=100, y=100, z=7}}, --Posição do item nos blocos
[iddoitem] = {pos = {x=100, y=100, z=7}},
[iddoitem] = {pos = {x=100, y=100, z=7}},
[iddoitem] = {pos = {x=100, y=100, z=7}},
[iddoitem] = {pos = {x=100, y=100, z=7}},
}
 
local cfg = {
tp1 = {x=xxx, y=yyy, z=zzz}, --Para onde o player será teleportado.
tp2 = {x=xxx, y=yyy, z=zzz}, --Onde irá surgir o teleport.
}
 
local test = items[item.itemid]
local i = getTileItemById(test.pos, test).uid 
 
if i == 0
doPlayerSendCancel(cid, "Algum item está faltando.")
return true
end
 
doRemoveItem(getThingFromPos(test.pos).uid, 1)
doCreateTeleport(1387, tp1, tp2)
return true
end

Segunda:

function onUse(cid, item, frompos, item2, topos)
 
local items = {
[iddoitem] = {pos = {x=100, y=100, z=7, stackpos = 1}}, --Posição do item nos blocos
[iddoitem] = {pos = {x=100, y=100, z=7, stackpos = 1}},
[iddoitem] = {pos = {x=100, y=100, z=7, stackpos = 1}},
[iddoitem] = {pos = {x=100, y=100, z=7, stackpos = 1}},
[iddoitem] = {pos = {x=100, y=100, z=7, stackpos = 1}},
}
 
local cfg = {
tp1 = {x=xxx, y=yyy, z=zzz}, --Para onde o player será teleportado.
tp2 = {x=xxx, y=yyy, z=zzz}, --Onde irá surgir o teleport.
}
 
local test = items[item.itemid]
local i = getTileItemById(test.pos, test).uid 
 
if i == 0
doPlayerSendCancel(cid, "Algum item está faltando.")
return true
end
 
doRemoveItem(getThingFromPos(test.pos).uid, 1)
doCreateTeleport(1387, tp1, tp2)
return true
end

Coloque ID de items diferentes, para testar...

Editado Outubro 19 por zipter98

Matador18M
19 de outubro de 2013 às 01:46

 

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

local items = {
[iddoitem] = {pos = {x=100, y=100, z=7}}, --Posição do item nos blocos
[iddoitem] = {pos = {x=100, y=100, z=7}},
[iddoitem] = {pos = {x=100, y=100, z=7}},
[iddoitem] = {pos = {x=100, y=100, z=7}},
[iddoitem] = {pos = {x=100, y=100, z=7}},
}

local cfg = {
tp1 = {x=xxx, y=yyy, z=zzz}, --Para onde o player será teleportado.
tp2 = {x=xxx, y=yyy, z=zzz}, --Onde irá surgir o teleport.
}

local test = items[item.itemid]
local i = getTileItemById(test.pos, test).uid

if i == 0
doPlayerSendCancel(cid, "Algum item está faltando.")
return true
end

doRemoveItem(getThingFromPos(test.pos).uid, 1)
doCreateTeleport(1387, tp1, tp2)
return true

end

 

 

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

local items = {
[iddoitem] = {pos = {x=100, y=100, z=7, stackpos = 1}}, --Posição do item nos blocos
[iddoitem] = {pos = {x=100, y=100, z=7, stackpos = 1}},
[iddoitem] = {pos = {x=100, y=100, z=7, stackpos = 1}},
[iddoitem] = {pos = {x=100, y=100, z=7, stackpos = 1}},
[iddoitem] = {pos = {x=100, y=100, z=7, stackpos = 1}},
}

local cfg = {
tp1 = {x=xxx, y=yyy, z=zzz}, --Para onde o player será teleportado.
tp2 = {x=xxx, y=yyy, z=zzz}, --Onde irá surgir o teleport.
}

local test = items[item.itemid]
local i = getTileItemById(test.pos, test).uid

if i == 0
doPlayerSendCancel(cid, "Algum item está faltando.")
return true
end

doRemoveItem(getThingFromPos(test.pos).uid, 1)
doCreateTeleport(1387, tp1, tp2)
return true
end

 

Nenhuma das Duas deu.Essas aki nao deram bug mais tambem nao deram certo,elas nao acontecem nada

Editado Outubro 19 por Matador18

zipter98Z
19 de outubro de 2013 às 01:51

E a outra?

 

poha, se ao menos desse um bug no console ia ser mais fácil...

 

teste a outra q postei e essa (deve dar erro também, sou noob em scripting, então fica meio complicado):

function onUse(cid, item, frompos, item2, topos)
 
local items = {        --id, pos
{xxx, {x = xxx, y = yyy, z = zzz, stackpos=1}},
{zzz, {x = xxx, y = yyy, z = zzz, stackpos=1}},
{yyy, {x = xxx, y = yyy, z = zzz, stackpos=1}},
{aaa, {x = xxx, y = yyy, z = zzz, stackpos=1}},
{bbb, {x = xxx, y = yyy, z = zzz, stackpos=1}}
}
 
local cfg = {
tp1 = {x=xxx, y=yyy, z=zzz}, --Para onde o player será teleportado.
tp2 = {x=xxx, y=yyy, z=zzz}, --Onde irá surgir o teleport.
}
 
for i = 1, #items do
if getTileItemById(items[i][2], items[i][1]).uid > 0 then
doRemoveItem(getThingfromPos(items[i][2]).uid,1)
doCreateTeleport(1387, tp1, tp2)
else
return doPlayerSendCancel(cid, "testando...")
end
end
return true
end

Poste o erro que der no console.

Editado Outubro 19 por zipter98

Matador18M
19 de outubro de 2013 às 02:07
Esse bbb é para pór oq