You are not logged in.
Тема: Езда по земле, горам, стенам, потолкам и др.
Мод, который позволяет ехать на любой поверхности - по отвесным стенам и даже по потолку. Включить/Выключить - буква Э, прыжок на стену - буква Ж. Как это работает? Как вы знаете из уроков физики, нет никакой разницы между ускорением и гравитацией. Т. е. если в невесомости комнате придать ускорение 9,8 м/с[sup]2[/sup], то нам будет казаться, что на нас действует гравитация.
Опкод
07D5: set_car 0@ acceleration_in_direction_XYZ 0.0 0.0 0.2 rotation_accelerationXY 9@ 8@ 0.0
придаёт машине ускорение по осям XYZ (первые три параметра) и момент силы по осям XYZ (последние параметры). и т.д.
К сожалению, этот опкод очень сильно зависит от FPS, так что нужно настроить константы ACC_VAL и ACC_VALNEG под себя (они должны быть равны по модулю), что бы машина не укатывалась вверх или вниз, а стояла на стене.
thread 'sticky' {$CLEO} const ACC_VAL=0.01107 ACC_VALNEG=-0.01107 end var $PLAYER_ACTOR: Actor $PLAYER_CHAR: Player 0@: Car 1@: Float 2@: Float 3@: Float 4@: Float 5@: Float 6@: Float end while true //0A8D: 20@ = read_memory 0xB7CD9C size 4 virtual_protect 0 //0513: show_text_box_1number 'NUMBER' number 20@ // ~1~ if $PLAYER_CHAR.Defined then if and $PLAYER_ACTOR.Driving 0AB0: key_pressed 222 // Э then 00C0: set_current_time_hours_to 12 minutes_to 0 03C0: 0@ = actor $PLAYER_ACTOR car 32@=0 08C6: set_actor $PLAYER_ACTOR stay_on_bike 1 03E5: show_text_box 'CHEAT1' //0A8C: write_memory 0x863984 size 4 value 0.00001 virtual_protect 1 while true if $PLAYER_CHAR.Defined jf @clear if 056E: car 0@ defined jf @clear if $PLAYER_ACTOR.InCar(0@) jf @clear if and 32@>200 0AB0: key_pressed 222 // Э then Break end if 0AB0: key_pressed 186 then var 7@: Float 8@: Float 9@: Float end 7@ = 0@.Angle 7@+=90.0 02F6: 8@ = cosine 7@ // (float) 02F7: 9@ = sine 7@ // (float) 8@*=0.5 9@*=0.5 07D5: set_car 0@ acceleration_in_direction_XYZ 0.0 0.0 0.2 rotation_accelerationXY 9@ 8@ 0.0//unk 0.0 //wait 500 //07D5: set_car 0@ acceleration_in_direction_XYZ 0.0 0.0 0.01 rotation_accelerationXY 0.5 0.0 unk 0.0 wait 200 Continue end if or 81F3: not car 0@ in_air 02BF: car 0@ sunk then 33@=0 end if 33@>350 then wait 0 Continue end 0@.StorePos(1@, 2@, 3@) 0407: store_coords_to 4@ 5@ 6@ from_car 0@ with_offset 0.0 0.0 ACC_VALNEG 4@-=1@ 5@-=2@ 6@-=3@ 6@+=ACC_VAL 07D5: set_car 0@ acceleration_in_direction_XYZ 4@ 5@ 6@ rotation_accelerationXY 0.0 0.0 unk 0.0 if and 6@>0.0045 8185: not car 0@ health >= 350 then 0@.Health = 350 end // 07D5: set_car 0@ velocity_in_direction_XYZ 0.0 0.0 0.01109 rotation_velocitiesXY 0.0 0.0 unk 0.0 wait 0 end :clear 0@.RemoveReferences 08C6: set_actor $PLAYER_ACTOR stay_on_bike 0 03E5: show_text_box 'CHEAT8' wait 200 //0A8C: write_memory 0x863984 size 4 value 0.008 virtual_protect 1 end end wait 0 end
[small][/small]
Offline
Круто сделал.
Offline
Можно проще. Чтобы на машину не действовала гравитация, надо отключить один флаг в ее структуре.
0A97: 0@ = car 1@ struct 0@ += 0x40 0A8D: 2@ = read_memory 0@ size 4 virtual_protect 0 08C3: clear 2@ bit 1 0A8C: write_memory 0@ size 4 value 2@ virtual_protect 0
Этот метод используется в чите "Cars Float Away when hit ".
Offline
@Alien -
Можно проще. Чтобы на машину не действовала гравитация, надо отключить один флаг в ее структуре.
Спасибо . Да, это частично решает проблему со скатыванием вниз (вверх) при низком (большом) FPS. Если ещё добавить задержку, то зависимости от FPS почти не будет, но машина будет ехать дёрганно.
Версия без задержки:
thread 'sticky' {$CLEO} const ACC_VALNEG=-0.01107 end var $PLAYER_ACTOR: Actor $PLAYER_CHAR: Player 0@: Car 1@: Float 2@: Float 3@: Float 4@: Float 5@: Float 6@: Float 13@: Integer end while true //0A8D: 20@ = read_memory 0xB7CD9C size 4 virtual_protect 0 //0513: show_text_box_1number 'NUMBER' number 20@ // ~1~ if $PLAYER_CHAR.Defined then if and $PLAYER_ACTOR.Driving 0AB0: key_pressed 222 // Э then 00C0: set_current_time_hours_to 12 minutes_to 0 03C0: 0@ = actor $PLAYER_ACTOR car 32@=0 08C6: set_actor $PLAYER_ACTOR stay_on_bike 1 gosub @CarGravityOff 03E5: show_text_box 'CHEAT1' while true if $PLAYER_CHAR.Defined jf @clear if 056E: car 0@ defined jf @clear if $PLAYER_ACTOR.InCar(0@) jf @clear if and 32@>200 0AB0: key_pressed 222 // Э then Break end if 0AB0: key_pressed 186 then var 7@: Float 8@: Float 9@: Float end 7@ = 0@.Angle 7@+=90.0 02F6: 8@ = cosine 7@ // (float) 02F7: 9@ = sine 7@ // (float) 8@*=0.5 9@*=0.5 07D5: set_car 0@ acceleration_in_direction_XYZ 0.0 0.0 0.2 rotation_accelerationXY 9@ 8@ 0.0//unk 0.0 wait 200 Continue end if or 81F3: not car 0@ in_air 02BF: car 0@ sunk then 33@=0 end if 33@>350 then wait 0 if 13@==true then gosub @CarGravityOn end Continue end if 13@==false then gosub @CarGravityOff end 0@.StorePos(1@, 2@, 3@) 0407: store_coords_to 4@ 5@ 6@ from_car 0@ with_offset 0.0 0.0 ACC_VALNEG 4@-=1@ 5@-=2@ 6@-=3@ //6@+=ACC_VAL 07D5: set_car 0@ acceleration_in_direction_XYZ 4@ 5@ 6@ rotation_accelerationXY 0.0 0.0 unk 0.0 if and 6@>0.0045 8185: not car 0@ health >= 350 then 0@.Health = 350 end wait 0 end :clear gosub @CarGravityOn 0@.RemoveReferences 08C6: set_actor $PLAYER_ACTOR stay_on_bike 0 03E5: show_text_box 'CHEAT8' wait 200 end end wait 0 // <<< НЕ МЕНЯТЬ ПАРАМЕТР!!! end :CarGravityOff 0A97: 10@ = car 0@ struct 10@ += 0x40 0A8D: 11@ = read_memory 10@ size 4 virtual_protect 0 08C3: clear 11@ bit 1 0A8C: write_memory 10@ size 4 value 11@ virtual_protect 0 13@=true return :CarGravityOn 0A97: 10@ = car 0@ struct 10@ += 0x40 0A8D: 11@ = read_memory 10@ size 4 virtual_protect 0 08BD: set 11@ bit 1 0A8C: write_memory 10@ size 4 value 11@ virtual_protect 0 13@=false return
Версия с задержкой:
thread 'sticky' {$CLEO} const ACC_VALNEG=-0.0275 end var $PLAYER_ACTOR: Actor $PLAYER_CHAR: Player 0@: Car 1@: Float 2@: Float 3@: Float 4@: Float 5@: Float 6@: Float 13@: Integer end while true //0A8D: 20@ = read_memory 0xB7CD9C size 4 virtual_protect 0 //0513: show_text_box_1number 'NUMBER' number 20@ // ~1~ if $PLAYER_CHAR.Defined then if and $PLAYER_ACTOR.Driving 0AB0: key_pressed 222 // Э then 00C0: set_current_time_hours_to 12 minutes_to 0 03C0: 0@ = actor $PLAYER_ACTOR car 32@=0 08C6: set_actor $PLAYER_ACTOR stay_on_bike 1 gosub @CarGravityOff 03E5: show_text_box 'CHEAT1' while true if $PLAYER_CHAR.Defined jf @clear if 056E: car 0@ defined jf @clear if $PLAYER_ACTOR.InCar(0@) jf @clear if and 32@>200 0AB0: key_pressed 222 // Э then Break end if 0AB0: key_pressed 186 then var 7@: Float 8@: Float 9@: Float end 7@ = 0@.Angle 7@+=90.0 02F6: 8@ = cosine 7@ // (float) 02F7: 9@ = sine 7@ // (float) 8@*=0.5 9@*=0.5 07D5: set_car 0@ acceleration_in_direction_XYZ 0.0 0.0 0.2 rotation_accelerationXY 9@ 8@ 0.0//unk 0.0 wait 200 Continue end if or 81F3: not car 0@ in_air 02BF: car 0@ sunk then 33@=0 end if 33@>350 then wait 0 if 13@==true then gosub @CarGravityOn end Continue end if 13@==false then gosub @CarGravityOff end 0@.StorePos(1@, 2@, 3@) 0407: store_coords_to 4@ 5@ 6@ from_car 0@ with_offset 0.0 0.0 ACC_VALNEG 4@-=1@ 5@-=2@ 6@-=3@ 07D5: set_car 0@ acceleration_in_direction_XYZ 4@ 5@ 6@ rotation_accelerationXY 0.0 0.0 unk 0.0 if and 6@>0.0045 8185: not car 0@ health >= 350 then 0@.Health = 350 end wait 50 // <<< НЕ МЕНЯТЬ ПАРАМЕТР!!! end :clear gosub @CarGravityOn 0@.RemoveReferences 08C6: set_actor $PLAYER_ACTOR stay_on_bike 0 03E5: show_text_box 'CHEAT8' wait 200 end end wait 0 end :CarGravityOff 0A97: 10@ = car 0@ struct 10@ += 0x40 0A8D: 11@ = read_memory 10@ size 4 virtual_protect 0 08C3: clear 11@ bit 1 0A8C: write_memory 10@ size 4 value 11@ virtual_protect 0 13@=true return :CarGravityOn 0A97: 10@ = car 0@ struct 10@ += 0x40 0A8D: 11@ = read_memory 10@ size 4 virtual_protect 0 08BD: set 11@ bit 1 0A8C: write_memory 10@ size 4 value 11@ virtual_protect 0 13@=false return
[small][/small]
Offline
VcSaJen, можно выложить его в интернете? Кто автор укажу, если это надо.
Offline
Это где?
P.S. С указанием автора мои скрипты выкладывать можно всегда.
[small][/small]
Offline
Не по теме . Прочитай внимательнее мой пост :
P.S. С указанием автора мои скрипты выкладывать можно всегда.
Не надо флудить .
[small][/small]
Offline