You are not logged in.
Pages: 1
От нечего делать написал скрипт, который спаунит нужную машину (по её ID) и сажает сиджея в неё.
Активация по CTRL+O (буква О, а не ноль)
Далее вводим трёхзначный код (от 400 до 611)
Отменить выбор той же кнопкой, как и выход из любого меню.
// siple car spawner by vehicle ID (400 - 612)
// by AlphaOmega
{$CLEO .cs}
//-------------MAIN---------------
:start
thread 'SPAWNER'
0000: NOP
:new
wait 0
0@ = 0 // car id
1@ = 0 // additional value
2@ = 0 // additional value digit
:check
wait 0
if and
0AB0: key_pressed 0x11 // ctrl
0AB0: key_pressed 0x4F // o
not Actor.Driving($PLAYER_ACTOR)
jf @check
077E: get_active_interior_to 9@
if
9@ == 0
jf @check
02A3: toggle_widescreen 1
Player.CanMove($PLAYER_CHAR) = False
03BF: set_player $PLAYER_CHAR ignored_by_everyone 1
:menu
01E3: show_text_1number_styled GXT 'NUMBER' number 0@ time 10 style 5
wait 10
if
00E1: player 0 pressed_key 15
jf @input0
jump @end
:input0
if
0AB0: key_pressed 0x30
jf @input1
1@ = 0
jump @output
:input1
if
0AB0: key_pressed 0x31
jf @input2
1@ = 1
jump @output
:input2
if
0AB0: key_pressed 0x32
jf @input3
1@ = 2
jump @output
:input3
if
0AB0: key_pressed 0x33
jf @input4
1@ = 3
jump @output
:input4
if
0AB0: key_pressed 0x34
jf @input5
1@ = 4
jump @output
:input5
if
0AB0: key_pressed 0x35
jf @input6
1@ = 5
jump @output
:input6
if
0AB0: key_pressed 0x36
jf @input7
1@ = 6
jump @output
:input7
if
0AB0: key_pressed 0x37
jf @input8
1@ = 7
jump @output
:input8
if
0AB0: key_pressed 0x38
jf @input9
1@ = 8
jump @output
:input9
if
0AB0: key_pressed 0x39
jf @menu
1@ = 9
jump @output
:output
2@ += 1
0012: 0@ *= 10
005A: 0@ += 1@ // (int)
01E3: show_text_1number_styled GXT 'NUMBER' number 0@ time 250 style 5
wait 250
if
0039: 2@ == 3
jf @menu
jump @ifcan
:ifcan
if and
0029: 0@ >= 400
002B: 611 >= 0@
jf @end
0247: request_model 0@
01E3: show_text_1number_styled GXT 'NUMBER' number 0@ time 250 style 5
fade 0 250
wait 250
:loading
wait 0 ms
if 0
0248: model 0@ available
jf @loading
04C4: store_coords_to 3@ 4@ 5@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0
0172: 7@ = actor $PLAYER_ACTOR Z_angle
00A5: 6@ = create_car 0@ at 3@ 4@ 5@
0175: set_car 6@ Z_angle_to 7@
036A: put_actor $PLAYER_ACTOR in_car 6@
01C3: remove_references_to_car 6@
fade 1 500
jump @end
:end
Player.CanMove($PLAYER_CHAR) = True
03BF: set_player $PLAYER_CHAR ignored_by_everyone 0
02A3: toggle_widescreen 0
wait 1000
jump @new
Offline
Несколько советов:
jump @ifcan :ifcan jump @end :end
если jump идет на метку сразу после этой команды, он лишний. игра и сама перейдет. эти jump и метки нужно убрать.
:start thread 'SPAWNER' 0000: NOP :new wait 0
много лишнего. 0000, wait и метка start совершенно не нужны.
:new ....code... jump @new
можно заменить на
while true ...code... end
тем самым мы избавляемся от лишней метки и визуально улучшаем скрипт.
В самом скрипте не хватает возможности "стереть" последнюю цифру нажатием Backspace.
Offline
Offline
если jump идет на метку сразу после этой команды, он лишний. игра и сама перейдет. эти jump и метки нужно убрать.
Знаю, просто когда писал скрипт, думал, что там может ещё что-то быть.
много лишнего. 0000, wait и метка start совершенно не нужны.
Я просто тут где-то читал, что на первую метку не перескакивает гта. Потому и поставил старт. Кстати иногда (когда забываю писать старт и ноп - игра вылетает сразу после запуска)
while true
Да красивие, только я уже запутался в сложной структуре синтаксиса языка гта, что уже не рискую 
В самом скрипте не хватает возможности "стереть" последнюю цифру нажатием Backspace.
Да явообще хотел сделать вызов простым нажатием этих клавишь в нужной последовательности (по принципу ЧИТа, но не дождался ответа об этом и решил сделать "по-старинке"...
и добавить выгрузку модели
Я выгружаю только ссылку на модель. А саму модель - необязательно - ибо при отъезде от неё на определённое расстояние - она исчезает.
Offline
Я просто тут где-то читал, что на первую метку не перескакивает гта. Потому и поставил старт.
0000 нужен только если у тебя в начале перед циклом ничего нет. А у тебя стоит опкод 03A4.
Метка :start, равно как и любая метка, которая не используется, не нужна. Метки вообще нужны только компилятору, игра про них ничего не знает.
Offline
Pages: 1