Postado Maio 10, 2017 8 anos Opa, alguém pode dar uma maozinha? eu clonei dois ids de alavancas pra fazer 1 summon especial, funciona assim: 12665: sumona o monstro e transforma essa alavanca (12665) em outra alavanca sem action (12664), pra não poder sumonar mais, até aí tudo bem, ela sumona o bicho, transforma a alavanca sumonável na outra não sumonável. Porém... Coloquei nos items.xml 12664 (sem action) duration de 30 minutos e então ela se transformaria na alavanca 12665 (sumonável), porém a alavanca fica ali eternamente, até reduzi o tempo pra 1 minuto pra poder testar certinho, ela fica lá. A duration dela não está contando, como se fosse um time ring por exemplo, dentro da bp. Minha dúvida é o seguinte, como eu faço essa alavanca virar a outra? Tentei fazer o mesmo sistema dos firebomb runes, com decayto, duration, sem sucesso também.
Postado Maio 12, 2017 8 anos Use um addEvent para transformar a alavanca de volta, exemplo em um script que fiz para outro membro: local teleport = {{x = 1015, y = 1042, z = 7}, {x = 1013, y = 1042, z = 7}, 3} -- posição do teleport, posição que irá teleportar, segundos para fechar function onUse(cid, item, fromPos) local function doRemove() local teleportThing = getTileItemById(teleport[1], 1387).uid local lever = getTileItemById(fromPos, 1945) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "O teleporte foi fechado!") doSendMagicEffect(teleport[1], CONST_ME_POFF) doRemoveItem(teleportThing, 1) doTransformItem(lever.uid, 1946) end if (item.itemid == 1946) then doCreateTeleport(1387, teleport[2], teleport[1]) doTransformItem(item.uid, 1945) doCreatureSay(cid, "O teleporte irá fechar em ".. teleport[3] .." segundos!", TALKTYPE_MONSTER) addEvent(doRemove, teleport[3] * 1000, item) else doPlayerSendTextMessage(cid, 28, "O teleporte já está aberto.") doSendMagicEffect(fromPos, CONST_ME_POFF) end return true end Caso tenha dúvidas, sinta-se à vontade para perguntar. ➥ Regras | Seções OTServ | Seções BOT
Postado Maio 13, 2017 8 anos Autor consegue me fazer a gentileza de ajeitar o script pros ids que postei ali em cima hahaha? preciso que a alavanca 12664 se transforme na 12665 após os 30 minutos, tentei ajeitar aqui mas sem sucesso..
Postado Maio 13, 2017 8 anos @roach95: local delay = 30 function onUse(cid, item, fromPos) local function doTransform() local lever = getTileItemById(fromPos, 12664) doTransformItem(lever.uid, 12665) -- TRANSFORMA A ALAVANCA EM 12665 end if (item.itemid == 12665) then -- SE O ID FOR 12665 ENTAO doTransformItem(lever.uid, 12664) addEvent(doTransform, delay * 1000 * 60, item) -- ATIVA A FUNÇÃO doTransform EM 30 MINUTOS -- AQUI VOCÊ ADICIONA AS FUNÇÕES PARA SUMMONAR else -- SE NAO doPlayerSendTextMessage(cid, 28, "MENSAGEM CASO ESTEJA NA ALAVANCA 12664.") end return true end ➥ Regras | Seções OTServ | Seções BOT
Postado Maio 13, 2017 8 anos Autor agradecido, Wakon, resolveu meu problema, ficou perfeito! Editado Maio 13, 2017 8 anos por roach95 (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.