Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


CmP last won the day on November 13

CmP had the most liked content!

Community Reputation

180 Pro

About CmP

  • Rank

Additional Information

  • Android
    7.x (Nougat)
  • Device
    Xiaomi Redmi Note 4X

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. CmP

    How to add function doaction() ?

    You can't write like this. os.exit is a function and goto operator only works with labels. Either you make a call to the function (remove goto operator) or you jump to some label (replace os.exit() with label name), choose one option.
  2. CmP

    How to add function doaction() ?

    Unfortunately, as I have written, you CAN'T protect the strings that are being searched in your script. If the user is able to run the script, then he can also find out, what strings were searched by the script. There is built-in GG feature, that logs every call to GG API in a text file, so if your script executes, for example, gg.searchNumber('123', gg.TYPE_DWORD), then user will see it in log file.
  3. CmP

    How to add function doaction() ?

    He is using "choice" function. Not that it makes big difference, just a notice. Code after "sdone" label probably contains a call to os.exit function, so the script will terminate in both cases (when the user chooses "Exit" and when dialog was cancelled). Agree with this one, but maybe he want the script to terminate, if the dialog was cancelled, who knows.
  4. CmP

    How to add function doaction() ?

    This won't prevent the user from logging script actions. If your goal is to protect the script, then hiding GG UI won't help almost anyhow.
  5. Convert strings to numbers before comparing them. Otherwise, it will produce not the result that was expected (just like in your code). More info about relational operators in lua: https://www.lua.org/pil/3.2.html
  6. CmP

    LUA scripting

    How to ask primitive questions without reading API help? Please, do it in reverse order (first - check help pages, then ask question, if answer was not found there). https://gameguardian.net/help/classgg.html#a7efd4ac7766e72688cb4a84a3915721e
  7. CmP

    Reverting Freeze Script

    It may happen if the code is being copied from forum (in particular, from the box of formatted code generated by this option: ). Retype the line where an error occurred manually.
  8. These optimizations look unbelievable. Thanks for another great update of the app.
  9. CmP

    Reverting Freeze Script

    Use "removeListItems" functions to remove desired elements from saved list or "clearList" function to remove everything from saved list. When an element is removed from saved list, it is automatically being unfreezed, so no need to set "freeze" field to false in these cases. Edit: your code can be adjusted this way to reduce "complexity" gg.clearResults() gg.searchNumber('0.91610002518', gg.TYPE_FLOAT) local t = gg.getResults(11) for i, v in ipairs(t) do t.value = '1.902456' t.freeze = true t.freezeType = gg.FREEZE_NORMAL end print('Replaced: ', gg.addListItems(t)) gg.sleep(250000) print('Replaced: ', gg.removeListItems(t)) Only elements that were added to saved list will be removed from it after the delay.
  10. CmP

    Reverting Freeze Script

    Reading GG API help before asking such simple questions about it is a good habit for every member of the forum. https://gameguardian.net/help/classgg.html#a5f281d50d0ff0846c9c0594a61895dce
  11. CmP

    How to convert error message to string?

    local min = 4 local max = 10 local data = gg.prompt({'Input a number between ' .. min .. ' and ' .. max}, {min}, {'number'}) -- read data -- Check contents if data == nil then gg.alert('Dialog was cancelled') os.exit() end local number = tonumber(data[1]) if number == nil then gg.alert('Input was not a valid number') os.exit() end if number < min or number > max then -- if does not fit gg.alert('Input number is not within allowable range') -- show alert os.exit() -- and interrupt script execution (or do whatever is required) end
  12. CmP


    @Anonymous1000, it looks like you've never participated in any kind of discussion, because you clearly don't know, what to do. Instead of analyzing my comments and expressing your thoughts about them, you are writing some (off-topic) stuff about "problems in mind", lack of intelligence, etc. Usually those, who blame everyone about having low level of intelligence, lack the intelligence themselves. I see that you are feeding your ego with these comments, you don't care about the truth. Well, won't disturb you from doing it, but also won't help with it anymore (by continuing to answer your comments). Good luck.
  13. CmP


    I do understand that you had no imagination about what is changed in optimized versions of virtual space apps, it was like "black box" from your perspective. Now you know, your eyes is opened and you can see that mysterious "black box" is just one line changed in the manifest of the app (no need to thank me). Also my reply was dedicated to the certain part of your comment, not to the whole comment, so your talk about me not understanding something from what you have written is completely irrelevant.
  14. CmP


    Actually, not much time at all, as Enyby has mentioned. There is nothing special in creating optimized versions of virtual space apps. The real job was to find a way to fix those "105/106 errors" when using GG inside of virtual spaces. And Enyby has successfully found it. I just want to tell, that finding a solutions/methods for solving problems is way more valueable thing, because not everyone has enough knowledge and experience for this. On the other hand, only basic understanding of the algorithm is required to be able to use some method for solving a problem. Few people create solutions, many people use them, that's how it works.
  15. Your example is mostly fine, but there are two things that you should pay attention to. This is incorrect usage of "prompt" function: g = gg.prompt({"Value 1", "Value 2", "Value 3"}, {[1] = number, [2] = number, [3] = number}) And here is correct usage: g = gg.prompt({'Value 1', 'Value 2', 'Value 3'}, nil, {[1] = 'number', [2] = 'number', [3] = 'number'}) Also second argument of the call to "toast" function should be "true", not "True", because "True" is treated as global variable and uninitialized global variables are evaluated to nil. So if you write "True", in this case it is equal to: gg.toast('Success!', nil) Don't forget to check GG help and Lua reference manual when in doubt.