#1 Re: Модификации » [SA WIP] реальная матрица » 22-04-2009 20:11

Смотрю тема старая, но если аффтар ещё жив то у меня вопрос:
Когда включаеться режим матрицы часто не срабатывает и скорость игры не изменяется. Полоска есть и она уменьшается но скорость нормальная. А зеленого экрана вообще нету...

#2 Re: Вопросы по скриптингу » Один вопрос » 21-04-2009 19:33

XotaBi4b wrote:

Вариант1: Если хочешь чтобы тачка каталась без водилы, а ты пассажир, то вкл опкод 072B. в игре садишся только в пустые тачки.
Вариант 2: садишся водителем жмёшь кнопки Z+X и тачка сама ездит. Включать опкод 072B не надо.

О! спасибо большое это как раз оно самое!=)
Вот что у меня в итоге получилось в совмещении этих двух команд:

{$CLEO .cs}

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

:DRIVER_1
wait 0 
03C0: 0@ = actor $PLAYER_ACTOR car 
$MAX_SPEED = 24.5 
if 
   Player.Defined($PLAYER_CHAR)
else_jump @DRIVER_1 
if 
   Player.Controllable($PLAYER_CHAR)
else_jump @DRIVER_1 
if 
   Actor.Driving($PLAYER_ACTOR)
else_jump @DRIVER_1 
if and 
0AB0:   key_pressed 90
0AB0:     key_pressed 65 // Z + A 
else_jump @DRIVER_3 
018C: play_sound 1058 at 0.0 0.0 0.0 
0AB6: store_target_marker_coords_to 1@ 2@ 3@ // IF and SET 
02CE: 4@ = ground_z_at 1@ 2@ 3@ 
02C2: car 0@ drive_to 1@ 2@ 4@ 
00AE: set_car 0@ traffic_behaviour_to 2 
0423: set_car 0@ improved_handling_to 1.5 // (float) 
Car.SetMaxSpeed(0@, $MAX_SPEED)
wait 1000 
jump @DRIVER_END 
jump @DRIVER_END

:DRIVER_2
wait 0
03C0: 0@ = actor $PLAYER_ACTOR car 
$MAX_SPEED = 24.5 
if 
   Player.Defined($PLAYER_CHAR)
else_jump @DRIVER_2 
if 
   Player.Controllable($PLAYER_CHAR)
else_jump @DRIVER_2 
if 
   Actor.Driving($PLAYER_ACTOR)
else_jump @DRIVER_2
if and
Actor.Driving($PLAYER_ACTOR)
0AB0:  key_pressed 90 
0AB0:   key_pressed 88   // Z + X
else_jump @DRIVER_2_2
00A7: car 0@ drive_to -1 -1 -1
00A8: set_car 0@ to_psycho_driver
04BA: set_car 0@ speed_to 10.0
00AD: set_car 0@ max_speed_to $MAX_SPEED
00AE: set_car 0@ traffic_behaviour_to 2
wait 1000
jump @DRIVER_END
jump @DRIVER_END 

:DRIVER_2_2
jump @DRIVER_2

:DRIVER_3
jump @DRIVER_1 

:DRIVER_END
wait 0 
if and
Actor.Driving($PLAYER_ACTOR)
0AB0:  key_pressed 90
0AB0:   key_pressed 81   // Z + Q  
else_jump @DRIVER_4 
018C: play_sound 1058 at 0.0 0.0 0.0 
03C0: 0@ = actor $PLAYER_ACTOR car
04BA: set_car 0@ speed_to 0.0
00AD: set_car 0@ max_speed_to 0.0
05CD: AS_actor $PLAYER_ACTOR exit_car 0@
wait 1000 
jump @DRIVER_1 

:DRIVER_4
if and 
0AB0:   key_pressed 90
0AB0:     key_pressed 67 // Z + C
else_jump @DRIVER_5 
018C: play_sound 1058 at 0.0 0.0 0.0 
0AB6: store_target_marker_coords_to 1@ 2@ 3@ // IF and SET 
02CE: 4@ = ground_z_at 1@ 2@ 3@ 
02C2: car 0@ drive_to 1@ 2@ 4@ 
wait 1000 
jump @DRIVER_END

:DRIVER_5
if and 
0AB0:   key_pressed 90
0AB0:     key_pressed 87 // Z + W 
else_jump @DRIVER_6
if 
   not $MAX_SPEED > 50.0 
else_jump @DRIVER_7 
$MAX_SPEED += 10.0 
018C: play_sound 1133 at 0.0 0.0 0.0 
Car.SetMaxSpeed(0@, $MAX_SPEED)
wait 1000 

:DRIVER_7 
jump @DRIVER_END 

:DRIVER_6
if and
0AB0:   key_pressed 90
0AB0:     key_pressed 83 // Z + S 
else_jump @DRIVER_8  
if 
  $MAX_SPEED >= 10.0 
else_jump @DRIVER_9 
$MAX_SPEED -= 10.0 
018C: play_sound 1133 at 0.0 0.0 0.0 
Car.SetMaxSpeed(0@, $MAX_SPEED)
wait 1000

:DRIVER_9 
jump @DRIVER_END 

:DRIVER_8
jump @DRIVER_END

Я пытался сделать так что бы на Z + A машина ехала на маркер, а на Z + X просто каталась, Z + W - увеличить скорость, Z + S - уменьшить, Z + С - обновить кординаты когда тачка на маркер едет, если вдруг затупила, Z + Q выход из машины, в итоге всё работает кроме Z + X!=) Что я не так сделал?=)

Я так же попробовал добавить в начало:

:DRIVER_Select
wait 0
if
thread @DRIVER_1 or @DRIVER_2
then
jump @DRIVER_END
wait 250
end

Но после этого кикает из игры) Как сделать что бы при выполнении @DRIVER_1 или @DRIVER_2 был переход на @DRIVER_END?)

#3 Re: Вопросы по скриптингу » Один вопрос » 15-04-2009 22:28

Ясно с этим я разобрался спасибо всем!) Вот ещё вопрос: Какой опкод можно использовать что бы тачка сама ехала когда я сижу за рулём, но ехала не в указанные кординаты а просто каталась?) Я хочу добавить в скрипт автодраивера(указываешь маркер на карте и тача сама туда едет) такую функцию что бы тачка сама каталась) Вот как это я пытался сделать:

:BODY2
wait 0
if
Player.Defined($PLAYER_CHAR)
jf @AD_1
if
Player.Controllable($PLAYER_CHAR)
jf @AD_1
if
Actor.Driving($PLAYER_ACTOR)
jf @AD_1
IF
0AB0: key_pressed 111
Then
018C: play_sound 1058 at 0.0 0.0 0.0
072A: put_actor $PLAYER_ACTOR into_car 0@ driverseat
00AE: set_car 0@ traffic_behaviour_to 2
0423: set_car 0@ improved_handling_to 2 // (float)
00AE: unknown_set_car 0@ to_ignore_traffic_lights 2
01EC: make_car 0@ very_heavy 1
Car.SetMaxSpeed(0@, $max_speed)
Car.SetDriverBehaviour($0,1)
end
jump @BODY

Но почему-то при нажатии / ничего не происходит!=) Какой опкод можно сюды втулить что бы тача каталась по городу?) Заранее спасибо)

#4 Re: Вопросы по скриптингу » Один вопрос » 14-04-2009 16:48

Alien wrote:

еще надо вытащить Player.Defined($PLAYER_CHAR) в отдельную проверку. Там вроде как что-то с чем-то конфликтует.
То есть надо писать вот так:

...
if
Player.Defined($PLAYER_CHAR)
jf @1
if
not Actor.Driving($PLAYER_ACTOR)
jf @1

Опкод Actor.InCar($PLAYER_ACTOR, 2@) повис ни к селу ни к городу. Это же проверка.

Driver wrote:

Подскажите есть какой нить опкод что бы заморозить актера в тачке которой он сидит и ей можно было бы управлять в дальнеишем?)

0526: set_actor $PLAYER_ACTOR stay_in_car 1 - ты это искал?

Спасибо всем за ответы!=)
Я попробовал, но не помогло. Из тачки всё равно вылазиет.
Дописал скрит так:

0000:
:PRIVETREBYATA
wait 250
if
Player.Defined($PLAYER_CHAR)
jf @PRIVETREBYATA
if
not Actor.Driving($PLAYER_ACTOR)
jf @PRIVETREBYATA
0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 2@ closest_ped_to 1@
if
056E:   car 2@ defined 
0AB0:  key_pressed 35 //end
jf @PRIVETREBYATA
036A: put_actor $PLAYER_ACTOR in_car 2@
0526: set_actor $PLAYER_ACTOR stay_in_car 1
018C: play_sound 1058 at 0.0 0.0 0.0
jump @PRIVETREBYATA2

:PRIVETREBYATA2
Wait 250
if
 Actor.Driving($PLAYER_ACTOR)
else_jump @PRIVETREBYATA
0AB0:  key_pressed 35 //end
jf @PRIVETREBYATA2
0526: set_actor $PLAYER_ACTOR stay_in_car 0
0622: AS_unknown_remove_actor $PLAYER_ACTOR from_car $2
018C: play_sound 1058 at 0.0 0.0 0.0
jump @PRIVETREBYATA

Я хотел добавить что бы если на End нажать в тачке что бы вылез, но почему то кикает когда End в тачке нажимаю. В чем может быть ошибка?
Так же я нашел одно решение что бы оставаться в тачке:

072A: put_actor $PLAYER_ACTOR into_car 2@ driverseat
wait 250
072A: put_actor $PLAYER_ACTOR into_car 2@ driverseat

Если залезть в тачку и нажать на паузу, подождав несколько сек, то он остается в тачке, но хотелось бы сделать так что бы не пришлось ее нажимать=)

#5 Re: Вопросы по скриптингу » Один вопрос » 13-04-2009 23:46

Всем прет! Вообщем я делаю скрипт угона любых тачек на гф моде, вот пока что получилось(На гф моде выкидывает из тачки если например гражданский залез в гидру пишет что он не состоит в таких органах и игрок автоматически вылазиет):
:1
wait 250
if
Player.Defined($PLAYER_CHAR)
not Actor.Driving($PLAYER_ACTOR)
jf @1
0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 2@ closest_ped_to 1@
if
056E:   car 2@ defined
0AB0:  key_pressed 35 //end
jf @1
072A: put_actor $PLAYER_ACTOR into_car 2@ driverseat
Actor.InCar($PLAYER_ACTOR, 2@)
018C: play_sound 1058 at 0.0 0.0 0.0
jump @1
С закрытыми тачками проблем нету, всё прекрасно рабит, но когда залазию в служебную всё равно вылазиет) Подскажите есть какой нить опкод что бы заморозить актера в тачке которой он сидит и ей можно было бы управлять в дальнеишем?)

#6 Re: Вопросы по скриптингу » Вопросы по опкодам » 13-04-2009 23:37

У меня вопрос какой опкод для того что бы сесть в тачку пассажиром?) И какая проверка есть "сидит ли игрок на пассажирском месте"?

#7 Вопросы по скриптингу » Несколько вопросов об аимботе и автопилоте!=) » 11-04-2009 01:55

Driver
Replies: 4

1. Вот наткнулся на такое видео http://www.youtube.com/watch?v=A9kk5XeHSEc через клео возможно сделать что то похожее?) Примерно представляю так: используется стандартный игровой аим и он нацелен в скин как обычно, но когда скин начинает бегать то прицел аима смещается от скина на несколько миллиметров вперёд от той стороны куда бежит скин... Если это реалезуемо то поделитесь опытом как это сделать)) Хоть и аимбот получится не мегакрутой но по краиней мере будет чуть лучше стандартного аима для стрельбы по пингу!)


2 вопрос: вообщем нашел я скрипт автопилот(что бы тачка сама ехала на указанный маркер на карте), решил подредактировать!) И возникло несколько вопросов:
Вот такое начало:
:AD_1
wait 0
03C0: 0@ = actor $PLAYER_ACTOR car
$max_speed = 24.5
if
Player.Defined($PLAYER_CHAR)
jf @AD_1
if
Player.Controllable($PLAYER_CHAR)
jf @AD_1
if
Actor.Driving($PLAYER_ACTOR)
jf @AD_1
IF
0AB0: key_pressed 145
then
018C: play_sound 1058 at 0.0 0.0 0.0
0AB6: store_target_marker_coords_to 1@ 2@ 3@ // IF and SET
02CE: 4@ = ground_z_at 1@ 2@ 3@
02C2: car 0@ drive_to 1@ 2@ 4@
00AE: set_car 0@ traffic_behaviour_to 2
0423: set_car 0@ improved_handling_to 1.5 // (float)
Car.SetMaxSpeed(0@, $max_speed)
wait 1000
jump @BODY
else
jump @AD_1
end

в строке 0423: set_car 0@ improved_handling_to 1.5 // (float) я поставил 1.5 т.к если поставить 2 то тачка переворачивается на резких поворотах на большой скорости)
Можно ли как нить сделать что бы сохраняя скорость она все же стояла на колесах ровно?) (кроме автоматической перевёртки её на колеса после того как вверх ногами окажется))

И вот ещё продолжение:

:BODY
wait 0
if or
not Actor.Driving($PLAYER_ACTOR)
0AB0: key_pressed 145
then
018C: play_sound 1058 at 0.0 0.0 0.0
072A: put_actor $PLAYER_ACTOR into_car 0@ driverseat
wait 1000
jump @AD_1
end

Тут я вообще затупил конкретно в итоге пришлось поставить строку 072A: put_actor $PLAYER_ACTOR into_car 0@ driverseat обратно(она была в оригинале)
А добиться я пытался того что бы если тачка едет к маркеру и нажать ещё раз Scroll Lock то перестанет и можно рулить самому(тобишь отключить автопилот)! А вот как это сделать так и не понял))
и на последок:
Если сесть в тачку на пассажирское место(как предусмотрено в SAMP) и нажать Scroll Lock то я телепортируюсь за руль и тача начинает ехать на маркер. Искал в стандартном справочнике Sanny Builder проверки "сидит ли игрок пассажиром или он за рулём" так и не нашел. Если знаете такую - подскажите плз!) Что бы автопилот не включался когда сидишь на пассажирском месте!=)
Вообщем всё) Надеюсь наиду ответы на эти вопросы тут!=) Заранее спасибо!=)

Board footer

Powered by FluxBB