Advertisement
tduva

SA Cheat Table Memory Addresses / Utility Script

Dec 3rd, 2015
1,522
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 32.06 KB | None | 0 0
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <CheatTable CheatEngineTableVersion="18">
  3.   <Forms>
  4.     <GTASAForm Class="TCEForm" Encoding="Ascii85">omEY4)=Aq/;@P1_Tha873L#md3%Y45Rcb_5kkT{vm7uQbK$mC_Pm,/%Ot4:^A[QAb04LxEhz(yG3P@_zr^D%K[BeJX5U9FJ=8+Dy[w)N5tDz^3*B2XtsMhK%cxFCmRGdomE(mX:LG#qY5hk53Xg=LL!Ft-.oPJJR:xU#GMiupdFj_/6i;$^$d.-Ins!uS5w5%kaM@$D7=!eH.MyVY-fQB}Zz^OJ+k[gS1;oKPlU])sL3I_GwQ;%7y%R69$xf)?HAJ:z_7/hOXb5xClqB/WjR4*;OAC#2fEm3CGcPwC5h^0O3PaYjR(ar*RZ;!iqO+=RLpel,I8BucyTtDph2//#UejkT+.@U/XZFO1T5Et[/8(yUjV7^=;9uUCeKaROJ+]O;JM4yI/!a(Gc%udfD@4a,T17L}$Ka]QSrC8g3qV2t6i2AUkBafdHkQWsg$cxdG.u%J,P5q(nsmtXXcmM@nwzqk*y#WJIByXoH5jK{ooAXD6LV:?(5VN_UuzHs^F2F2-W+y;YzhendBSyupsq@fCOKvrjHyKk@X0^xGaU7ANE7Q^D@w$L!@.Jq]C8;[0Z{T86EMT(BS^D0k#dT^u,2Jwm@,9y[C1s#{SCSTfhL9K5;TA2ZcXt*V/Y*)d9wVI[.fcrPEcFOFog%sI!o.s8Mq_n)$^7EiJ_WB-30sYYeM@LCU$Pu.b5N[{vnKL4ebz$0b%BD(N#wc#4nv:WVAzzec+];uWU:wf%p,Y6wOr]}s^o*?R_-@nqsWOGiQUgrQsrcwBLqu8WNixL[Rok??gPKNl4v!bpubGf7e!4ZvIFR8h(J#5ryA$S5hoNHvcenj4%pDefxJ*Crr]1$7+ltWxIT{=CDtzPne3Z(hu?}82bPQ5gkpC,/6D(ZF2rkU[koX)97!:Jb:E$PR$x2rtjEO{wmBZda/z,S2Txw9)_q^j=!DSVT:i.RnY?{ufV%yHUiRjGos.KmFL7-DKNojuXhC=E4(KebdpI$I+Z5!9Zv</GTASAForm>
  5.   </Forms>
  6.   <CheatEntries>
  7.     <CheatEntry>
  8.       <ID>13</ID>
  9.       <Description>"Skill/Stats"</Description>
  10.       <Options moManualExpandCollapse="1"/>
  11.       <LastState Value="" Activated="0" RealAddress="00000000"/>
  12.       <Color>80000008</Color>
  13.       <GroupHeader>1</GroupHeader>
  14.       <CheatEntries>
  15.         <CheatEntry>
  16.           <ID>14</ID>
  17.           <Description>"Progress"</Description>
  18.           <Options moManualExpandCollapse="1"/>
  19.           <LastState Value="" Activated="0" RealAddress="00000000"/>
  20.           <Color>80000008</Color>
  21.           <GroupHeader>1</GroupHeader>
  22.           <CheatEntries>
  23.             <CheatEntry>
  24.               <ID>16</ID>
  25.               <Description>"Max Health Progress (600k)"</Description>
  26.               <LastState Value="??" Activated="0" RealAddress="00B7950C"/>
  27.               <Color>80000008</Color>
  28.               <VariableType>4 Bytes</VariableType>
  29.               <Address>00B7950C</Address>
  30.             </CheatEntry>
  31.             <CheatEntry>
  32.               <ID>2</ID>
  33.               <Description>"Stamina/Run (300k)"</Description>
  34.               <LastState Value="??" Activated="0" RealAddress="00B79500"/>
  35.               <Color>80000008</Color>
  36.               <VariableType>4 Bytes</VariableType>
  37.               <Address>00B79500</Address>
  38.             </CheatEntry>
  39.             <CheatEntry>
  40.               <ID>15</ID>
  41.               <Description>"Muscle [Run,Sprint,Swim,Dive] (150k)"</Description>
  42.               <LastState Value="??" Activated="0" RealAddress="00B794FC"/>
  43.               <Color>80000008</Color>
  44.               <VariableType>4 Bytes</VariableType>
  45.               <Address>00B794FC</Address>
  46.             </CheatEntry>
  47.             <CheatEntry>
  48.               <ID>6</ID>
  49.               <Description>"Bike (180k)"</Description>
  50.               <LastState Value="??" Activated="0" RealAddress="00B794F8"/>
  51.               <Color>80000008</Color>
  52.               <VariableType>4 Bytes</VariableType>
  53.               <Address>00B794F8</Address>
  54.             </CheatEntry>
  55.             <CheatEntry>
  56.               <ID>11</ID>
  57.               <Description>"Flying (300k)"</Description>
  58.               <LastState Value="??" Activated="0" RealAddress="00B794F0"/>
  59.               <Color>80000008</Color>
  60.               <VariableType>4 Bytes</VariableType>
  61.               <Address>00B794F0</Address>
  62.             </CheatEntry>
  63.             <CheatEntry>
  64.               <ID>1</ID>
  65.               <Description>"Driving (300k)"</Description>
  66.               <LastState Value="??" Activated="0" RealAddress="00B794EC"/>
  67.               <Color>80000008</Color>
  68.               <VariableType>4 Bytes</VariableType>
  69.               <Address>00B794EC</Address>
  70.             </CheatEntry>
  71.             <CheatEntry>
  72.               <ID>7</ID>
  73.               <Description>"Lung Capacity (60k)"</Description>
  74.               <LastState Value="??" Activated="0" RealAddress="00B794E8"/>
  75.               <Color>80000008</Color>
  76.               <VariableType>4 Bytes</VariableType>
  77.               <Address>00B794E8</Address>
  78.             </CheatEntry>
  79.             <CheatEntry>
  80.               <ID>17</ID>
  81.               <Description>"Stamina/Swim (180k)"</Description>
  82.               <LastState Value="??" Activated="0" RealAddress="00B794E4"/>
  83.               <Color>80000008</Color>
  84.               <VariableType>4 Bytes</VariableType>
  85.               <Address>00B794E4</Address>
  86.             </CheatEntry>
  87.             <CheatEntry>
  88.               <ID>0</ID>
  89.               <Description>"Cycling (120k)"</Description>
  90.               <LastState Value="??" Activated="0" RealAddress="00000000"/>
  91.               <Color>80000008</Color>
  92.               <VariableType>4 Bytes</VariableType>
  93.               <Address>gta_sa.exe+7794E0</Address>
  94.             </CheatEntry>
  95.             <CheatEntry>
  96.               <ID>24</ID>
  97.               <Description>"Stamina/Cycle (300k)"</Description>
  98.               <LastState Value="??" Activated="0" RealAddress="00B794DC"/>
  99.               <Color>80000008</Color>
  100.               <VariableType>4 Bytes</VariableType>
  101.               <Address>00B794DC</Address>
  102.             </CheatEntry>
  103.             <CheatEntry>
  104.               <ID>5</ID>
  105.               <Description>"Stamina/Sprint (300k)"</Description>
  106.               <LastState Value="??" Activated="0" RealAddress="00B794D8"/>
  107.               <Color>80000008</Color>
  108.               <VariableType>4 Bytes</VariableType>
  109.               <Address>00B794D8</Address>
  110.             </CheatEntry>
  111.           </CheatEntries>
  112.         </CheatEntry>
  113.         <CheatEntry>
  114.           <ID>54</ID>
  115.           <Description>"Skills"</Description>
  116.           <Options moManualExpandCollapse="1"/>
  117.           <LastState Value="" Activated="0" RealAddress="00000000"/>
  118.           <Color>80000008</Color>
  119.           <GroupHeader>1</GroupHeader>
  120.           <CheatEntries>
  121.             <CheatEntry>
  122.               <ID>10</ID>
  123.               <Description>"Bicycle Skill"</Description>
  124.               <LastState Value="??" Activated="0" RealAddress="00B791B8"/>
  125.               <Color>80000008</Color>
  126.               <VariableType>4 Bytes</VariableType>
  127.               <Address>00B791B8</Address>
  128.             </CheatEntry>
  129.             <CheatEntry>
  130.               <ID>8</ID>
  131.               <Description>"Bike Skill"</Description>
  132.               <LastState Value="??" Activated="0" RealAddress="00000000"/>
  133.               <Color>80000008</Color>
  134.               <VariableType>4 Bytes</VariableType>
  135.               <Address>gta_sa.exe+7791B4</Address>
  136.             </CheatEntry>
  137.             <CheatEntry>
  138.               <ID>9</ID>
  139.               <Description>"Flying Skill"</Description>
  140.               <LastState Value="??" Activated="0" RealAddress="00B7919C"/>
  141.               <Color>80000008</Color>
  142.               <VariableType>4 Bytes</VariableType>
  143.               <Address>00B7919C</Address>
  144.             </CheatEntry>
  145.             <CheatEntry>
  146.               <ID>25</ID>
  147.               <Description>"Driving"</Description>
  148.               <LastState Value="??" Activated="0" RealAddress="00B790A0"/>
  149.               <Color>80000008</Color>
  150.               <VariableType>4 Bytes</VariableType>
  151.               <Address>B790A0</Address>
  152.             </CheatEntry>
  153.             <CheatEntry>
  154.               <ID>30</ID>
  155.               <Description>"Uzi/Tec9"</Description>
  156.               <LastState Value="??" Activated="0" RealAddress="00B794AC"/>
  157.               <Color>80000008</Color>
  158.               <VariableType>Float</VariableType>
  159.               <Address>B794AC</Address>
  160.             </CheatEntry>
  161.           </CheatEntries>
  162.         </CheatEntry>
  163.         <CheatEntry>
  164.           <ID>55</ID>
  165.           <Description>"Stats"</Description>
  166.           <Options moManualExpandCollapse="1"/>
  167.           <LastState Value="" Activated="0" RealAddress="00000000"/>
  168.           <Color>80000008</Color>
  169.           <GroupHeader>1</GroupHeader>
  170.           <CheatEntries>
  171.             <CheatEntry>
  172.               <ID>12</ID>
  173.               <Description>"Lung Capacity"</Description>
  174.               <LastState Value="??" Activated="0" RealAddress="00B791A4"/>
  175.               <Color>80000008</Color>
  176.               <VariableType>4 Bytes</VariableType>
  177.               <Address>00B791A4</Address>
  178.             </CheatEntry>
  179.             <CheatEntry>
  180.               <ID>22</ID>
  181.               <Description>"Max Health"</Description>
  182.               <LastState Value="??" Activated="0" RealAddress="00B793E0"/>
  183.               <Color>80000008</Color>
  184.               <VariableType>Float</VariableType>
  185.               <Address>B793E0</Address>
  186.             </CheatEntry>
  187.             <CheatEntry>
  188.               <ID>20</ID>
  189.               <Description>"Muscle"</Description>
  190.               <LastState Value="??" Activated="0" RealAddress="00B793DC"/>
  191.               <Color>80000008</Color>
  192.               <VariableType>Float</VariableType>
  193.               <Address>00B793DC</Address>
  194.             </CheatEntry>
  195.             <CheatEntry>
  196.               <ID>21</ID>
  197.               <Description>"Fat"</Description>
  198.               <LastState Value="??" Activated="0" RealAddress="00B793D4"/>
  199.               <Color>80000008</Color>
  200.               <VariableType>Float</VariableType>
  201.               <Address>00B793D4</Address>
  202.             </CheatEntry>
  203.             <CheatEntry>
  204.               <ID>19</ID>
  205.               <Description>"Stamina"</Description>
  206.               <LastState Value="??" Activated="0" RealAddress="00B793D8"/>
  207.               <Color>80000008</Color>
  208.               <VariableType>Float</VariableType>
  209.               <Address>00B793D8</Address>
  210.             </CheatEntry>
  211.             <CheatEntry>
  212.               <ID>23</ID>
  213.               <Description>"Sex Appeal"</Description>
  214.               <LastState Value="??" Activated="0" RealAddress="00B793E4"/>
  215.               <Color>80000008</Color>
  216.               <VariableType>Float</VariableType>
  217.               <Address>B793E4</Address>
  218.             </CheatEntry>
  219.           </CheatEntries>
  220.         </CheatEntry>
  221.       </CheatEntries>
  222.     </CheatEntry>
  223.     <CheatEntry>
  224.       <ID>31</ID>
  225.       <Description>"Phonecalls"</Description>
  226.       <Options moManualExpandCollapse="1"/>
  227.       <LastState Value="" Activated="0" RealAddress="00000000"/>
  228.       <Color>80000008</Color>
  229.       <GroupHeader>1</GroupHeader>
  230.       <CheatEntries>
  231.         <CheatEntry>
  232.           <ID>32</ID>
  233.           <Description>"$TIME_FROM_LAST_CALL"</Description>
  234.           <LastState Value="??" Activated="0" RealAddress="00000000"/>
  235.           <Color>80000008</Color>
  236.           <VariableType>4 Bytes</VariableType>
  237.           <Address>gta_sa.exe+649C48</Address>
  238.         </CheatEntry>
  239.         <CheatEntry>
  240.           <ID>35</ID>
  241.           <Description>"Recall Time"</Description>
  242.           <LastState Value="??" Activated="0" RealAddress="00000000"/>
  243.           <Color>80000008</Color>
  244.           <VariableType>4 Bytes</VariableType>
  245.           <Address>gta_sa.exe+64AF90</Address>
  246.         </CheatEntry>
  247.         <CheatEntry>
  248.           <ID>33</ID>
  249.           <Description>"No description"</Description>
  250.           <LastState Value="??" Activated="0" RealAddress="00A499F8"/>
  251.           <Color>80000008</Color>
  252.           <VariableType>4 Bytes</VariableType>
  253.           <Address>00A499F8</Address>
  254.         </CheatEntry>
  255.         <CheatEntry>
  256.           <ID>53</ID>
  257.           <Description>"Phone Ringing"</Description>
  258.           <LastState Value="??" Activated="0" RealAddress="00000000"/>
  259.           <Color>80000008</Color>
  260.           <VariableType>4 Bytes</VariableType>
  261.           <Address>gta_sa.exe+64999C</Address>
  262.         </CheatEntry>
  263.         <CheatEntry>
  264.           <ID>51</ID>
  265.           <Description>"Current Call Id"</Description>
  266.           <LastState Value="??" Activated="0" RealAddress="00000000"/>
  267.           <Color>80000008</Color>
  268.           <VariableType>4 Bytes</VariableType>
  269.           <Address>gta_sa.exe+64AF70</Address>
  270.         </CheatEntry>
  271.         <CheatEntry>
  272.           <ID>52</ID>
  273.           <Description>"Phonecall Time"</Description>
  274.           <LastState Value="??" Activated="0" RealAddress="00000000"/>
  275.           <Color>80000008</Color>
  276.           <VariableType>4 Bytes</VariableType>
  277.           <Address>gta_sa.exe+649C40</Address>
  278.         </CheatEntry>
  279.       </CheatEntries>
  280.     </CheatEntry>
  281.     <CheatEntry>
  282.       <ID>37</ID>
  283.       <Description>"Global Stuff"</Description>
  284.       <Options moManualExpandCollapse="1"/>
  285.       <LastState Value="" Activated="0" RealAddress="00000000"/>
  286.       <Color>80000008</Color>
  287.       <GroupHeader>1</GroupHeader>
  288.       <CheatEntries>
  289.         <CheatEntry>
  290.           <ID>36</ID>
  291.           <Description>"Playing Time"</Description>
  292.           <LastState Value="??" Activated="0" RealAddress="00B7CB84"/>
  293.           <Color>80000008</Color>
  294.           <VariableType>4 Bytes</VariableType>
  295.           <Address>B7CB84</Address>
  296.         </CheatEntry>
  297.         <CheatEntry>
  298.           <ID>56</ID>
  299.           <Description>"Weather Related?"</Description>
  300.           <LastState Value="??" Activated="0" RealAddress="00B70158"/>
  301.           <Color>80000008</Color>
  302.           <VariableType>4 Bytes</VariableType>
  303.           <Address>B70158</Address>
  304.         </CheatEntry>
  305.         <CheatEntry>
  306.           <ID>50</ID>
  307.           <Description>"On Mission"</Description>
  308.           <LastState Value="??" Activated="0" RealAddress="00000000"/>
  309.           <Color>80000008</Color>
  310.           <VariableType>4 Bytes</VariableType>
  311.           <Address>gta_sa.exe+649FC4</Address>
  312.         </CheatEntry>
  313.         <CheatEntry>
  314.           <ID>28</ID>
  315.           <Description>"Achievements"</Description>
  316.           <Options moManualExpandCollapse="1"/>
  317.           <LastState Value="" Activated="0" RealAddress="00000000"/>
  318.           <Color>80000008</Color>
  319.           <GroupHeader>1</GroupHeader>
  320.           <CheatEntries>
  321.             <CheatEntry>
  322.               <ID>26</ID>
  323.               <Description>"Distance on foot"</Description>
  324.               <LastState Value="??" Activated="0" RealAddress="00B7938C"/>
  325.               <Color>80000008</Color>
  326.               <VariableType>Float</VariableType>
  327.               <Address>00B7938C</Address>
  328.             </CheatEntry>
  329.             <CheatEntry>
  330.               <ID>27</ID>
  331.               <Description>"Distance in a car"</Description>
  332.               <LastState Value="??" Activated="0" RealAddress="00B79390"/>
  333.               <Color>80000008</Color>
  334.               <VariableType>Float</VariableType>
  335.               <Address>00B79390</Address>
  336.             </CheatEntry>
  337.             <CheatEntry>
  338.               <ID>29</ID>
  339.               <Description>"Distance (Bicycle)"</Description>
  340.               <LastState Value="??" Activated="0" RealAddress="00B793EC"/>
  341.               <Color>80000008</Color>
  342.               <VariableType>Float</VariableType>
  343.               <Address>00B793EC</Address>
  344.             </CheatEntry>
  345.           </CheatEntries>
  346.         </CheatEntry>
  347.       </CheatEntries>
  348.     </CheatEntry>
  349.     <CheatEntry>
  350.       <ID>59</ID>
  351.       <Description>"Wanted Level"</Description>
  352.       <Options moManualExpandCollapse="1"/>
  353.       <LastState Value="" Activated="0" RealAddress="00000000"/>
  354.       <Color>80000008</Color>
  355.       <GroupHeader>1</GroupHeader>
  356.       <CheatEntries>
  357.         <CheatEntry>
  358.           <ID>58</ID>
  359.           <Description>"Points"</Description>
  360.           <LastState Value="??" Activated="0" RealAddress="00000000"/>
  361.           <Color>80000008</Color>
  362.           <VariableType>4 Bytes</VariableType>
  363.           <Address>B7CD9C</Address>
  364.           <Offsets>
  365.             <Offset>0</Offset>
  366.           </Offsets>
  367.         </CheatEntry>
  368.         <CheatEntry>
  369.           <ID>60</ID>
  370.           <Description>"Points 2"</Description>
  371.           <LastState Value="??" Activated="0" RealAddress="00000000"/>
  372.           <Color>80000008</Color>
  373.           <VariableType>4 Bytes</VariableType>
  374.           <Address>B7CD9C</Address>
  375.           <Offsets>
  376.             <Offset>4</Offset>
  377.           </Offsets>
  378.         </CheatEntry>
  379.         <CheatEntry>
  380.           <ID>63</ID>
  381.           <Description>"Amount of cops "in pursuit""</Description>
  382.           <LastState Value="??" Activated="0" RealAddress="00000000"/>
  383.           <Color>80000008</Color>
  384.           <VariableType>Byte</VariableType>
  385.           <Address>B7CD9C</Address>
  386.           <Offsets>
  387.             <Offset>18</Offset>
  388.           </Offsets>
  389.         </CheatEntry>
  390.         <CheatEntry>
  391.           <ID>64</ID>
  392.           <Description>"Last time Wanted Level decreased"</Description>
  393.           <LastState Value="??" Activated="0" RealAddress="00000000"/>
  394.           <Color>80000008</Color>
  395.           <VariableType>4 Bytes</VariableType>
  396.           <Address>B7CD9C</Address>
  397.           <Offsets>
  398.             <Offset>8</Offset>
  399.           </Offsets>
  400.         </CheatEntry>
  401.         <CheatEntry>
  402.           <ID>65</ID>
  403.           <Description>"Time Wanted Level changed"</Description>
  404.           <LastState Value="??" Activated="0" RealAddress="00000000"/>
  405.           <Color>80000008</Color>
  406.           <VariableType>4 Bytes</VariableType>
  407.           <Address>B7CD9C</Address>
  408.           <Offsets>
  409.             <Offset>C</Offset>
  410.           </Offsets>
  411.         </CheatEntry>
  412.         <CheatEntry>
  413.           <ID>61</ID>
  414.           <Description>"Parole Time (Pay&amp;Spray)"</Description>
  415.           <LastState Value="??" Activated="0" RealAddress="00000000"/>
  416.           <Color>80000008</Color>
  417.           <VariableType>4 Bytes</VariableType>
  418.           <Address>B7CD9C</Address>
  419.           <Offsets>
  420.             <Offset>10</Offset>
  421.           </Offsets>
  422.         </CheatEntry>
  423.         <CheatEntry>
  424.           <ID>62</ID>
  425.           <Description>"Level Multiplier"</Description>
  426.           <LastState Value="??" Activated="0" RealAddress="00000000"/>
  427.           <Color>80000008</Color>
  428.           <VariableType>Float</VariableType>
  429.           <Address>B7CD9C</Address>
  430.           <Offsets>
  431.             <Offset>14</Offset>
  432.           </Offsets>
  433.         </CheatEntry>
  434.         <CheatEntry>
  435.           <ID>66</ID>
  436.           <Description>"Chase time"</Description>
  437.           <LastState Value="??" Activated="0" RealAddress="00000000"/>
  438.           <Color>80000008</Color>
  439.           <VariableType>4 Bytes</VariableType>
  440.           <Address>B7CD9C</Address>
  441.           <Offsets>
  442.             <Offset>24</Offset>
  443.           </Offsets>
  444.         </CheatEntry>
  445.         <CheatEntry>
  446.           <ID>67</ID>
  447.           <Description>"Chase time counter"</Description>
  448.           <LastState Value="??" Activated="0" RealAddress="00000000"/>
  449.           <Color>80000008</Color>
  450.           <VariableType>4 Bytes</VariableType>
  451.           <Address>B7CD9C</Address>
  452.           <Offsets>
  453.             <Offset>28</Offset>
  454.           </Offsets>
  455.         </CheatEntry>
  456.       </CheatEntries>
  457.     </CheatEntry>
  458.     <CheatEntry>
  459.       <ID>71</ID>
  460.       <Description>"Missions"</Description>
  461.       <Options moManualExpandCollapse="1"/>
  462.       <LastState Value="" Activated="0" RealAddress="00000000"/>
  463.       <Color>80000008</Color>
  464.       <GroupHeader>1</GroupHeader>
  465.       <CheatEntries>
  466.         <CheatEntry>
  467.           <ID>70</ID>
  468.           <Description>"Madd Dogg Time until he jumps"</Description>
  469.           <LastState Value="??" Activated="0" RealAddress="00000000"/>
  470.           <Color>80000008</Color>
  471.           <VariableType>4 Bytes</VariableType>
  472.           <Address>gta_sa.exe+651334</Address>
  473.         </CheatEntry>
  474.       </CheatEntries>
  475.     </CheatEntry>
  476.     <CheatEntry>
  477.       <ID>72</ID>
  478.       <Description>"Keys"</Description>
  479.       <Options moManualExpandCollapse="1"/>
  480.       <LastState Value="" Activated="0" RealAddress="00000000"/>
  481.       <Color>80000008</Color>
  482.       <GroupHeader>1</GroupHeader>
  483.       <CheatEntries>
  484.         <CheatEntry>
  485.           <ID>73</ID>
  486.           <Description>"Forward/Steer Forward"</Description>
  487.           <LastState Value="??" Activated="0" RealAddress="00B7345B"/>
  488.           <Color>80000008</Color>
  489.           <VariableType>Byte</VariableType>
  490.           <Address>B7345B</Address>
  491.         </CheatEntry>
  492.         <CheatEntry>
  493.           <ID>77</ID>
  494.           <Description>"Action/AltFire (4)"</Description>
  495.           <LastState Value="??" Activated="0" RealAddress="00B73460"/>
  496.           <Color>80000008</Color>
  497.           <VariableType>Byte</VariableType>
  498.           <Address>B73460</Address>
  499.         </CheatEntry>
  500.         <CheatEntry>
  501.           <ID>76</ID>
  502.           <Description>"Jump/Brake/Reverse (14)"</Description>
  503.           <LastState Value="??" Activated="0" RealAddress="00B73474"/>
  504.           <Color>80000008</Color>
  505.           <VariableType>Byte</VariableType>
  506.           <Address>B73474</Address>
  507.         </CheatEntry>
  508.         <CheatEntry>
  509.           <ID>75</ID>
  510.           <Description>"Enter/Exit (15)"</Description>
  511.           <LastState Value="??" Activated="0" RealAddress="00B73476"/>
  512.           <Color>80000008</Color>
  513.           <VariableType>Byte</VariableType>
  514.           <Address>B73476</Address>
  515.         </CheatEntry>
  516.         <CheatEntry>
  517.           <ID>74</ID>
  518.           <Description>"Sprint/Accelerate (16)"</Description>
  519.           <LastState Value="??" Activated="0" RealAddress="00B73478"/>
  520.           <Color>80000008</Color>
  521.           <VariableType>Byte</VariableType>
  522.           <Address>B73478</Address>
  523.         </CheatEntry>
  524.       </CheatEntries>
  525.     </CheatEntry>
  526.   </CheatEntries>
  527.   <UserdefinedSymbols/>
  528.   <LuaScript>function debug(text)
  529.          if enabled("DebugOutputCheckbox") then
  530.             print(text)
  531.          end
  532. end
  533.  
  534. local lastValues = {}
  535. local history = {}
  536. local maxValues = {}
  537. local lastOutput = ""
  538. local progressValues = {
  539.       {"00B794E8","int","Lung Capacity","diff",60000},
  540.       {"00B794FC","int","Muscle","diff",150000},
  541.       {"00B7950C","int","Max Health","diff",600000},
  542.       {"00B79500","int","Stamina (Run)","diff",300000},
  543.       {"00B794D8","int","Stamina (Sprint)","diff",300000},
  544.       {"00B794DC","int","Stamina (Cycle)","diff",300000},
  545.       {"00B794E4","int","Stamina (Swim)","diff",180000},
  546.       {"00B794EC","int","Driving","diff",300000},
  547.       {"00B794F8","int","Bike","diff",180000},
  548.       {"00B794E0","int","Cycling","diff",120000},
  549.       {"00B794F0","int","Flying","diff",300000}
  550. }
  551. local statValues = {
  552.     {"00B791A4","int","Lung Capacity","diff"},
  553.     {"00B793DC","float","Muscle","diff"},
  554.     {"00B793D4","float","Fat","diff"},
  555.     {"00B793E0","float","Max Health","diff"},
  556.     {"00B793D8","float","Stamina","diff"},
  557.     {"00B790A0","int","Driving","diff"},
  558.     {"00B791B4","int","Bike","diff"},
  559.     {"00B791B8","int","Bicycle","diff"},
  560.     {"00B7919C","int","Flying","diff"},
  561.     {"00B793E4","float","Sex Appeal","diff"},
  562.     {"00B794AC","float","Uzi/Tec9","diff"}
  563. }
  564. local maxEnabled = false
  565.  
  566. local phoneCalls = {
  567.     [0]='Catalina (Mission)',
  568.     [1]='Catalina (SF)',
  569.     [2]='Catalina (Desert)',
  570.     [3]='Catalina (LV)',
  571.     [4]='Catalina (RTLS)',
  572.     [5]='Catalina (End)',
  573.     [6]="OGLoc",
  574.     [7]="Cesar (Lowrider Race)",
  575.     [8]="Cesar (Catalina)",
  576.     [9]="Crash (Intro)",
  577.     [10]="Cesar (Badlands Race)",
  578.     [11]="Kendl (Loser)",
  579.     [12]="Crash (Burning Desire)",
  580.     [13]="Crash (High Noon)",
  581.     [14]="Big Smoke",
  582.     [15]="The Truth (Intro)",
  583.     [16]="The Truth (AYGTSF)",
  584.     [17]="The Truth (Green Goo)",
  585.     [18]="Sweet (Doberman)",
  586.     [19]="Sweet (Intro)",
  587.     [20]="Sweet (Gym)",
  588.     [21]="Sweet (Gym, fat)",
  589.     [22]="Sweet (Gang Territories)",
  590.     [23]="Sweet (End of the Line)",
  591.     [24]="Sweet (Prison)",
  592.     [25]="Sweet (Prison2)",
  593.     [29]='Zero (Asset)',
  594.     [30]="Zero (Mission)",
  595.     [31]='Jethro (Driving School)',
  596.     [32]="Jethro (Street Races)",
  597.     [33]="Jethro (Wang Cars)",
  598.     [34]="Woozie",
  599.     [35]="Woozie",
  600.     [36]="Woozie (Pass Key)",
  601.     [41]="Toreno (Toreno Missions)",
  602.     [42]="Toreno (Highjack)",
  603.     [43]="Toreno (Interdiction)",
  604.     [47]="Paul (Intensive Care)",
  605.     [48]="Rosenberg (Freefall)",
  606.     [49]="Rosenberg (Saint Mark's)",
  607.     [50]="Rosenberg (Vertical Bird)",
  608. }
  609.  
  610. local function currentCall(value)
  611.     if readInteger("00A4999C") == 1 then
  612.         return phoneCalls[value]
  613.     end
  614.     return nil
  615. end
  616.  
  617. local function actionHeld(value)
  618.     if value == 0 then
  619.         return "-"
  620.     end
  621.     return "Pressed"
  622. end
  623.  
  624. local phoneValues = {
  625.     {"00A49FC4","int","On Mission"},
  626.     --{"00A4999C","int","Phone ringing"},
  627.     {"00B7CB84","int","Phone Timer",cf=function(v) return f(v - readInteger("00A49C40"),0.001,3) end},
  628.     {"00A4AF70","int","Calling",cf=currentCall},
  629.     {"00B73460","byte","Action Key",cf=actionHeld},
  630. }
  631.  
  632. local misc = {
  633.     --{"40@","int","40@"},
  634.     {"54@","int","54@"},
  635. }
  636.  
  637. function isLocalVar(variable)
  638.     return variable:sub(-1,-1) == "@"
  639. end
  640.  
  641. function getLocalVarAddress(variable)
  642.     variable = variable:sub(1,-2) -- Remove trailing @
  643.     return 10783072 + variable*4
  644. end
  645.  
  646. function isGlobalVar(variable)
  647.     return variable:sub(1,1) == "$"
  648. end
  649.  
  650. function getGlobalVarAddress(variable)
  651.     variable = variable:sub(2) -- Remove leading $
  652.     return 10787168 + variable*4
  653. end
  654.  
  655. function getVarAddress(variable)
  656.     if isLocalVar(variable) then
  657.        return getLocalVarAddress(variable)
  658.     end
  659.     if isGlobalVar(variable) then
  660.          return getGlobalVarAddress(variable)
  661.     end
  662.     return nil
  663. end
  664.  
  665.  
  666. function longestLabel(values)
  667.     local max = 0
  668.     for _,v in ipairs(values) do
  669.         if v[3]:len() &gt; max then
  670.             max = v[3]:len()
  671.         end
  672.     end
  673.     return max
  674. end
  675.  
  676. function paddedLabel(label, max)
  677.     local pad = max - label:len()
  678.     return string.rep(" ",pad)..label..":"
  679. end
  680.  
  681. function update(values, file, factor)
  682.     local output = ""
  683.     local longestLabel = longestLabel(values)
  684.     for _,v in ipairs(values) do
  685.             local address = v[1]
  686.         local valueType = v[2]
  687.             local label = v[3]
  688.             local type = v[4]
  689.         local limit = v[5]
  690.         local value
  691.  
  692.         if isLocalVar(address) then
  693.             address = getLocalVarAddress(address)
  694.         end
  695.  
  696.         if valueType == "float" then
  697.             value = readFloat(address)
  698.         elseif valueType == "float" then
  699.             value = readBytes(address, 1, false)
  700.         else
  701.             value = readInteger(address)
  702.         end
  703.         if value == nil then
  704.            return
  705.         end
  706.         if v.cf ~= nil then
  707.             value = v.cf(value)
  708.             if value == nil then
  709.                 value = "n/a"
  710.             end
  711.         end
  712.         local prev = lastValues[address]
  713.         lastValues[address] = value
  714.             if prev ~= nil and value &lt; prev then
  715.                     maxValues[address] = prev
  716.                 end
  717.                 local max = maxValues[address]
  718.  
  719.                 --output = output..paddedLabel(label,longestLabel).." "..f(value, factor, 5)
  720.         output = string.format("%s%s %s",output,
  721.             paddedLabel(label, longestLabel),
  722.             f(value, factor, 5))
  723.  
  724.         -- Difference
  725.                 if type == "diff" then
  726.                     if value ~= prev and prev ~= nil then
  727.                 local diff = value - prev
  728.                 if diff &gt; 0 then
  729.                     output = output.." (+"..f(diff, factor, 1)..")"
  730.                 else
  731.                     output = output.." ("..f(diff, factor, 1)..")"
  732.                 end
  733.             end
  734.  
  735.             -- Percentage
  736.             if limit ~= nil and value &gt; 0 then
  737.                 output = string.format("%s %s",output,"["..math.floor(value / limit * 100).."%]")
  738.             end
  739.  
  740.             if max ~= nil and maxEnabled then
  741.                 output = output.." ["..f(max, factor, 1).."]"
  742.             end
  743.         elseif type == "history" then
  744.             local h = history[address]
  745.             if h == nil then
  746.                 h = {}
  747.             end
  748.             if value ~= prev then
  749.                 table.insert(h,1,value)
  750.             end
  751.             if #h &gt; 5 then
  752.                 table.remove(h,#h)
  753.             end
  754.             local hText = ""
  755.             for k,v in ipairs(h) do
  756.                 if k &gt; 1 then
  757.                     if k &gt; 2 then
  758.                         hText = hText.." &lt; "
  759.                     end
  760.                     hText = hText..comma_value(v)
  761.                 end
  762.             end
  763.             history[address] = h
  764.             if hText:len() &gt; 0 then
  765.                 output = output.." ["..hText.."]"
  766.             end
  767.                 elseif value ~= prev and v.showChange then
  768.                     output = output.." (changed)"
  769.                 end
  770.                 output = output.."\n"
  771.          end
  772.      if output ~= lastOutput then
  773.         write(output, file)
  774.      end
  775. end
  776.  
  777. function write(output, file)
  778.          local f = io.open(file,'w')
  779.          f:write(output)
  780.          f:close()
  781. end
  782.  
  783.  
  784. -- ### Utility functions
  785.  
  786. function comma_value(amount)
  787.   local formatted = amount
  788.   while true do
  789.     formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2')
  790.     if (k==0) then
  791.       break
  792.     end
  793.   end
  794.   return formatted
  795. end
  796.  
  797. function f(value, factor, pad)
  798.     if type(value) ~= "number" then
  799.         return value
  800.     end
  801.     value = round(value*factor, 1)
  802.     if factor ~= 1 then
  803.         return comma_value(string.format("%"..pad..".1f", value))
  804.     end
  805.     return comma_value(value)
  806. end
  807.  
  808. function round(num, idp)
  809.   local mult = 10^(idp or 0)
  810.   return math.floor(num * mult + 0.5) / mult
  811. end
  812.  
  813. -- ### Main
  814.  
  815. local settings
  816. local booleanSettings = {
  817.       "WritingEnabledCheckbox",
  818.       "WriteDupingValuesCheckbox",
  819.       "WriteOtherValuesCheckbox",
  820.       "EnableF6Hotkey",
  821.       "AutoAttachCheckbox",
  822.       "DebugOutputCheckbox",
  823. }
  824. local stringSettings = {
  825.       {"DupingValuesFile","E:/v3.txt"},
  826. }
  827. function loadSettings()
  828.     settings = getSettings("gtasa")
  829.     for _,v in ipairs(booleanSettings) do
  830.         setEnabled(v, settings.Value[v])
  831.     end
  832.     for _,v in ipairs(stringSettings) do
  833.         local value = settings.Value[v[1]]
  834.         if value == nil or value == "" then
  835.            value = v[2]
  836.         end
  837.         GTASAForm[v[1]].Text = value
  838.     end
  839. end
  840.  
  841. function saveSettings()
  842.     for _,v in ipairs(booleanSettings) do
  843.         settings.Value[v] = enabled(v)
  844.     end
  845.     for _,v in ipairs(stringSettings) do
  846.         settings.Value[v[1]] = GTASAForm[v[1]].Text
  847.     end
  848. end
  849.  
  850. function enabled(element)
  851.     return GTASAForm[element]:getState() == cbChecked
  852. end
  853.  
  854. function setEnabled(element, enabled)
  855.     if enabled == "1" then
  856.        GTASAForm[element]:setState(cbChecked)
  857.     else
  858.         GTASAForm[element]:setState(cbUnchecked)
  859.     end
  860. end
  861.  
  862. function value(element)
  863.     return GTASAForm[element].Text
  864. end
  865.  
  866. -- What is written to which file
  867. function timer()
  868.     if not enabled("WritingEnabledCheckbox") then
  869.        return
  870.     end
  871.     --update(progressValues, "E:/v.txt", 0.001)
  872.     --update(statValues, "E:/v2.txt", 1)
  873.     if enabled("WriteDupingValuesCheckbox") then
  874.         local file = value("DupingValuesFile")
  875.         update(phoneValues, file, 1)
  876.     end
  877.     if enabled("WriteOtherValuesCheckbox") then
  878.         update(misc, "E:/misc.txt", 1)
  879.     end
  880. end
  881.  
  882. local t
  883. local hotkey
  884. function init()
  885.     loadSettings()
  886.     t = createTimer(nil, false)
  887.     timer_onTimer(t, timer)
  888.     timer_setInterval(t,50)
  889.     timer_setEnabled(t, true)
  890.     hotkey = createHotkey(hotkeyF6, VK_F6)
  891. end
  892.  
  893. function hotkeyF6()
  894.     if enabled("EnableF6Hotkey") then
  895.          writeInteger("00A49FC4", 0)
  896.      end
  897. end
  898.  
  899. function autoAttach()
  900.     if not enabled("AutoAttachCheckbox") then
  901.        return
  902.     end
  903.     debug("check")
  904.     local processId = getProcessIDFromProcessName("gta_sa.exe")
  905.     if processId ~= getOpenedProcessID() and processId ~= nil then
  906.        openProcess("gta_sa.exe")
  907.        print("Opened process")
  908.     end
  909. end
  910. local autoAttachTimer = createTimer(nil, false)
  911. timer_onTimer(autoAttachTimer, autoAttach)
  912. timer_setInterval(autoAttachTimer, 5000)
  913. timer_setEnabled(autoAttachTimer, true)
  914.  
  915. form_show(GTASAForm)
  916. init()
  917.  
  918. function convertAddress(decimal)
  919.     return '0x'..string.format('%x', decimal)
  920. end
  921.  
  922.  
  923. GTASAForm.onClose = function(sender)
  924.     debug("closed")
  925.     object_destroy(t)
  926.     object_destroy(autoAttachTimer)
  927.     hotkey.destroy()
  928.     saveSettings()
  929.     return caHide
  930. end
  931.  
  932.  
  933.  
  934. function AddEntryButtonClick(sender)
  935.     local input = GTASAForm.AddEntryInput.Text
  936.     local address = getVarAddress(input)
  937.     if address ~= nil then
  938.        local addresslist = getAddressList()
  939.        local record = addresslist:createMemoryRecord()
  940.        memoryrecord_setAddress(record, convertAddress(address))
  941.        memoryrecord_setDescription(record, input)
  942.     end
  943. end
  944.  
  945. function AttachButtonClick(sender)
  946.     openProcess("gta_sa.exe")
  947. end
  948.  
  949. function getPath(str,sep)
  950.     sep = sep or '/'
  951.     return str:match("(.*"..sep..")")
  952. end
  953.  
  954. function ChangeDupingValuesFileClick(sender)
  955.     dialog = createSaveDialog(self)
  956.     dialog.Title = "Select file to write to (currently: "..value("DupingValuesFile")..")"
  957.     dialog.InitialDir = getPath(value("DupingValuesFile"),"\\")
  958.     dialog.execute()
  959.     local file = dialog.FileName
  960.     if file ~= nil and file ~= "" then
  961.        GTASAForm.DupingValuesFile.Text = file
  962.     end
  963. end
  964. </LuaScript>
  965. </CheatTable>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement