Postado Outubro 5, 2018 6 anos Boa noite galera, queria um script pra uma quest, que quando o Player desse use em um ActionID ele perdesse HP, ele teria que perder um total de HP que iria somando a cada Use que ele desse, quando batesse a meta do HP perdido ele ganharia o item (se possível um item com UniqueID), também teria que ser feito em um determinado tempo, caso esse tempo acaba-se a contagem do hp reiniciaria, só poderia ser feita 1x por dia (depois que o primeiro player a quest só poderia ser feita novamente no outro dia). Só somaria o HP de um Player, se vários players ficassem usando cada um teria sua contagem independente, não somando um com o outro pra bater a meta, se for possível contar apenas HP (pra evitar o uso do utamo vita). Versão TFS 1.2 Desde já obrigado. Editado Outubro 5, 2018 6 anos por RXSora (veja o histórico de edições)
Postado Outubro 5, 2018 6 anos Autor Em 05/10/2018 em 21:11, FlavioHulk disse: Qual sua distro? Desculpa esqueci de avisar, vou editar, é o TFS 1.2 @FlavioHulk Desculpa novamente, adicionei mais uma informação ao topico, o player teria X segundos pra conseguir bater a meta de HP, caso não conseguisse no tempo a contagem do HP voltaria a 0. Editado Outubro 5, 2018 6 anos por RXSora (veja o histórico de edições)
Postado Outubro 5, 2018 6 anos local config, players = { actionId = 1225, -- Action ID da quest. healthLose = 50, -- Quantidade de life perdido a cada clique. healthTotal = 10000, -- Quantidade a ser alcançada de life. reward = { [1] = {itemId = 2160, amount = 100} -- Recompensa itemId e quantidade }, globalStorage = 52220, -- Storage global storagePlayer = 52221 -- Storage do player }, {} function onUse(player, item, fromPosition, target, toPosition, isHotkey) if item.actionid ~= config.actionId then return false end if Game.getStorageValue(globalStorage) > 0 then player:sendCancelMessage('The daily quest has already been made.') return true end if player:getStorageValue(config.storagePlayer) > 0 then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'The chest is empty.') return true end local difference = player:getHealth() - config.healthLose player:addHealth( - difference) players[player:getId()] = ((players[player:getId()] == nil and 0 or players[player:getId()]) + config.healthLose) if players[player:getId()] == config.healthTotal then if not player then return false end for i = 1, #config.reward do local rewards = config.reward[i] player:addItem(rewards.itemId, rewards.amount) end Game.setStorageValue(config.globalStorage, 1) player:setStorageValue(config.storagePlayer, 1) player:sendTextMessage('You did the quest.') for k in pairs(players) do players[k] = nil end end return true end Testa aí, provavelmente há algum erro kk
Postado Outubro 5, 2018 6 anos Autor Em 05/10/2018 em 22:13, FlavioHulk disse: local config, players = { actionId = 1225, -- Action ID da quest. healthLose = 50, -- Quantidade de life perdido a cada clique. healthTotal = 10000, -- Quantidade a ser alcançada de life. reward = { [1] = {itemId = 2160, amount = 100} -- Recompensa itemId e quantidade }, globalStorage = 52220, -- Storage global storagePlayer = 52221 -- Storage do player }, {} function onUse(player, item, fromPosition, target, toPosition, isHotkey) if item.actionid ~= config.actionId then return false end if Game.getStorageValue(globalStorage) > 0 then player:sendCancelMessage('The daily quest has already been made.') return true end if player:getStorageValue(config.storagePlayer) > 0 then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, 'The chest is empty.') return true end local difference = player:getHealth() - config.healthLose player:addHealth( - difference) players[player:getId()] = ((players[player:getId()] == nil and 0 or players[player:getId()]) + config.healthLose) if players[player:getId()] == config.healthTotal then if not player then return false end for i = 1, #config.reward do local rewards = config.reward[i] player:addItem(rewards.itemId, rewards.amount) end Game.setStorageValue(config.globalStorage, 1) player:setStorageValue(config.storagePlayer, 1) player:sendTextMessage('You did the quest.') for k in pairs(players) do players[k] = nil end end return true end Testa aí, provavelmente há algum erro kk Deu erro msm kkkk
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.