Ir para conteúdo
  • 0

LordVinny

Pergunta

Queria um script de alavanca para que quando eu puxasse a alavanca aparecesse uma escada em tal localização e quando eu puxasse novamente a escada desaparecesse, me indicaram mas não sei edita me digam o que eu tenho que fazer nele para quer funcione, "postem o script e a tag dele juntos." :

 

 

function onUse(cid, item)

 

local starId, starPosition = ?, {x = ?, y = ?, z = ?}

local getStarUid = getTileItemById(starPosition, starId)

 

if getStarUid.uid > 0 then

doRemoveItem(getStarUid.uid, 1)

else

doCreateItem(starId, 1, starPosition)

end

 

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

return true

end

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

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

queststatus = getPlayerStorageValue(cid, 6489)

if item.uid == 8945 and queststatus == -1 or queststatus == 0 then

doPlayerSendTextMessage(cid,22,"Você criou uma escada!.")

doCreateItem(3687, 1 , {x=157, y=88, z=7} ) -- Coloka posição de onde vai apareçer a escada

doSendMagicEffect( {x=157, y=88, z=7}, 30)

setPlayerStorageValue(cid, 6489, 1)

else

queststatus = getPlayerStorageValue(cid, 6489)

if queststatus == 1 then

doRemoveItem(getThingFromPos( {x=157, y=88, z=7, stackpos = 1} ).uid, 1) -- Coloka a mesma posição la de cima

doPlayerSendTextMessage(cid,22,"Você ja realizou está açao!.")

end

end

return 0

end

 

Tag

 

<action uniqueid="8945" event="script" value="alavanca.lua"/> -- no alavanca.lua vc bota o seu script

 

vai no RME (mapa editor) e coloka a unique id 8945 na alavanca

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

  • 0
function onUse(cid, item, frompos, item2, topos)
if item.uid == 8945 then
if getGlobalStorageValue(14354) <= 0 then
doPlayerSendTextMessage(cid,22,"Você criou uma escada!.")
doCreateItem(3687, 1 , {x=157, y=88, z=7} ) -- posição da escada
doSendMagicEffect( {x=157, y=88, z=7}, 30)
setGlobalStorageValue(14354, 1)
else
doRemoveItem(getThingFromPos( {x=157, y=88, z=7, stackpos = 1} ).uid, 1) -- posição da escada
setGlobalStorageValue(14354,-1)
doPlayerSendTextMessage(cid,22,"Você removeu a escada!.")
end
end
return 0
end

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

  • 0

a script que você postou no tópico funciona ok, só substituir isso:

 

local starId, starPosition = ?, {x = ?, y = ?, z = ?}

 

pelo id e posição respectivamente, assim:

 

local starId, starPosition = 3687, {x = 157, y = 88, z = 7}

 

a propósito, a função getThingFromPos retorna uma tabela, então na hora de verificar se a função é diferente de 3687, sempre vai ser verdadeiro e vai criar infinitas escadas naquela posição, também não é bom usar ela, pois se tiver algum player, a getThingFromPos pode retornar as informações do player devido ao stackpos, não tenho certeza, mas acho que nem sempre vai ser 1 o stackpos da escada...

Link para o comentário
Compartilhar em outros sites

  • 0

não sabia worriedsmiley.gif

valeu ai pelo toque brun .

coloquei a escada como um globalStorage .. eu troquei o script .. mas quanto ao stackpos o player não influencia não que eu me lembre o player (ou monstro) é o stackpos 253 .. só influencia se alguem jogar algo no tile da escada eu acho ..

Link para o comentário
Compartilhar em outros sites

  • 0

/\

se tiver + de 1 player numa ms pos, eles ocupam outros stackpos '--' começando pelo 1...

 

e o script do criador do topico ja era pra funcionar o.O soh mudando oq o brun flo...

Link para o comentário
Compartilhar em outros sites

  • 0

na verdade o 253/254/255 são apenas métodos pra determinar o que você quer pegar em um determinado tile.

 

todos os "things" no tile, sjam itens ou criaturas, recebem um stackpos, sendo 0 o ground, 1 o que está mais acima, 2 o que está imediatamente embaixo do 1 e assim adiante.

 

em c++, quando a função getThingFromPos ou getTileThingByPos é chamada, se o stackpos for 253, o retorno da função é obrigatoriamente uma criatura, isso não significa que a criatura está na stackpos 253.

 

LordVinny, você deve modificar a script com o ID da escada que você quer que seja criada e em que posição isso vai acontecer.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...