Ir para conteúdo
  • 0

Alavanca Que Teletransporta Com Item


ewertonsilva157

Pergunta

Olá gente, estou pedindo um script para que minha quest rpg dê inicio pois precizo do seguinte script.

 

 

 

Ao pisar no sqm, colocar o frost charm em cima do table, puxar a alavanca e teletransportar para frente do table.

 

 

 

se nao tiver o frost charm. nao poderá passar e a seguinte mensagem aparecerá: Você nao tem o item necessário

 

SS de como séria e as coordenadas para serem usadas:

 

 

tibiapm.png

 

 

Desculpe por colocar em ingles, se eu colocasse tudo em portugues iria ficar mt grande .-. Obg des de já.

 

 

 

+Rep pra quem me ajudar '-'

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Continua sem funcionar =/ Eu puxo a alavanca e ela não faz nenhum efeito (a não ser mudar a posição), Estou tentando procurar em outros tópicos mais nenhum funciona, faço tudo certo, já mudei o Unique Id, coloquei ele na alavanca e nao funciona :S eu coloco o item em cima da pedrinha e nao funciona...

 

Você mencionou ali em cima, que so funciona item Agrupável, Aqui no 8.6 o item 2700 é uma árvore.. troquei o id para gp. continuou na mesma.

 

 

Eu fiz o seguinte:

 


  • local config = {

  • PLAYER_POS = {x = 167, y = 54, z = 7},

  • TABLE_POS = {x = 168, y = 54, z = 7},

  • TELEPORT_TO = {x = 169, y = 54, z = 7},

  • ITEM_ID = 2148, -- id do item a ser removido, abaixo é a quantidade

  • ITEM_COUNT = 1, -- só vai funcionar se o item for agrupável

  • }

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

  • local I = getTileItemById(config.TABLE_POS, config.ITEM_ID)

  • if I.uid <= 7111 then

  • return doPlayerSendCancel(cid, "Você não tem o item necessário.")

  • end

  • local count = I.type == 0 and 1 or I.type

  • if count < config.ITEM_COUNT then

  • return doPlayerSendCancel(cid, "Você não tem a quantidade suficiente do item!")

  • end

  • doRemoveItem(I.uid, config.ITEM_COUNT or 1)

  • doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)

  • doTeleportThing(cid, config.TELEPORT_TO)

  • doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)

  • return doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)

  • end
  • Eu nao entendo muito sobre esses scripts :S eu sempre me confundo com tudo, entendo um pouco de ingles.. mas nao é lá uma coisa grande :S
  • Eu tentei também buscar outro script. e de propósito coloquei um Unique id que ja foi usado. Ai eu fiz a quest. a alavanca funfou certo e pa.. troquei o unique id. e fui lá na alavanca não deu para teletransportar.. mais a alavanca mexia normal :Ss não sei que porra é essa que não ta funfando velho como dito: Eu nao sei mexer mt em scripts.. se vc explicasse onde eu deveria mudar e o que deveria colocar eu acho que daria certo, eu mexo com scripts de npc e eu consigo de boa so de alavanca que n da certo.. se eu colocar 1 teleport vai ficar mt easy.. e nao teria 1 pingo de rpg ;x com essa alavanca, eu criei um npc que contará uma historia e voce da um item em troca do que sera usado na alavanca... o npc funciona, oq n funfa é a alavanca, pois ela mexe mais nao teletransporta '-'

Link para o comentário
Compartilhar em outros sites

  • 0

cara, você tem que configurar o id do item alterando o campo ali ITEM_ID pro id que você quer, o 2700 foi só um nº qualquer que escrevi

o ITEM_COUNT só é válido se o item for agrupável, porque se ele não for agrupável, vai remover apenas 1 (óbvio), mas se você quiser que reomva 50 gps por exemplo, se o cara colocar 80, vai remover 50 e vão sobrar 30.

 

não é unique id que passei pra você, falei pra colocar por actionid, também funcionaria por unique id, mas a tag que eu te passei é por action id.

no map editor tem como colocar action id e unique id, são 2 coisas diferentes, vê se não dá nenhum erro no console, principalmente na hora de carregar o script, você tem que subir um pouco a barra de rolagem pra ver se não apareceu nenhum erro.

 

edit:

 

acabei de testar aqui e está 100%

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

  • 0

Eu tenho esse aqui, que tira o item da backpack do player... além de ser mais seguro, foi a unica coisa que consegui....

Ah como eu n sei o id do item que vc quer que tira, ta la marcado em negrito:

 

 

local positions = {

{from = {x = 167, y = 54, z = 7}, to = {x = 169, y = 54, z = 7}}, -- from é aonde checa, to é pra onde teleporta

 

}

local removeItemId = 2345 -- id do item a ser removido

local removeItemCount = 1 -- quantidade do item a ser removido

 

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

 

local playersWithoutItem, readyToGo, missing = {}, true, false

 

for _, pos in pairs (positions) do

local creature = getTopCreature(pos.from).uid

if not isCreature(creature) or not isPlayer(creature) then

doSendMagicEffect(pos.from, CONST_ME_POFF)

missing = true

readyToGo = false

elseif getPlayerItemCount(creature, removeItemId) < removeItemCount then

table.insert(playersWithoutItem, creature)

doSendMagicEffect(pos.from, CONST_ME_POFF)

readyToGo = false

else

doSendMagicEffect(pos.from, 13)

end

end

 

if not readyToGo then

local str = ""

if missing then

str = "São necessários "..#positions.." jogadores para puxar a alavanca."

elseif #playersWithoutItem > 0 then

local s = #playersWithoutItem == 1 and "" or "s"

local es = #playersWithoutItem == 1 and "" or "es"

local don = #playersWithoutItem == 1 and "doesn't" or "don't"

local e = #playersWithoutItem == 1 and "e" or "ê"

str = "O"..s.." jogador"..es.." a seguir não t"..e.."m os itens necessários:\n\n"

for _, id in pairs (playersWithoutItem) do

str = str .. getCreatureName(id) .. "\n"

end

end

doPlayerPopupFYI(cid, str)

return true

else

for _, pos in pairs (positions) do

local creature = getTopCreature(pos.from).uid

doPlayerRemoveItem(creature, removeItemId, removeItemCount)

doSendMagicEffect(pos.from, CONST_ME_TELEPORT)

doTeleportThing(creature, pos.to, false)

addEvent(doSendMagicEffect, 50, pos.to, CONST_ME_TELEPORT)

end

doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)

end

 

return true

end

Link para o comentário
Compartilhar em outros sites

  • 0

Deeeu certo :D desculpa a demora cara :D

 

 

é qui meu microfone deu pau aqui ai tive que arrumar...

 

 

fiz o que o bruno disse, trocar Unique lá e pa... troquei e funfou, qd eu vi a parada me teletransportando Cara eu fiquei de boca aberta... uma alegria inesplicavel OKPASOEKPASKPOEKPOASKOPEASOPKEPKO vlw caraaa :D

 

 

+ REP ae bruno... pela boa vontade do gui.. amanha dou 1 pra ele tb

 

Voltando aqui pra da REP+ ai pro gui :D Obrigado ae !

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...