AylinCE Grandmaster Cheater Supreme
Reputation: 37 Joined: 16 Feb 2017 Posts: 1516
|
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. _________________ Hi Hitler Different Trainer forms for you!
https://forum.cheatengine.org/viewtopic.php?t=619279
Enthusiastic people: Always one step ahead
Do not underestimate me Master: You were a beginner in the past

Last edited by AylinCE on Thu Aug 17, 2023 2:25 pm; edited 3 times in total
|
|