Jump to content
  • 0

looping with increment


Question

Posted (edited)

the goal is to make gg toast like this, by using loop and condition. and toast with value at that specific phase

phase 1
Symbol =-----
10

phase 2
Symbol ==---
20

phase 3
Symbol ===--
30

phase 4
Symbol ====-
40

phase 5
Symbol =====
50

if more than max phase length then os.exit()

local initialPhase = {10, 20, 30, 40, 50}
local initialSymbol1 = '='
local initialSymbol2 = '-'

while true do
  --length = initialPhase.Max.Length;
  if phase = length then
    phase = initialPhase + 1
    symbol1 = symbol1 + initialSymbol1
    symbol2max = initialSymbol2 * length
    symbol2 = symbol2max - initialSymbol2
    
    gg.toast('Symbol :'..symbol..symbol2..' !!', true)
    gg.toast('\n'..initialPhase, true)
  else
    os.exit()
  end
end

 

Edited by chandelier

6 answers to this question

Recommended Posts

  • 1
Posted
local function createPhaseDisplayer(phaseValues, progressSymbol, backgroundSymbol)
  local phasesCount = #phaseValues
  local currentPhase = 0
  return function ()
    currentPhase = currentPhase + 1
    if currentPhase > phasesCount then
      os.exit()
    end
    local indicatorFirstPart = string.rep(progressSymbol, currentPhase)
    local indicatorSecondPart = string.rep(backgroundSymbol, phasesCount - currentPhase)
    local indicator = indicatorFirstPart .. indicatorSecondPart
    local phaseValue = phaseValues[currentPhase]
    local displayMessage = string.format("phase %d\nSymbol : %s\n%d", currentPhase, indicator, phaseValue)
    gg.toast(displayMessage, true)
  end
end

local phaseValues = {10, 20, 30, 40, 50}
local symbol1 = "="
local symbol2 = "-"
local displayPhase = createPhaseDisplayer(phaseValues, symbol1, symbol2)

-- Testing all phases with one extra
for i = 1, #phaseValues + 1 do
  displayPhase()
end
  • 0
Posted

awesome work, at first idk what it does, im fine as long as the goal is reached, well i tried it and already experiment on it. and will put the code here on my full script, thankyou so much my good man

  • 0
Posted

oof after i implemented on some part of my script, theres some error about bad argument for key 'value' : string expected, got table (field'setValue')

function SET_BUFF(BUFF)
	gg.sleep(6000)
	local saved_buff = gg.getListItems()
	local edited_buff = {}
	for i, v in ipairs(saved_buff) do
		if v.name == "BUFF" then
			v.value = BUFF
			v.freeze = true
			table.insert(edited_buff, v)
		end
	end
    if #edited_buff > 0 then
        gg.setValues(edited_buff)
        gg.addListItems(edited_buff)
    else
        gg.toast("NO MATCHING BUFF FOUND.")
    end
end

local function createPhaseDisplayer(phaseValues, buffInfo, progressSymbol, backgroundSymbol)
	local phasesCount = #phaseValues
	local currentPhase = 0
	return function ()
		currentPhase = currentPhase + 1
		if currentPhase > phasesCount then
			os.exit()
		end
	local indicatorFirstPart = string.rep(progressSymbol, currentPhase)
	local indicatorSecondPart = string.rep(backgroundSymbol, phasesCount - currentPhase)
	local indicator = indicatorFirstPart .. indicatorSecondPart
	local phaseValue = phaseValues[currentPhase]
	local buffInfo = buffInfo
	local displayMessage = string.format("\n%s : %s", buffInfo, indicator)
	gg.toast(displayMessage, true)
	end
end

local phaseValues = {171, 172, 200}
local buffInfo = "MISSION"
local symbol1 = "="
local symbol2 = "-"
local displayPhase = createPhaseDisplayer(phaseValues, buffInfo, symbol1, symbol2)
for i = 1, #phaseValues + 1 do
	SET_BUFF(phaseValues)
	displayPhase()
end

the toast in displayPhase() works fine

  • 0
Posted

ahhh i dont know why it works just by deleting +1 on #phaseValues , and adding [i] on SET_BUFF(phaseValues())
well as long as it works im good

and i found another problem when im trying to put them on function and call them back inside a function

function BUFF_TRIGGER()
	local symbol1 = "="
	local symbol2 = "-"
	local displayPhase = createPhaseDisplayer(phaseValues, buffInfo, symbol1, symbol2)
	for i = 1, #phaseValues do
		SET_BUFF(phaseValues[i])
		displayPhase()
	end
end

function SET_BUFF(BUFF)
	gg.sleep(6000)
	local saved_buff = gg.getListItems()
	local edited_buff = {}
	for i, v in ipairs(saved_buff) do
		if v.name == "BUFF" then
			v.value = BUFF
			v.freeze = true
			table.insert(edited_buff, v)
		end
	end
    if #edited_buff > 0 then
        gg.setValues(edited_buff)
        gg.addListItems(edited_buff)
    else
        gg.toast("NO MATCHING BUFF FOUND.")
    end
end

local function createPhaseDisplayer(phaseValues, buffInfo, progressSymbol, backgroundSymbol)
	local phasesCount = #phaseValues
	local currentPhase = 0
	return function ()
		currentPhase = currentPhase + 1
		if currentPhase > phasesCount then
			os.exit()
		end
	local indicatorFirstPart = string.rep(progressSymbol, currentPhase)
	local indicatorSecondPart = string.rep(backgroundSymbol, phasesCount - currentPhase)
	local indicator = indicatorFirstPart .. indicatorSecondPart
	local phaseValue = phaseValues[currentPhase]
	local buffInfo = buffInfo
	local displayMessage = string.format("\n%s : %s", buffInfo, indicator)
	gg.toast(displayMessage, true)
	end
end

function Main()
	local phaseValues = {171, 172, 200}
	local buffInfo = "MISSION"
	BUFF_TRIGGER()
end

Main()

 

  • 0
Posted (edited)
local phaseValues = {171, 172, 200}
local buffInfo = "MISSION

move this outside Main() and put it at very top of the script

local function createPhaseDisplayer(phaseValues, buffInfo, progressSymbol, backgroundSymbol)
...

then move this function below it before function BUFF_TRIGGER()

Edited by MonkeySAN

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.