 |
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
AylinCE Grandmaster Cheater Supreme
Reputation: 35
Joined: 16 Feb 2017 Posts: 1478
|
Posted: Thu Feb 13, 2020 4:29 am Post subject: Take control of your trainer + Register VIP members .. |
|
|
The following topic is worth adding to the archive.
We covered 2 topics and we will do 3 parts coding.
Subject (1); Keep your trainer control.
Subject (2); Restrict VIP Trainer for use other than VIP members.
===================================
VERSION: V2
===================================
If you have a Google account, it is recommended to create a "Google Docs" document. (Pic: Ek1.png)
(Google Docs: https://docs.google.com/document/u/0/ )
(Note: Links in the codes are examples)
Document setting; (Pic: Ek2.png)
1) Identify the document title.
2) Sharing setting; Set to "Anyone with the link can view. No sign-in required."
3) Write a Version number. (Note: only numbers, do not use letters and special characters)
For this, we will use Computer "UUID".
See; here is the information provided by @Corroder.
https://forum.cheatengine.org/viewtopic.php?p=5758213#5758213
URL generation:
Copy the link of the Google Docs page you created.
You will have a link like this:
https://docs.google.com/document/d/131YKsPttxsNH8z5lgWW1dmq_HWAWotHIHvGZ1pCoDkc/edit
Copy and replace the marked places in the link below:
https://docs.google.com/document/d/131YKsPttxsNH8z5lgWW1dmq_HWAWotHIHvGZ1pCoDkc/edit
https://docs.google.com/document/d/18sPd1YKsPttxsWW1dmq_HWAWotHIHvGZ1pOlmn/export?format=txt
==============================
Here is Trainer.CT to see the current code in action
( See end of topic. )
As an example, I gave view and editing permission to the Google Docs page I created.
Register your own vip code there, write a name on it and run the Trainer again.
Delete a number from your own vip code on the Google Docs page, Trainer will see you as an unregistered member (ban a registered VIP member!)
Change the version number on the Google Docs page and Trainer will warn you about the version. (To disable the current Trainer. Check the Current Example page, someone else may have tried it and changed it )
====================================
Below is all the code used in the Example Trainer:
Code: | ----------------------------- Conrol --------------------
UDF1.CELabel2.Visible=false
UDF1.CEEdit1.visible=false
UDF1.CEButton5.visible=false
UDF1.CEGroupBox1.Visible=false
UDF1.CEGroupBox2.Visible=true
UDF1.CELabel2.caption="YourCode"
UDF1.CELabel3.caption="WELCOME!"
UDF1.CELabel1.caption="-:-Please wait-:-\n-:-Checking version!-:-"
UDF1.CEEdit1.Text=""
----------------------------- Check Timer ----------------
if VipTimer1 then VipTimer1.Destroy() VipTimer1=nil end
VipTimer1=createTimer() VipTimer1.Interval=1000 VipTimer1.Enabled=false
----------------------------- Check local -----------------
local vipTbl = { }
vipTbl.verCheck=false
vipTbl.vipCheck=false
vipTbl.Version="11223344" --version (string)
vipTbl.gameName="Cheat Engine Games1"
vipTbl.UserName=""
vipTbl.UserCode=0
vipTbl.Index=0
----------------------------- Load UUID -----------------
function WriteVipCode()
VipTimer1.Enabled=false
local function all_trim(s)
return s:match"^%s*(.*)":match"(.-)%s*$"
end
local fh = assert(io.popen'wmic csproduct get uuid')
result = fh:read'*a'
fh:close()
result = string.gsub(result,'UUID',"")
result = all_trim(result)
rst = string.gsub(result,'%a',''):gsub('%p','')
UDF1.CEEdit1.Text=(rst)
vipTbl.UserCode=rst
VipTimer1.Enabled=true
end
------------------------------ Load and Check List ------
function loadVipList()
end
------------------------------- Resul Check --------------
VipTimer1.OnTimer=function()
end
VipTimer1.Enabled=true
----------------------------------------------------
UDF1.Show()
UDF1.CEButton5.OnClick=function()
writeToClipboard(vipTbl.UserCode)
sleep(200)
showMessage("Copy Success!")
end
|
As long as you have access to Google Docs;
You will determine the control of the trainer and the usage restriction.
I think a lot of people use this script.
Click the thumb icon for +1 if you believe the code is helpful to you.
---------------------------------------
Knowing that there is only interaction and in terms of respect for the effort;
Give a reputation and message me to get sample Trainer and current code.
---------------------------------------
Here is a sample code!
Copy the code, paste it in CE >> Table >> Show Cheat Table Lua Script.
Just create a form (UDF1 form) to try it out, then make available the "UDF1.Hide()" and "startMyTrainer()" (under VipTimer1.OnTimer=function().) lines of code.
Click the "Execute" button and use it.
-- check save user name and key link: Since this example is the record, I left the permissions on as "Editable".
-- You, in your own list document, for the necessary registration and sharing permission; Confirm as "Anyone with the link".
-- https://docs.google.com/document/d/131YKsPttxsNH8z5lgWW1dmq_HWAWotHIHvGZ1pCoDkc
Code: | --############################################################################--
--############################################################################--
--############################################################################--
function startCheckForm()
if Ufrm1 then Ufrm1.Destroy() Ufrm1=nil end
DP1=getScreenDPI()/96
Ufrm1=createForm() or {}
Ufrm1.height=170*DP1 Ufrm1.width=400*DP1 Ufrm1.left=261*DP1 Ufrm1.top=98*DP1
Ufrm1.PopupMode=0 Ufrm1.caption="ByAylinCE Trainers"
Ufrm1.Position="poDesktopCenter" Ufrm1.BorderStyle="bsNone"
Ufrm1.setLayeredAttributes(0x000100, 255, LWA_COLORKEY | LWA_ALPHA )
Ufrm1.Color=0x000100
Ufrm1.ShowInTaskBar="stAlways"
-------------------------
----------------------- Ufrm1.Upnl1 -----
Ufrm1.Upnl1=createPanel(Ufrm1)
Ufrm1.Upnl1.AutoSize=false
Ufrm1.Upnl1.height=36*DP1 Ufrm1.Upnl1.width=390*DP1 Ufrm1.Upnl1.left=5*DP1 Ufrm1.Upnl1.top=5*DP1
Ufrm1.Upnl1.Cursor= -22
Ufrm1.Upnl1.Font.Style="fsBold" Ufrm1.Upnl1.Font.Size=14*DP1
Ufrm1.Upnl1.OnMouseDown = function() Ufrm1.DragNow() end
-----------------------
----------------------- Ufrm1.Upnl2 -----
Ufrm1.Upnl2=createPanel(Ufrm1)
Ufrm1.Upnl2.AutoSize=false
Ufrm1.Upnl2.height=80*DP1 Ufrm1.Upnl2.width=390*DP1 Ufrm1.Upnl2.left=5*DP1 Ufrm1.Upnl2.top=45*DP1
Ufrm1.Upnl2.Font.Style="fsBold" Ufrm1.Upnl2.Font.Size=0*DP1
-----------------------
----------------------- Ufrm1.Upnl3 -----
Ufrm1.Upnl3=createPanel(Ufrm1)
Ufrm1.Upnl3.AutoSize=false
Ufrm1.Upnl3.height=36*DP1 Ufrm1.Upnl3.width=390*DP1 Ufrm1.Upnl3.left=5*DP1 Ufrm1.Upnl3.top=130*DP1
Ufrm1.Upnl3.Font.Style="fsBold" Ufrm1.Upnl3.Font.Size=0*DP1
-----------------------
----------------------- Ufrm1.Ubtn1 -----
Ufrm1.Ubtn1=createButton(Ufrm1.Upnl1)
Ufrm1.Ubtn1.AutoSize=false
Ufrm1.Ubtn1.height=26*DP1 Ufrm1.Ubtn1.width=30*DP1 Ufrm1.Ubtn1.left=5*DP1 Ufrm1.Ubtn1.top=5*DP1
Ufrm1.Ubtn1.caption="--"
Ufrm1.Ubtn1.Font.Style="fsBold" Ufrm1.Ubtn1.Font.Size=14*DP1
-----------------------
----------------------- Ufrm1.Ubtn2 -----
Ufrm1.Ubtn2=createButton(Ufrm1.Upnl1)
Ufrm1.Ubtn2.AutoSize=false
Ufrm1.Ubtn2.height=26*DP1 Ufrm1.Ubtn2.width=30*DP1 Ufrm1.Ubtn2.left=355*DP1 Ufrm1.Ubtn2.top=5*DP1
Ufrm1.Ubtn2.caption="X"
Ufrm1.Ubtn2.Font.Style="fsBold" Ufrm1.Ubtn2.Font.Size=14*DP1
-----------------------
----------------------- Ufrm1.Ubtn3 -----
Ufrm1.Ubtn3=createButton(Ufrm1.Upnl3)
Ufrm1.Ubtn3.AutoSize=false
Ufrm1.Ubtn3.height=26*DP1 Ufrm1.Ubtn3.width=100*DP1 Ufrm1.Ubtn3.left=285*DP1 Ufrm1.Ubtn3.top=5*DP1
Ufrm1.Ubtn3.Font.Style="fsBold" Ufrm1.Ubtn3.Font.Size=0*DP1
-----------------------
----------------------- Ufrm1.Uedt1 -----
Ufrm1.Uedt1=createEdit(Ufrm1.Upnl3)
Ufrm1.Uedt1.AutoSize=false
Ufrm1.Uedt1.height=24*DP1 Ufrm1.Uedt1.width=220*DP1 Ufrm1.Uedt1.left=62*DP1 Ufrm1.Uedt1.top=6*DP1
Ufrm1.Uedt1.text=""
Ufrm1.Uedt1.Font.Style="fsBold" Ufrm1.Uedt1.Font.Size=0*DP1
-----------------------
----------------------- Ufrm1.Ulbl1 -----
Ufrm1.Ulbl1=createLabel(Ufrm1.Upnl3)
Ufrm1.Ulbl1.AutoSize=false
Ufrm1.Ulbl1.height=20*DP1 Ufrm1.Ulbl1.width=52*DP1 Ufrm1.Ulbl1.left=5*DP1 Ufrm1.Ulbl1.top=8*DP1
Ufrm1.Ulbl1.OptimalFill=true
Ufrm1.Ulbl1.Font.Style="fsBold" Ufrm1.Ulbl1.Font.Size=-15*DP1
-----------------------
----------------------- Ufrm1.Ulbl2 -----
Ufrm1.Ulbl2=createLabel(Ufrm1.Upnl2)
Ufrm1.Ulbl2.AutoSize=false
Ufrm1.Ulbl2.height=65*DP1 Ufrm1.Ulbl2.width=380*DP1 Ufrm1.Ulbl2.left=2*DP1 Ufrm1.Ulbl2.top=8*DP1
Ufrm1.Ulbl2.alignment="taCenter" Ufrm1.Ulbl2.OptimalFill=true
Ufrm1.Ulbl2.Font.Style="fsBold" Ufrm1.Ulbl2.Font.Size=-23*DP1
-----------------------
--############################################################################--
--############################################################################--
--############################################################################--
function generator(length,episode)
local capital_letters = {"A", "E", "I", "U", "W", "Q", "X"}
local low_letters = {"B", "C", "D", "F", "G", "H", "J", "K", "L", "M", "N", "P", "R", "S", "T", "V", "Y", "Z"}
local numbers = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
math.randomseed(os.time())
local pass = ""
local choice = 0
local nextPass = ""
local function epsd()
for _ = 1, length do
choice = math.random(3)
if choice == 1 then
pass = pass .. capital_letters[math.random(#capital_letters)]
elseif choice == 2 then
pass = pass .. low_letters[math.random(#low_letters)]
else
pass = pass .. numbers[math.random(#numbers)]
end
end
return pass
end
if episode>1 then
for i = 1, episode do
pass = ""
nextPass = nextPass .. "-" .. epsd()
end
else
nextPass = epsd()
end
return nextPass
end
--############################################################################--
--############################################################################--
--############################################################################--
if VipTimer1 then VipTimer1.Destroy() VipTimer1=nil end
VipTimer1=createTimer() VipTimer1.Interval=1000 VipTimer1.Enabled=false
local userKey1 = ""
--############################################################################--
settingsKey1=getSettings('keys1')
function SaveKey(nextKey)
settingsKey1.Value['key1'] = nextKey
--print(nextKey)
end
function LoadKey()
loadKey1 = settingsKey1.Value['key1']
if loadKey1=="" then
loadKey1 = generator(10,1)
SaveKey(loadKey1)
userKey1 = loadKey1
else
userKey1 = loadKey1
end
VipTimer1.Enabled=true
end
LoadKey()
--print("loadKey1: "..loadKey1)
local reg = [[%WINDIR%/System32/reg.exe ]]
MyId = io.popen(reg..[[ query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQMClient /v MachineId]])
function all_trim()
res1 = ""
for line in MyId:lines() do
res1 = res1.." "..line
end
res = (res1):match("{(.*)}") --:gsub("%a",""):gsub("-","")
if res~=nil then
res1 = (res):gsub("%a",""):gsub("-","")
end
return res1
end
userKey1 = userKey1.."-"..all_trim()
--############################################################################--
--############################################################################--
--############################################################################--
Ufrm1.Upnl1.Color = 0xEADE80
Ufrm1.Upnl2.Color = 0xF2EBB2
Ufrm1.Upnl3.Color = 0xEADE80
Ufrm1.Upnl3.Visible = false
Ufrm1.Upnl1.caption="Starting Trainer!"
Ufrm1.Ubtn3.caption="Copy ID"
Ufrm1.Ulbl1.caption="Your ID:"
Ufrm1.Ulbl2.caption="-:-Please wait-:-\n-:-Checking version!-:-"
local Version = "11223344"
local loadVers = ""
local loadIndex = 0
local myList = ""
-- Get key from url:
--https://docs.google.com/document/d/131YKsPttxsNH8z5lgWW1dmq_HWAWotHIHvGZ1pCoDkc/edit
--https://docs.google.com/document/d/--> 131YKsPttxsNH8z5lgWW1dmq_HWAWotHIHvGZ1pCoDkc <--/edit
-- key = "131YKsPttxsNH8z5lgWW1dmq_HWAWotHIHvGZ1pCoDkc"
function loadURL(key)
local result = ""
local url = "https://docs.google.com/document/d/"..key.."/export?format=txt"
local http = getInternet()
result = http.getURL(url)
http.Destroy()
return result
end
function checkVersion()
VipTimer1.Enabled=false
myList = loadURL("131YKsPttxsNH8z5lgWW1dmq_HWAWotHIHvGZ1pCoDkc")
sl = createStringList()
sl.Text = myList
for i=1, sl.Count -1 do
loadVers = sl[1]
end
sl.Destroy()
if loadVers==Version then
Ufrm1.Ulbl2.caption="The version is up to date!"
VipTimer1.Enabled=true
else
Ufrm1.Ulbl2.caption="It looks like there is a new version.\nPlease contact the Admin!"
VipTimer1.Enabled=false
end
end
function checkUserKey()
VipTimer1.Enabled=false
Ufrm1.Ulbl2.caption="ID is being queried...\nThanks for waiting."
local res = 0
sl = createStringList()
sl.Text = myList
local username=""
for i=1, sl.Count -1 do
check1 = sl[i]
if check1==userKey1 then res=1 username=sl[tonumber(i) - 1] end
end
sl.Destroy()
if res==1 then
Ufrm1.Ulbl2.caption="Hello again "..username.." \nWe wish you good games."
VipTimer1.Enabled=true
else
Ufrm1.Ulbl2.caption="You are not a registered user.\nPlease click the copy button below to get the code.\nSend the code to the\nAdmin for registration application!"
Ufrm1.Uedt1.text = userKey1
Ufrm1.Upnl3.Visible = true
VipTimer1.Enabled=false
end
end
-- check save user name and key link: Since this example is the record, I left the permissions on as "Editable".
-- You, in your own list document, for the necessary registration and sharing permission; Confirm as "Anyone with the link".
-- https://docs.google.com/document/d/131YKsPttxsNH8z5lgWW1dmq_HWAWotHIHvGZ1pCoDkc
Ufrm1.Ubtn3.OnClick=function()
aatext=Ufrm1.Uedt1.text
writeToClipboard(aatext)
sleep(80)
showMessage("User ID:\n" .. aatext .. "\nCopy successful!")
sleep(180)
end
--############################################################################--
--############################################################################--
--############################################################################--
function startMyTrainer()
if VipTimer1 then VipTimer1.Destroy() VipTimer1=nil end
if Ufrm1 then Ufrm1.Destroy() Ufrm1=nil end
--your trainer name? sample: UDF1
UDF1.Show()
end
VipTimer1.OnTimer=function()
loadIndex=tonumber(loadIndex) + 1
if loadIndex==3 then checkVersion() end
if loadIndex==6 then checkUserKey() end
if loadIndex==10 then
--startMyTrainer()
Ufrm1.Ulbl2.caption="If you've come this far,\neverything went well.\nYou can now start the main Trainer!"
VipTimer1.Enabled=false
end
end
end
--hide your Trainer.. Start check user form!
--your trainer name? sample: UDF1
--UDF1.Hide()
startCheckForm() |
( To use it, put the code at the beginning of the Trainer lua code.
And yes, you can customize the test form in the example. )
See you again with different ideas.
Enjoy it.
_________________
Last edited by AylinCE on Thu Aug 17, 2023 2:25 pm; edited 3 times in total |
|
Back to top |
|
 |
atom0s Moderator
Reputation: 204
Joined: 25 Jan 2006 Posts: 8579 Location: 127.0.0.1
|
Posted: Fri Feb 14, 2020 10:19 pm Post subject: |
|
|
Some notes on this:
1. This is super easy to bypass. Given that you are connecting to the internet to download a list of valid IDs, that can be proxied and just self-hosted to include any ID.
2. This is set up in a manner to be extremely insecure and leaking private/personal data of your users. Since the trainer is downloading the list of valid IDs, anyone can view the file and see other people's hardware information. While the single id isn't that incriminating, if other info is added then it can potentially worry some to your users to know their personal information is leaking.
3. The Lua code for this is easily modified even if you encode it. The Check() call can be altered to bypass the check and just force the cheat open/visible.
_________________
- Retired. |
|
Back to top |
|
 |
AylinCE Grandmaster Cheater Supreme
Reputation: 35
Joined: 16 Feb 2017 Posts: 1478
|
Posted: Sat Feb 15, 2020 5:02 am Post subject: |
|
|
Before anything else; This chase will turn into an enjoyable game.
1) Only admin can edit the current identity list.
and Lua code must be decoded to edit.
2) Users' personal data will never be collected.
Because shortened coding will cease to be user data,
it will become a user-specific password.
example:
Code: | --result = C0D42EA6-C03F-5E5E-8F8A-373BEE14068B
rst = string.gsub(result,'%A','')
print(rst) --rst = CDEACFEEFABEEB |
( The full UUID will never appear. User and Admin will see the shortened "rst".
)
Example VIP Pass Tool: https://www.dosyaupload.com/fsdP
3) "createTimer" event can be assigned to Lua code,
"MyTrainer" visibility is also packed into the function and the package name remains hidden.
VIP Check or My Trainer: https://www.dosyaupload.com/746d
Result: Again, the Trainer script (Content) remains bound to unique encryption.
As long as the trainer lua is decrypted, any action to be taken will be invalid.
Note: To decrypt and change the script; Trainer needs to be purchased.
Let us not forget; This is an idea to get started. It is an idea that is open to development and will be strengthened with additions.
_________________
|
|
Back to top |
|
 |
exohaxor Expert Cheater
Reputation: 1
Joined: 02 Sep 2018 Posts: 101
|
Posted: Sat Feb 15, 2020 8:49 am Post subject: |
|
|
so is there a better way?
_________________
hi |
|
Back to top |
|
 |
AylinCE Grandmaster Cheater Supreme
Reputation: 35
Joined: 16 Feb 2017 Posts: 1478
|
Posted: Sat Feb 15, 2020 12:32 pm Post subject: |
|
|
exohaxor wrote: | so is there a better way? |
@DarkByte gave an idea.
But to code this idea ...
There may be a separate tutorial forum topic.
Maybe @DarkByte can share a sample encoding.
https://forum.cheatengine.org/viewtopic.php?p=5758224#5758224
_________________
|
|
Back to top |
|
 |
Oxijen Expert Cheater
Reputation: 0
Joined: 07 May 2020 Posts: 163 Location: On The Moon
|
Posted: Sat Jun 13, 2020 2:49 am Post subject: |
|
|
Easy To Use!!
Explained!!
Strong Protection For VIP!!
Version Protection For VIP!!
Can Be Also Used As Free Trail!!
AMAZING!!
Thank You!!
_________________
I can see you Hitler
Especially When I am On the Moon!!
You are Right now in cheat engine forum  |
|
Back to top |
|
 |
Corroder Grandmaster Cheater Supreme
Reputation: 75
Joined: 10 Apr 2015 Posts: 1668
|
Posted: Mon Oct 05, 2020 6:51 am Post subject: |
|
|
zbobfrank90 wrote: | hi, how to --print user UUID to CEEdit. |
Code: | function all_trim(s)
return s:match"^%s*(.*)":match"(.-)%s*$"
end
local fh = assert(io.popen'wmic csproduct get uuid')
result = fh:read'*a'
fh:close()
result = string.gsub(result,'UUID',"")
result = all_trim(result)
--result = string.sub(result,5)
print(result)
UDF1.CEEdit1.Text = result |
_________________
Stealing Code From Stolen Code...
And Admit It.. Hmmm....Typically LOL |
|
Back to top |
|
 |
srunblue Newbie cheater
Reputation: 0
Joined: 21 Oct 2020 Posts: 11 Location: Cambodia
|
Posted: Wed Oct 21, 2020 6:54 am Post subject: |
|
|
Aylin can you PM me I have some question bro
|
|
Back to top |
|
 |
ByTransient Expert Cheater
Reputation: 5
Joined: 05 Sep 2020 Posts: 240
|
Posted: Sat Oct 31, 2020 2:26 am Post subject: |
|
|
srunblue wrote: | Aylin can you PM me I have some question bro |
Note: This is just an observation.
@Aylin is not a "Coder". (He explained this in several of his articles)
It just generates good ideas and blends existing code into it.
You can ask for more information here or in the relevant section of the CEF.
Masters and/or forum moderators will always help you improve your code and fix bugs.
|
|
Back to top |
|
 |
fizzop How do I cheat?
Reputation: 0
Joined: 01 Dec 2021 Posts: 1
|
Posted: Wed Dec 01, 2021 9:56 pm Post subject: Re: Take control of your trainer + Register VIP members .. |
|
|
Error:[string "dbk_initialize() ..."]:51: attempt to index a nil value (global 'UDF1')
I am getting this error while runnin vip member code can anyone tell the fix
|
|
Back to top |
|
 |
packrat How do I cheat?
Reputation: 0
Joined: 11 Jun 2013 Posts: 9
|
Posted: Sat Feb 05, 2022 10:35 am Post subject: how to add user UUID |
|
|
Just wondering how would I add the user code when someone sends me their Code so the trainer would load?
|
|
Back to top |
|
 |
AylinCE Grandmaster Cheater Supreme
Reputation: 35
Joined: 16 Feb 2017 Posts: 1478
|
Posted: Sat Feb 05, 2022 2:26 pm Post subject: Re: how to add user UUID |
|
|
fizzop wrote: | Error:[string "dbk_initialize() ..."]:51: attempt to index a nil value (global 'UDF1')
I am getting this error while runnin vip member code can anyone tell the fix |
Are you using my example shared table?
Open the table you are using and look at line 51 (Do you have a UDF1 related table? or is there something missing on line 50?)
Copy line 50 and 51 and post it here.
packrat wrote: | Just wondering how would I add the user code when someone sends me their Code so the trainer would load? |
To list VIP member codes (User Key), open a Google document and set sharing; Configure it to "Anyone with the link can view".
Put the link on your table and have it download and read it with the code given above and compare it with the current key.
Actually I need to update this thread to new version.
Since Google Sites is not in its old layout, give me some time to re-code to the new layout.
_________________
|
|
Back to top |
|
 |
packrat How do I cheat?
Reputation: 0
Joined: 11 Jun 2013 Posts: 9
|
Posted: Sat Feb 05, 2022 4:59 pm Post subject: Re: how to add user UUID |
|
|
AylinCE wrote: | fizzop wrote: | Error:[string "dbk_initialize() ..."]:51: attempt to index a nil value (global 'UDF1')
I am getting this error while runnin vip member code can anyone tell the fix |
Are you using my example shared table?
Open the table you are using and look at line 51 (Do you have a UDF1 related table? or is there something missing on line 50?)
Copy line 50 and 51 and post it here.
packrat wrote: | Just wondering how would I add the user code when someone sends me their Code so the trainer would load? |
To list VIP member codes (User Key), open a Google document and set sharing; Configure it to "Anyone with the link can view".
Put the link on your table and have it download and read it with the code given above and compare it with the current key.
Actually I need to update this thread to new version.
Since Google Sites is not in its old layout, give me some time to re-code to the new layout. |
The ulist Doc. I don't understand. Can you post some pic on how to set up?
|
|
Back to top |
|
 |
AylinCE Grandmaster Cheater Supreme
Reputation: 35
Joined: 16 Feb 2017 Posts: 1478
|
Posted: Sat Feb 05, 2022 9:12 pm Post subject: |
|
|
UPDATE..
New Version V2
_________________
|
|
Back to top |
|
 |
packrat How do I cheat?
Reputation: 0
Joined: 11 Jun 2013 Posts: 9
|
Posted: Sun Feb 06, 2022 6:28 am Post subject: |
|
|
Thank you so much
|
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You cannot download files in this forum
|
|