Postado Março 30, 2018 7 anos Bom dia, pessoal! Como faço para que o player clique na sign (imagem) e vá para uma quest? Também gostaria que essa quest fosse feita uma vez ao dia. Obrigado! =) #FelizPáscoa Não sei se é possível fazer isso, mas postarei aqui as dúvidas que eu tiver referente ao tema do tópico. Para não ficar criando um tópico atrás do outro.
Postado Março 30, 2018 7 anos Ver se funciona no seu mapa vai na pasta do seu OT/data/actions/scripts e cria um arquivo.lua com nome de alavancaquestion e coloca este código dentro local config = { placa = 1945, -- ID da Placa exausted = 24, -- Exausted em Horas storage = 15555, -- Storage da Questão effect = 222, -- ID do efeito durante o teleport posteleport = {x=996, y=1087, z=7, stackpos=253}, -- Piso onde o Player vai ser teleportado } function onUse(cid, item, frompos, item2, topos) if item.itemid == config.placa then if getPlayerStorageValue(cid, config.storage) - os.time() >= 1 then local left = getPlayerStorageValue(cid, config.storage) - os.time() left = {hour = math.floor(left/3600), minutes = math.ceil((left % 3600)/60), seconds = math.ceil((left % 3600)%60)} doPlayerSendCancel(cid, 'Aguarde '.. left.hour ..' horas e '..left.minutes..' minutos e '..left.seconds..' segundos para fazer novamente.') return false end if getPlayerStorageValue(cid, config.storage) - os.time() < 1 then doSendMagicEffect(config.posteleport, config.effect) doTeleportThing(cid,config.posteleport) doPlayerSendCancel(cid,"Você foi teleportado.") -- MSG após ser teleportado return TRUE end end return TRUE end agora cria outro arquivo.lua com nome de bauquestion e coloca este outro código local config = { level = 222, -- Level necessário para fazer exausted = 24, -- Exausted em Horas storage = 15555, -- Storage da Questão } function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, config.storage) - os.time() < 1 and getPlayerLevel(cid) >= config.level then setPlayerStorageValue(cid, config.storage, 24 * 60 * 60 + os.time()) doPlayerAddItem(cid, 2150, 1) -- Item que vai ganha, e a quantidade doPlayerSendTextMessage(cid,20,"Você terminou quest.") -- MSG após termina a quest else doPlayerSendTextMessage(cid,20, "Você ainda não pode fazer esta questão.") -- MSG se ele ainda estiver com o exausted end end agora vai no actions.xml e coloca essas tag <action actionid="22222" event="script" value="alavancaquestion.lua" /> -- Actionid da alavanca <action actionid="22221" event="script" value="bauquestion.lua" /> -- Actionid do bau
Postado Março 30, 2018 7 anos Autor Em 30/03/2018 em 16:59, Onepiece disse: Ver se funciona no seu mapa vai na pasta do seu OT/data/actions/scripts e cria um arquivo.lua com nome de alavancaquestion e coloca este código dentro local config = { placa = 1945, -- ID da Placa exausted = 24, -- Exausted em Horas storage = 15555, -- Storage da Questão effect = 222, -- ID do efeito durante o teleport posteleport = {x=996, y=1087, z=7, stackpos=253}, -- Piso onde o Player vai ser teleportado } function onUse(cid, item, frompos, item2, topos) if item.itemid == config.placa then if getPlayerStorageValue(cid, config.storage) - os.time() >= 1 then local left = getPlayerStorageValue(cid, config.storage) - os.time() left = {hour = math.floor(left/3600), minutes = math.ceil((left % 3600)/60), seconds = math.ceil((left % 3600)%60)} doPlayerSendCancel(cid, 'Aguarde '.. left.hour ..' horas e '..left.minutes..' minutos e '..left.seconds..' segundos para fazer novamente.') return false end if getPlayerStorageValue(cid, config.storage) - os.time() < 1 then doSendMagicEffect(config.posteleport, config.effect) doTeleportThing(cid,config.posteleport) doPlayerSendCancel(cid,"Você foi teleportado.") -- MSG após ser teleportado return TRUE end end return TRUE end agora cria outro arquivo.lua com nome de bauquestion e coloca este outro código local config = { level = 222, -- Level necessário para fazer exausted = 24, -- Exausted em Horas storage = 15555, -- Storage da Questão } function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, config.storage) - os.time() < 1 and getPlayerLevel(cid) >= config.level then setPlayerStorageValue(cid, config.storage, 24 * 60 * 60 + os.time()) doPlayerAddItem(cid, 2150, 1) -- Item que vai ganha, e a quantidade doPlayerSendTextMessage(cid,20,"Você terminou quest.") -- MSG após termina a quest else doPlayerSendTextMessage(cid,20, "Você ainda não pode fazer esta questão.") -- MSG se ele ainda estiver com o exausted end end agora vai no actions.xml e coloca essas tag <action actionid="22222" event="script" value="alavancaquestion.lua" /> -- Actionid da alavanca <action actionid="22221" event="script" value="bauquestion.lua" /> -- Actionid do bau Obrigado, Onepiece! Chegando em casa vejo se da certo e volto a informar aqui no tópico. =) @Onepiece Testei o que você passou e informa o seguinte: [Warning - Action::loadFunction] Function "" does not exist. [Warning - Action::loadFunction] Function "" does not exist. Como resolvo? Tem que por alguma coisa em "local config = {" ?
Postado Março 31, 2018 7 anos Autor Em 31/03/2018 em 05:16, Jobs disse: qual a versão do teu tfs? Bom dia! =) Só aparece esse no executável: The OTX Server Version: (3.7 Seria isso?
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.