Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="utf-8"?>
- <CheatTable CheatEngineTableVersion="18">
- <Forms>
- <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>
- </Forms>
- <CheatEntries>
- <CheatEntry>
- <ID>13</ID>
- <Description>"Skill/Stats"</Description>
- <Options moManualExpandCollapse="1"/>
- <LastState Value="" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <GroupHeader>1</GroupHeader>
- <CheatEntries>
- <CheatEntry>
- <ID>14</ID>
- <Description>"Progress"</Description>
- <Options moManualExpandCollapse="1"/>
- <LastState Value="" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <GroupHeader>1</GroupHeader>
- <CheatEntries>
- <CheatEntry>
- <ID>16</ID>
- <Description>"Max Health Progress (600k)"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B7950C"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>00B7950C</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>2</ID>
- <Description>"Stamina/Run (300k)"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B79500"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>00B79500</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>15</ID>
- <Description>"Muscle [Run,Sprint,Swim,Dive] (150k)"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B794FC"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>00B794FC</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>6</ID>
- <Description>"Bike (180k)"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B794F8"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>00B794F8</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>11</ID>
- <Description>"Flying (300k)"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B794F0"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>00B794F0</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>1</ID>
- <Description>"Driving (300k)"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B794EC"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>00B794EC</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>7</ID>
- <Description>"Lung Capacity (60k)"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B794E8"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>00B794E8</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>17</ID>
- <Description>"Stamina/Swim (180k)"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B794E4"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>00B794E4</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>0</ID>
- <Description>"Cycling (120k)"</Description>
- <LastState Value="??" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>gta_sa.exe+7794E0</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>24</ID>
- <Description>"Stamina/Cycle (300k)"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B794DC"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>00B794DC</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>5</ID>
- <Description>"Stamina/Sprint (300k)"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B794D8"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>00B794D8</Address>
- </CheatEntry>
- </CheatEntries>
- </CheatEntry>
- <CheatEntry>
- <ID>54</ID>
- <Description>"Skills"</Description>
- <Options moManualExpandCollapse="1"/>
- <LastState Value="" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <GroupHeader>1</GroupHeader>
- <CheatEntries>
- <CheatEntry>
- <ID>10</ID>
- <Description>"Bicycle Skill"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B791B8"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>00B791B8</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>8</ID>
- <Description>"Bike Skill"</Description>
- <LastState Value="??" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>gta_sa.exe+7791B4</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>9</ID>
- <Description>"Flying Skill"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B7919C"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>00B7919C</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>25</ID>
- <Description>"Driving"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B790A0"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>B790A0</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>30</ID>
- <Description>"Uzi/Tec9"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B794AC"/>
- <Color>80000008</Color>
- <VariableType>Float</VariableType>
- <Address>B794AC</Address>
- </CheatEntry>
- </CheatEntries>
- </CheatEntry>
- <CheatEntry>
- <ID>55</ID>
- <Description>"Stats"</Description>
- <Options moManualExpandCollapse="1"/>
- <LastState Value="" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <GroupHeader>1</GroupHeader>
- <CheatEntries>
- <CheatEntry>
- <ID>12</ID>
- <Description>"Lung Capacity"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B791A4"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>00B791A4</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>22</ID>
- <Description>"Max Health"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B793E0"/>
- <Color>80000008</Color>
- <VariableType>Float</VariableType>
- <Address>B793E0</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>20</ID>
- <Description>"Muscle"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B793DC"/>
- <Color>80000008</Color>
- <VariableType>Float</VariableType>
- <Address>00B793DC</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>21</ID>
- <Description>"Fat"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B793D4"/>
- <Color>80000008</Color>
- <VariableType>Float</VariableType>
- <Address>00B793D4</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>19</ID>
- <Description>"Stamina"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B793D8"/>
- <Color>80000008</Color>
- <VariableType>Float</VariableType>
- <Address>00B793D8</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>23</ID>
- <Description>"Sex Appeal"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B793E4"/>
- <Color>80000008</Color>
- <VariableType>Float</VariableType>
- <Address>B793E4</Address>
- </CheatEntry>
- </CheatEntries>
- </CheatEntry>
- </CheatEntries>
- </CheatEntry>
- <CheatEntry>
- <ID>31</ID>
- <Description>"Phonecalls"</Description>
- <Options moManualExpandCollapse="1"/>
- <LastState Value="" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <GroupHeader>1</GroupHeader>
- <CheatEntries>
- <CheatEntry>
- <ID>32</ID>
- <Description>"$TIME_FROM_LAST_CALL"</Description>
- <LastState Value="??" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>gta_sa.exe+649C48</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>35</ID>
- <Description>"Recall Time"</Description>
- <LastState Value="??" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>gta_sa.exe+64AF90</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>33</ID>
- <Description>"No description"</Description>
- <LastState Value="??" Activated="0" RealAddress="00A499F8"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>00A499F8</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>53</ID>
- <Description>"Phone Ringing"</Description>
- <LastState Value="??" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>gta_sa.exe+64999C</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>51</ID>
- <Description>"Current Call Id"</Description>
- <LastState Value="??" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>gta_sa.exe+64AF70</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>52</ID>
- <Description>"Phonecall Time"</Description>
- <LastState Value="??" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>gta_sa.exe+649C40</Address>
- </CheatEntry>
- </CheatEntries>
- </CheatEntry>
- <CheatEntry>
- <ID>37</ID>
- <Description>"Global Stuff"</Description>
- <Options moManualExpandCollapse="1"/>
- <LastState Value="" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <GroupHeader>1</GroupHeader>
- <CheatEntries>
- <CheatEntry>
- <ID>36</ID>
- <Description>"Playing Time"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B7CB84"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>B7CB84</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>56</ID>
- <Description>"Weather Related?"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B70158"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>B70158</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>50</ID>
- <Description>"On Mission"</Description>
- <LastState Value="??" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>gta_sa.exe+649FC4</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>28</ID>
- <Description>"Achievements"</Description>
- <Options moManualExpandCollapse="1"/>
- <LastState Value="" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <GroupHeader>1</GroupHeader>
- <CheatEntries>
- <CheatEntry>
- <ID>26</ID>
- <Description>"Distance on foot"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B7938C"/>
- <Color>80000008</Color>
- <VariableType>Float</VariableType>
- <Address>00B7938C</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>27</ID>
- <Description>"Distance in a car"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B79390"/>
- <Color>80000008</Color>
- <VariableType>Float</VariableType>
- <Address>00B79390</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>29</ID>
- <Description>"Distance (Bicycle)"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B793EC"/>
- <Color>80000008</Color>
- <VariableType>Float</VariableType>
- <Address>00B793EC</Address>
- </CheatEntry>
- </CheatEntries>
- </CheatEntry>
- </CheatEntries>
- </CheatEntry>
- <CheatEntry>
- <ID>59</ID>
- <Description>"Wanted Level"</Description>
- <Options moManualExpandCollapse="1"/>
- <LastState Value="" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <GroupHeader>1</GroupHeader>
- <CheatEntries>
- <CheatEntry>
- <ID>58</ID>
- <Description>"Points"</Description>
- <LastState Value="??" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>B7CD9C</Address>
- <Offsets>
- <Offset>0</Offset>
- </Offsets>
- </CheatEntry>
- <CheatEntry>
- <ID>60</ID>
- <Description>"Points 2"</Description>
- <LastState Value="??" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>B7CD9C</Address>
- <Offsets>
- <Offset>4</Offset>
- </Offsets>
- </CheatEntry>
- <CheatEntry>
- <ID>63</ID>
- <Description>"Amount of cops "in pursuit""</Description>
- <LastState Value="??" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <VariableType>Byte</VariableType>
- <Address>B7CD9C</Address>
- <Offsets>
- <Offset>18</Offset>
- </Offsets>
- </CheatEntry>
- <CheatEntry>
- <ID>64</ID>
- <Description>"Last time Wanted Level decreased"</Description>
- <LastState Value="??" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>B7CD9C</Address>
- <Offsets>
- <Offset>8</Offset>
- </Offsets>
- </CheatEntry>
- <CheatEntry>
- <ID>65</ID>
- <Description>"Time Wanted Level changed"</Description>
- <LastState Value="??" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>B7CD9C</Address>
- <Offsets>
- <Offset>C</Offset>
- </Offsets>
- </CheatEntry>
- <CheatEntry>
- <ID>61</ID>
- <Description>"Parole Time (Pay&Spray)"</Description>
- <LastState Value="??" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>B7CD9C</Address>
- <Offsets>
- <Offset>10</Offset>
- </Offsets>
- </CheatEntry>
- <CheatEntry>
- <ID>62</ID>
- <Description>"Level Multiplier"</Description>
- <LastState Value="??" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <VariableType>Float</VariableType>
- <Address>B7CD9C</Address>
- <Offsets>
- <Offset>14</Offset>
- </Offsets>
- </CheatEntry>
- <CheatEntry>
- <ID>66</ID>
- <Description>"Chase time"</Description>
- <LastState Value="??" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>B7CD9C</Address>
- <Offsets>
- <Offset>24</Offset>
- </Offsets>
- </CheatEntry>
- <CheatEntry>
- <ID>67</ID>
- <Description>"Chase time counter"</Description>
- <LastState Value="??" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>B7CD9C</Address>
- <Offsets>
- <Offset>28</Offset>
- </Offsets>
- </CheatEntry>
- </CheatEntries>
- </CheatEntry>
- <CheatEntry>
- <ID>71</ID>
- <Description>"Missions"</Description>
- <Options moManualExpandCollapse="1"/>
- <LastState Value="" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <GroupHeader>1</GroupHeader>
- <CheatEntries>
- <CheatEntry>
- <ID>70</ID>
- <Description>"Madd Dogg Time until he jumps"</Description>
- <LastState Value="??" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <VariableType>4 Bytes</VariableType>
- <Address>gta_sa.exe+651334</Address>
- </CheatEntry>
- </CheatEntries>
- </CheatEntry>
- <CheatEntry>
- <ID>72</ID>
- <Description>"Keys"</Description>
- <Options moManualExpandCollapse="1"/>
- <LastState Value="" Activated="0" RealAddress="00000000"/>
- <Color>80000008</Color>
- <GroupHeader>1</GroupHeader>
- <CheatEntries>
- <CheatEntry>
- <ID>73</ID>
- <Description>"Forward/Steer Forward"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B7345B"/>
- <Color>80000008</Color>
- <VariableType>Byte</VariableType>
- <Address>B7345B</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>77</ID>
- <Description>"Action/AltFire (4)"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B73460"/>
- <Color>80000008</Color>
- <VariableType>Byte</VariableType>
- <Address>B73460</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>76</ID>
- <Description>"Jump/Brake/Reverse (14)"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B73474"/>
- <Color>80000008</Color>
- <VariableType>Byte</VariableType>
- <Address>B73474</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>75</ID>
- <Description>"Enter/Exit (15)"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B73476"/>
- <Color>80000008</Color>
- <VariableType>Byte</VariableType>
- <Address>B73476</Address>
- </CheatEntry>
- <CheatEntry>
- <ID>74</ID>
- <Description>"Sprint/Accelerate (16)"</Description>
- <LastState Value="??" Activated="0" RealAddress="00B73478"/>
- <Color>80000008</Color>
- <VariableType>Byte</VariableType>
- <Address>B73478</Address>
- </CheatEntry>
- </CheatEntries>
- </CheatEntry>
- </CheatEntries>
- <UserdefinedSymbols/>
- <LuaScript>function debug(text)
- if enabled("DebugOutputCheckbox") then
- print(text)
- end
- end
- local lastValues = {}
- local history = {}
- local maxValues = {}
- local lastOutput = ""
- local progressValues = {
- {"00B794E8","int","Lung Capacity","diff",60000},
- {"00B794FC","int","Muscle","diff",150000},
- {"00B7950C","int","Max Health","diff",600000},
- {"00B79500","int","Stamina (Run)","diff",300000},
- {"00B794D8","int","Stamina (Sprint)","diff",300000},
- {"00B794DC","int","Stamina (Cycle)","diff",300000},
- {"00B794E4","int","Stamina (Swim)","diff",180000},
- {"00B794EC","int","Driving","diff",300000},
- {"00B794F8","int","Bike","diff",180000},
- {"00B794E0","int","Cycling","diff",120000},
- {"00B794F0","int","Flying","diff",300000}
- }
- local statValues = {
- {"00B791A4","int","Lung Capacity","diff"},
- {"00B793DC","float","Muscle","diff"},
- {"00B793D4","float","Fat","diff"},
- {"00B793E0","float","Max Health","diff"},
- {"00B793D8","float","Stamina","diff"},
- {"00B790A0","int","Driving","diff"},
- {"00B791B4","int","Bike","diff"},
- {"00B791B8","int","Bicycle","diff"},
- {"00B7919C","int","Flying","diff"},
- {"00B793E4","float","Sex Appeal","diff"},
- {"00B794AC","float","Uzi/Tec9","diff"}
- }
- local maxEnabled = false
- local phoneCalls = {
- [0]='Catalina (Mission)',
- [1]='Catalina (SF)',
- [2]='Catalina (Desert)',
- [3]='Catalina (LV)',
- [4]='Catalina (RTLS)',
- [5]='Catalina (End)',
- [6]="OGLoc",
- [7]="Cesar (Lowrider Race)",
- [8]="Cesar (Catalina)",
- [9]="Crash (Intro)",
- [10]="Cesar (Badlands Race)",
- [11]="Kendl (Loser)",
- [12]="Crash (Burning Desire)",
- [13]="Crash (High Noon)",
- [14]="Big Smoke",
- [15]="The Truth (Intro)",
- [16]="The Truth (AYGTSF)",
- [17]="The Truth (Green Goo)",
- [18]="Sweet (Doberman)",
- [19]="Sweet (Intro)",
- [20]="Sweet (Gym)",
- [21]="Sweet (Gym, fat)",
- [22]="Sweet (Gang Territories)",
- [23]="Sweet (End of the Line)",
- [24]="Sweet (Prison)",
- [25]="Sweet (Prison2)",
- [29]='Zero (Asset)',
- [30]="Zero (Mission)",
- [31]='Jethro (Driving School)',
- [32]="Jethro (Street Races)",
- [33]="Jethro (Wang Cars)",
- [34]="Woozie",
- [35]="Woozie",
- [36]="Woozie (Pass Key)",
- [41]="Toreno (Toreno Missions)",
- [42]="Toreno (Highjack)",
- [43]="Toreno (Interdiction)",
- [47]="Paul (Intensive Care)",
- [48]="Rosenberg (Freefall)",
- [49]="Rosenberg (Saint Mark's)",
- [50]="Rosenberg (Vertical Bird)",
- }
- local function currentCall(value)
- if readInteger("00A4999C") == 1 then
- return phoneCalls[value]
- end
- return nil
- end
- local function actionHeld(value)
- if value == 0 then
- return "-"
- end
- return "Pressed"
- end
- local phoneValues = {
- {"00A49FC4","int","On Mission"},
- --{"00A4999C","int","Phone ringing"},
- {"00B7CB84","int","Phone Timer",cf=function(v) return f(v - readInteger("00A49C40"),0.001,3) end},
- {"00A4AF70","int","Calling",cf=currentCall},
- {"00B73460","byte","Action Key",cf=actionHeld},
- }
- local misc = {
- --{"40@","int","40@"},
- {"54@","int","54@"},
- }
- function isLocalVar(variable)
- return variable:sub(-1,-1) == "@"
- end
- function getLocalVarAddress(variable)
- variable = variable:sub(1,-2) -- Remove trailing @
- return 10783072 + variable*4
- end
- function isGlobalVar(variable)
- return variable:sub(1,1) == "$"
- end
- function getGlobalVarAddress(variable)
- variable = variable:sub(2) -- Remove leading $
- return 10787168 + variable*4
- end
- function getVarAddress(variable)
- if isLocalVar(variable) then
- return getLocalVarAddress(variable)
- end
- if isGlobalVar(variable) then
- return getGlobalVarAddress(variable)
- end
- return nil
- end
- function longestLabel(values)
- local max = 0
- for _,v in ipairs(values) do
- if v[3]:len() > max then
- max = v[3]:len()
- end
- end
- return max
- end
- function paddedLabel(label, max)
- local pad = max - label:len()
- return string.rep(" ",pad)..label..":"
- end
- function update(values, file, factor)
- local output = ""
- local longestLabel = longestLabel(values)
- for _,v in ipairs(values) do
- local address = v[1]
- local valueType = v[2]
- local label = v[3]
- local type = v[4]
- local limit = v[5]
- local value
- if isLocalVar(address) then
- address = getLocalVarAddress(address)
- end
- if valueType == "float" then
- value = readFloat(address)
- elseif valueType == "float" then
- value = readBytes(address, 1, false)
- else
- value = readInteger(address)
- end
- if value == nil then
- return
- end
- if v.cf ~= nil then
- value = v.cf(value)
- if value == nil then
- value = "n/a"
- end
- end
- local prev = lastValues[address]
- lastValues[address] = value
- if prev ~= nil and value < prev then
- maxValues[address] = prev
- end
- local max = maxValues[address]
- --output = output..paddedLabel(label,longestLabel).." "..f(value, factor, 5)
- output = string.format("%s%s %s",output,
- paddedLabel(label, longestLabel),
- f(value, factor, 5))
- -- Difference
- if type == "diff" then
- if value ~= prev and prev ~= nil then
- local diff = value - prev
- if diff > 0 then
- output = output.." (+"..f(diff, factor, 1)..")"
- else
- output = output.." ("..f(diff, factor, 1)..")"
- end
- end
- -- Percentage
- if limit ~= nil and value > 0 then
- output = string.format("%s %s",output,"["..math.floor(value / limit * 100).."%]")
- end
- if max ~= nil and maxEnabled then
- output = output.." ["..f(max, factor, 1).."]"
- end
- elseif type == "history" then
- local h = history[address]
- if h == nil then
- h = {}
- end
- if value ~= prev then
- table.insert(h,1,value)
- end
- if #h > 5 then
- table.remove(h,#h)
- end
- local hText = ""
- for k,v in ipairs(h) do
- if k > 1 then
- if k > 2 then
- hText = hText.." < "
- end
- hText = hText..comma_value(v)
- end
- end
- history[address] = h
- if hText:len() > 0 then
- output = output.." ["..hText.."]"
- end
- elseif value ~= prev and v.showChange then
- output = output.." (changed)"
- end
- output = output.."\n"
- end
- if output ~= lastOutput then
- write(output, file)
- end
- end
- function write(output, file)
- local f = io.open(file,'w')
- f:write(output)
- f:close()
- end
- -- ### Utility functions
- function comma_value(amount)
- local formatted = amount
- while true do
- formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2')
- if (k==0) then
- break
- end
- end
- return formatted
- end
- function f(value, factor, pad)
- if type(value) ~= "number" then
- return value
- end
- value = round(value*factor, 1)
- if factor ~= 1 then
- return comma_value(string.format("%"..pad..".1f", value))
- end
- return comma_value(value)
- end
- function round(num, idp)
- local mult = 10^(idp or 0)
- return math.floor(num * mult + 0.5) / mult
- end
- -- ### Main
- local settings
- local booleanSettings = {
- "WritingEnabledCheckbox",
- "WriteDupingValuesCheckbox",
- "WriteOtherValuesCheckbox",
- "EnableF6Hotkey",
- "AutoAttachCheckbox",
- "DebugOutputCheckbox",
- }
- local stringSettings = {
- {"DupingValuesFile","E:/v3.txt"},
- }
- function loadSettings()
- settings = getSettings("gtasa")
- for _,v in ipairs(booleanSettings) do
- setEnabled(v, settings.Value[v])
- end
- for _,v in ipairs(stringSettings) do
- local value = settings.Value[v[1]]
- if value == nil or value == "" then
- value = v[2]
- end
- GTASAForm[v[1]].Text = value
- end
- end
- function saveSettings()
- for _,v in ipairs(booleanSettings) do
- settings.Value[v] = enabled(v)
- end
- for _,v in ipairs(stringSettings) do
- settings.Value[v[1]] = GTASAForm[v[1]].Text
- end
- end
- function enabled(element)
- return GTASAForm[element]:getState() == cbChecked
- end
- function setEnabled(element, enabled)
- if enabled == "1" then
- GTASAForm[element]:setState(cbChecked)
- else
- GTASAForm[element]:setState(cbUnchecked)
- end
- end
- function value(element)
- return GTASAForm[element].Text
- end
- -- What is written to which file
- function timer()
- if not enabled("WritingEnabledCheckbox") then
- return
- end
- --update(progressValues, "E:/v.txt", 0.001)
- --update(statValues, "E:/v2.txt", 1)
- if enabled("WriteDupingValuesCheckbox") then
- local file = value("DupingValuesFile")
- update(phoneValues, file, 1)
- end
- if enabled("WriteOtherValuesCheckbox") then
- update(misc, "E:/misc.txt", 1)
- end
- end
- local t
- local hotkey
- function init()
- loadSettings()
- t = createTimer(nil, false)
- timer_onTimer(t, timer)
- timer_setInterval(t,50)
- timer_setEnabled(t, true)
- hotkey = createHotkey(hotkeyF6, VK_F6)
- end
- function hotkeyF6()
- if enabled("EnableF6Hotkey") then
- writeInteger("00A49FC4", 0)
- end
- end
- function autoAttach()
- if not enabled("AutoAttachCheckbox") then
- return
- end
- debug("check")
- local processId = getProcessIDFromProcessName("gta_sa.exe")
- if processId ~= getOpenedProcessID() and processId ~= nil then
- openProcess("gta_sa.exe")
- print("Opened process")
- end
- end
- local autoAttachTimer = createTimer(nil, false)
- timer_onTimer(autoAttachTimer, autoAttach)
- timer_setInterval(autoAttachTimer, 5000)
- timer_setEnabled(autoAttachTimer, true)
- form_show(GTASAForm)
- init()
- function convertAddress(decimal)
- return '0x'..string.format('%x', decimal)
- end
- GTASAForm.onClose = function(sender)
- debug("closed")
- object_destroy(t)
- object_destroy(autoAttachTimer)
- hotkey.destroy()
- saveSettings()
- return caHide
- end
- function AddEntryButtonClick(sender)
- local input = GTASAForm.AddEntryInput.Text
- local address = getVarAddress(input)
- if address ~= nil then
- local addresslist = getAddressList()
- local record = addresslist:createMemoryRecord()
- memoryrecord_setAddress(record, convertAddress(address))
- memoryrecord_setDescription(record, input)
- end
- end
- function AttachButtonClick(sender)
- openProcess("gta_sa.exe")
- end
- function getPath(str,sep)
- sep = sep or '/'
- return str:match("(.*"..sep..")")
- end
- function ChangeDupingValuesFileClick(sender)
- dialog = createSaveDialog(self)
- dialog.Title = "Select file to write to (currently: "..value("DupingValuesFile")..")"
- dialog.InitialDir = getPath(value("DupingValuesFile"),"\\")
- dialog.execute()
- local file = dialog.FileName
- if file ~= nil and file ~= "" then
- GTASAForm.DupingValuesFile.Text = file
- end
- end
- </LuaScript>
- </CheatTable>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement