Postado Setembro 16, 2019 5 anos .Qual servidor ou website você utiliza como base? TFS 0.4 estou tentando adaptar esse script para uma quest de "sacrificio", o script está funcionando perfeitamente. O script funciona da seguinte forma, após clicar na alavanca ele remove uma parede por "x" tempo e depois cria novamente. Mas eu preciso que tenha um "sacrificio" para poder abrir essa parede, seja necessario ter um item em x posição para poder clicar na alavanca, se o item não estiver lá retornar uma mensagem falando para o player (o item não está na posição certa). se ele estiver, após o player clicar na alavanca o item será removido e o script funcionará (irá abrir a parede). Você tem o código disponível? Se tiver publique-o aqui: function onUse(cid, item, fromPosition, itemEx, toPosition) piece1pos = {x=1554, y=1507, z=10, stackpos=1} local tempo = 2*60*1000 -- tempo para parede voltar getpiece1 = getThingfromPos(piece1pos) if item.uid == 7001 and item.itemid == 1945 and getpiece1.itemid == 11806 then doRemoveItem(getpiece1.uid,1) doTransformItem(item.uid,item.itemid+1) doPlayerSendTextMessage(cid,22,"A passagem abriu, avise seus companheiros.") addEvent(doCreateItem, tempo, 11806, piece1pos) addEvent(doTransformItem, tempo, item.uid,1945) elseif item.uid == 7001 and item.itemid == 1945 then doTransformItem(item.uid,item.itemid-1) addEvent(doCreateItem, 2*60*1000, item.itemid, piece1pos) else doPlayerSendTextMessage(cid,22,"A passagem ja está aberta.") end return 1 end
Postado Setembro 18, 2019 5 anos @hiquezerah A posição da variável 'out' é para teleportar o player caso ele esteja na posição da parede quando ela for criada. Spoiler function onUse(cid, item, fromPosition, itemEx, toPosition) local time = 15 -- Tempo para a parede ser criada // Em segundos local wallID = 1285 -- ID da parede local sacrID = 2160 -- ID do item a ser sacrificado local wallPos = {x = 94, y = 111, z = 7, stackpos = 1} -- Posição da parede local sacrPos = {x = 95, y = 111, z = 7, stackpos = 1} -- Posição do sacrifício if (item.itemid == 1945) then doTransformItem(item.uid, item.itemid + 1) else doTransformItem(item.uid, item.itemid - 1) end if (getThingFromPos(wallPos).uid > 0) then if (getThingFromPos(sacrPos).uid > 0 and getThingFromPos(sacrPos).itemid == sacrID) then doRemoveItem(getThingFromPos(wallPos).uid, 1) doRemoveItem(getThingFromPos(sacrPos).uid, 1) doSendMagicEffect(wallPos, 2) doSendMagicEffect(sacrPos, 2) addEvent(function() local check = getThingFromPos({x = wallPos.x, y = wallPos.y, z = wallPos.z, stackpos = 255}).uid local out = {x = 94, y = 112, z = 7} if (isPlayer(check)) then doTeleportThing(cid, out) end doCleanTile(wallPos) doCreateItem(wallID, 1, wallPos) end, time * 1000) else doPlayerSendTextMessage(cid, 27, "Wrong sacrifice item or position.") end else doPlayerSendTextMessage(cid, 27, "The wall has already been removed.") end return true end Editado Setembro 19, 2019 5 anos por JoviM (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.