"ArtMoney Table","20","8.16","19849FBD","E36E09FB","VP0","1","1","english","FINAL FANTASY XIII","ffxiiiimg.exe","1","eddf3e306543fe36b205ecc88e4e18d9","05/07/2023","2","10","0","1","256","9","","19045","Richard","Vienna,Austria","aon.at","richardxxx","M","32","N","Y","Y","Y","Y","N","5","Money-Gil-CHEAT;8B45?? 898278250000;9;;0C;A;S;","Battle-Health_TP-Cheat;898890020000 6A00;8;;0C;A;S;","ITEMs-CHEAT;8B4810 2B4D?? 8B55?? 894A10;C;;0C;A;S;","Get-CP-Write-after-Use;8B88????0000 2B4C24??;A;;0C;A;S;","Battle-Use-ATB;8981????0000 837D??00 74??;C;;0C;A;S;","5","2","ALL","","MAIN","1","CORE","2","Control","2","Reserve","1","Created in May 2023 on Steam Version Table uses Autoinjection and Groups. For manuel use: Table/Info/Code injecting -> 'Replace all Codes' +Remove Checkmark 'Autoinjection' in TAB 'Code injecting *' * Minimum ITEMs after Use/Sold: ITEMs has to be 2 or more (max.99) Sell 1 or ALL-2 to get Min.Amount (and Gil) 1: SIngle Items in INV will not touched !! ALL: Sell ALL to get RID of ITEM Type * Minimum Money/Gil after BUY or SELL Maximum Value=999999999 * Minimum TEAM ATB: 0-9 Will be *1000 (using MASK) for Live-Value and Div 1000 (3E8 Hex) for Reading * Minimum TEAM ATB: 0=OFF Wait until ATB-Gauge is Full: Then ATB will be Minimum ATB or (If Lower) max. ATB of CHAR * Minimum TEAM Battle-TP: 0=OFF No (Regular) Death when 1+ * CHAR Damage: 1-4 Reduced Damage Foe Damage: 1-4 Enhanced Damage * FOEs 2 HIT KILL; 1st Hit set 2EP ","Money_Gil_Range dd 0 Battle_CHAR_TP_Range dd 0 Battle_CHAR_ATB_Range dd 0 // is same as above for same CHAR Battle_Foe_TP_Range dd 0 Last_Sold_Range dd 0 Min_Health dd 1 // For CHARs Damage_Reduct dd 2 // for CHARs Damage_Mult dd 1 // For FOEs 2HIT_KILL dd 0 // For FOEs Minimum_CP dd C350 // 50000. max. F423F=999,999dec Minimum_ITEMs dd 36 // 54dec max. 63=99dec Min_ATB dd 7D0 /// 2000=2ATB -> Limit using max. CHAR ATB Minimum_GIL dd 86470 //=550,000 max. 3B9AC9FF=999,999,999dec Line dd 2D2D2D2D ","-- Read: Table/Info/Comment --","00000000","","3","","nt4","","","","","0","-Start ARTM+Game, Start Playing, open ARTM-Table-","00000000","","3","","nt4","","","","","0","* Money / Gil (Module-Addr. Using Pointer)","ffxiiiimg.exe+P0242B230,9592","","3","","ni4","","","","","0","* Time in Game (Seconds, Using Pointer)","ffxiiiimg.exe+P0242B230,9602","","3","","ni4","","","","","0","-- Get Values by Buying or Selling ITEM(s) --","Line+00000000","","3","","nt2&","","","","","0","* Money / Gil ","Money_Gil_Range+P00000000,9592","","3","","ni3&","","","","","0","* Time in Game ","Money_Gil_Range+P00000000,9602","","3","","ni4&","","","","","0","* Last Used/Sold ITEM AMOUNT (DON'T CHANGE IF 0)","Last_Sold_Range+P00000000,16","","3","","ni2&","","","","","0","-- Crystarium Points using Money / Gil Range --","Line+00000000","","3","","nt2&","","","","","0","* CP: Fang","Money_Gil_Range+P00000000,74000","","3","","ni4&","","","","","0","* CP: Hope (Fang + 2* 3888 dec)","Money_Gil_Range+P00000000,81776","","3","","ni4&","","","","","0","* CP: Lightning","Money_Gil_Range+P00000000,89552","","3","","ni4&","","","","","0","* CP: Sazh","Money_Gil_Range+P00000000,93440","","3","","ni4&","","","","","0","* CP: Snow","Money_Gil_Range+P00000000,101216","","3","","ni4&","","","","","0","* CP: Vanille","Money_Gil_Range+P00000000,105104","","3","","ni4&","","","","","0","-- CHEAT Configuration Part --","Line+00000000","","3","","nt2&","","","","","0","* Minimum Money/Gil (Buy or Sell) ON=Value, OFF=0","Minimum_GIL+00000000","","3","","ni3&","","","","","0","* Minimum CP for Crystarium Use; ON=Value, OFF=0","Minimum_CP+00000000","","3","","ni3&","","","","","0","* Minimum ITEMs after Use/Sold * ON=Value, OFF=0","Minimum_ITEMs+00000000","","3","","ni1&","","","","","0","* FOEs 2 HIT KILL ON=Value, OFF=0","2HIT_KILL+00000000","","3","","ni1&","","","","","0","* Minimum TEAM Battle-TP (Health) ON=Value, OFF=0","Min_Health+00000000","","3","","ni3&","","","","","0","* Minimum TEAM ATB (Using Masks) ON=Value, OFF=0","Min_ATB+00000000","","3","","ni2&","","dword($value / 3E8)","dword($value * 3E8)","ni3","0","* CHAR Damage: ON:1=1/2,2=1/4,3=1/8,4=1/16, OFF=0","Damage_Reduct+00000000","","3","","ni1&","","","","","0","* FOEs Damage: ON:1=*2, 2=*4, 3=*8, 4=*16, OFF=0","Damage_Mult+00000000","","3","","ni1&","","","","","0","--- Injection Part ---","Line+00000000","","3","","nt3&","","","","","0","# Get Money/Gil & Time: mov [edx+00002578],eax","Money-Gil-CHEAT+00000003","","3","","nc5$","","","","","0","Y","0","898278250000","mov [Money_Gil_Range],edx push ebx mov ebx,[Minimum_GIL] cmp ebx,3B9AC9FF // 999,999,999dec jle Skip_Money_Limit mov ebx,B9AC9FF // set max. Gil Value Skip_Money_Limit: cmp eax,ebx cmovl eax,ebx // Change if Lower pop ebx PutOriginalCode","# Get ITEM Amount: (Sell ITEM) sub ecx,[ebp+0C]","ITEMs-CHEAT+00000003","","3","","nc5$","","","","","0","Y","6","2B4D0C","PutOriginalCode mov [Last_Sold_Range],edx test ecx,ecx jnz Check_Min_Items // Amount <> 0 cmp ecx,[edx+10] // Compare Inventory vs. SUB je Item_End // Allow ALL and Single Items Removement // IF Inventory > SUB (Minimum=1) THEN: Check_Min_Items: push ebx mov ebx,[Minimum_ITEMs] cmp ebx,63 // max. 99 jbe Skip_Amount_99 mov ebx,63 mov [Minimum_ITEMs],ebx Skip_Amount_99: mov ecx,ebx // Set to Minimum Amount pop ebx Item_End:","# Battle Health/TP Cheat: mov [eax+00000290],ecx","Battle-Health_TP-Cheat+00000000","","3","","nc5$","","","","","0","Y","0","898890020000","push ebx push edx cmp [eax+180],9 // 1st CHAR jb Is_Foe cmp [eax+180],11 // 9th CHAR ja Is_Foe // CHARs mov [Battle_CHAR_TP_Range],eax mov edx,[eax+00000290] // Get Health before Hit cmp edx,ecx jbe Battle_TP_End // Healing or No Damage mov ebx,edx // save also to ebx sub edx,ecx // =Damage mov ecx,[Damage_Reduct] cmp ecx,4 jbe Reduct_OK mov ecx,4 mov [Damage_Reduct],ecx Reduct_OK: shr edx,cl // reduce Damage 1=1/2,2=1/4,3=1/6, 4=1/16 sub ebx,edx // calc cheat new Health mov ecx,ebx // put in right register cmp ecx,0 js Set_Min_Health mov edx,[Min_Health] cmp ecx,edx jbe Set_Min_Health jmp Battle_TP_End Set_Min_Health: cmp edx,[eax+2C8] // with max. Health/TP for CHAR jbe Skip_Max_Correction // is OK mov edx,[eax+2C8] // max. Health/TP for CHAR Skip_Max_Correction: cmp ecx,edx cmovl ecx,edx // Not more than Maximum TP allowed jmp Battle_TP_End Is_Foe: mov [Battle_Foe_TP_Range],eax cmp ecx,2 jle Battle_TP_End // Now Foe 1-2 TP or Death no Cheat needed mov edx,[2HIT_KILL] test edx,edx jz Mult_Calc mov ecx,02 // 1. Hit: Set Healh/TP to 2 jmp Battle_TP_End Mult_Calc: mov edx,[eax+00000290] // Get Health before Hit mov ebx,edx // save also to ebx sub edx,ecx // =Damage mov ecx,[Damage_Mult] cmp ecx,4 jbe Mult_OK mov ecx,4 mov [Damage_Mult],ecx Mult_OK: shl edx,cl // Mult Damage 1=*2,2=*4,3=*8, 4=*16 sub ebx,edx // calc cheat new Health mov ecx,ebx // put in right register cmp ecx,2 jge Battle_TP_End mov ecx,2 // min Health Set from Cheat // for correct FOE Death Detection on next Hit Battle_TP_End: pop edx pop ebx PutOriginalCode","# Battle Use ATB & CHEAT; mov [ecx+000002A0],eax","Battle-Use-ATB+00000000","","3","","nc5$","","","","","0","Y","0","8981????0000","cmp [ecx+180],9 jb Is_ATB_Foe // is Foe cmp [ecx+180],11 // 9th CHAR ja Is_ATB_Foe push ebx mov [Battle_CHAR_ATB_Range],ecx mov ebx,[Min_ATB] test ebx,ebx jz ATB_End // No Cheat cmp ebx,[ecx+2D0] // cmp with Max. ATB for CHAR jbe ATB_OK mov ebx,[ecx+2D0] // Max. ATB ATB_OK: cmp eax,ebx // cmp Game ATB with min(max.).ATB cmovl eax,ebx get higher Value ATB_End: pop ebx Is_ATB_Foe: PutOriginalCode","# CHAR: CP & Write CHEAT: mov ecx,[eax+000044C0]","Get-CP-Write-after-Use+00000000","","3","","nc5$","","","","","0","Y","0","8B88????0000","PutOriginalCode mov edx,[Minimum_CP] cmp ecx,edx cmovl ecx,edx","-- Battle Values for Control --","Line+00000000","","4","","nt2&","","","","","0","* Battle: Last Hit CHAR-ID (9-17)","Battle_CHAR_TP_Range+P00000000,384","","4","","ni1&","","","","","0","* Last CHAR Battle ATB * 1000 (Live-Value)","Battle_CHAR_ATB_Range+P00000000,672","","4","","ni3&","","","","","0","* Battle: Last ACT. CHAR Battle Health/TP","Battle_Foe_TP_Range+P00000000,656","","4","","ni4&","","","","","0","* Battle: Last MAX. CHAR Battle Health/TP","Battle_CHAR_TP_Range+P00000000,712","","4","","ni4&","","","","","0","* Battle: Last Hit FOEs-ID","Battle_Foe_TP_Range+P00000000,804","","4","","ni1&","","","","","0","* Battle: Last ACT. FOEs Battle Health/TP","Battle_Foe_TP_Range+P00000000,656","","4","","ni4&","","","","","0","* Battle: Last MAX. FOEs Battle Health/TP","Battle_Foe_TP_Range+P00000000,712","","4","","ni4&","","","","","0","-- Reserve using Module Addressing --","Line+00000000","","5","","nt2&","","","","","0","# Get Money/Gil & Time: mov [edx+00002578],eax","ffxiiiimg.exe+0076C672","","5","","nc5","","","","","0","N","0","898278250000","mov [Money_Gil_Range],edx push ebx mov ebx,[Minimum_GIL] cmp ebx,3B9AC9FF // 999,999,999dec jle Skip_Money_Limit mov ebx,B9AC9FF // set max. Gil Value Skip_Money_Limit: cmp eax,ebx cmovl eax,ebx // Change if Lower pop ebx PutOriginalCode","# Get ITEM Amount: (Sell ITEM) sub ecx,[ebp+0C]","ffxiiiimg.exe+00758C3F","","5","","nc5","","","","","0","N","6","2B4D0C","PutOriginalCode mov [Last_Sold_Range],edx test ecx,ecx jnz Check_Min_Items // Amount <> 0 cmp ecx,[edx+10] // Compare Inventory vs. SUB je Item_End // Allow ALL and Single Items Removement // IF Inventory > SUB (Minimum=1) THEN: Check_Min_Items: push ebx mov ebx,[Minimum_ITEMs] cmp ebx,63 // max. 99 jbe Skip_Amount_99 mov ebx,63 mov [Minimum_ITEMs],ebx Skip_Amount_99: mov ecx,ebx // Set to Minimum Amount pop ebx Item_End:","# Battle Health/TP Cheat: mov [eax+00000290],ecx","ffxiiiimg.exe+0006E85B","","5","","nc5","","","","","0","N","0","898890020000","push ebx push edx cmp [eax+180],9 // 1st CHAR jb Is_Foe cmp [eax+180],11 // 9th CHAR ja Is_Foe // CHARs mov [Battle_CHAR_TP_Range],eax mov edx,[eax+00000290] // Get Health before Hit cmp edx,ecx jbe Battle_TP_End // Healing or No Damage mov ebx,edx // save also to ebx sub edx,ecx // =Damage mov ecx,[Damage_Reduct] cmp ecx,4 jbe Reduct_OK mov ecx,4 mov [Damage_Reduct],ecx Reduct_OK: shr edx,cl // reduce Damage 1=1/2,2=1/4,3=1/6, 4=1/16 sub ebx,edx // calc cheat new Health mov ecx,ebx // put in right register cmp ecx,0 js Set_Min_Health mov edx,[Min_Health] cmp ecx,edx jbe Set_Min_Health jmp Battle_TP_End Set_Min_Health: cmp edx,[eax+2C8] // with max. Health/TP for CHAR jbe Skip_Max_Correction // is OK mov edx,[eax+2C8] // max. Health/TP for CHAR Skip_Max_Correction: cmp ecx,edx cmovl ecx,edx // Not more than Maximum TP allowed jmp Battle_TP_End Is_Foe: mov [Battle_Foe_TP_Range],eax cmp ecx,2 jle Battle_TP_End // Now Foe 1-2 TP or Death no Cheat needed mov edx,[2HIT_KILL] test edx,edx jz Mult_Calc mov ecx,02 // 1. Hit: Set Healh/TP to 2 jmp Battle_TP_End Mult_Calc: mov edx,[eax+00000290] // Get Health before Hit mov ebx,edx // save also to ebx sub edx,ecx // =Damage mov ecx,[Damage_Mult] cmp ecx,4 jbe Mult_OK mov ecx,4 mov [Damage_Mult],ecx Mult_OK: shl edx,cl // Mult Damage 1=*2,2=*4,3=*8, 4=*16 sub ebx,edx // calc cheat new Health mov ecx,ebx // put in right register cmp ecx,2 jge Battle_TP_End mov ecx,2 // min Health Set from Cheat // for correct FOE Death Detection on next Hit Battle_TP_End: pop edx pop ebx PutOriginalCode","# Battle Use ATB & CHEAT; mov [ecx+000002A0],eax","ffxiiiimg.exe+0006EAD4","","5","","nc5","","","","","0","N","0","8981A0020000","cmp [ecx+180],9 jb Is_ATB_Foe // is Foe cmp [ecx+180],11 // 9th CHAR ja Is_ATB_Foe push ebx mov [Battle_CHAR_ATB_Range],ecx mov ebx,[Min_ATB] test ebx,ebx jz ATB_End // No Cheat cmp ebx,[ecx+2D0] // cmp with Max. ATB for CHAR jbe ATB_OK mov ebx,[ecx+2D0] // Max. ATB ATB_OK: cmp eax,ebx // cmp Game ATB with min(max.).ATB cmovl eax,ebx get higher Value ATB_End: pop ebx Is_ATB_Foe: PutOriginalCode","# CHAR: CP & Write CHEAT: mov ecx,[eax+000044C0]","ffxiiiimg.exe+0057D90C","","5","","nc5","","","","","0","N","0","8B88????0000","PutOriginalCode mov edx,[Minimum_CP] cmp ecx,edx cmovl ecx,edx","--- END ---","Line+00000000","","3","","nt3&","","","","","0"