#1 Re: Модификации » Универсальные поворотники [CLEO4/SA/REL] » 31-12-2011 11:05

Хммм... Я один заметил, что в некоторых ситуациях на стоящей на месте машине без водителя (например, спавненной автосалоном) включается правый поворотник?

#2 Re: Модификации » Новая камера для авто » 27-12-2011 11:32

Извиняюсь за даблпост, между постами прошло восемь месяцев crazy
-----
Повыбрасывал вэйты откуда можно, добвил пару фич - всё в первом посте.

#3 Re: Модификации » Универсальные поворотники [CLEO4/SA/REL] » 18-12-2011 16:51

Есть возможность включать поворотники машинам педов, перестраивающихся на шоссе?
И как насчёт дополнительных оффсетов для мотоциклов? Например, задние поворотники в 99% случаев сливаются посередине.

#4 Re: Модификации » Новая камера для авто » 22-04-2011 18:37

Лучше конечно, один поток, чем два. Необходимо снизить число wait-ов к минимуму (желательно до 1). После каждой метки wait-ы ставить не надо

Спасибо, потом может верну в один поток.

Обновил первый пост. Плавности камере не хватает, задний вид срабатывает с задержкой, но и так хорошо. Позже могу добавить ещё разных функций.

#5 Re: Модификации » Новая камера для авто » 20-04-2011 14:28

А не мог бы файл прикрепить , у меня инет только на теле , не переписывать же мне все по одному символу

Всё доставим

#6 Re: Модификации » Новая камера для авто » 19-04-2011 17:27

После стольких месяцев забития на моддинг меня втянуло обратно crazy

Решение с плавностью нашёл - разбил код на два потока, первый - включает камеру, считывает нажатия и т.п., после чего через глобальные клео-переменные передаёт их во второй, который просчитывает доп. смещения и ставит камеру. Сейчас довожу до ума их работу, не сегодня - завтра выложу код.

#8 Re: Модификации » Мультиплеер » 08-11-2010 18:36

Насколько я знаю, можно с серва делать ботов, но ИИ от них дпже не тянет - все комманды заранее, так что о педах в САМП можно только мечтать...

#9 Re: Работа с памятью, EXE » [WIP] Автосохранение » 11-10-2010 19:31

Кажется понял. Но уточню: если я захочу сдетектировать провал миссии, то этот лэйбл нужен или проверки кол-ва начатых и выполненных миссий в статистике будет достаточно?

#11 Re: Работа с памятью, EXE » [WIP] Автосохранение » 11-10-2010 15:51

Вопрос: какая часть вышеописанного кода ответственна за сам сейв, а какая - за детектирование фейла миссии? Если я правильно понял, то "0AA5: call 0x619060 num_params 1 pop 0 6" - это сэйв, а каую роль играет :lbl?

#12 Re: Работа с памятью, EXE » [WIP] Автосохранение » 10-10-2010 08:01

По поводу провала предлагаю сделать как в Driver - Parallel Lines: после провала внизу экрана появляется надпись "Press Backspace to restart" и девятисекундный обратный отсчёт. Правда, там по нажатии бэкспейса миссия начиналась сразу же и с последнего чекпоинта, но это не столь важно...

#13 Re: Модификации » Midnight Club LA checkpoints + manual gang wars » 24-09-2010 15:10

А точнее "Это видео содержит материалы от партнера Sony Music Entertainment, который заблокировал это содержание для показа в вашей стране в целях соблюдения авторских прав. "

#14 Re: Модификации » Новая камера для авто » 22-09-2010 17:55

Спасибо. То-то я его не мог найти ни на car, ни на vehicle=).
После пар сделаю автокалибровку по размеру машины.

Обновил первый пост. Ещё раз прошу помощи с тем, как заставить камеру плавно менять оффсет относительно машины.

#15 Re: Модификации » Система укрытий/Covers system v1 » 22-09-2010 10:13

Служу Родному Скриптингу grin
Слегка обновил код. Теперь всегда прислоняется к стене, если она есть, и не прислоняется, если нет.

Позже обновлю анимации, чтоб из укрытия выходил быстрее и дальше.

#16 Re: Модификации » Доступ к карте в реальном времени » 22-09-2010 10:07

Да,  и нельзя ли всё-таки убарть незатекстуренный прямоугольник вместо курсора?:blush: Конечно, мелочь, но всё-таки смотрится неэстетично...

#17 Re: Модификации » Полиция в штатском. » 21-09-2010 20:01

Не вопрос (ну ясное дело=) ), зааттачил в первом посте.

#18 Re: Модификации » Доступ к карте в реальном времени » 21-09-2010 19:58

Заметил баг. При попытке загрузить другой сейв, не выйдя из машины, игра продолжается с отключенным звуком. Если ГГ не находится в машине, то всё нормально грузится, звук появляется снова.

#19 Модификации » Полиция в штатском. » 21-09-2010 19:31

BullDogHEMI427
Replies: 2

Если имеем от 3 до 5 звёзд, то в игру время от времени будет вступать полицейская машина, замаскированная под обычную (ЗАМАСКИРОВАННАЯ!!, а не просто чёрная без обозначений, как делали раньше), вместе с полицейскими в штатском. Скины у полицейских могут быть разные, машины - Примо, Премьер, обе такси. Водитель вооружён дрободаном, напарник - обычным пистолетом.

// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
thread "UNDERCOVER"
2@ = 0

:UNDERCOVER_4
wait 0
if
  Player.Defined($PLAYER_CHAR)
jf @UNDERCOVER_4
if and
   Player.WantedLevel($PLAYER_CHAR) > 2
   not Player.WantedLevel($PLAYER_CHAR) > 5
//   8@ == 0
jf @UNDERCOVER_4
0209: 0@ = random_int_in_ranges 2000 5000 
wait 0@
0209: 0@ = random_int_in_ranges 0 3
14@ = 90.0
15@ = 0.0
16@ = -20
17@ = 15.0
0871: init_jump_table 0@ total_jumps 4 default_jump 0 @UNDERCOVER_9 jumps 0 @UNDERCOVER_12 1 @UNDERCOVER_14 2 @UNDERCOVER_17 3 @UNDERCOVER_20 -1 @UNDERCOVER_9 -1 @UNDERCOVER_9 -1 @UNDERCOVER_9 
 
:UNDERCOVER_9
wait 0
if and
   Player.WantedLevel($PLAYER_CHAR) > 2
   not Player.WantedLevel($PLAYER_CHAR) > 5
jf @UNDERCOVER_4
if
   Actor.Driving($PLAYER_ACTOR)
then
04C4: store_coords_to 11@ 12@ 13@ from_actor $PLAYER_ACTOR with_offset 15@ 14@ 0.0 
03D3: get_route_nearest_for 11@ 12@ 13@ store_to 11@ 12@ 13@ Z_angle_to 4@
068D: get_camera_position_to 17@ 18@ 19@ 
Model.Load(#WHEEL_OR1)
while not Model.Available(#WHEEL_OR1)
wait 0
end
13@ += 0.6
0@ = Object.Create(#WHEEL_OR1, 11@,  12@, 13@)
0750: set_object 0@ visibility 0 
wait 10
if or
86BD:   not no_obstacles_between 11@ 12@ 13@ and 17@ 18@ 19@ solid 1 car 1 actor 0 object 1 particle 0 
82CC:   not object 0@ bounding_sphere_visible 
 then
 Object.Destroy(0@)
 Model.Destroy(#WHEEL_OR1)
 else
 Object.Destroy(0@)
 Model.Destroy(#WHEEL_OR1)
 if
 16@ = -20
  then
  15@ = -30.0
  14@ = 75.0
  16@ = 0
  jump @UNDERCOVER_9
 end
 if
 16@ == 0
  then
  15@ = 0.0
  14@ = 90.0
  16@ = 20
  jump @UNDERCOVER_9
 end
 if
 16@ == 20
  then
  15@ = 30.0
  14@ = 75.0
  16@ = 1
  jump @UNDERCOVER_9
 end
 if
 16@ == 1
  then
  15@ = 0.0
  14@ = 90.0
  16@ = -20
  jump @UNDERCOVER_9
 end
 jump @UNDERCOVER_9
end
else
04C4: store_coords_to 11@ 12@ 13@ from_actor $PLAYER_ACTOR with_offset 0.0 14@ 0.0 
03D3: get_route_nearest_for 11@ 12@ 13@ store_to 11@ 12@ 13@ Z_angle_to 4@
Model.Load(#WHEEL_OR1)
while not Model.Available(#WHEEL_OR1)
wait 0
end
13@ += 0.6
0@ = Object.Create(#WHEEL_OR1, 11@,  12@, 13@)
0750: set_object 0@ visibility 0 
wait 10
 if
 82CC:   not object 0@ bounding_sphere_visible 
 then
 Object.Destroy(0@)
 Model.Destroy(#WHEEL_OR1)
 else
 Object.Destroy(0@)
 Model.Destroy(#WHEEL_OR1)
 14@ *= -1.0
 17@ *= -1.0
 jump @UNDERCOVER_9
end
end
0209: 0@ = random_int_in_ranges 0 6
0871: init_jump_table 0@ total_jumps 7 default_jump 0 @UNDERCOVER_11 jumps 0 @UNDERCOVER_26 1 @UNDERCOVER_27 2 @UNDERCOVER_28 3 @UNDERCOVER_29 4 @UNDERCOVER_30 5 @UNDERCOVER_31 6 @UNDERCOVER_32 

:UNDERCOVER_11
wait 0
0085: 1@ = 0@
2@ = 1
0209: 0@ = random_int_in_ranges 0 6
0871: init_jump_table 0@ total_jumps 7 default_jump 0 @UNDERCOVER_35 jumps 0 @UNDERCOVER_26 1 @UNDERCOVER_27 2 @UNDERCOVER_28 3 @UNDERCOVER_29 4 @UNDERCOVER_30 5 @UNDERCOVER_31 6 @UNDERCOVER_32 

:UNDERCOVER_12
wait 0
9@ = #PREMIER
jump @UNDERCOVER_9

:UNDERCOVER_14
wait 0
9@ = #PRIMO
jump @UNDERCOVER_9

:UNDERCOVER_17
wait 0
9@ = #TAXI
jump @UNDERCOVER_9

:UNDERCOVER_20
wait 0
9@ = #CABBIE
jump @UNDERCOVER_9

:UNDERCOVER_26
wait 0
0@ = #SBMYRI
if
2@ == 0
then
jump @UNDERCOVER_11
else
jump @UNDERCOVER_35
end

:UNDERCOVER_27
wait 0
0@ = #OMYRI
if
2@ == 0
then
jump @UNDERCOVER_11
else
jump @UNDERCOVER_35
end

:UNDERCOVER_28
wait 0
0@ = #OMYST
if
2@ == 0
then
jump @UNDERCOVER_11
else
jump @UNDERCOVER_35
end

:UNDERCOVER_29
wait 0
0@ = #SOMYST
if
2@ == 0
then
jump @UNDERCOVER_11
else
jump @UNDERCOVER_35
end

:UNDERCOVER_30
wait 0
0@ = #SWMYCR
if
2@ == 0
then
jump @UNDERCOVER_11
else
jump @UNDERCOVER_35
end

:UNDERCOVER_31
wait 0
0@ = #SWMYST
if
2@ == 0
then
jump @UNDERCOVER_11
else
jump @UNDERCOVER_35
end

:UNDERCOVER_32
wait 0
0@ = #HMYRI
if
2@ == 0
then
jump @UNDERCOVER_11
else
jump @UNDERCOVER_35
end

:UNDERCOVER_35
wait 0
2@ = 0
Model.Load(9@)
   while not Model.Available(9@)
wait 0
end
Model.Load(0@)
while not Model.Available(0@)   
wait 0
end   
Model.Load(1@)
while not Model.Available(1@)
wait 0
end   
Model.Load(#CHROMEGUN)
while not Model.Available(#CHROMEGUN)
wait 0
end   
5@ = Car.Create(9@, 11@, 12@, 13@)
Car.Angle(5@) = 4@
0129: 6@ = create_actor_pedtype 6 model 0@ in_car 5@ driverseat 
01B2: give_actor 6@ weapon 25 ammo 9999 // Load the weapon model before using this 
01C8: 7@ = create_actor_pedtype 6 model 1@ in_car 5@ passenger_seat 0
Model.Destroy(0@)
Model.Destroy(1@)
Model.Destroy(9@)
Model.Destroy(#CHROMEGUN)
Car.SetDriverBehaviour(5@, 5)
Car.SetSpeedInstantly(5@, 33.0)
Car.SetMaxSpeed(5@, 150.0)

:UNDERCOVER_43
wait 0
if or
   not Player.Defined($PLAYER_CHAR)
   not Player.WantedLevel($PLAYER_CHAR) > 0
jf @UNDERCOVER_45
Car.SetToNormalDriver(5@)
Car.RemoveReferences(5@)
Actor.RemoveReferences(6@)
Actor.RemoveReferences(7@)
wait 3000
jump @UNDERCOVER_4

:UNDERCOVER_45
wait 0
if
   Car.Defined(5@)
jf @UNDERCOVER_49
if
0202:   actor $PLAYER_ACTOR near_car 5@ radius 5.0 5.0 flag 0 
jf @UNDERCOVER_49
if
  Actor.Driving($PLAYER_ACTOR)
  then
  03C0: 0@ = actor $PLAYER_ACTOR car
  02E3: 10@ = car 0@ speed 
  if
   10@ <= 5.0
  jf @UNDERCOVER_47
end 
if
Actor.Defined(6@)
then
0633: AS_actor 6@ exit_car 
05E2: actor 6@ kill_actor $PLAYER_ACTOR
Actor.RemoveReferences(6@)
01B9: set_actor 6@ armed_weapon_to 25 
end
if
Actor.Defined(7@)
then
0633: AS_actor 7@ exit_car 
05E2: actor 7@ kill_actor $PLAYER_ACTOR
Actor.RemoveReferences(7@)
end
Car.RemoveReferences(5@)
wait 3000
jump @UNDERCOVER_4

:UNDERCOVER_47
wait 0
if and
   Actor.Defined(6@)
   Actor.Defined(7@)
then
if and
80F2:   not actor 6@ near_actor $PLAYER_ACTOR radius 25.0 25.0 0 
80F2:   not actor 7@ near_actor $PLAYER_ACTOR radius 25.0 25.0 0 
   Actor.Driving($PLAYER_ACTOR)
then
if and
   not Car.Wrecked(5@)
   0202:   actor 6@ near_car 5@ radius 35.0 35.0 flag 0 
   0202:   actor 7@ near_car 5@ radius 35.0 35.0 flag 0 
   then
   else
   wait 3000
   jump @UNDERCOVER_4
   end
05CB: AS_actor 6@ enter_car 5@ as_driver -1 ms 
05CA: AS_actor 7@ enter_car 5@ passenger_seat 0 -1 ms 
Car.SetDriverBehaviour(5@, 0)
while not Actor.InCar(7@, 5@) 
  while not Actor.InCar(6@, 5@)
  wait 0
  end
wait 0
end
Car.SetDriverBehaviour(5@, 6)
Car.SetMaxSpeed(5@, 150.0)
end
else
if
   Actor.Defined(6@)
then
Actor.RemoveReferences(6@)
end
if
   Actor.Defined(7@)
then
Actor.RemoveReferences(7@)
end
if
   Car.Defined(5@)
   then
   Car.RemoveReferences(5@)
   end
end

:UNDERCOVER_49
wait 0
if
   Actor.Defined(7@)
then
if or
   Actor.Dead(7@)
80F2:   not actor 7@ near_actor $PLAYER_ACTOR radius 150.0 150.0 0 
then
Actor.RemoveReferences(7@)
end
if or
   Actor.Dead(6@)
80F2:   actor 6@ near_actor $PLAYER_ACTOR radius 150.0 150.0 0 
then
Actor.RemoveReferences(6@)
Actor.RemoveReferences(7@)
Car.RemoveReferences(5@)
jump @UNDERCOVER_4
end
end
if
 not Car.Defined(5@)
then
Actor.RemoveReferences(6@)
Actor.RemoveReferences(7@)
Car.RemoveReferences(5@)
Actor.DestroyInstantly(6@)
Actor.DestroyInstantly(7@)
jump @UNDERCOVER_4
if
   Actor.InCar($PLAYER_ACTOR, 5@)
   then
   Car.RemoveReferences(5@)
   if
   Actor.Defined(6@)
then
Actor.RemoveReferences(6@)
end
if
   Actor.Defined(7@)
   then
   Actor.RemoveReferences(7@)
   end
end
end
if
8202:   not actor $PLAYER_ACTOR near_car 5@ radius 150.0 150.0 flag 0 
then
Actor.RemoveReferences(6@)
Actor.RemoveReferences(7@)
Car.RemoveReferences(5@)
Car.Destroy(5@)
Actor.DestroyInstantly(6@)
Actor.DestroyInstantly(7@)
jump @UNDERCOVER_4
end
jump @UNDERCOVER_43

Скрины:
284487-83edf-36238067-h200.jpg284487-520d7-36238068-h200.jpg
284487-b39dc-36238071-h200.jpg284487-a9fe9-36238073-h200.jpg

Тестим, оцениваем, комментируем smile

#20 Re: Модификации » [REL] Перезарядка » 13-09-2010 20:38

Раз уж так, нельзя ли исправить это? Запоминать патроны в магазине, чтобы этот читерский метод не работал...

#21 Re: Программы для GTA » GTASA Crash-Killer by MadniX » 11-09-2010 09:51

XotaBi4b wrote:

Работу программы могут блокировать антивирусник и/или фаервол.

Это первое, о чём я подумал.
В авасте! в исключениях он был, а про файрволл я забыл... Спасибо, что напомнили:blush:
--------------------
Ага, прекрасно, снова накрылся. Все исключения проставлены.

#22 Модификации » Ремонт авиатранспорта в аэропортах. » 10-09-2010 09:36

BullDogHEMI427
Replies: 0

Теперь, если есть лётная лицензия, то можно отремонировать самолёт в любом из аэропортов. Стоимость ремонта зависит от степени повреждений и от того, не управляете ли вы часом Боингом/Андромедой;-).
Ремонтироваться в своём аэропорту можно будет только после выполнения "Зелёной Жижи"

// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
thread "AIRREPAIR"

:AIRREPAIR_2
wait 0
if   
   $TORENO_TOTAL_PASSED_MISSIONS >= 9
jf @AIRREPAIR_17
6@ = 365.3785
7@ = 2537.1365
8@ = 16.6647
gosub @AIRREPAIR_6
jump @AIRREPAIR_17

:AIRREPAIR_6
wait 0
if
   Player.Defined($PLAYER_CHAR)
jf @AIRREPAIR_6
if
   not Actor.Driving($PLAYER_ACTOR)
then return
end
if
84C8:   not actor $PLAYER_ACTOR driving_flying_vehicle 
then return
end
if
80EC:   not actor $PLAYER_ACTOR 0 near_point 6@ 7@ radius 350.0 350.0 
then return
end
03C0: 3@ = actor $PLAYER_ACTOR car 
if
   not Car.Defined(3@)
then return
end
4@ = Car.Health(3@)
if
   not 4@ < 1000
then return
end
03BC: 0@ = create_sphere_at 6@ 7@ 8@ radius 14.0 

:AIRREPAIR_8
wait 0
if and
00EF:   actor $PLAYER_ACTOR 0 near_point 6@ 7@ radius 19.0 19.0 stopped 
   3@ <> -1
   Car.Defined(3@) 
then jump @AIRREPAIR_11
end
4@ = Car.Health(3@)
if or
80EC:   not actor $PLAYER_ACTOR 0 near_point 6@ 7@ radius 360.0 360.0 
84C8:   not actor $PLAYER_ACTOR driving_flying_vehicle 
   4@ >= 1000
then
03BD: destroy_sphere 0@ 
return
end
jump @AIRREPAIR_8

:AIRREPAIR_11
wait 0
00BF: 1@ = current_time_hours, 2@ = current_time_minutes 
4@ = Car.Health(3@)
0A8F: 4@ = 1000 - 4@ // int
4@ *= 20
if or
   Car.Model(3@) == #AT400
   Car.Model(3@) == #ANDROM
then
4@ *= 20
end
4@ -= 1
if
   not Player.Money($PLAYER_ACTOR) > 4@
then
else
00BC: show_text_highpriority GXT 'IE07' time 2000 flag 1  // ~r~You don't have enough cash!
03BD: destroy_sphere 0@ 
while 00EC:   actor $PLAYER_ACTOR 0 near_point 6@ 7@ radius 19.0 19.0 
wait 0
end
return
end
if
   Player.WantedLevel($PLAYER_CHAR) > 1
then
03BD: destroy_sphere 0@ 
00BC: show_text_highpriority GXT 'TUNERR2' time 2000 flag 1  // ~r~Lose the cops!
while 00EC:   actor $PLAYER_ACTOR 0 near_point 6@ 7@ radius 19.0 19.0 
wait 0
end
return
end
03BD: destroy_sphere 0@ 
Player.CanMove($PLAYER_CHAR) = False
0169: set_fade_color_RGB 0 0 0 
fade 0 600 
wait 600
0A30: repair_car 3@
1@ += 3
00C0: set_current_time_hours_to 1@ minutes_to 2@ 
wait 1500
fade 1 600 
4@ += 1
4@ *= -1
0109: player $PLAYER_CHAR money += 4@ 
//Player.Money($PLAYER_ACTOR) += 4@
wait 800
Player.CanMove($PLAYER_CHAR) = True
while 00EC:   actor $PLAYER_ACTOR 0 near_point 6@ 7@ radius 19.0 19.0 
wait 0
end
return

:AIRREPAIR_17
wait 0
if
   $PILOT_LICENSE_OBTAINED == 1
jf @AIRREPAIR_21
6@ = -1254.0619
7@ = -105.8971
8@ = 14.144
gosub @AIRREPAIR_6
jump @AIRREPAIR_21

:AIRREPAIR_21
wait 0
if
   $PILOT_LICENSE_OBTAINED == 1
jf @AIRREPAIR_24
6@ = 1609.3596
7@ = 1625.1526
8@ = 10.8203
gosub @AIRREPAIR_6
jump @AIRREPAIR_24

:AIRREPAIR_24
wait 0
if
   $PILOT_LICENSE_OBTAINED == 1
jf @AIRREPAIR_2
6@ = 1980.9952
7@ = -2381.9631
8@ = 13.5469
gosub @AIRREPAIR_6
jump @AIRREPAIR_2

Скрины:
284487-27342-35887515-h200.jpg
284487-75f1a-35887517-h200.jpg
284487-3a515-35887520-h200.jpg
284487-16110-35887524-h200.jpg

#23 Re: Программы для GTA » GTASA Crash-Killer by MadniX » 10-09-2010 07:51

Нормально работал до сегодняшнего дня, теперь если сан не запущен, то, как и положено, пишет GTA SA is not running. Если сан запущен - не реагирует никак.

#24 Re: Вопросы по скриптингу » Спавн добавленного транспорта генератором » 07-09-2010 14:31

Sw[ee]t, я однажды поставил клео4, сильно пожалел - последствия проявляются до сих пор (слава богу, только на моём компе, всымысле если перекинуть всю гта со всеми модами на другой комп, то появившихся багов не наблюдаю... вроде).
kenking, в опкоде 014C: я нисколь не сомневался. Удалить транспорт без его захвата... Но всё равно каким-то образом надо проверять, создался "припаркованный" ли верт. Просто создавать через Car.Create... blush Проверить, находится ли игрок рядом, загрузить модель, спавнить, выгрузить модель, remove_references... Ну, учитывая трудности с отловом вертолёта, так будет проще:D
---------------------
Ладно, один верт я припарковал на его законном месте. Только вот всякой хрени наспавнить мне нужно будет по всему штату, поэтому создавать под каждую машину клео-скрип мне не кажется хорошей идеей.
Пока попробую через gosub, если всё устроить не через нижнюю палату, то вопрос решён.

Board footer

Powered by FluxBB