Ir para conteúdo

Action Que Ao Puxar Alavanca Desintegre Itemx E Set Player Storagex


Posts Recomendados

Meu server tem uma quest que, em 1 das missoes vc deve pegar um rust remover colocar numa bancada ao lado de uma alavanca e ao puxar a alavanca,assim o rust remover some aparecendo a mensagem "voce desinferrujou as chaves"e e adicionada uma storage no player,caso alguem puxe alavanca sem o rust no localx aparecera a mensagem "coloque o rust remover no compartimento".

 

Ficaria imensamente grato caso algum scripter podesse me ajudar. aki vai o script q eu usava na versao 8.4:

 

Obs: este escript e o mesmo do thyrania 8.4 usado na djin quest na parte q vc tem q sacrificar um lampp, porem agora quando eu coloco o rust no lugar, ao puxar a alavanca tenho a mensagem q o rust nao se encontra no lugar certo.

 

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

levers = {x=1036, y=1242, z=7, stackpos=2}
lever1 = getThingfromPos(levers)
plever = {x=1036, y=1241, z=7, stackpos=255}

     if item.itemid == 1945 and lever1.itemid == 9930 then
     doRemoveItem(lever1.uid,1)
     doPlayerSendTextMessage(cid,22,"Você desenferrujou as chaves.")
     doSendMagicEffect(plever,2)
     setPlayerStorageValue(cid,2239,1)
     doTransformItem(item.uid,item.itemid+1)
     elseif item.itemid == 1946 then
     doTransformItem(item.uid,item.itemid-1)
     else
     doPlayerSendTextMessage(cid,22,"Ponha o rusty remover no compartimento.")
     doSendMagicEffect(plever,2)
     end

return 1
end

um pequeno erro no script.

 

 

 

deveria ser 253

 

 

 

Obvio que colokei as coordenas corretas, como eu disse antes funcionava perfeitamente no 8.4. E Marcryzius fiz esta alteraçao q vc falo e continua dando o mesmo erro, antes de eu trocar a versao funcionava direitinho, porem agora apesar de nao funcionar n da nenhum erro no console, sendo masi dificil ainda identificar o erro ;/.Mas valeu Marcryzius, so seu fã cara Thx

o problema e na tag xml do script.

 

nas versões mais novas ela foi modificada ficando desa forma.

 

<action uniqueid="xxxx" event="script" value="script.lua"/>
o problema e na tag xml do script.

 

nas versões mais novas ela foi modificada ficando desa forma.

 

 

 

Mesmo problema, desisto bro valeu pela atençao.

ve esse aki se funciona

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

 

rust = {x=1036, y=1242, z=7, stackpos=255}

pos1 = getThingfromPos(rust)

 

if item.itemid == 1945 and pos1.itemid == 9930 then

doRemoveItem(pos1.uid,1)

doPlayerSendTextMessage(cid,22,"Você desenferrujou as chaves.")

doSendMagicEffect(rust,2)

setPlayerStorageValue(cid,2239,1)

doTransformItem(item.uid,item.itemid+1)

elseif item.itemid == 1946 then

doTransformItem(item.uid,item.itemid-1)

else

doPlayerSendTextMessage(cid,22,"Ponha o rusty remover no compartimento.")

doSendMagicEffect(rust,2)

end

 

return 1

end

 

eu acho que vai certinho. ve aí e fala depois.

flw

Editado por apocarai
ve esse aki se funciona

 

 

eu acho que vai certinho. ve aí e fala depois.

flw

 

 

Continuando dizendo q o rust nao esta no local certo =0

 

Mas valeu pela atençao thx.

Troque o script por esse(não esqueça de configurar e arrumar as posições):

function onUse(cid, item) 
--Config
--Posição do item que será removido
 local itemPos = {x=1036, y=1242, z=7, stackpos=255}
--ID do item que deve estar na posição
 local itemID = 9930
--Mensagem enviada ao player se a ação obter sucesso
 local doneMsg = "Você desenferrujou as chaves."
--Mensagem enviada ao player se a ação falhar
 local failMsg = "Ponha o rusty remover no compartimento."
--Storage value e seu valor que será setado
 local storageValue = {storage = 2239, value = 1}
--[Config
if item.itemid == 1945 then
  doTransformItem(item.uid, 1946)
else
  doTransformItem(item.uid, 1945)
end
if getThingFromPos(itemPos).itemid == itemID then
  if item.itemid == 1945 then
  doTransformItem(item.uid, 1946)
else
  doTransformItem(item.uid, 1945)
end
  doRemoveItem(getThingFromPos(itemPos).uid, 1)
  doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, doneMsg)
  doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
	  doPlayerSetStorageValue(cid, storageValue.storage, storageValue.value)
else
  doPlayerSendCancel(cid, failMsg)
  doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
end
return true
end

 

 

Marcryzius, meu jovem, a stackpos 253 identifica a top creature da posição, e não o top item.

Editado por iRockStar
Troque o script por esse(não esqueça de configurar e arrumar as posições):

OMG FUNCIONOU!! Thx mann

04:31 Você desenferrujou as chaves.

não tinha observado que o plever no script do topico não estava sendo usada pra nada.

Editado por Marcryzius
Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...