Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Take control of your trainer + Register VIP members ..
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Tutorials -> LUA Tutorials
View previous topic :: View next topic  
Author Message
AylinCE
Grandmaster Cheater Supreme
Reputation: 30

Joined: 16 Feb 2017
Posts: 1234

PostPosted: Thu Feb 13, 2020 4:29 am    Post subject: Take control of your trainer + Register VIP members .. This post has 1 review(s) Reply with quote

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 Wink )

====================================
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. Wink

---------------------------------------
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
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
atom0s
Moderator
Reputation: 198

Joined: 25 Jan 2006
Posts: 8516
Location: 127.0.0.1

PostPosted: Fri Feb 14, 2020 10:19 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
AylinCE
Grandmaster Cheater Supreme
Reputation: 30

Joined: 16 Feb 2017
Posts: 1234

PostPosted: Sat Feb 15, 2020 5:02 am    Post subject: Reply with quote

Before anything else; This chase will turn into an enjoyable game. Very Happy

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. Wink

_________________
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
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
exohaxor
Expert Cheater
Reputation: 1

Joined: 02 Sep 2018
Posts: 101

PostPosted: Sat Feb 15, 2020 8:49 am    Post subject: Reply with quote

so is there a better way?
_________________
hi
Back to top
View user's profile Send private message
AylinCE
Grandmaster Cheater Supreme
Reputation: 30

Joined: 16 Feb 2017
Posts: 1234

PostPosted: Sat Feb 15, 2020 12:32 pm    Post subject: Reply with quote

exohaxor wrote:
so is there a better way?


@DarkByte gave an idea.
But to code this idea ... Smile
There may be a separate tutorial forum topic.
Maybe @DarkByte can share a sample encoding. Cool

https://forum.cheatengine.org/viewtopic.php?p=5758224#5758224

_________________
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
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Oxijen
Expert Cheater
Reputation: 0

Joined: 07 May 2020
Posts: 163
Location: On The Moon

PostPosted: Sat Jun 13, 2020 2:49 am    Post subject: Reply with quote

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 Wink
Back to top
View user's profile Send private message
Corroder
Grandmaster Cheater Supreme
Reputation: 75

Joined: 10 Apr 2015
Posts: 1667

PostPosted: Mon Oct 05, 2020 6:51 am    Post subject: Reply with quote

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
View user's profile Send private message
srunblue
Newbie cheater
Reputation: 0

Joined: 21 Oct 2020
Posts: 11
Location: Cambodia

PostPosted: Wed Oct 21, 2020 6:54 am    Post subject: Reply with quote

Aylin can you PM me I have some question bro
Back to top
View user's profile Send private message
ByTransient
Expert Cheater
Reputation: 5

Joined: 05 Sep 2020
Posts: 240

PostPosted: Sat Oct 31, 2020 2:26 am    Post subject: Reply with quote

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
View user's profile Send private message
fizzop
How do I cheat?
Reputation: 0

Joined: 01 Dec 2021
Posts: 1

PostPosted: Wed Dec 01, 2021 9:56 pm    Post subject: Re: Take control of your trainer + Register VIP members .. Reply with quote

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
View user's profile Send private message
packrat
How do I cheat?
Reputation: 0

Joined: 11 Jun 2013
Posts: 9

PostPosted: Sat Feb 05, 2022 10:35 am    Post subject: how to add user UUID Reply with quote

Just wondering how would I add the user code when someone sends me their Code so the trainer would load?
Back to top
View user's profile Send private message
AylinCE
Grandmaster Cheater Supreme
Reputation: 30

Joined: 16 Feb 2017
Posts: 1234

PostPosted: Sat Feb 05, 2022 2:26 pm    Post subject: Re: how to add user UUID Reply with quote

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.

_________________
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
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
packrat
How do I cheat?
Reputation: 0

Joined: 11 Jun 2013
Posts: 9

PostPosted: Sat Feb 05, 2022 4:59 pm    Post subject: Re: how to add user UUID Reply with quote

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
View user's profile Send private message
AylinCE
Grandmaster Cheater Supreme
Reputation: 30

Joined: 16 Feb 2017
Posts: 1234

PostPosted: Sat Feb 05, 2022 9:12 pm    Post subject: Reply with quote

UPDATE..
New Version V2

_________________
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
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
packrat
How do I cheat?
Reputation: 0

Joined: 11 Jun 2013
Posts: 9

PostPosted: Sun Feb 06, 2022 6:28 am    Post subject: Reply with quote

Thank you so much
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Tutorials -> LUA Tutorials All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
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


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites