#1 Re: Вопросы по скриптингу » Один вопрос » 12-10-2018 20:49

trashmas, я в опкодах не шарю, но чисто логически:
1. это когда нужно обязать актера ничего не делать, "типа заморозить".
2. idle вроде как анимация бездействия, следовательно этим назначается актеру.
3. это как понимаю заставить актера остановиться( если до этого он топал ). Ну или заставляет стоять на месте но "курить можно" grin

В любом случае инфа по этим опкодам есть здесь: https://gtagmodding.com/opcode-database/opcode/0192/

#2 Re: Вопросы по скриптингу » Один вопрос » 10-10-2018 17:47

Приветствую, программисты!
Отрадно видеть что SA еще модифицируют, игра еще жива! Наверно это потому-что 5 часть не стала эволюционным венцом всей серии, да много нового, современного, но нету штата Сан Андреас, есть всего один город и его пригород, а SA это целый штат, 3 города и их пригороды!
Да, у SA карта меньше, но снаружи,а внутри она больше smile

Отвлекся я, а порог околачиваю с таким вопросом или просьбой, раньше был на руках скрипт одного умельца, который отключил агрессивное поведение водил, ну когда они начинают бешено таранить машину игрока, мстя за царапину на крыле grin
Помню что скрипт был простой и короткий, что-то с адресами памяти, найти в сети не получается, как испарился, может подскажет хороший человек, что это за скрипт, или адреса памяти?

#3 Re: Вопросы по скриптингу » Один вопрос » 19-08-2018 20:49

wmysterio wrote:

Что немного странно, так как gosub должен обязательно заканчиваться return-ом, а у тебя там прыжок стоит.

По другому выходило что-то не то, или сброшенная звезда мигала и деньги беспрерывно исчислялись или вообще ничего не происходило, я кароче помыкался, подумал что-же не так и убрал проверку денежек в кармане у игрока и прыжки переставил/вставил, после этого заработало нормально, пока не вылетело ни разу, поживем-увидим короче. Может виноваты другие скрипты, у меня стоят несколько управляющие силой розыска, принципом розыска и т.п.
Главное пока работает, если бы не ты и того бы не было wink

#4 Re: Вопросы по скриптингу » Один вопрос » 19-08-2018 19:41

Wmysterio, спасибо за конкретный ответ!!! clap
Абсолютно с тобой согласен, знание это сила, а незнание напрасная трата сил и времени. С твоей помощью получился рабочий скрипт, теперь все как надо:

{$CLEO .cs}

//-------------MAIN---------------
03BC: 0@ = create_sphere_at 2067.9 -1831.3 13.5 radius 7.0 
03BC: 1@ = create_sphere_at 1025.0 -1026.4 32.1 radius 7.0 
03BC: 2@ = create_sphere_at 487.6 -1738.1 11.1 radius 7.0 
03BC: 3@ = create_sphere_at -1904.3 280.7 41.0 radius 7.0 
03BC: 4@ = create_sphere_at -2425.6 1025.3 50.3 radius 7.0 
03BC: 5@ = create_sphere_at 1971.7 2162.4 11.0 radius 7.0 
03BC: 6@ = create_sphere_at -100.0 1114.2 19.7 radius 7.0 
03BC: 7@ = create_sphere_at -1420.6 2587.9 55.8 radius 7.0 
03BC: 8@ = create_sphere_at 720.1 -460.6 16.3 radius 7.0 

:NONAME_225
wait 250 
if 
   Player.Defined($PLAYER_CHAR)
jf @NONAME_225 
jump @NONAME_253 

:NONAME_253
10@ = Player.WantedLevel($PLAYER_CHAR)
if 
  10@ == 0 
jf @NONAME_286 
jump @NONAME_655 

:NONAME_286
if or
0100:   actor $PLAYER_ACTOR in_sphere 2067.9 -1831.3 13.5 radius 7.0 7.0 7.0 sphere 1 in_car 
0100:   actor $PLAYER_ACTOR in_sphere 1025.0 -1026.4 32.1 radius 7.0 7.0 7.0 sphere 1 in_car 
0100:   actor $PLAYER_ACTOR in_sphere 487.6 -1738.1 11.1 radius 7.0 7.0 7.0 sphere 1 in_car 
0100:   actor $PLAYER_ACTOR in_sphere -1904.3 280.7 41.0 radius 7.0 7.0 7.0 sphere 1 in_car 
0100:   actor $PLAYER_ACTOR in_sphere -2425.6 1025.3 50.3 radius 7.0 7.0 7.0 sphere 1 in_car 
jf @NONAME_489 
gosub @NONAME_662 

:NONAME_489
if or
0100:   actor $PLAYER_ACTOR in_sphere 1971.7 2162.4 11.0 radius 7.0 7.0 7.0 sphere 1 in_car 
0100:   actor $PLAYER_ACTOR in_sphere -100.0 1114.2 19.7 radius 7.0 7.0 7.0 sphere 1 in_car 
0100:   actor $PLAYER_ACTOR in_sphere -1420.6 2587.9 55.8 radius 7.0 7.0 7.0 sphere 1 in_car 
0100:   actor $PLAYER_ACTOR in_sphere 720.1 -460.6 16.3 radius 7.0 7.0 7.0 sphere 1 in_car 
jf @NONAME_655 
gosub @NONAME_662 

:NONAME_655
jump @NONAME_225 

:NONAME_662
10@ *= 1000 
//0085: 9@ = 10@ // (int) 
//9@ -= 1 
if 
010F:   player $PLAYER_CHAR wanted_level > 0 
10@ *= -1 
Player.ClearWantedLevel($PLAYER_CHAR)
Player.Money($PLAYER_CHAR) += 10@
jump @NONAME_225
//:NONAME_721
//return 

З.ы.
О, у тебя есть сайт, пойдука там пошарюсь...

#5 Re: Вопросы по скриптингу » Один вопрос » 19-08-2018 11:26

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

Скрипт создает маркеры в гаражах перекраски по всему штату, и заехав на машине в маркер/гараж и если у тебя копы на хвосте, то с игрока снимут деньжат за снятие розыска, чем больше розыск, тем больше сумма. Но не могу понять что не так, маркеры есть, а деньги не снимают, вот собственно скрипт:

{$CLEO .cs}

//-------------MAIN---------------
0000: NOP 
thread 'pas'

:pas_2 
wait 100
03BC: 0@ = create_sphere_at 2067.9 -1831.3 13.5 radius 7.0  
03BC: 1@ = create_sphere_at 1025.0 -1026.4 32.1 radius 7.0 
03BC: 2@ = create_sphere_at 487.6 -1738.1 11.1 radius 7.0
03BC: 3@ = create_sphere_at -1904.3 280.7 41.0 radius 7.0
03BC: 4@ = create_sphere_at -2425.6 1025.3 50.3 radius 7.0
03BC: 5@ = create_sphere_at 1971.7 2162.4 11.0 radius 7.0
03BC: 6@ = create_sphere_at -100.0 1114.2 19.7 radius 7.0
03BC: 7@ = create_sphere_at -1420.6 2587.9 55.8 radius 7.0
03BC: 8@ = create_sphere_at 720.1 -460.6 16.3 radius 7.0 

:pas_3 
0001: wait 0 ms 
00D6: if
0256:   player $PLAYER_CHAR defined 
//010F:   player $PLAYER_CHAR wanted_level > 0
else_jump @pas_3
01C0: 32@ = player $PLAYER_CHAR wanted_level 
0002: jump @pas_01

:pas_01 
0001: wait 0 ms  
if
0039: 32@ == 1
else_jump @pas_02
jump @pas_1z1

:pas_02 
0001: wait 0 ms 
if
0039: 32@ == 2
else_jump @pas_03
jump @pas_1z2

:pas_03
0001: wait 0 ms 
if
0039: 32@ == 3
else_jump @pas_04
jump @pas_1z3

:pas_04 
0001: wait 0 ms 
if
0039: 32@ == 4
else_jump @pas_05
jump @pas_1z4

:pas_05
0001: wait 0 ms 
if
0039: 32@ == 5
else_jump @pas_06
jump @pas_1z5

:pas_06 
0001: wait 0 ms  
if
0039: 32@ == 6
else_jump @pas_04
jump @pas_1z6

:pas_1z1 
wait 0
00D6: if
0100: actor $PLAYER_ACTOR in_sphere 2067.9 -1831.3 13.5 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_4z1 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -1000
0002: jump @pas_3

:pas_1z2 
wait 0
00D6: if
0100: actor $PLAYER_ACTOR in_sphere 2067.9 -1831.3 13.5 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_4z2 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -2000
0002: jump @pas_3

:pas_1z3 
wait 0
00D6: if
0100: actor $PLAYER_ACTOR in_sphere 2067.9 -1831.3 13.5 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_4z3 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -3000
0002: jump @pas_3

:pas_1z4 
wait 0
00D6: if
0100: actor $PLAYER_ACTOR in_sphere 2067.9 -1831.3 13.5 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_4z4 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -4000
0002: jump @pas_3

:pas_1z5 
wait 0
00D6: if
0100: actor $PLAYER_ACTOR in_sphere 2067.9 -1831.3 13.5 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_4z5 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -5000
0002: jump @pas_3

:pas_1z6 
wait 0
00D6: if
0100: actor $PLAYER_ACTOR in_sphere 2067.9 -1831.3 13.5 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_4z6 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -6000
0002: jump @pas_3

:pas_4z1 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 1025.0 -1026.4 32.1 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_5z1 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -1000
0002: jump @pas_3

:pas_4z2 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 1025.0 -1026.4 32.1 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_5z2 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -2000
0002: jump @pas_3

:pas_4z3 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 1025.0 -1026.4 32.1 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_5z3 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -3000
0002: jump @pas_3

:pas_4z4 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 1025.0 -1026.4 32.1 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_5z4 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -4000
0002: jump @pas_3

:pas_4z5 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 1025.0 -1026.4 32.1 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_5z5 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -5000
0002: jump @pas_3

:pas_4z6 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 1025.0 -1026.4 32.1 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_5z6 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -6000
0002: jump @pas_3

:pas_5z1 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 487.6 -1738.1 11.1 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_6z1 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -1000
0002: jump @pas_3

:pas_5z2 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 487.6 -1738.1 11.1 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_6z2 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -2000
0002: jump @pas_3

:pas_5z3 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 487.6 -1738.1 11.1 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_6z3 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -3000
0002: jump @pas_3

:pas_5z4 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 487.6 -1738.1 11.1 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_6z4 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -4000
0002: jump @pas_3

:pas_5z5 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 487.6 -1738.1 11.1 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_6z5 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -5000
0002: jump @pas_3

:pas_5z6 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 487.6 -1738.1 11.1 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_6z6 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -6000
0002: jump @pas_3

:pas_6z1 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -1904.3 280.7 41.0 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_7z1 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -1000
0002: jump @pas_3

:pas_6z2 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -1904.3 280.7 41.0 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_7z2 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -2000
0002: jump @pas_3

:pas_6z3 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -1904.3 280.7 41.0 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_7z3 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -3000
0002: jump @pas_3

:pas_6z4 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -1904.3 280.7 41.0 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_7z4 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -4000
0002: jump @pas_3

:pas_6z5 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -1904.3 280.7 41.0 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_7z5 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -5000
0002: jump @pas_3

:pas_6z6 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -1904.3 280.7 41.0 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_7z6 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -6000
0002: jump @pas_3

:pas_7z1 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -2425.6 1025.3 50.3 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_8z1 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -1000
0002: jump @pas_3

:pas_7z2 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -2425.6 1025.3 50.3 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_8z2 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -2000
0002: jump @pas_3

:pas_7z3 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -2425.6 1025.3 50.3 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_8z3 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -3000
0002: jump @pas_3

:pas_7z4 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -2425.6 1025.3 50.3 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_8z4 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -4000
0002: jump @pas_3

:pas_7z5 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -2425.6 1025.3 50.3 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_8z5 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -5000
0002: jump @pas_3

:pas_7z6 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -2425.6 1025.3 50.3 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_8z6 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -6000
0002: jump @pas_3

:pas_8z1 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 1971.7 2162.4 11.0 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_9z1 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -1000
0002: jump @pas_3

:pas_8z2 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 1971.7 2162.4 11.0 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_9z2 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -2000
0002: jump @pas_3

:pas_8z3 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 1971.7 2162.4 11.0 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_9z3 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -3000
0002: jump @pas_3

:pas_8z4 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 1971.7 2162.4 11.0 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_9z4 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -4000
0002: jump @pas_3

:pas_8z5 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 1971.7 2162.4 11.0 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_9z5 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -5000
0002: jump @pas_3

:pas_8z6
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 1971.7 2162.4 11.0 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_9z6 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -6000
0002: jump @pas_3

:pas_9z1 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -100.0 1114.2 19.7 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_10z1 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -1000
0002: jump @pas_3

:pas_9z2 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -100.0 1114.2 19.7 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_10z2 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -2000
0002: jump @pas_3

:pas_9z3 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -100.0 1114.2 19.7 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_10z3 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -3000
0002: jump @pas_3

:pas_9z4 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -100.0 1114.2 19.7 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_10z4 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -4000
0002: jump @pas_3

:pas_9z5 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -100.0 1114.2 19.7 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_10z5 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -5000
0002: jump @pas_3

:pas_9z6 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -100.0 1114.2 19.7 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_10z6 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -6000
0002: jump @pas_3

:pas_10z1 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -1420.6 2587.9 55.8 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_11z1 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -1000
0002: jump @pas_3

:pas_10z2 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -1420.6 2587.9 55.8 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_11z2 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -2000
0002: jump @pas_3

:pas_10z3 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -1420.6 2587.9 55.8 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_11z3 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -3000
0002: jump @pas_3

:pas_10z4 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -1420.6 2587.9 55.8 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_11z4 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -4000
0002: jump @pas_3

:pas_10z5 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -1420.6 2587.9 55.8 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_11z5 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -5000
0002: jump @pas_3

:pas_10z6 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere -1420.6 2587.9 55.8 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_11z6 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -6000
0002: jump @pas_3

:pas_11z1 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 720.1 -460.6 16.3 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_1z1 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -1000
0002: jump @pas_3

:pas_11z2 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 720.1 -460.6 16.3 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_1z2 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -2000
0002: jump @pas_3

:pas_11z3 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 720.1 -460.6 16.3 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_1z3 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -3000
0002: jump @pas_3

:pas_11z4 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 720.1 -460.6 16.3 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_1z4 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -4000
0002: jump @pas_3

:pas_11z5 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 720.1 -460.6 16.3 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_1z5 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -5000
0002: jump @pas_3

:pas_11z6 
wait 0
00D6: if 
//0039: 32@ == 1
0100: actor $PLAYER_ACTOR in_sphere 720.1 -460.6 16.3 radius 7.0 7.0 7.0 sphere 1 in_car
else_jump @pas_1z6 
0110: clear_player $PLAYER_CHAR wanted_level
0109: player $PLAYER_CHAR money += -6000
0002: jump @pas_3

#6 Re: Вопросы по скриптингу » Один вопрос » 20-02-2018 16:16

DK22Pac, благодарю, жаль что в ехе, с ним сложнее работать(недавно все познаю), но попытаюсь, за код отдельное спасибо, разобраться бы еще как все это превратить в мод на увеличение стоимости покраски, но лиха беда начало... smile

#7 Re: Вопросы по скриптингу » Один вопрос » 19-02-2018 20:31

trashmas, да логически оно так, в любом случае я нашел альтернативный вариант cool

Но вопрос маится, знатоки подскажите, те деньги(количество) что снимаются в покрасочной(P&S), они где? В Main.scm искать или это из gta_sa.exe?

#8 Re: Вопросы по скриптингу » Один вопрос » 18-02-2018 11:41

Ок! Раз спецы говорят что малой кровушкой не обойдешься, тогда пойду другим вариантом. Спасибо братцы.

Вопрос на засыпку: может есть опкод который загрузит игру(сейв из слота) без выхода в главное меню? Из вопроса выше понимаю что нету, но вдруг?

#9 Re: Вопросы по скриптингу » Один вопрос » 16-02-2018 18:37

Странно, есть опкод для вызова меню сохранения: 03D8: show_save_screen, но хоть убей не могу найти опкод для вызова меню загрузки, как вообще заставить скриптом выйти в главное меню? Помогите мне грешному cry

#10 Re: Вопросы по скриптингу » Один вопрос » 13-02-2018 16:41

DK22Pac, а что в скрипте? Скрипт как скрипт, компилируется и в игре работает, в любом случае хозяин барин.
kenking, спаибо брат, но походу не это, попробывал в этом же скрипте заменять семерку на разные цыфры до семи, но в игре вылет сразу по завершении миссии sad .
Может есть еще мысли?

yahoo  Разобрался! Все как ты и думал, да именно та цифра отвечает за слот, пришлось написать немного другой скрипт, зато работает схема понятна, двину дальше, еще раз спасибо, без твоей подсказки епал бы себе мозги еще долго...

#11 Re: Вопросы по скриптингу » Один вопрос » 12-02-2018 16:26

DK22Pac, спасибо канэчно, но я не знать что с этим делать rolleyes , крутовато для меня да и времени на серьезное изучение програмирования уже просто нету.
Вот скаченный скрипт который автоматически сохраняет после каждой миссии в 8 слот, я понял из него что идет работа с памятью по адресам:
0x61907A
0x61907E
0x619060
которые в свою очередь работают конкретно с 8 слотом сохранения, я поискал в сети с целью выяснить адреса для остальных 7 слотов, но увы без результатно, но с этим я хотябы знаю как работать, примерно smile , а как преминить твою скрипт команду у меня просто нет такого большого опыта.

// This file was decompiled using SASCM.ini published by GTAG (http://gtag.gtagaming.com/opcode-database) on 14.6.2013
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP 
31@ = 1 
0A8D: 25@ = read_memory 0x61907A size 4 virtual_protect 1 
0A8D: 26@ = read_memory 0x61907E size 1 virtual_protect 1 
1@ = 0 
0A9F: 0@ = current_thread_pointer 
0A8E: 10@ = 0@ + 16 // int 
0A8D: 10@ = read_memory 10@ size 4 virtual_protect 0 
0A8F: 11@ = 10@ - -348 // int 
0A8C: write_memory 0x469E2C size 4 value 11@ virtual_protect 1 
0@ += 64 
11@ += 2 
0A8C: write_memory 11@ size 4 value 0@ virtual_protect 0 

:NONAME_7C
wait 0 
if and
  $ONMISSION == 1 
  31@ == 1 
else_jump @NONAME_AC 
wait 0 
0652: 20@ = integer_stat 147 
31@ = 0 

:NONAME_AC
if 
  1@ == 1 
else_jump @NONAME_155 

:NONAME_BE
wait 0 
0652: 21@ = integer_stat 147 
if and
  $ONMISSION == 0 
   not Actor.Driving($PLAYER_ACTOR)
001D:   21@ > 20@ // (int) 
else_jump @NONAME_F0 
jump @NONAME_F7 

:NONAME_F0
jump @NONAME_BE 

:NONAME_F7
0A8C: write_memory 0x61907A size 4 value -1869574000 virtual_protect 1 
0A8C: write_memory 0x61907E size 1 value 144 virtual_protect 1 
wait 1 
0AA5: call 0x619060 num_params 1 pop 0 7  
wait 2 
0A8C: write_memory 0x61907A size 4 value 25@ virtual_protect 1 
0A8C: write_memory 0x61907E size 1 value 26@ virtual_protect 1 
31@ = 1 
1@ = 0 

:NONAME_155
jump @NONAME_7C 
hex
 C7 05 00 00 00 00 01 00 00 00 B8 9B 9A 46 00 FF
 E0
end

#12 Re: Вопросы по скриптингу » Один вопрос » 11-02-2018 08:43

Здорова скриптеры(а они: здоровее видали smile  ), помогите с поиском адресов памяти, в сети совсем не находятся они, вот такие адреса:
0x61907A
0x61907E
0x619060
Именно эти отвечают за создание сейва в 8 слот сохранения, ищу остальных отвечающих за остальные слоты...

#13 Re: Вопросы по скриптингу » Один вопрос » 08-02-2018 13:16

kenking, спасибо я уже разобрался, вчера гулил яндексил, запарился не в шутку wall , гдеж ты был вчера, да именно этот опкод и преминил. Но копал не даром, нашел полезные и удобные сайты по опкодам good . Пока нашел ответы на все вопросы.
А тут на сайте смотрю народу не густо,  кроме тебя то и не видал никого

#14 Re: Вопросы по скриптингу » Один вопрос » 05-02-2018 11:13

kenking, не вопрос, просто вроде как мелочь, тут это наверное все знают. Это я тут изучаю  wall .

Вот собственно код который устанавливает максимум брони в требуемое значение, в смысле любая поднятая/купленая броня в игре даст защиты в 20ед. вместо 100ед. положенных, она также тратится как всегда, просто изменяется ее максимум:
20456444.png
Отмечу, что в этом коде:
1. Я уменьшил максимум брони до 20ед. вместо 100ед. обычных(так надо в моем моде), чтобы наоборот, т.е.  увеличить, надо править выделенное число на сколько вам нужно, там логически понятно.
2. В коде не учтена добавка к максимуму в +50ед., после прохождения миссии полицейского, нужно дописывать код, я пытался, пока не выходит... Буду рад если кто допишет.

#15 Re: Вопросы по скриптингу » Один вопрос » 02-02-2018 09:45

Ну все, у меня все получилось    cool

#16 Re: Вопросы по скриптингу » Один вопрос » 31-01-2018 18:12

Привет уважаемые.
Такой вот вопрос, как выглядит проверка или условие:
1) Условие: Если плеер  одел броню(аrmor)
2) Проверка: Плеер сейчас в броне?

Еще хотелось бы очень знать, возможно ли установить броне свой предел HP, как здоровью плеера? Со здоровьем никаких проблем нет, оно легко контролируется скриптом, а вот про броню так не скажешь, нигде не нашел инфы как установить броне HP, т.е. сделать так чтобы бронь давала не 100 защиты а например только 50, причем не одноразово(это уже умеем), а в целом , чтобы любой поднятый/купленный броник в игре давал защиты только 50? Цифра 50 не важна, тут принцип важен.

#17 Re: Вопросы по скриптингу » Один вопрос » 29-01-2018 13:18

kenking, спасибо, теперь ясно. Со скрипта то и началось все smile , есть скаченный скрипт который который все пикапы из трупов кладет на землю как в гта 5, в скрипте нашел пару строк которые отвечали за выдачу для ГГ количество боеприпасов, их и изменял, работало нормально, но из-за этого скрипта часто вылетает на мисиях. Потому стал искать решение без клео скрипта.
За базу отдельно спасибо, ток мой IDА ее не открыл, говорит что неизвестная версия, думаю это потому что у меня FREE версия, догадываюсь что нужна PRO. Будем искать...

#18 Re: Вопросы по скриптингу » Один вопрос » 29-01-2018 11:36

Спасибо, но вопросов стало еще больше wall . Игра GTA SA.
Я какбы не програмер, нихрена, другой профиль smile
Скачал прогу IDA и открыл gta_sa.exe, не знаю правильно ли открыл, там окошко выскакивает и предлагает галочек наставить/снять под тем чего знать не знаю...
И когда закрываешь прогу тоже лицезреешь окошко: типа как будем сохранять?  Да никак, пока не знаю как...

Ладно, нашел адрес .text:004591D0 ( http://images.vfl.ru/ii/1517221502/5021 … 354565.png ) , но что с ним делать? Потыкал конечно...
А это и через поиск не нашел: CPed::CreateDeadPedWeaponPickups , хотя может я не дождался результатов поиска, мне показалось что он зависает...

Ребята, может там и нету незашифрованых цыфр, чтобы хоп и изменил на нужное, а? smile
Аа, еще момент, многие клео скрипты требуют оригинальный ехешник v0.1, а после моих манипуляций с  ехе, совместимость с ним этих клео не пострадает?

#19 Re: Вопросы по скриптингу » Один вопрос » 28-01-2018 19:34

Пытаюсь найти в main.scm процесс который устанавливает количество боеприпаса в выпавшем пикапе оружия из убитого/умершего педа. Пока результаты поиска порождают только новые вопросы wall , может кто направит в нужную сторону? Главная цель, уменьшить/увеличить это количество. Помогите люди добрые...

Board footer

Powered by FluxBB