Ir para conteúdo
  • 0

allanzinh

Pergunta

Oi Gente Do Xtibia Estou presisando de um Script que quando o player clicar no item aparecece um pokemon e o item mudase Tipo clica em um vazo e aparece tal pokemon e depois que o player clico no vazo o vazo quebra

 

 

 

 

Ajudo ? Levo Rep +++

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Oi Gente Do Xtibia Estou presisando de um Script que quando o player clicar no item aparecece um pokemon e o item mudase Tipo clica em um vazo e aparece tal pokemon e depois que o player clico no vazo o vazo quebra

 

 

 

 

Ajudo ? Levo Rep +++

Olá,

Experimenta isso:

Crie o arquivo monstroporitem.lua na pasta Data/Actions/Scripts e adicione o seguinte código:

local monstro = "Demon" --Nome do monstro que será criado
local createpos = {x = 200, y = 200, z = 7} --Local onde o monstro vai ser criado

function onUse(cid, item, fromPosition, itemEx, toPosition)
	doCreateMonster(monstro, createpos)
	doRemoveItem(item.uid)
        return true
end

Onde a variável monstro é o nome do monstro que será criado e a variável createpos é a posição no mapa onde o monstro será criado.

Agora adicione a seguinte TAG no Actions.xml:

 

<action itemid="xxxx" script="monstroporitem.lua"/>

Onde o xxxx é o id do item que ira sumonar o monstro ao ser clicado.

Testei aqui e funcionou perfeitamente, qualquer problema posta ai que lhe ajudo.

Um grande abraço, boa noite.

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

  • 0
[27/04/2014 16:12:27] [Error - LuaScriptInterface::loadFile] cannot open data/actions/scripts/monstroporitem.lua: No such file or directory

[27/04/2014 16:12:27] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/monstroporitem.lua)

[27/04/2014 16:12:27] cannot open data/actions/scripts/monstroporitem.lua: No such file or directory

ta dando


ese Erro e quando eo clico no item n aparece nada ..

Link para o comentário
Compartilhar em outros sites

  • 0

/\ pelo jeito n criasse o arquivo com o nome de 'monstroporitem.lua' ... e tb no script do cara ali vai remover o item e n mudar o id dele... sem fla q o mais certo eh por actionid/uniqueid e n por itemid na tag...

Link para o comentário
Compartilhar em outros sites

  • 0

Então Slicer vc poderia ajudar ? tipo eo tbm percebi isso que quando eo clicar o item ira sumir e não aparecer outro tipo quebrado .

 

Falta de atenção minha jaah axei o erro . se alguem poder ajudar quando clicar e sumua o pokemon mudace o item eo Agradeceria .

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

  • 0

tas tentando fazer a quest da pxg neh? dos tubos la com pokes dentro... acredito q os tubos voltem ao normal ao fim da quest entao...

local monstro = "Demon" --Nome do monstro que será criado
local toId = 1111 --Id do item quebrado
 
function onUse(cid, item, fromPosition, itemEx, toPosition)
   if item.itemid ~= toId then
      doCreateMonster(monstro, getClosestFreeTile(cid, fromPosition))
      doTransformItem(item.uid, toId)
   end
return true
end

tag:

<action actionid="xxxx" script="yyyy.lua"/>

ve se bota actionid nos tubos e dai bota a actionid q tu boto nos tubos ae na tag no lugar do "xxxx" e tb bota o nome do arquivo q tu crio ali no "yyyy.lua"...

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

  • 0

Olá,

Experimenta isso:

Crie o arquivo monstroporitem.lua na pasta Data/Actions/Scripts e adicione o seguinte código:

local monstro = "Demon" --Nome do monstro que será criado
local createpos = {x = 200, y = 200, z = 7} --Local onde o monstro vai ser criado

function onUse(cid, item, fromPosition, itemEx, toPosition)
	doCreateMonster(monstro, createpos)
	doRemoveItem(item.uid)
        return true
end

Onde a variável monstro é o nome do monstro que será criado e a variável createpos é a posição no mapa onde o monstro será criado.

Agora adicione a seguinte TAG no Actions.xml:

 

<action itemid="xxxx" script="monstroporitem.lua"/>

Onde o xxxx é o id do item que ira sumonar o monstro ao ser clicado.

Testei aqui e funcionou perfeitamente, qualquer problema posta ai que lhe ajudo.

Um grande abraço, boa noite.

Vlws man seo Script Funfo Certinho . levo meo rep+

tas tentando fazer a quest da pxg neh? dos tubos la com pokes dentro... acredito q os tubos voltem ao normal ao fim da quest entao...

local monstro = "Demon" --Nome do monstro que será criado
local toId = 1111 --Id do item quebrado
 
function onUse(cid, item, fromPosition, itemEx, toPosition)
   if item.itemid ~= toId then
      doCreateMonster(monstro, getClosestFreeTile(cid, fromPosition))
      doTransformItem(item.uid, toId)
   end
return true
end

tag:

<action actionid="xxxx" script="yyyy.lua"/>

ve se bota actionid nos tubos e dai bota a actionid q tu boto nos tubos ae na tag no lugar do "xxxx" e tb bota o nome do arquivo q tu crio ali no "yyyy.lua"...

Sim Slicer estou tentando criar ela . o seo Script deo certinho Obrigado sz . só que igual vc falo ela tem que voltar ao normal depois .como eo faço isso ? ><

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

  • 0

eu fiz essa quest pro @stylo... deu moh trampo kk' n tens noçao... e tu vai transformar todos de volta ao termino da quest... vais ter q percorrer a area da quest toda e olhar tile a tile se tem o tubo quebrado, se tiver tu bota ele normal de novo '--' -e n esquece de add o actionId ae da tag denovo kk'-

Link para o comentário
Compartilhar em outros sites

  • 0

Não tem problema se der trabalho Tipo se poder me explicar melhor isso eo agradeço pq como asim eo vo ter que colocar eles normal ? pq o Script depois que clica ele fica quebrado n tem como coloca um tempo nele para voltar ao normal ?

Link para o comentário
Compartilhar em outros sites

  • 0

ter tem.. mas a ideia n eh quebrar todos os tubos do mapa antes do tempo acabar? se os tubos voltarem vai da pra quebrar denovo neh...

-ps: eu n vi videos da quest soh fui fazendo conforme o stylo ia dizendo...-

 

se quiser o script q volta ao normal depois de um tempo achu q isso deve da:

 

local monstro = "Demon" --Nome do monstro que será criado
local toId = 1111 --Id do item quebrado
local time = 30 --Tempo pro tubo voltar ao normal, em segs
 
local function transformBack(pos, breakedId, normalId, actionId)
   local breakedTube = getTileItemById(pos, breakedId).uid
   if breakedTube > 0 then
      doTransformItem(breakedTube, normalId)
      local normalTube = getTileItemById(pos, normalId).uid
      if normalTube > 0 then
         doSetItemActionId(normalTube, actionId)
      end
   end
end
 
function onUse(cid, item, fromPosition, itemEx, toPosition)
   local normalId = item.itemid
   local actionId = item.actionid
   doCreateMonster(monstro, getClosestFreeTile(cid, fromPosition))
   doTransformItem(item.uid, toId)
   addEvent(transformBack, time*1000, fromPosition, toId, normalId, actionId)
return true
end
Link para o comentário
Compartilhar em outros sites

  • 0

 

ter tem.. mas a ideia n eh quebrar todos os tubos do mapa antes do tempo acabar? se os tubos voltarem vai da pra quebrar denovo neh...

-ps: eu n vi videos da quest soh fui fazendo conforme o stylo ia dizendo...-

 

se quiser o script q volta ao normal depois de um tempo achu q isso deve da:

local monstro = "Demon" --Nome do monstro que será criado
local toId = 1111 --Id do item quebrado
local time = 30 --Tempo pro tubo voltar ao normal, em segs
 
local function transformBack(pos, breakedId, normalId, actionId)
   local breakedTube = getTileItemById(pos, breakedId).uid
   if breakedTube > 0 then
      doTransformItem(breakedTube, normalId)
      local normalTube = getTileItemById(pos, normalId).uid
      if normalTube > 0 then
         doSetItemActionId(normalTube, actionId)
      end
   end
end
 
function onUse(cid, item, fromPosition, itemEx, toPosition)
   local normalId = item.itemid
   local actionId = item.actionid
   doCreateMonster(monstro, getClosestFreeTile(cid, fromPosition))
   doTransformItem(item.uid, toId)
   addEvent(transformBack, time*1000, fromPosition, toId, normalId, actionId)
return true
end

Exatamente isso Slicer a quest é tipo asim se tem 20 tubo na sala os player tem que quebrar os 20 para completar a quest dentro de um tempo .como eo não imagino como começa um Script asim e sei que ninguem ira ajudar .

Eo pensei o seguinte coloco um pokemon no tubo que quando ele morrer remove uma parede para a proxima sala e asim vai indo até a sala da recompensa .

Link para o comentário
Compartilhar em outros sites

  • 0

@allanzinh
Obrigado, eu estava meio sem tempo quando postei o script, passei somente o que você pediu, eu não tinha ideia de qual a finalidade do script, pensei que seria algum item que invocaria um monstro e quando você falou "quebrar" eu pensei que o item iria sumir. Agora entendi o que você realmente quer. Um grande abraço e ainda bem que seu problema foi resolvido, lhe ajudarei no que eu puder :]

@Slicer
Mestre como sempre né? Como falei ao Allanzinh, eu postei o script com um pouco de pressa, quando ele falou que o item "quebraria" eu pensei que o item deveria ser destruido, como um item invocador e tal, não tinha a minima ideia do que ele estava planejando por isso fiz por itemid, pois acreditei que todos os itens teriam a mesma função. Obrigado por resolver o problema, o script está excelente como sempre, ganhou um REP :]
Um grande abraço e boa noite.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...