Дрифт v0.1 beta
Написал вот скрипт дрифта.
Пока что в нем многого не хватает. Это еще даже не гонка. Просто нужно за ограниченное время набрать побольше очков. Нет отнимания очков за столкновения(т.к. я не знаю как его обнаружить) и иногда бывает глюк с подсчетом очков.
Но как будет время я его доделаю до уровня NFS
:drift
const
PLAYER_CAR = 0@
TEMP_SCORE = 12@
COMBO = 18@
end
var
0@:car
1@:float
2@:float
3@:float
4@:float
5@:float
6@:float
7@:float
8@:float
9@:float
10@:float
11@:float
12@:int
13@:int
14@:int
15@:int
16@:int
17@:int
18@:int
$score:int
end
wait 0
$PLAYER_CHAR.Defined
jf @drift
#ZR350.Load()
06E9: load_car_component #WHEEL_OR1
while not #ZR350.Available()
wait 0
end
while 86EA: not car_component #WHEEL_OR1 available
wait 0
end
0506: set_car_model #ZR350 next_variation 0 0 // first param is useless
car.Create(PLAYER_CAR,#ZR350,2112.8594, -2467.2852, 13.1098)
car.Angle(PLAYER_CAR) = 90.0
06E7: 1@ = add_car_component #WHEEL_OR1 to_car PLAYER_CAR
1@ = 0x0
#ZR350.Destroy()
06EB: release_car_component #WHEEL_OR1
04E4: unknown_refresh_game_renderer_at 2112.8594 -2467.2852
camera.SetAtPos(2112.8594, -2467.2852, 13.1098)
036A: put_actor $PLAYER_ACTOR in_car PLAYER_CAR
$TOTAL_TIME = 180000
03C3: set_timer_to $TOTAL_TIME type 1 GXT 'BB_19' // global_variable // Time
:drift_1
04F7: status_text $score type 0 line 1 GXT 'BB_18' // global_variable // Score
//16@ = car.Health(PLAYER_CAR)
wait 0
13@ = TEMP_SCORE
gosub @drifted
if
TEMP_SCORE > 13@
then
01E3: show_text_1number_styled GXT 'number' number 12@ time 2000 style 4
14@ = 0
15@ = 0
else
if 14@ == 0
then
01BD: 14@ = current_time_in_ms
end
if
15@ = 0.0
then
return
end
if and
10@ = 180.0
3@ = 0.0
then
return
end
if and
10@ >= 270.0
3@ = 19.0
then
COMBO = 2
end
if 11@ >= 31.0
then
COMBO = 3
end
if 11@ >= 46.0
then
COMBO = 4
end
if 11@ >= 63.0
then
COMBO = 5
end
if
0031: 10@ >= 180.0
then
if or
801D: not 8@ >= 7@ // (int)
001D: 9@ >= 7@ // (int)
then
inc(TEMP_SCORE,COMBO)
end
else
if or
001D: 8@ >= 7@ // (int)
801D: not 9@ >= 7@ // (int)
then
inc(TEMP_SCORE,COMBO)
end
end
end
return