Originally posted by Jann-Lee at forum.romov.net 05.12.2004 16:45у меня год назад книга была с кодами для Sega Mega Drive 2 так вот там были коды на Rock'n Roll Racing.Но имеено таких я не нашел в инете а книгу посеял коды на секретного персонажа Olaf викинг,потом на кислотную краску цвет хуже нет, и ещё несколько кодов щас уже не помню какие вообщем помогите чем можете!
ПропущеноOriginally posted by GManiac at forum.romov.net 07.12.2004 23:57Есть секретный код, правда, только один. На концовку. Сам код я пока не знаю (ещё не расшифровал), но могу поделиться
сейвом.
Originally posted by LedZeppelin68 at forum.romov.net 08.12.2004 01:13XGMH RSTV WS6M - играть за OLAF
ПропущеноOriginally posted by GManiac at forum.romov.net 13.12.2004 00:02ЕСТЬ! НАШЁЛ!
Вот код на концовку:
RG1Y 5HP1 2F!!Это единственный встроенный пароль. Все остальные - генерируемые. Было трудно находить код генерации/дешифровки из-за задержек в роме. Притом, запись значений-параметров и генерация пароля проходят в разное время, что сильно осложняет разбор кода. Надо узнать, какие параметры нужны, тогда можно будет создавать коды на цвет машины и т.д.
Для примера, на
http://gamewinners.com есть интересный код:
4FHT C0P0 5TJ! - Super Racer
Originally posted by Coregon at forum.romov.net 15.12.2004 01:16Olaf - 0MRJ 0QT2 4S6M
??? - HMRJ 0QP2 4S6M
секретные трассы (у меня не заработали):
YWQ1 0Q1C 4S6M
DWQ1 0QXM 4S6M
©Великий Dракон
У кого есть QBasic? Откомпилируйте:
http://www.dmwright.com/cheats/more_files/rockroll.basOriginally posted by HardWareMan at forum.romov.net 16.12.2004 21:40Вот анализ пароля:
---------------------------------------------------------------
-1----------------------
0 D0 - Планета D0/Сотни тысяч D1/Нитра D1
1 D1 - Планета D1/Сотни тысяч D2/Нитра D2
0 D2 - Планета D2/Сотни тысяч D3/Движок D0
0 D3 - Сложность D0/Дивизион D0/Движок D1
1 D4 - Сложность D1/Гонщик D0
-2----------------------
0 D0 - Машина D1/Десятки тысяч D0/Оружие D2
1 D1 - Машина D2/Десятки тысяч D1/Бомбы D0
1 D2 - Цвет D0/Десятки тысяч D2/Бомбы D1
1 D3 - Цвет D1/Десятки тысяч D3/Бомбы D2
1 D4 - Цвет D2/Сотни тысяч D0/Нитра D0
-3----------------------
0 D0 - Гонщик D2/Подвеска D0
0 D1 - Единицы тысяч D0/Подвеска D0
1 D2 - Единицы тысяч D1/Броня D0
0 D3 - Единицы тысяч D2/Броня D1/Оружие D0
1 D4 - Машина D0/Единицы тысяч D3/Оружие D1
-4----------------------
1 D0 - Сотни тысяч D2
0 D1 - Сотни тысяч D3
1 D2 - Сложность D0
0 D3 - Сложность D1/Шины D0
1 D4 - Гонщик D1/Шины D1
------------------------
-5----------------------
1 D0 - Десятки тысяч D1
0 D1 - Десятки тысяч D2
1 D2 - Десятки тысяч D3
1 D3 - Сотни тысяч D0
0 D4 - Сотни тысяч D1
-6----------------------
0 D0 - Единицы тысяч D0
0 D1 - Единицы тысяч D1
1 D2 - Единицы тысяч D2
1 D3 - Единицы тысяч D3
0 D4 - Десятки тысяч D0
-7----------------------
1 D0 - Планета D2
1 D1 - Дивизион D0
1 D2 - Гонщик D0
0 D3 - Гонщик D1
1 D4 - Гонщик D2
-8----------------------
0 D0 - Цвет D0
1 D1 - Цвет D1
0 D2 - Цвет D2
0 D3 - Планета D0
1 D4 - Планета D1
------------------------
-9----------------------
1 D0 - Броня D0
0 D1 - Броня D1
1 D2 - Машина D0
0 D3 - Машина D1
1 D4 - Машина D2
-10---------------------
0 D0 - Движок D1
1 D1 - Шины D0
1 D2 - Шины D1
1 D3 - Подвеска D0
0 D4 - Подвеска D1
-11---------------------
1 D0 - Бомбы D2
0 D1 - Нитра D0
0 D2 - Нитра D1
1 D3 - Нитра D2
1 D4 - Движок D0
-12---------------------
0 D0 - Оружие D0
0 D1 - Оружие D1
0 D2 - Оружие D2
0 D3 - Бомбы D0
0 D4 - Бомбы D1
------------------------
Биты с двумя и тремя значениями вычисляются как четность (сложение по XOR) этих значений. Цифры слева - начальное состояние пароля. А вот, кому интересно я переписал прогу на ПАС:
-----------------------------------------------------------------------
uses dos, crt;
var pas:array[1..12] of byte;
key:byte;
{-----------------------------------------------------}
{Печать готового пароля}
{B-00 C-01 D-02 F-03 G-04 H-05 J-06 K-07}
{L-08 M-09 N-10 P-11 Q-12 R-13 S-14 T-15}
{V-16 W-17 X-18 Y-19 Z-20 0-21 1-22 2-23}
{3-24 4-25 5-26 6-27 7-28 8-29 9-30 !-31}
procedure showit;
var c:byte;
x,y:word;
begin
x:=wherex; y:=wherey;
gotoxy(1,1); write('Текущий пароль: ');
for c:=1 to 12 do begin
pas[c]:=pas[c] and $1F;
case pas[c] of
0 : write('B');
1 : write('C');
2 : write('D');
3 : write('F');
4 : write('G');
5 : write('H');
6 : write('J');
7 : write('K');
8 : write('L');
9 : write('M');
10 : write('N');
11 : write('P');
12 : write('Q');
13 : write('R');
14 : write('S');
15 : write('T');
16 : write('V');
17 : write('W');
18 : write('X');
19 : write('Y');
20 : write('Z');
21 : write('0');
22 : write('1');
23 : write('2');
24 : write('3');
25 : write('4');
26 : write('5');
27 : write('6');
28 : write('7');
29 : write('8');
30 : write('9');
31 : write('!');
end;
if c in [4,8] then write(' ');
end;
write(' ');
gotoxy(x,y);
end;
{Ввод числа}
function inputkey(max:char):byte;
var ch:char;
begin
repeat
repeat
ch:=readkey;
if ch in ['a'..'f'] then ch:=chr(ord(ch)-$20);
until ch in ['0'..'9','A'..'F'];
until (ch>'0') and (ch<max);
write(ch);
if ch in ['A'..'F'] then ch:=chr(ord(ch)-7);
inputkey:=ord(ch)-$31;
end;
{=====================================================}
begin
clrscr;
pas[01]:=18; pas[02]:=30; pas[03]:=20; pas[04]:=21;
pas[05]:=13; pas[06]:=12; pas[07]:=23; pas[08]:=18;
pas[09]:=21; pas[10]:=14; pas[11]:=25; pas[12]:=00;
writeln; showit;
writeln('Генератор паролей для игры "Rock''n''Roll Racing" v1.0');
writeln('На основе BASIC-программы Joel''а Elliot''а.');
writeln('Все права на оригинальный алгоритм принадлежат ему.');
{Ввод уровня сложности}
writeln('---------------------------------------------------------------------');
writeln('1-Rookie, 2-Veteran, 3-Warrior');
write('Выберите: '); key:=inputkey('4'); writeln(key);
if (key and 1)=1 then begin pas[1]:=pas[1] xor 8; pas[4]:=pas[4] xor 4; end;
if (key and 2)=2 then begin pas[1]:=pas[1] xor 16; pas[4]:=pas[4] xor 8; end;
showit;
{Ввод гонщика}
writeln('---------------------------------------------------------------------');
writeln('1-Snake, 2-Hawk, 3-Ivan, 4-Kat, 5-Jake, 6-Tarquin, 7-Olaf');
write('Выберите: '); key:=inputkey('8'); writeln(key);
if (key and 1)=1 then begin pas[1]:=pas[1] xor 16; pas[7]:=pas[7] xor 4; end;
if (key and 2)=2 then begin pas[4]:=pas[4] xor 16; pas[7]:=pas[7] xor 8; end;
if (key and 4)=4 then begin pas[3]:=pas[3] xor 1; pas[7]:=pas[7] xor 16; end;
showit;
{Ввод цвета}
writeln('---------------------------------------------------------------------');
writeln('1-Black, 2-Blue, 3-Red, 4-Green, 5-Yellow, 6-Purp/Blue, 7-Orng/Grn, 8-Lt. Grn');
write('Выберите: '); key:=inputkey('9'); writeln(key);
if (key and 1)=1 then begin pas[2]:=pas[2] xor 4; pas[8]:=pas[8] xor 1; end;
if (key and 2)=2 then begin pas[2]:=pas[2] xor 8; pas[8]:=pas[8] xor 2; end;
if (key and 4)=4 then begin pas[2]:=pas[2] xor 16; pas[8]:=pas[8] xor 4; end;
showit;
{Ввод машины}
writeln('---------------------------------------------------------------------');
write('1-Dirt D, 2-Marauder, 3-Battle Trax, 4-Hydrofoil, 5-BT, 6-HF, 7-Air Blade, 8-Exp');
write('Выберите: '); key:=inputkey('9'); writeln(key);
{ if (key<1) and (key>8) then key:=1;}
if (key and 1)=1 then begin pas[3]:=pas[3] xor 16; pas[9]:=pas[9] xor 4; end;
if (key and 2)=2 then begin pas[2]:=pas[2] xor 1; pas[9]:=pas[9] xor 8; end;
if (key and 4)=4 then begin pas[2]:=pas[2] xor 2; pas[9]:=pas[9] xor 16; end;
showit;
{Ввод планеты}
writeln('---------------------------------------------------------------------');
write('1-Chem IV, 2-Drakonis, 3-Bogmire, 4-New Mojave, 5-Nho, 6-Inferno, 7-NEED, 8-HAVE');
write('Выберите: '); key:=inputkey('9'); writeln(key);
if (key and 1)=1 then begin pas[1]:=pas[1] xor 1; pas[8]:=pas[8] xor 8; end;
if (key and 2)=2 then begin pas[1]:=pas[1] xor 2; pas[8]:=pas[8] xor 16; end;
if (key and 4)=4 then begin pas[1]:=pas[1] xor 4; pas[7]:=pas[7] xor 1; end;
showit;
{Ввод подразделения}
writeln('---------------------------------------------------------------------');
writeln('1-Division B, 2-Division A');
write('Выберите: '); key:=inputkey('3'); writeln(key);
if (key and 1)=1 then begin pas[1]:=pas[1] xor 8; pas[7]:=pas[7] xor 2; end;
showit;
{Ввод денег}
writeln('---------------------------------------------------------------------');
writeln('Сотни тысяч денег (0..F)');
write('Выберите: '); key:=inputkey('G'); writeln(key);
if (key and 1)=1 then begin pas[2]:=pas[2] xor 16; pas[5]:=pas[5] xor 8; end;
if (key and 2)=2 then begin pas[1]:=pas[1] xor 1; pas[5]:=pas[5] xor 16; end;
if (key and 4)=4 then begin pas[1]:=pas[1] xor 2; pas[4]:=pas[4] xor 1; end;
if (key and 8)=8 then begin pas[1]:=pas[1] xor 4; pas[4]:=pas[4] xor 2; end;
showit;
writeln('Десятки тысяч денег (0..F)');
write('Выберите: '); key:=inputkey('G'); writeln(key);
if (key and 1)=1 then begin pas[2]:=pas[2] xor 1; pas[6]:=pas[6] xor 16; end;
if (key and 2)=2 then begin pas[2]:=pas[2] xor 2; pas[5]:=pas[5] xor 1; end;
if (key and 4)=4 then begin pas[2]:=pas[2] xor 4; pas[5]:=pas[5] xor 2; end;
if (key and 8)=8 then begin pas[2]:=pas[2] xor 8; pas[5]:=pas[5] xor 4; end;
showit;
writeln('Единицы тысяч денег (0..F)');
write('Выберите: '); key:=inputkey('G'); writeln(key);
if (key and 1)=1 then begin pas[3]:=pas[3] xor 2; pas[6]:=pas[6] xor 1; end;
if (key and 2)=2 then begin pas[3]:=pas[3] xor 4; pas[6]:=pas[6] xor 2; end;
if (key and 4)=4 then begin pas[3]:=pas[3] xor 8; pas[6]:=pas[6] xor 4; end;
if (key and 8)=8 then begin pas[3]:=pas[3] xor 16; pas[6]:=pas[6] xor 8; end;
showit;
{Ввод параметров машины}
writeln('---------------------------------------------------------------------');
writeln('Броня (1..4)');
write('Выберите: '); key:=inputkey('5'); writeln(key);
if (key and 1)=1 then begin pas[3]:=pas[3] xor 4; pas[9]:=pas[9] xor 1; end;
if (key and 2)=2 then begin pas[3]:=pas[3] xor 8; pas[9]:=pas[9] xor 2; end;
showit;
writeln('Двигатель (1..4)');
write('Выберите: '); key:=inputkey('5'); writeln(key);
if (key and 1)=1 then begin pas[1]:=pas[1] xor 4; pas[11]:=pas[11] xor 16; end;
if (key and 2)=2 then begin pas[1]:=pas[1] xor 8; pas[10]:=pas[10] xor 1; end;
showit;
writeln('Оружие (1..8)');
write('Выберите: '); key:=inputkey('9'); writeln(key);
if (key and 1)=1 then begin pas[3]:=pas[3] xor 8; pas[12]:=pas[12] xor 1; end;
if (key and 2)=2 then begin pas[3]:=pas[3] xor 16; pas[12]:=pas[12] xor 2; end;
if (key and 4)=4 then begin pas[2]:=pas[2] xor 1; pas[12]:=pas[12] xor 4; end;
showit;
writeln('Бомбы (1..8)');
write('Выберите: '); key:=inputkey('9'); writeln(key);
if (key and 1)=1 then begin pas[2]:=pas[2] xor 2; pas[12]:=pas[12] xor 8; end;
if (key and 2)=2 then begin pas[2]:=pas[2] xor 4; pas[12]:=pas[12] xor 16; end;
if (key and 4)=4 then begin pas[2]:=pas[2] xor 8; pas[11]:=pas[11] xor 1; end;
showit;
writeln('Нитра (1..8)');
write('Выберите: '); key:=inputkey('9'); writeln(key);
if (key and 1)=1 then begin pas[2]:=pas[2] xor 16; pas[11]:=pas[11] xor 2; end;
if (key and 2)=2 then begin pas[1]:=pas[1] xor 1; pas[11]:=pas[11] xor 4; end;
if (key and 4)=4 then begin pas[1]:=pas[1] xor 2; pas[11]:=pas[11] xor 8; end;
showit;
writeln('Подвеска (1..4)');
write('Выберите: '); key:=inputkey('5'); writeln(key);
if (key and 1)=1 then begin pas[3]:=pas[3] xor 1; pas[10]:=pas[10] xor 8; end;
if (key and 2)=2 then begin pas[3]:=pas[3] xor 2; pas[10]:=pas[10] xor 16; end;
showit;
writeln('Шины (1..4)');
write('Выберите: '); key:=inputkey('5'); writeln(key);
if (key and 1)=1 then begin pas[4]:=pas[4] xor 8; pas[10]:=pas[10] xor 2; end;
if (key and 2)=2 then begin pas[4]:=pas[4] xor 16; pas[10]:=pas[10] xor 4; end;
showit;
writeln('---------------------------------------------------------------------');
writeln('Код сгенерирован. Нажмите любую клавишу.');
readkey;
end.
------------------------------------------------------------------------------