Ir para conteúdo

Pergunta

Gostaria que me ajudassem a adicionar um piso, nessa função, lembrando versão do 10.90 TFS 1.2 !!! Aí é o seguinte, nesse script você quebra a pedra e depois de um certo tempo aparece uma outra pedra no lugar da que foi quebrada, porém quando aparece a pedra, também aparece um buraco preto e eu quero adicionar um piso para que o script tenha looping, sem o piso o item de pedra não da spawn.

Explicando melhor:
1º o chão tem a pedra normal
2º bati na pedra e ela quebrou retornando gold nuggets
3º a pedra vai spawnar!
4º mas ela volta com um buraco preto nela.
5º quando quebro a pedra com esse buraco ela não volta!!!!
6º preciso quebrar a pedra e adicionar um chão para ela novamente quando chegar na função doTransformItem eu creio que o chão fica preto por causa disso e se eu remover essa função a pedra não volta e não aparece nada no chão!


Veja na imagem!!!!

  Mostrar conteúdo oculto

 

function event_rockGrow(rockPos, old_id)	local rock =  (getThingfromPos(rockPos).uid)	doTransformItem(rock, old_id)	doSendMagicEffect(rockPos, 3)end


Script original: 
  

  Mostrar conteúdo oculto

 

sssssssss.png.e6cc8548efdcb7bfb4c552da3231cadb.png

Editado por eduardo0001
explicando melhor
Link para o comentário
https://xtibia.com/forum/topic/241328-adicionar-um-ch%C3%A3otile-nesse-script/
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

O que está acontecendo é o seguinte:

Está transformando o chao em pedra e por isso o chao deixa de existir ficando preto.

 

Nessa parte do script:

  Citar

function event_rockGrow(rockPos, old_id)
local rock = getThingFromPos(rockPos).uid

Expand  

 

Antes da variavel rock, adiciona isso:

  Citar

rockPos.stackpos = 1

Expand  

 

Agora ele vai pegar o item que estiver acima do chao.

Link para o comentário
https://xtibia.com/forum/topic/241328-adicionar-um-ch%C3%A3otile-nesse-script/#findComment-1698803
Compartilhar em outros sites

  • 0
  Em 07/07/2016 em 11:51, Poccnn disse:

O que está acontecendo é o seguinte:

Está transformando o chao em pedra e por isso o chao deixa de existir ficando preto.

 

Nessa parte do script:

 

Antes da variavel rock, adiciona isso:

 

Agora ele vai pegar o item que estiver acima do chao.

Expand  

Antes da variável rock você fala entre function e local? Observe abaixo:

 

  Mostrar conteúdo oculto

 

 

 

Editado por eduardo0001
Link para o comentário
https://xtibia.com/forum/topic/241328-adicionar-um-ch%C3%A3otile-nesse-script/#findComment-1698837
Compartilhar em outros sites

  • 0

Isso demonstra que existe outro erro, mas um ja foi resolvido.

O que voce tem que fazer agora é o seguinte: verifica se ele esta encontrando algum item para ser transformado, caso nao, modifica a stackpos para uma acima e tenta denovo até encontrar o item, ao final, caso nao encontre o item, verifique sse a posição esta correta.

Link para o comentário
https://xtibia.com/forum/topic/241328-adicionar-um-ch%C3%A3otile-nesse-script/#findComment-1698889
Compartilhar em outros sites

  • 0
  Em 08/07/2016 em 11:39, Poccnn disse:

Isso demonstra que existe outro erro, mas um ja foi resolvido.

O que voce tem que fazer agora é o seguinte: verifica se ele esta encontrando algum item para ser transformado, caso nao, modifica a stackpos para uma acima e tenta denovo até encontrar o item, ao final, caso nao encontre o item, verifique sse a posição esta correta.

Expand  

@Poccnn Acabei de tentar colocando:

 

function event_rockGrow(rockPos, old_id)
	rockPos.stackpos = TESTEI -2,-1, 0, 1, 2, 3
	local rock =  (getThingfromPos(rockPos).uid)
	doTransformItem(rock, old_id)
	doSendMagicEffect(rockPos, 3)
end

O único que faz a pedra aparecer é o ZERO mas fica com buraco.
no código original tem umas linhas que eu removi pois estavam dando erro.
Esta função "doItemSetAttribute" qual o objetivo dela? Você conhece?
não funciona "getItemNameById"

  Mostrar conteúdo oculto


 

Editado por eduardo0001
Link para o comentário
https://xtibia.com/forum/topic/241328-adicionar-um-ch%C3%A3otile-nesse-script/#findComment-1698890
Compartilhar em outros sites

  • 0

O objetivo dessa função é modificar ou adicionar atributos ao item; como no caso o nome do item foi modificado.

 

Eu uso versao 0.3.6, portanto nao saberia dizer o que vai servir ou nao na versao que tu usas. 

Pelo visto, esse script é de mineração ou algo do tipo. Ele ao minerar um item, transforma-se em outro item de id 3610.

Pergunto-lhe: quando da execução ele transforma o item nesse de id 3610? E quando retorna para o antigo id é ai que o tile fica preto?

 

Faz a seguinte modificacao dessa funcao event_rockGrow

  Citar

function event_rockGrow(rockPos, old_id)

rockPos.stackpos = 1

 local rock = getThingfromPos(rockPos)

if rock.itemid == 3610 then

doTransformItem(rock.uid, old_id)

else

doCreateItem(old_id,rockPos)

end

doSendMagicEffect(rockPos, 3)

end

Expand  

 

Link para o comentário
https://xtibia.com/forum/topic/241328-adicionar-um-ch%C3%A3otile-nesse-script/#findComment-1698893
Compartilhar em outros sites

  • 0

@Poccnn Estou editando o post, na verdade foi um erro de observação, funcionou com esse código que você me passou exceto pela função "doCreateItem"  então apenas removi a função "else" . Muito obrigado pela ajuda!!!

function event_rockGrow(rockPos, old_id)
rockPos.stackpos = 1
 local rock = getThingfromPos(rockPos)
if rock.itemid == 3610 then
doTransformItem(rock.uid, old_id)
else
doCreateItem(old_id,rockPos)
end
doSendMagicEffect(rockPos, 3)
end

 

Editado por eduardo0001
Melhorando a explicação
Link para o comentário
https://xtibia.com/forum/topic/241328-adicionar-um-ch%C3%A3otile-nesse-script/#findComment-1698899
Compartilhar em outros sites

×
×
  • Criar Novo...