You are not logged in.
Pages: 1
trashmas, я в опкодах не шарю, но чисто логически:
1. это когда нужно обязать актера ничего не делать, "типа заморозить".
2. idle вроде как анимация бездействия, следовательно этим назначается актеру.
3. это как понимаю заставить актера остановиться( если до этого он топал ). Ну или заставляет стоять на месте но "курить можно"
В любом случае инфа по этим опкодам есть здесь: https://gtagmodding.com/opcode-database/opcode/0192/
Приветствую, программисты!
Отрадно видеть что SA еще модифицируют, игра еще жива! Наверно это потому-что 5 часть не стала эволюционным венцом всей серии, да много нового, современного, но нету штата Сан Андреас, есть всего один город и его пригород, а SA это целый штат, 3 города и их пригороды!
Да, у SA карта меньше, но снаружи,а внутри она больше
Отвлекся я, а порог околачиваю с таким вопросом или просьбой, раньше был на руках скрипт одного умельца, который отключил агрессивное поведение водил, ну когда они начинают бешено таранить машину игрока, мстя за царапину на крыле
Помню что скрипт был простой и короткий, что-то с адресами памяти, найти в сети не получается, как испарился, может подскажет хороший человек, что это за скрипт, или адреса памяти?
Что немного странно, так как gosub должен обязательно заканчиваться return-ом, а у тебя там прыжок стоит.
По другому выходило что-то не то, или сброшенная звезда мигала и деньги беспрерывно исчислялись или вообще ничего не происходило, я кароче помыкался, подумал что-же не так и убрал проверку денежек в кармане у игрока и прыжки переставил/вставил, после этого заработало нормально, пока не вылетело ни разу, поживем-увидим короче. Может виноваты другие скрипты, у меня стоят несколько управляющие силой розыска, принципом розыска и т.п.
Главное пока работает, если бы не ты и того бы не было 
Wmysterio, спасибо за конкретный ответ!!!
Абсолютно с тобой согласен, знание это сила, а незнание напрасная трата сил и времени. С твоей помощью получился рабочий скрипт, теперь все как надо:
{$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 З.ы.
О, у тебя есть сайт, пойдука там пошарюсь...
Всем здравия желаю, прошу подсказать и надоумить, сделал скрипт, но он не работает, хотя логически в нем все правильно, но я допускаю где-то ошибку, оно и понятно, я далек от программирования, вот и остается только логический метод.
Скрипт создает маркеры в гаражах перекраски по всему штату, и заехав на машине в маркер/гараж и если у тебя копы на хвосте, то с игрока снимут деньжат за снятие розыска, чем больше розыск, тем больше сумма. Но не могу понять что не так, маркеры есть, а деньги не снимают, вот собственно скрипт:
{$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
DK22Pac, благодарю, жаль что в ехе, с ним сложнее работать(недавно все познаю), но попытаюсь, за код отдельное спасибо, разобраться бы еще как все это превратить в мод на увеличение стоимости покраски, но лиха беда начало... 
trashmas, да логически оно так, в любом случае я нашел альтернативный вариант
Но вопрос маится, знатоки подскажите, те деньги(количество) что снимаются в покрасочной(P&S), они где? В Main.scm искать или это из gta_sa.exe?
Ок! Раз спецы говорят что малой кровушкой не обойдешься, тогда пойду другим вариантом. Спасибо братцы.
Вопрос на засыпку: может есть опкод который загрузит игру(сейв из слота) без выхода в главное меню? Из вопроса выше понимаю что нету, но вдруг?
Странно, есть опкод для вызова меню сохранения: 03D8: show_save_screen, но хоть убей не могу найти опкод для вызова меню загрузки, как вообще заставить скриптом выйти в главное меню? Помогите мне грешному 
DK22Pac, а что в скрипте? Скрипт как скрипт, компилируется и в игре работает, в любом случае хозяин барин.
kenking, спаибо брат, но походу не это, попробывал в этом же скрипте заменять семерку на разные цыфры до семи, но в игре вылет сразу по завершении миссии
.
Может есть еще мысли?
Разобрался! Все как ты и думал, да именно та цифра отвечает за слот, пришлось написать немного другой скрипт, зато работает схема понятна, двину дальше, еще раз спасибо, без твоей подсказки епал бы себе мозги еще долго...
DK22Pac, спасибо канэчно, но я не знать что с этим делать
, крутовато для меня да и времени на серьезное изучение програмирования уже просто нету.
Вот скаченный скрипт который автоматически сохраняет после каждой миссии в 8 слот, я понял из него что идет работа с памятью по адресам:
0x61907A
0x61907E
0x619060
которые в свою очередь работают конкретно с 8 слотом сохранения, я поискал в сети с целью выяснить адреса для остальных 7 слотов, но увы без результатно, но с этим я хотябы знаю как работать, примерно
, а как преминить твою скрипт команду у меня просто нет такого большого опыта.
// 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
Здорова скриптеры(а они: здоровее видали
), помогите с поиском адресов памяти, в сети совсем не находятся они, вот такие адреса:
0x61907A
0x61907E
0x619060
Именно эти отвечают за создание сейва в 8 слот сохранения, ищу остальных отвечающих за остальные слоты...
kenking, спасибо я уже разобрался, вчера гулил яндексил, запарился не в шутку
, гдеж ты был вчера, да именно этот опкод и преминил. Но копал не даром, нашел полезные и удобные сайты по опкодам
. Пока нашел ответы на все вопросы.
А тут на сайте смотрю народу не густо, кроме тебя то и не видал никого
kenking, не вопрос, просто вроде как мелочь, тут это наверное все знают. Это я тут изучаю
.
Вот собственно код который устанавливает максимум брони в требуемое значение, в смысле любая поднятая/купленая броня в игре даст защиты в 20ед. вместо 100ед. положенных, она также тратится как всегда, просто изменяется ее максимум:
Отмечу, что в этом коде:
1. Я уменьшил максимум брони до 20ед. вместо 100ед. обычных(так надо в моем моде), чтобы наоборот, т.е. увеличить, надо править выделенное число на сколько вам нужно, там логически понятно.
2. В коде не учтена добавка к максимуму в +50ед., после прохождения миссии полицейского, нужно дописывать код, я пытался, пока не выходит... Буду рад если кто допишет.
Ну все, у меня все получилось 
Привет уважаемые.
Такой вот вопрос, как выглядит проверка или условие:
1) Условие: Если плеер одел броню(аrmor)
2) Проверка: Плеер сейчас в броне?
Еще хотелось бы очень знать, возможно ли установить броне свой предел HP, как здоровью плеера? Со здоровьем никаких проблем нет, оно легко контролируется скриптом, а вот про броню так не скажешь, нигде не нашел инфы как установить броне HP, т.е. сделать так чтобы бронь давала не 100 защиты а например только 50, причем не одноразово(это уже умеем), а в целом , чтобы любой поднятый/купленный броник в игре давал защиты только 50? Цифра 50 не важна, тут принцип важен.
kenking, спасибо, теперь ясно. Со скрипта то и началось все
, есть скаченный скрипт который который все пикапы из трупов кладет на землю как в гта 5, в скрипте нашел пару строк которые отвечали за выдачу для ГГ количество боеприпасов, их и изменял, работало нормально, но из-за этого скрипта часто вылетает на мисиях. Потому стал искать решение без клео скрипта.
За базу отдельно спасибо, ток мой IDА ее не открыл, говорит что неизвестная версия, думаю это потому что у меня FREE версия, догадываюсь что нужна PRO. Будем искать...
Спасибо, но вопросов стало еще больше
. Игра GTA SA.
Я какбы не програмер, нихрена, другой профиль
Скачал прогу IDA и открыл gta_sa.exe, не знаю правильно ли открыл, там окошко выскакивает и предлагает галочек наставить/снять под тем чего знать не знаю...
И когда закрываешь прогу тоже лицезреешь окошко: типа как будем сохранять? Да никак, пока не знаю как...
Ладно, нашел адрес .text:004591D0 ( http://images.vfl.ru/ii/1517221502/5021 … 354565.png ) , но что с ним делать? Потыкал конечно...
А это и через поиск не нашел: CPed::CreateDeadPedWeaponPickups , хотя может я не дождался результатов поиска, мне показалось что он зависает...
Ребята, может там и нету незашифрованых цыфр, чтобы хоп и изменил на нужное, а?
Аа, еще момент, многие клео скрипты требуют оригинальный ехешник v0.1, а после моих манипуляций с ехе, совместимость с ним этих клео не пострадает?
Пытаюсь найти в main.scm процесс который устанавливает количество боеприпаса в выпавшем пикапе оружия из убитого/умершего педа. Пока результаты поиска порождают только новые вопросы wall , может кто направит в нужную сторону? Главная цель, уменьшить/увеличить это количество. Помогите люди добрые...
Pages: 1