Dennyz Dias 9 Postado Novembro 26, 2015 Share Postado Novembro 26, 2015 (editado) alguem poderia me ajudar num script que o player clika numa placa vai para lugar X porem precisa ter 10 resets para ir , e so pode ir denovo apos 1 Hora Obrigado REP++ Editado Novembro 26, 2015 por Dennyz Dias Link para o comentário Compartilhar em outros sites More sharing options...
0 christopher17288 13 Postado Dezembro 10, 2015 Share Postado Dezembro 10, 2015 (editado) Se alguém conseguir oque ? Por uma placa TP ? '-' Uma placa que faz com que teleport o player, porém, somente de 1 em 1 hr ? Se sim: local config = { pos = {x = 160, y = 54, z = 7}, --Pos para onde vai o indivíduo. storage = 838939, -- Não mecha } function convertTime(time) local t_table = {} t_table.days = math.floor(time / 86400) time = time - (t_table.days * 86400) t_table.hours = math.floor(time / 3600) time = time - (t_table.hours * 3600) t_table.minutes = math.floor(time / 60) t_table.seconds = time - (t_table.minutes * 60) return t_table end function onUse(cid, item, fromPosition, toPosition) if item.actionid == 5003 then if getPlayerStorageValue(cid, config.storage) >= 1 then local time_model = "%d minuto(s) e %d segundo(s)." local timeLeft = convertTime(getPlayerStorageValue(cid, config.storage) - os.time()) local str = "Desculpe, mas você só poderá clicar neste item novamente depois de "..time_model:format(timeLeft.minutes, timeLeft.seconds).."." doPlayerSendTextMessage(cid, 27, str) return doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) else setPlayerStorageValue(cid, config.storage, os.time() + 1 * 60 * 60) doTeleportThing(cid, config.pos) doSendMagicEffect(getThingPos(cid), 37) return doSendAnimatedText(getThingPos(cid), "Teleport!", math.random(1,255)) end end return true end Editado Dezembro 10, 2015 por christopher17288 Link para o comentário Compartilhar em outros sites More sharing options...
0 Dennyz Dias 9 Postado Dezembro 10, 2015 Autor Share Postado Dezembro 10, 2015 não foi quebrada nao deu erro, nao pego Link para o comentário Compartilhar em outros sites More sharing options...
0 MatheusGlad 424 Postado Dezembro 10, 2015 Share Postado Dezembro 10, 2015 function getPlayerReset(cid) local pid = getPlayerGUID(cid) local qr = db.getResult("SELECT `reset` FROM `players` WHERE `id`= ".. pid..";") rss = qr:getDataInt("reset", pid) if not rss or not tonumber(rss) then rss = 0 end return rss end local hours = 1 -- tempo em horas local position = {x = 123, y = 456, z = 7} function onUse(cid, item) if getPlayerReset(cid) >= 10 then if getPlayerStorageValue(cid, 4954)-os.time() <= 0 then doTeleportThing(cid, position) setPlayerStorageValue(cid, 4954, os.time() + hours * 60 * 60) else doPlayerSendCancel(cid, "You need to wait: ".. getPlayerStorageValue(cid, 4954) - os.time() .."s to use this again.") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) end else doPlayerSendCancel(cid, "You need 10 resets to do this") doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) end return true end Link para o comentário Compartilhar em outros sites More sharing options...
0 Lucas CP 21 Postado Dezembro 11, 2015 Share Postado Dezembro 11, 2015 Se nenhum de cima dar certo, tente assim: function getPlayerReset(cid) local qr = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..getPlayerGUID(cid)..";") rss = qr:getDataInt("reset", getPlayerGUID(cid)) if rss < 0 then rss = 0 end return rss end local config = { storage = 12312, -- storage (coloque uma livre do seu servidor) reset = 10, -- reset minimo tempo = 1, -- tempo em hora pos = {x = 123, y = 456, z = 7} -- pos que iá levar o jogador } function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid,config.storage) < 0 then setPlayerStorageValue(cid,config.storage,0) end if getPlayerReset(cid) < config.reset then doPlayerSendCancel(cid, 'Você precisa de '.. config.reset ..' reset'.. (config.reset <= 1 and '' or 's') ..' para usar este item.') return true end if getPlayerStorageValue(cid,config.storage) >= os.time() then mostrartempo = getPlayerStorageValue(cid,config.storage) doPlayerSendCancel(cid, 'Você só pode usar esse item às ' .. os.date("%X",mostrartempo ) .. ' horas.') return true end doTeleportThing(cid, config.pos) setPlayerStorageValue(cid, config.storage, os.time() + (config.tempo * 60 * 60)) return true end Link para o comentário Compartilhar em outros sites More sharing options...
0 Dennyz Dias 9 Postado Dezembro 12, 2015 Autor Share Postado Dezembro 12, 2015 @Lucas CP O script pego perfeitamente porem quero 1 exausted de 30 minutos para qualquer player entrar tipo cara entra serto ai outro so dps de meia hora assim vai Link para o comentário Compartilhar em outros sites More sharing options...
0 Lucas CP 21 Postado Dezembro 12, 2015 Share Postado Dezembro 12, 2015 mude aquela script por essa: function getPlayerReset(cid) local qr = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..getPlayerGUID(cid)..";") rss = qr:getDataInt("reset", getPlayerGUID(cid)) if rss < 0 then rss = 0 end return rss end function getGlobalStorageValue(key) local qr = db.getResult("SELECT `value` FROM `global_storage` WHERE `key`= "..key..";") local r = qr:getDataInt("reset", getPlayerGUID(cid)) if r < 0 then r = -1 end return r end function setGlobalStorageValue(key, value) if getGlobalStorageValue(key) < 0 then return db.executeQuery("INSERT INTO `global_storage` (`key`, `value`) VALUES (".. key ..", ".. value ..");") else return db.executeQuery("UPDATE `global_storage` SET `value` = '".. value .."' WHERE `key` ='"..key.."'") end end local config = { storage = 12312, -- storage (coloque uma livre do seu servidor) reset = 10, -- reset minimo tempo = 1, -- tempo em hora tempoGlobal = 30, -- tempo em minutos para todos pos = {x = 123, y = 456, z = 7} -- pos que iá levar o jogador } function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid,config.storage) < 0 then setPlayerStorageValue(cid,config.storage,0) end if getPlayerReset(cid) < config.reset then doPlayerSendCancel(cid, 'Você precisa de '.. config.reset ..' reset'.. (config.reset <= 1 and '' or 's') ..' para usar este item.') return true end if getPlayerStorageValue(cid,config.storage) >= os.time() then mostrartempo = getPlayerStorageValue(cid,config.storage) doPlayerSendCancel(cid, 'Você só pode usar esse item às ' .. os.date("%X",mostrartempo ) .. ' horas.') return true end if getGlobalStorageValue(config.storage) >= os.time() then mostrartempo = getGlobalStorageValue(config.storage) doPlayerSendCancel(cid, 'Você só pode usar esse item às ' .. os.date("%X",mostrartempo ) .. ' horas.') return true end doTeleportThing(cid, config.pos) setPlayerStorageValue(cid, config.storage, os.time() + (config.tempo * 60 * 60)) setGlobalStorageValue(config.storage, os.time() + (config.tempoGlobal * 60)) return true end executa essa query na sua database: CREATE TABLE IF NOT EXISTS `global_storage` ( `key` int(11) NOT NULL, `value` bigint(20) NOT NULL, PRIMARY KEY (`key`,`value`) ); Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Dennyz Dias 9
alguem poderia me ajudar num script que o player clika numa placa vai para lugar X porem precisa ter 10 resets para ir , e so pode ir denovo apos 1 Hora
Obrigado REP++
Editado por Dennyz DiasLink para o comentário
Compartilhar em outros sites
21 respostass a esta questão
Posts Recomendados