GTA:LCS/Huijausten tekeminen
PSPWiki
Ohjeessa käsitellään huijausten ja muiden muokkausten tekemistä CheatDevice-ohjelman avulla.
Yleiset tiedot
Komennot (oltava kirjoitettuna pienellä):
- #cheat Otsikko
- #off
- // Kommentti
- setchar(aloitusosoite, int-arvo, ...);
- sethex(aloitusosoite, hexint-arvo, ...;
- setshort(aloitusosoite, int-arvo, ...);
- setint(aloitusosoite, int-arvo, ...);
- setfloat(aloitusosoite, float-arvo, ...);
- teleport(x, y, z);
Numerot (muodot):
- desimaali: 123
- heksa: 0xABCF0 tai 0xabcf0
- binääri: 0b00100101101
- float: 1.23
- merkki: 'a', 'b', 'c', '\n'
Erityiset:
- pplayer: viittaa pelaajaan.
- pcar: viittaa autoon (vain kun pelaaja on autossa).
- pobj: viittaa pelaajaan käveltäessä, tai autoon ollessa sen sisällä.
Tallentaminen
Omat huijaukset voidaan tallentaa cheats.txt-tiedostoon, joka laitetaan PSP:n muistikortin juureen CHEATS-hakemistoon. Esimerkiksi rahahuijaus voi näyttää seuraavalta:
#cheat 99999999 dollaria setint(0x8b89acc, 99999999);
Huijauksesta riippuen on käytettävä oikeaa funktiota: char (1 tavua), short (2 tavua), int (4 tavua).
Esimerkit
Esimerkki 1
Ensimmäisessä esimerkissä tehdään rahahuijaus käyttämällä CheatMakerin muistinkaappaus-ominaisuutta.
Aloittaessa pelaajalla on rahaa 285202 dollaria. Ensimmäiseksi valitaan CheatMakerin valikosta "New Capture", jonka jälkeen valikossa on uusi valinta nimeltään "Capture1". Sen kohdalla painetaan nuolinäppäintä oikealle, jotta se näyttää seuraavalta:
Capture1 == 0
Arvo "0" muutetaan muotoon "285202" (paina X-nappia), joka on pelaajan rahamäärä. Tämän jälkeen tuhlataan hieman rahaa, jotta sen määrä laskee (esimerkissä 276802 dollariin) ja tehdään uusi muistinkaappaus. Valikossa on sen jälkeen valinnat:
Capture1 == 285202 Capture2 == Capture1
Capture2-rivi muutetaan nuolinapeilla mutooon "Capture2 == 0", ja arvo "0" muutetaan vastaamaan nykyistä rahamäärää (276802 dollaria).
Capture1 == 285202 Capture2 == 276802
Edelliset toimenpiteet tehdään vielä muutaman kerran (tuhlataan rahaa ja kaapataan muistin sisältö), jonka jälkeen valikossa lukee:
Capture1 == 285202 Capture2 == 276802 Capture3 == 272602 Capture4 == 264202 Capture5 == 255802
Viisi kaappausta riittänee selvittämään mihin rahat on tallennettu muistissa. Ennen kaappausten vertailua Type-kohtaan asetetaan sopiva asetus:
- 1-byte char (00 / FF / 0-255)..
- 2-byte short (00 00 / FF FF / 0-65535).
- 4-byte int (00 00 00 00 / FF FF FF FF / 0-4294967295).
Esimerkissä tehdään rahahuijaus ja maksimimäärä rahaa voi olla 99999999 dollaria (iso luku), joten Type-kohtaan valitaan "4-byte int" (neljä tavua). Sen jälkeen verrataan muistinkaappauksia; valitse "Run Comparison", jolloin CheatMaker etsii kaappauksista kohdat, joissa esiintyy valittu rahamäärä. Kun etsintä on valmis, ruudulle tulostuu tulokset; esimerkiksi:
08B89ACC 285202 276802 272602 264202 255802
Jos etsintä tuotti vain yhden tuloksen, niin voidaan olla melko varmoja, että uuden huijauksen sijainti on oikea (esimerkissä 08B89ACC [0x8B89ACC]).
Kun kohta on löydetty, voidaan kokeilla huijauksen toimivuutta. Käynnistä Hex Editor ja syötä aloituskohta (08B89ACC). Koska rahan arvo on neljä tavua, se on tallennettu muistissa neljään kohtaan, jotka ovat peräjälkeen: 08B89ACC, 08B89ACD, 08B89ACE ja 08B89ACF.
Seuraava vaihe on erikoinen ja kannattaa pitää mielessä. Pelaajalla oli rahaa 255802 dollaria, joka on heksana 00 03 E7 3A. Luulisi että kohdassa lukee:
- 08B89ACC = 00
- 08B89ACD = 03
- 08B89ACE = E7
- 08B89ACF = 3A
...mutta siinä lukeekin:
- 08B89ACC = 3A
- 08B89ACD = E7
- 08B89ACE = 03
- 08B89ACF = 00
Luvut ovat siis takaperin!
Tämän jälkeen kokeillaan huijauksen toimivuutta vaihtamalla lukuja (paina X-nappia niiden kohdalla). Pelaajalle halutaan 99999999 dollaria, joka on heksana 05 F5 E0 FF ja takaperin FF E0 F5 05, joten muutetaan kohtiin:
- 08B89ACC = FF
- 08B89ACD = E0
- 08B89ACE = F5
- 08B89ACF = 05
Tämän jälkeen pelaajan rahamäärä alkaa kasvaa ja pysähtyy vasta 99999999 dollarin kohdalla. Esimerkki toimi, joten sen jälkeen huijaus voidaan tallentaa (katso ylempää).
Esimerkki 2
Toisessa esimerkissä käytetään myös muistinkaappaus-ominaisuutta ja etsitään sama kohta kuin ensimmäisessä (rahojen sijainti), mutta tehdään se toisella tavalla. Jos rahojen tarkkaa määrää ei tiedettäisi, mutta jokaisessa muistinkappauksessa se kuitenkin laskee, niin sijainti olisi voitu yrittää etsiä seuraavasti:
Capture1 Capture2 < Capture1 Capture3 < Capture2 Capture4 < Capture3 Capture5 < Capture4
Kun muistinkaappauksia verrataan, CheatMaker etsii kaikki kohdat, joissa Capture2:n arvot ovat pienemmät kuin Capture1:ssä, Capture3:n arvot ovat pienemmät kuin Capture2:ssa, jne.
Vertailussa voidaan käyttää hyväksi seuraavia merkkejä:
- == : yhtäläinen
- != : ei ole yhtäläinen
- > : suurempi kuin
- < : pienempi kuin
Esimerkki 3
Kolmannessa esimerkissä etsitään kohta, josta voidaan asettaa omat musiikit (Rockstar Custom Tracks -ohjelmalla muunnetut) päälle ja pois päältä. Aseta ensin omat musiikit pois käytöstä ja kaappaa muistin sisältö. Aseta sen jälkeen omat musiikit päälle ja ota uusi kaappaus. Aseta omat musiikit pois ja ota kaappaus. Jatka tätä, kunnes sinulla on tarpeeksi monta kaappausta.
Muuta kaappausten vertailuasetukset seuraavaan muotoon:
Capture1 Capture2 != Capture1 Capture3 == Capture1 Capture4 != Capture1 Capture5 == Capture1 Capture6 != Capture1
Voidaan olettaa, että arvo 00 tarkoittaa että omat musiikit on pois päältä ja arvo 01, että omat musiikit on päällä. Oletuksen perusteella Type-kohtaan asetetaan "1-byte char". Valitse sen jälkeen valinta "Run Comparison" ja etsi kaikki kohdat, jotka näyttävät mahdollisesti oikealta. Kokeile niiden toimivuutta muuttamalla arvoa Hex Editorilla.
Esimerkissä oikea arvo löydettiin kohdasta 09ADBC08 (0x9adbc08). Aseta arvoksi 01 niin omat musiikit tulevat päälle, ja 00 niin radio tulee päälle. Tämän jälkeen huijaus voidaan tallentaa:
#cheat Omat musiikit setchar(0x9adbc08, 1); #off setchar(0x9adbc08, 0);
Huomaa, että jos olet autossa, kuuntelet radiokanavaa ja asetat omat musiikit päälle käyttämällä huijausta, niin joudut painamaan vielä vasenta tai oikeaa nuolinäppäintä aktivoidaksesi ne.
