CLEO IV Lights Mod v1.0 beta

Попытка сделать SA немного ярче и красивей.

В текущей версии мода (beta 1.0) присутсвуют:
-подсветка под пикапами оружия;

Подсветка не работает для джетпака, а также для пикапов, которые расставлены по карте.
-подсветка под пикапами денег;

Для правильной работы Вам надо заменить некоторые файлы в gta3.img. Читайте ReadMe.
-проекция (отображене света на покрытии) от задних фар автомобиля.

Увы, проекция не аттачится (цепляется) к автомобилю. Это значит, что при движении на большой скорости, проекции будут "отставать" от автомобиля. Возможно будет доработано в последующих версия модификации. Проекция создается тогда, когда у автомобиля включены задние фары.

Перед установкой обязательно открыть файл Readme.txt и прочитать его содержимое!

Исходник, а точнее, значения в блоке констант (const...end) можно смело редактировать.

Не забывайте, что текущая версия - бета-релиз, так что от вылетов и глюков Вы не застрахованы.

{$VERSION 3.1.1000}
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP

:NONAME_2
wait 0
if
0AE2: 3@ = random_vehicle_near_point 0.0 0.0 0.0 in_radius 5000.0 find_next 0 pass_wrecked 1 //IF and SET
else_jump @NONAME_384

:NONAME_46
0A97: 10@ = car 3@ struct
0A8E: 30@ = 10@ + 1412 // int
0A8D: 30@ = read_memory 30@ size 4 virtual_protect 0
if
08B7: test 30@ bit 2
else_jump @NONAME_354
0A8E: 30@ = 10@ + 34 // int
0A8D: 30@ = read_memory 30@ size 2 virtual_protect 0
30@ *= 4
30@ += 11120840
0A8D: 30@ = read_memory 30@ size 4 virtual_protect 0
30@ += 92
0A8D: 30@ = read_memory 30@ size 4 virtual_protect 0
30@ += 12
0A8D: 14@ = read_memory 30@ size 4 virtual_protect 0
30@ += 4
0A8D: 15@ = read_memory 30@ size 4 virtual_protect 0
30@ += 4
0A8D: 16@ = read_memory 30@ size 4 virtual_protect 0
14@ -= 0.2
0407: store_coords_to 11@ 12@ 13@ from_car 3@ with_offset 14@ 15@ 16@
016F: create_particle 3 rotation_factor 0.0 size 1.2 intensity 255 flags 255 0 0 at 11@ 12@ 13@
14@ *= -1.0
0407: store_coords_to 11@ 12@ 13@ from_car 3@ with_offset 14@ 15@ 16@
016F: create_particle 3 rotation_factor 0.0 size 1.2 intensity 255 flags 255 0 0 at 11@ 12@ 13@

:NONAME_354
8AE2: not 3@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 5000.0 find_next 1 pass_wrecked 1 //IF and SET
else_jump @NONAME_46

:NONAME_384
0@ = 9930944

:NONAME_394
0085: 6@ = 0@ // (int)
6@ += 28
0A8D: 1@ = read_memory 6@ size 1 virtual_protect 0
6@ -= 28
if
1@ == 8
else_jump @NONAME_992
6@ += 4
0A8D: 1@ = read_memory 6@ size 4 virtual_protect 0
6@ -= 4
if
not 1@ == 0
else_jump @NONAME_985
6@ += 8
0A8D: 28@ = read_memory 6@ size 4 virtual_protect 0
6@ -= 8
0AEC: 2@ = object_struct 1@ handle
0093: 28@ = integer 28@ to_float
Object.StorePos(2@, 10@, 11@, 12@)
Object.PutAt(2@, 0.0, 0.0, 3000.0)
0087: 13@ = 12@ // (float)
6@ += 12
0A8C: write_memory 6@ size 4 value 0 virtual_protect 0
6@ -= 12
12@ -= 0.58
0208: 30@ = random_float_in_ranges 0.0 360.0
20@ = Object.Create(1248, 10@, 11@, 12@)
Object.CollisionDetection(20@) = False
Object.Angle(20@) = 30@
0400: store_coords_to 19@ 21@ 22@ from_object 20@ with_offset 0.092 0.0 0.0
0400: store_coords_to 23@ 24@ 25@ from_object 20@ with_offset -0.092 0.0 0.0
02CE: 22@ = ground_z_at 19@ 21@ 22@
02CE: 25@ = ground_z_at 23@ 24@ 25@
0509: 26@ = distance_between_XY 23@ 24@ and_XY 19@ 21@
0087: 27@ = 25@ // (float)
0063: 27@ -= 22@ // (float)
0604: get_Z_angle_for_point 27@ 26@ store_to 28@
0400: store_coords_to 19@ 21@ 22@ from_object 20@ with_offset 0.0 0.05 0.0
0400: store_coords_to 23@ 24@ 25@ from_object 20@ with_offset 0.0 -0.05 0.0
02CE: 22@ = ground_z_at 19@ 21@ 22@
02CE: 25@ = ground_z_at 23@ 24@ 25@
0509: 26@ = distance_between_XY 23@ 24@ and_XY 19@ 21@
0087: 27@ = 25@ // (float)
0063: 27@ -= 22@ // (float)
0604: get_Z_angle_for_point 27@ 26@ store_to 29@
0453: set_object 20@ XYZ_rotation 28@ 29@ 30@
0908: set_object 20@ turn_mass_to 28@ // float
0906: set_object 20@ mass_to 539.0 // float
Object.RemoveReferences(20@)
016F: create_particle 3 rotation_factor 0.0 size 0.7 intensity 1 flags 0 145 17 at 10@ 11@ 13@

:NONAME_985
jump @NONAME_1587

:NONAME_992
if
1@ == 4
else_jump @NONAME_1587
6@ += 4
0A8D: 1@ = read_memory 6@ size 4 virtual_protect 0
6@ -= 4
if
not 1@ == 0
else_jump @NONAME_1587
6@ += 8
0A8D: 28@ = read_memory 6@ size 4 virtual_protect 0
6@ -= 8
0AEC: 2@ = object_struct 1@ handle
0093: 28@ = integer 28@ to_float
Object.StorePos(2@, 10@, 11@, 12@)
4@ = Object.Model(2@)
Object.PutAt(2@, 0.0, 0.0, 3000.0)
0087: 13@ = 12@ // (float)
6@ += 12
0A8C: write_memory 6@ size 4 value 0 virtual_protect 0
6@ -= 12
12@ -= 0.88
0208: 30@ = random_float_in_ranges 0.0 360.0
20@ = Object.Create(4@, 10@, 11@, 12@)
Object.CollisionDetection(20@) = False
08D2: object 20@ scale_model 0.85
0453: set_object 20@ XYZ_rotation 90.0 -3.0 30@
0400: store_coords_to 19@ 21@ 22@ from_object 20@ with_offset 0.2 0.0 0.0
0400: store_coords_to 23@ 24@ 25@ from_object 20@ with_offset -0.2 0.0 0.0
02CE: 22@ = ground_z_at 19@ 21@ 22@
02CE: 25@ = ground_z_at 23@ 24@ 25@
0509: 26@ = distance_between_XY 23@ 24@ and_XY 19@ 21@
0087: 27@ = 25@ // (float)
0063: 27@ -= 22@ // (float)
0604: get_Z_angle_for_point 27@ 26@ store_to 28@
0400: store_coords_to 19@ 21@ 22@ from_object 20@ with_offset 0.0 0.07 0.0
0400: store_coords_to 23@ 24@ 25@ from_object 20@ with_offset 0.0 -0.07 0.0
02CE: 22@ = ground_z_at 19@ 21@ 22@
02CE: 25@ = ground_z_at 23@ 24@ 25@
0509: 26@ = distance_between_XY 23@ 24@ and_XY 19@ 21@
0087: 27@ = 25@ // (float)
0063: 27@ -= 22@ // (float)
0604: get_Z_angle_for_point 27@ 26@ store_to 29@
28@ += 90.0
0453: set_object 20@ XYZ_rotation 28@ 29@ 30@
0908: set_object 20@ turn_mass_to 28@ // float
0906: set_object 20@ mass_to 539.0 // float
Object.RemoveReferences(20@)
016F: create_particle 3 rotation_factor 0.0 size 0.8 intensity 1 flags 255 71 16 at 10@ 11@ 13@

:NONAME_1587
0@ += 32
0@ > 9950752
else_jump @NONAME_394
if
0AE3: 16@ = random_object_near_point 0.0 0.0 0.0 in_radius 5000.0 find_next 0 //IF and SET
else_jump @NONAME_2609

:NONAME_1649
0907: get_object 16@ mass_to 18@ // float
if
18@ == 539.0
else_jump @NONAME_2575
if
Object.Model(16@) == 1248
else_jump @NONAME_1888
Object.StorePos(16@, 21@, 22@, 23@)
Actor.StorePos($PLAYER_ACTOR, 24@, 25@, 26@)
050A: 27@ = distance_between_XYZ 24@ 25@ 26@ and_XYZ 21@ 22@ 23@
if and
not 27@ >= 1.5
not Actor.Driving($PLAYER_ACTOR)
86B9: not cutscene_data_loaded
80E1: not player 0 pressed_key 6
8A0C: not player 0 on_jetpack
Player.Controllable(0)
else_jump @NONAME_1825
0909: get_object 16@ turn_mass_to 29@ // float
0092: 29@ = float 29@ to_integer
Player.Money(0) += 29@
Object.Destroy(16@)
jump @NONAME_1881

:NONAME_1825
Object.StorePos(16@, 10@, 11@, 12@)
12@ += 0.5
016F: create_particle 3 rotation_factor 0.0 size 0.7 intensity 1 flags 0 145 17 at 10@ 11@ 12@

:NONAME_1881
jump @NONAME_2575

:NONAME_1888
27@ = 321

:NONAME_1896
if
27@ == 370
else_jump @NONAME_1922
jump @NONAME_1969

:NONAME_1922
if
Object.Model(16@) == 27@
else_jump @NONAME_1962
4@ = 1
jump @NONAME_1991
jump @NONAME_1969

:NONAME_1962
4@ = 0

:NONAME_1969
27@ += 1
27@ > 371
else_jump @NONAME_1896

:NONAME_1991
if
4@ == 1
else_jump @NONAME_2575
4@ = 0
Object.StorePos(16@, 21@, 22@, 23@)
Actor.StorePos($PLAYER_ACTOR, 24@, 25@, 26@)
050A: 27@ = distance_between_XYZ 24@ 25@ 26@ and_XYZ 21@ 22@ 23@
if and
not 27@ >= 1.5
not Actor.Driving($PLAYER_ACTOR)
86B9: not cutscene_data_loaded
80E1: not player 0 pressed_key 6
8A0C: not player 0 on_jetpack
Player.Controllable(0)
else_jump @NONAME_2519
22@ = Object.Model(16@)
27@ = 1

:NONAME_2124
if or
27@ == 19
27@ == 20
27@ == 21
else_jump @NONAME_2163
jump @NONAME_2197

:NONAME_2163
0781: get_weapon_with_ID 27@ model_to 21@
if
003B: 22@ == 21@ // (int)
else_jump @NONAME_2197
jump @NONAME_2218

:NONAME_2197
27@ += 1
27@ > 46
else_jump @NONAME_2124

:NONAME_2218
0782: get_weapon_with_ID 27@ weapon_group_to 21@
21@ += 1
04B8: get_weapon_data_from_actor $PLAYER_ACTOR slot 21@ weapon 26@ ammo 4@ model 25@
if
not 25@ > 0
else_jump @NONAME_2307
0909: get_object 16@ turn_mass_to 29@ // float
0092: 29@ = float 29@ to_integer
Actor.GiveWeaponAndAmmo($PLAYER_ACTOR, 27@, 29@)
Object.Destroy(16@)
jump @NONAME_2512

:NONAME_2307
if
003B: 26@ == 27@ // (int)
else_jump @NONAME_2376
0909: get_object 16@ turn_mass_to 29@ // float
0092: 29@ = float 29@ to_integer
0A8E: 7@ = 4@ + 29@ // int
Actor.SetWeaponAmmo($PLAYER_ACTOR, 27@, 7@)
Object.Destroy(16@)
jump @NONAME_2512

:NONAME_2376
if
88FE: not text_box_displayed
else_jump @NONAME_2400
03E5: show_text_box 'PU_CF1' // Press ~k~~PED_ANSWER_PHONE~ to pick up this weapon. It will replace any weapon you have of the same type.

:NONAME_2400
if
00E1: player 0 pressed_key 4
else_jump @NONAME_2456
0909: get_object 16@ turn_mass_to 29@ // float
0092: 29@ = float 29@ to_integer
Actor.GiveWeaponAndAmmo($PLAYER_ACTOR, 27@, 29@)
Object.Destroy(16@)
jump @NONAME_2512

:NONAME_2456
Object.StorePos(16@, 10@, 11@, 12@)
12@ += 0.2
016F: create_particle 3 rotation_factor 0.8 size 0.8 intensity 1 flags 255 71 16 at 10@ 11@ 12@

:NONAME_2512
jump @NONAME_2575

:NONAME_2519
Object.StorePos(16@, 10@, 11@, 12@)
12@ += 0.2
016F: create_particle 3 rotation_factor 0.0 size 0.8 intensity 1 flags 255 71 16 at 10@ 11@ 12@

:NONAME_2575
8AE3: not 16@ = random_object_near_point 0.0 0.0 0.0 in_radius 5000.0 find_next 1 //IF and SET
else_jump @NONAME_1649

:NONAME_2609
jump @NONAME_2
Скриншоты:
CLEO IV Lights Mod v1.0 beta
CLEO IV Lights Mod v1.0 beta



Просмотров: 2805
5.11.2015, 21:10 -

Категория: Grand Theft Auto: San Andreas » Скрипты для Grand Theft Auto: San Andreas » CLEO скрипты для Grand Theft Auto: San Andreas

Коментарии к CLEO IV Lights Mod v1.0 beta: