Пришло время выложить интересную наработку. Скрипт позволяет делать всякие шалости с транспортом по id. Добавлено 9 команд: /vsitd, /vsitp, /vfire, /vtire, /vgrnd, /vfuck, /vroof, /vgcol, /vscol. О каждой поподробнее будет ниже (все тесты проводились на Advance RP и частично Samp-rp; на большинстве остальных серверов чит будет работать без ограничений). В архиве скомпилированный скрипт и исходный код.
ID смотреть через команду /dl (советую использовать wallhackpro)
- /vsitd [id машины] - Сесть на водительское место. Не работает, если машина /lockнута, во все остальные (автобусы, такси и т.д) даже с водителем садится на ура.
- /vsitp [id машины] - Сесть на пассажирское место. Не работает, если в машине нет водителя. Садится в /lockнутые спокойно :)
- /vfire [id машины] - Поджечь машину. Если машина /lockнута, но в ней никого нет то работает на ура! Но если кто-то сидит - кик. Не /lockнутые все поджигает на ура :) Автобусы и такси на ARP взрывает 100%, даже с водителем.
- /vtire [id машины] - Проколоть колёса (работает нестабильно). Здесь всё как у /vfire.
- /vgrnd [id машины] - Воткнуть машину в землю (работает нестабильно). И здесь тоже всё как у /vfire.
- /vfuck [id машины] [id машины жертвы] - Воткнуть машину в машину (работает нестабильно). Советую втыкать по 10-15 пустых машин в одну точку, у других людей там будет лаг.
- /vroof [id машины] [смещение по z] - Вот это вкусняшка ;) Позволяет ездить на крыше любой машины. Если ввести смешение 0.1, то игрок вас задавит (его кик). Можно ехать и бить машину ногами (главное правильно подобрать смещение).
- /vgcol [id машины] - Покажет id цветов машины.
- /vscol [id машины] [id цвета 1] [id цвета 2] - Позволяет сменить цвет машины (работает нестабильно). Открытые перекрашивает легко, общественный транспорт тоже (и на advance и на samp-rp), с закрытыми посложнее.
- 0.1.0 - Публичный релиз.
- 0.1.1 - Исправлен вылет в loading при использовании команд.
- 0.1.2 - Теперь при использовании команды /vroof можно ехать и бить машину ногами (главное правильно подобрать смещение).
- 0.1.3 - Стабилизирована работа команды /vfire. (Большое спасибо mgmoldova за помощь)
- 0.2.0 - Стабилизирована работа команды /vpier (переименована в /vtire). Добавлена команда /vfuck.
- 0.2.1 - Команда /vcols переименована в /vgcol. Добавлена команда /vscol. Добавлено краткое описание всех команд.
- 0.2.2 - Убран вылет при вводе неправильного id. Немного подправил код.
PHP:
{$CLEO .cs}
0662: NOP "CLEO : Vehicle Hack"
0662: NOP "Blasthack.net : gcode : 2013"
thread "vhack"
const
BS_TYPE_INT = 3
RPC_VEHICLEDESTROYED = 0x97
PRIORITY_HIGH = 1
RELIABLE_SEQUENCED = 4
end
if
8AF7: get_samp_base_to 33@
then
0A93: end_custom_thread
end
repeat
wait 400
until 0AFA: is_samp_structures_available
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Доступны команды {c3d73e}/vsitd /vsitp /vfire /vtire /vgrnd /vfuck /vroof /vgcol /vscol{EAEAEA}." 0xc3d73e
0B34: samp register_client_command "vsitd" to_label @vsitd
0B34: samp register_client_command "vsitp" to_label @vsitp
0B34: samp register_client_command "vfire" to_label @vfire
0B34: samp register_client_command "vtire" to_label @vtire
0B34: samp register_client_command "vgrnd" to_label @vgrnd
0B34: samp register_client_command "vfuck" to_label @vfuck
0B34: samp register_client_command "vroof" to_label @vroof
0B34: samp register_client_command "vgcol" to_label @vgcol
0B34: samp register_client_command "vscol" to_label @vscol
while true
wait 0
end
:vsitd
if
not Actor.Driving($PLAYER_ACTOR)
then
0B35: samp 30@ = get_last_command_params
if
0AD4: 30@ = scan_string 30@ format "%d" 29@
then
if
0AFF: samp 30@ = car_handle_from_samp_carid 29@
then
0B30: samp send_enter_vehicle 29@ as_passenger false
wait 200
072A: task_warp_char_into_car_as_driver $PLAYER_ACTOR car 30@
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Машина находится вне зоны прорисовки." 0xc3d73e
end
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Данная команда позволяет сесть на водительское место." 0xc3d73e
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Правильный ввод {c3d73e}/vsitd [id машины]{EAEAEA}." 0xc3d73e
end
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Вы не должны находиться в транспорте." 0xc3d73e
end
0B43: samp cmd_ret
:vsitp
if
not Actor.Driving($PLAYER_ACTOR)
then
0B35: samp 30@ = get_last_command_params
if
0AD4: 30@ = scan_string 30@ format "%d" 29@
then
if
0AFF: samp 30@ = car_handle_from_samp_carid 29@
then
0B30: samp send_enter_vehicle 29@ as_passenger true
wait 200
072B: task_warp_char_into_car_as_passenger $PLAYER_ACTOR car 30@ seat -1
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Машина находится вне зоны прорисовки." 0xc3d73e
end
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Данная команда позволяет сесть на пассажирское место." 0xc3d73e
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Правильный ввод - {c3d73e}/vsitp [id машины]{EAEAEA}." 0xc3d73e
end
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Вы не должны находиться в транспорте." 0xc3d73e
end
0B43: samp cmd_ret
:vfire
if
not Actor.Driving($PLAYER_ACTOR)
then
0B35: samp 30@ = get_last_command_params
if
0AD4: 30@ = scan_string 30@ format "%d" 29@
then
if
0AFF: samp 30@ = car_handle_from_samp_carid 29@
then
00A0: get_char_coordinates $PLAYER_ACTOR store_to 28@ 27@ 26@
0B30: samp send_enter_vehicle 29@ as_passenger false
wait 200
072A: task_warp_char_into_car_as_driver $PLAYER_ACTOR car 30@
Car.Health(30@) = 200
wait 200
0B31: samp send_exit_vehicle 29@
wait 200
0362: warp_char_from_car_to_coord $PLAYER_ACTOR coord 28@ 27@ 26@
0B3D: raknet 25@ = new_bit_stream
0B40: raknet bit_stream 25@ write 29@ type BS_TYPE_INT size 4
0B41: raknet send_rpc RPC_VEHICLEDESTROYED bit_stream 25@ priority PRIORITY_HIGH reliability RELIABLE_SEQUENCED ordering_channel 0 shift_timestamp false
0B3E: raknet delete_bit_stream 25@
wait 200
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Машина находится вне зоны прорисовки." 0xc3d73e
end
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Данная команда позволяет поджечь машину." 0xc3d73e
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Правильный ввод - {c3d73e}/vfire [id машины]{EAEAEA}." 0xc3d73e
end
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Вы не должны находиться в транспорте." 0xc3d73e
end
0B43: samp cmd_ret
:vtire
if
not Actor.Driving($PLAYER_ACTOR)
then
0B35: samp 30@ = get_last_command_params
if
0AD4: 30@ = scan_string 30@ format "%d" 29@
then
if
0AFF: samp 30@ = car_handle_from_samp_carid 29@
then
00A0: get_char_coordinates $PLAYER_ACTOR store_to 28@ 27@ 26@
0B30: samp send_enter_vehicle 29@ as_passenger false
wait 200
072A: task_warp_char_into_car_as_driver $PLAYER_ACTOR car 30@
0B33: samp send_damage_vehicle 29@ panel 0 doors 0 lights 0 tires 15
wait 200
04FE: deflate_tire 3 on_car 30@
04FE: deflate_tire 2 on_car 30@
04FE: deflate_tire 1 on_car 30@
04FE: deflate_tire 0 on_car 30@
wait 200
0B31: samp send_exit_vehicle 29@
wait 200
0362: warp_char_from_car_to_coord $PLAYER_ACTOR coord 28@ 27@ 26@
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Машина находится вне зоны прорисовки." 0xc3d73e
end
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Данная команда позволяет проколоть машине колёса." 0xc3d73e
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Правильный ввод {c3d73e}/vtire [id машины]{EAEAEA}." 0xc3d73e
end
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Вы должны находиться вне транспорта." 0xc3d73e
end
0B43: samp cmd_ret
:vgrnd
if
not Actor.Driving($PLAYER_ACTOR)
then
0B35: samp 30@ = get_last_command_params
if
0AD4: 30@ = scan_string 30@ format "%d" 29@
then
if
0AFF: samp 30@ = car_handle_from_samp_carid 29@
then
00A0: get_char_coordinates $PLAYER_ACTOR store_to 28@ 27@ 26@
0B30: samp send_enter_vehicle 29@ as_passenger false
wait 200
072A: task_warp_char_into_car_as_driver $PLAYER_ACTOR car 30@
wait 10
00AA: get_car_coordinates 30@ store_to 25@ 24@ 23@
25@ += 2.5
00AB: set_car_coordinates 30@ to 25@ 24@ 23@
Car.Angle(30@) = 275.0
0731: set_car 30@ y_angle_to 85.0
Car.LockInCurrentPosition(30@) = True
wait 400
0B31: samp send_exit_vehicle 29@
wait 200
0362: warp_char_from_car_to_coord $PLAYER_ACTOR coord 28@ 27@ 26@
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Машина находится вне зоны прорисовки." 0xc3d73e
end
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Данная команда позволяет воткнуть автомобиль в землю." 0xc3d73e
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Правильный ввод {c3d73e}/vgrnd [id машины]{EAEAEA}." 0xc3d73e
end
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Вы должны находиться вне транспорта." 0xc3d73e
end
0B43: samp cmd_ret
:vfuck
if
not Actor.Driving($PLAYER_ACTOR)
then
0B35: samp 30@ = get_last_command_params
29@ = 0
0AD4: 30@ = scan_string 30@ format "%d %d" 29@ 22@
if
22@ > 0
then
if and
0AFF: samp 30@ = car_handle_from_samp_carid 29@
0AFF: samp 21@ = car_handle_from_samp_carid 22@
then
00A0: get_char_coordinates $PLAYER_ACTOR store_to 28@ 27@ 26@
0B30: samp send_enter_vehicle 29@ as_passenger false
wait 200
072A: task_warp_char_into_car_as_driver $PLAYER_ACTOR car 30@
wait 10
00AA: get_car_coordinates 21@ store_to 25@ 24@ 23@
00AB: set_car_coordinates 30@ to 25@ 24@ 23@
Car.Angle(30@) = 275.0
0731: set_car 30@ y_angle_to 85.0
Car.LockInCurrentPosition(30@) = True
wait 400
0B31: samp send_exit_vehicle 29@
wait 200
0362: warp_char_from_car_to_coord $PLAYER_ACTOR coord 28@ 27@ 26@
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Одна или обе машины находятся вне зоны прорисовки." 0xc3d73e
end
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Данная команда позволяет воткнуть машину в машину." 0xc3d73e
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Правильный ввод {c3d73e}/vfuck [id машины] [id машины жертвы]{EAEAEA}." 0xc3d73e
end
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Вы должны находиться вне транспорта." 0xc3d73e
end
0B43: samp cmd_ret
:vroof
if
not Actor.Driving($PLAYER_ACTOR)
then
0B35: samp 30@ = get_last_command_params
29@ = 0.0
0AD4: 30@ = scan_string 30@ format "%d %f" 28@ 29@
if
29@ > 0.0
then
if
0AFF: samp 30@ = car_handle_from_samp_carid 29@
then
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Запрыгивайте на крышу автомобиля. Нажмите {c3d73e}Q{EAEAEA}, чтобы остановить скрипт." 0xc3d73e
repeat
wait 0
0AB1: call_scm_func @stopvroof 1 30@
until 0547: is_char_touching_vehicle $PLAYER_ACTOR vehicle 30@
while true
wait 0
00AA: get_car_coordinates 30@ store_to 27@ 26@ 25@
005B: 25@ += 29@
0AB1: call @teleportvroof 3 27@ 26@ 25@
24@ = Car.Angle(30@)
0173: set_char_heading $PLAYER_ACTOR to 24@
0AB1: call_scm_func @stopvroof 1 30@
end
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Машина находится вне зоны прорисовки." 0xc3d73e
end
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Данная команда позволяет ехать на крыше автомобиля." 0xc3d73e
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Правильный ввод {c3d73e}/vroof [id машины] [смещение по z]{EAEAEA}." 0xc3d73e
end
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Вы должны находиться вне транспорта." 0xc3d73e
end
0B43: samp cmd_ret
:vgcol
0B35: samp 30@ = get_last_command_params
if
0AD4: 30@ = scan_string 30@ format "%d" 29@
then
if
0AFF: samp 30@ = car_handle_from_samp_carid 29@
then
03F3: get_car_colours 30@ store_to 28@ 27@
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Машина находится вне зоны прорисовки." 0xc3d73e
end
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Цвет1: {c3d73e}%d{EAEAEA}. Цвет2: {c3d73e}%d{EAEAEA}." 0xc3d73e 28@ 27@
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Данная команда позволяет узнать id цветов машины." 0xc3d73e
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Правильный ввод {c3d73e}/vgcol [id машины]{EAEAEA}." 0xc3d73e
end
0B43: samp cmd_ret
:vscol
if
not Actor.Driving($PLAYER_ACTOR)
then
0B35: samp 30@ = get_last_command_params
27@ = -1
0AD4: 30@ = scan_string 30@ format "%d %d %d" 29@ 28@ 27@
if
27@ >= 0
then
if
0AFF: samp 30@ = car_handle_from_samp_carid 29@
then
00A0: get_char_coordinates $PLAYER_ACTOR store_to 26@ 25@ 24@
0B30: samp send_enter_vehicle 29@ as_passenger false
wait 200
072A: task_warp_char_into_car_as_driver $PLAYER_ACTOR car 30@
0AFC: samp send_scm_event 29@ event_id 3 params 28@ 27@
wait 200
0229: change_car_colour 30@ primary_to 28@ secondary_to 27@
0B31: samp send_exit_vehicle 29@
wait 200
0362: warp_char_from_car_to_coord $PLAYER_ACTOR coord 26@ 25@ 24@
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Машина находится вне зоны прорисовки." 0xc3d73e
end
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Данная команда позволяет сменить цвет машины." 0xc3d73e
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Правильный ввод {c3d73e}/vscol [id машины] [id цвета 1] [id цвета 2]{EAEAEA}." 0xc3d73e
end
else
0AF8: samp add_message_to_chat "[vHack]: {EAEAEA}Вы должны находиться вне транспорта." 0xc3d73e
end
0B43: samp cmd_ret
:stopvroof
wait 0
if and
0AB0: key_pressed 81
not SAMP.ChatInputOpened
then
0ACD: show_text_highpriority "~W~vRoof ~R~OFF" time 1500
0B43: samp cmd_ret
end
if
Actor.Dead($PLAYER_ACTOR)
then
0ACD: show_text_highpriority "~W~vRoof ~R~OFF" time 1500
0B43: samp cmd_ret
end
0AB2: ret 0
:teleportvroof
0A96: 3@ = actor $PLAYER_ACTOR struct
3@ += 20
0A8D: 3@ = read_memory 3@ size 4 virtual_protect 0
3@ += 48
0A8C: write_memory 3@ size 4 value 0@ virtual_protect 0
3@ += 4
0A8C: write_memory 3@ size 4 value 1@ virtual_protect 0
3@ += 4
0A8C: write_memory 3@ size 4 value 2@ virtual_protect 0
0AB2: ret 0
Проверь(те):
- SAMP R1 (не R1-2). Скачать можно отсюда: http://blasthack.net/data/samp/sa-mp-0.3x-R1-install.exe
- CLEO 4.1. Скачать можно отсюда:http://cleo.sannybuilder.com/cleo4/CLEO4_setup.exe
- SAMPFUNCS 2.4 или новее. Скачать можно отсюда:http://blasthack.net/threads/cleo-plugin-sampfuncs.17/