Ir para conteúdo
  • 0

5 Item em x location 1 Alavanca


Matador18

Pergunta

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

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

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

  • 0

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

  • 0

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

  • 0

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

Link para o comentário
Compartilhar em outros sites

  • 0

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

  • 0

 

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

  • 0

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

  • 0

O ID do item.

 

Vou ir dormir agora, esse último script fiz rapidin, e com base num outro script do fórum, talvez não funcione... Caso dê erro no distro, não esqueça de postá-lo. E se alguém experiente ae quiser ajudar, ou até mesmo um iniciante (como eu), melhor ainda.

Editado por zipter98
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...