You are not logged in.
Здравствуйте форумчане! Нужна ваша помощь!
Скажите пожалуйста, что неправильно в скрипте?
Скрипт работает так.Если гангстеров атакует прохожий, то они в месте того, чтобы убегать должны
атаковать его.Дело в том, что когда гангстеров бьёшь, то игра почему-то вылетает!
Вот скрипт:
0000: NOP :Gang1 wait 0 if Actor.Defined($PLAYER_ACTOR) jf @Gang1 04C4: store_coords_to 10@ 11@ 12@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0 if 0AE1: 1@ = random_actor_near_point 10@ 11@ 12@ in_radius 25.0 find_next 1 pass_deads 1 jf @Gang3 :Gang2 if 031D: actor 1@ hit_by_weapon 57 jf @Gang1 089F: get_actor 1@ pedtype_to 0@ if and 0@ >= 7 0@ <= 16 jf @Gang1 0A96: 0@ = actor 1@ struct 0@ += 0x764 0A8D: 2@ = read_memory 0@ size 4 virtual_protect 0 if 2@ > 0 jf @Gang1 0A8C: write_memory 0@ size 4 value 0 virtual_protect 0 0AEA: 2@ = actor_struct 2@ handle 04C4: store_coords_to 10@ 11@ 12@ from_actor 1@ with_offset 0.0 0.0 0.0 if 0AE1: 1@ = random_actor_near_point 10@ 11@ 12@ in_radius 7.0 find_next 0 pass_deads 1 jf @Gang1 089F: get_actor 1@ pedtype_to 0@ if and 0@ >= 7 0@ <= 16 then gosub @GiveWeaponAndKill end while 0AE1: 1@ = random_actor_near_point 10@ 11@ 12@ in_radius 7.0 find_next 1 pass_deads 1 089F: get_actor 1@ pedtype_to 0@ if and 0@ >= 7 0@ <= 16 then gosub @GiveWeaponAndKill end end jump @Gang1 :Gang3 if 0AE1: 1@ = random_actor_near_point 10@ 11@ 12@ in_radius 25.0 find_next 0 pass_deads 1 jf @Gang1 jump @Gang2 :GiveWeaponAndKill if 02D8: actor 1@ current_weapon == 0 then 01B2: give_actor 1@ weapon 32 ammo 99999 end 05E2: AS_actor 1@ kill 2@ return
Да есть! Hot adrenalin effect. Есть мод такой, без глюков? Не знаете?
Здрасте! Помогите пожалуйста с глюком в gta sa! Может вам, что-нибудь известно? Когда я еду на танке, и врезаюсь в автомобиль и он взрывается и игра вылетает.Так не всегда, но часто! Помогите!
Скажите пожалуйста! Не знаете такую фразу специфичность RAGE форматов? Слышал что на gta 4
моды глобальные сделать не возможно, это так? И скриптинг там другой?
basic программирование проще! Я вообще не фига в кодинге ничего не понимаю! В basic проще гораздо!
Я ломал голову, чтобы понять, не фига!
А не известно название анимации стрельбы?
Подробнее, пожалуйста!
Какой адрес памяти проверяет стреляет ли чел или нет? Не смог найти!
А как в файле pedstats.dat указать точность стрельбы? Какой параметр нужен, чтобы гангстеры нормально
стреляли не промахиваясь?
Как вычислить через память гангстеров? Я хочу 88% точность стрельбы сделать.
Здравствуйте! У меня проблема серьёзная.Я создаю глобальный мод для gta sa. Мне нужно
очистить карту, я чистил при помощи map cleaner 0.4b. Добавил main.scm и water.dat.
Удалил карту и при загрузке вылетает.При загрузке слышно радио и шум от самолёта и ещё
мелькает, небо было видно, а потом вылетело.Помогите, пожалуйста, для меня это очень важно!
У меня вопрос: Я привык к меткам, а вы пишите в виде кода.А как научиться коды делать?
Что это за команды break, until false?
Я по разному пробывал, и у меня не вышло! Я ОБУЧАЮСЬ! Можете весь скрипт написать? Я так
не понимаю! Если весь с исправленными ошибками, то я найду и пойму! Пожалуйста!
Загрузил, но глюк не исправился! Он убивает, атаковавшего, но повторно не реагирует и перестаёт идти.
Помогите!
//-------------MAIN---------------
0000: NOP
thread 'TEST'
wait 0
Model.Load(#BMYST)
Model.Load(#COLT45)
038B: load_requested_models
:TEST_28
wait 0
if
Model.Available(#BMYST)
Model.Available(#COLT45)
else_jump @TEST_28
if
00E1: player 0 pressed_key 11
else_jump @TEST_28
wait 5000
04C4: store_coords_to $X1 $Y1 $Z1 from_actor $PLAYER_ACTOR with_offset 1.0 3.0 1.0
2@ = Actor.Create(CivMale, #BMYST, $X1, $Y1, $Z1)
01B2: give_actor 2@ weapon 22 ammo 744 // Load the weapon model before using this
Actor.WeaponAccuracy(2@) = 88
05DE: AS_actor 2@ walk_around_ped_path
jump @TEST_150
:TEST_150
wait 0
if
Player.Defined($PLAYER_CHAR)
else_jump @TEST_150
0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to 1@
if
not 1@ == -1
else_jump @TEST_150
jump @TEST_206
:TEST_206
wait 0
if
051A: actor 2@ damaged_by_actor 1@
else_jump @TEST_206
05E2: AS_actor 2@ kill_actor 1@
jump @TEST_28
:TEST_254
wait 0
if
Actor.Dead(2@)
else_jump @TEST_254
Model.Destroy(#BMYST)
Model.Destroy(#COLT45)
Actor.RemoveReferences(2@)
jump @TEST_28
Нет.Оружие появляется! Не знаю, но вот так.
Я сделал скрипт, тестирую.При нажатии на Y, должен появиться BMYST с оружием в руках.Он
идет как пешеход, я поставил опкод.Если его атаковал любой прохожий, то он должен его убить.
Так и происходит, но если он убивает, то стоит и больше не идёт.Так-же не реагирует на повреждения
повторно.Что неправильно?
//-------------MAIN---------------
0000: NOP
thread 'TEST'
wait 0
Model.Load(#BMYST)
038B: load_requested_models
:TEST_23
wait 0
if
Model.Available(#BMYST)
else_jump @TEST_23
if
00E1: player 0 pressed_key 11
else_jump @TEST_23
wait 5000
04C4: store_coords_to $X1 $Y1 $Z1 from_actor $PLAYER_ACTOR with_offset 1.0 3.0 1.0
2@ = Actor.Create(CivMale, #BMYST, $X1, $Y1, $Z1)
01B2: give_actor 2@ weapon 22 ammo 744 // Load the weapon model before using this
Actor.WeaponAccuracy(2@) = 88
05DE: AS_actor 2@ walk_around_ped_path
jump @TEST_140
:TEST_140
wait 0
if
Player.Defined($PLAYER_CHAR)
else_jump @TEST_140
0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to 1@
if
not 1@ == -1
else_jump @TEST_140
jump @TEST_196
:TEST_196
wait 0
if
051A: actor 2@ damaged_by_actor 1@
else_jump @TEST_196
05E2: AS_actor 2@ kill_actor 1@
jump @TEST_23
:TEST_234
wait 0
if
Actor.Dead(2@)
else_jump @TEST_234
Model.Destroy(#BMYST)
Actor.RemoveReferences(2@)
jump @TEST_23
Понятно! Вопрос, а вот так персонажа можно вычислить?
:Noname
wait 0
if and
06FF: any_ped_near_actor $PLAYER_ACTOR in_range 20.0 // радиус
Player.Defined($PLAYER_CHAR)
else_jump @Noname
0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to -1 closest_ped_to 1@
if
not 1@ == -1
else_jump @Noname
А как чувака вычислить? Ещё есть глюк в скрипте, почему-то пассажир в инкассаторе при остановке
выходит.Как исправить?
Будьте добры ответте!
Я просто скорее всего скопировал не правильно! Всё работает, но правда я иногда, когда приближаюсь к
инкассатору, то вижу всё как обычно и в друг появляются два wmysgrd.Вообще мне этот способ
кажется устаревшим.Есть опкоды надёжнее, новые, например 0A8C: write_memory 0@ size 4 value 0 virtual_protect 0. Видно, что через память вычисление.
Не известная команда end.
Я всё делал как надо! Открыл SB выбрал Создать и поставил код:
{$CLEO}
wait 0
while true
wait 0
if
not player.Defined($player_char)
then
continue
end
actor.StorePos($player_actor 1@ 2@ 3@)
if
0AE2: 0@ = random_vehicle_near_point 1@ 2@ 3@ in_radius 100.0 find_next 0 pass_wrecked 1 //IF and SET
then
repeat
if
0137: car 0@ model == #SECURICA
then
0129: $WMYSGRD1 = create_actor_pedtype 4 model #WMYSGRD in_car 0@ driverseat
01C8: $WMYSGRD2 = create_actor_pedtype 4 model #WMYSGRD in_car 0@ passenger_seat 0
01B2: give_actor $WMYSGRD1 weapon 22 ammo 744 // Load the weapon model before using this
01B2: give_actor $WMYSGRD2 weapon 22 ammo 744 // Load the weapon model before using this
end
until 8AE2: not 0@ = random_vehicle_near_point 1@ 2@ 3@ in_radius 100.0 find_next 1 pass_wrecked 1 //IF and SET
end
end
Скомпилировал.Назвал wmysgrd.cs
Открыл cs файл и всё меняется:
//-------------MAIN---------------
wait 0
:NONAME_4
wait 0
if
not Player.Defined($PLAYER_CHAR)
else_jump @NONAME_31
jump @NONAME_154
:NONAME_31
Actor.StorePos($PLAYER_ACTOR, 1@, 2@, 3@)
if
0AE2: 0@ = random_vehicle_near_point 1@ 2@ 3@ in_radius 100.0 find_next 0 pass_wrecked 1 //IF and SET
else_jump @NONAME_154
:NONAME_79
if
Car.Model(0@) == #SECURICA
else_jump @NONAME_124
0129: $WMYSGRD1 = create_actor_pedtype 4 model #WMYSGRD in_car 0@ driverseat
01C8: $WMYSGRD2 = create_actor_pedtype 4 model #WMYSGRD in_car 0@ passenger_seat 0
01B2: give_actor $WMYSGRD1 weapon 22 ammo 744 // Load the weapon model before using this
01B2: give_actor $WMYSGRD2 weapon 22 ammo 744 // Load the weapon model before using this
:NONAME_124
8AE2: not 0@ = random_vehicle_near_point 1@ 2@ 3@ in_radius 100.0 find_next 1 pass_wrecked 1 //IF and SET
else_jump @NONAME_79
:NONAME_154
jump @NONAME_4
Всё равно вылетает!
Что за декомпилированный код?
У меня вылетает:
0000: NOP
wait 0
0AE2: $CAR = random_vehicle_near_point 1@ 2@ 3@ in_radius 10.0 find_next 1 pass_wrecked 1 //IF and SET
else_jump @WMYSGRD_4
:WMYSGRD_7
if
Car.Model($CAR) == #SECURICA
else_jump @WMYSGRD_2
0129: $WMYSGRD1 = create_actor_pedtype 4 model #WMYSGRD in_car $CAR driverseat
01C8: $WMYSGRD2 = create_actor_pedtype 4 model #WMYSGRD in_car $CAR passenger_seat 0
01B2: give_actor $WMYSGRD1 weapon 22 ammo 744 // Load the weapon model before using this
01B2: give_actor $WMYSGRD2 weapon 22 ammo 744 // Load the weapon model before using this
:WMYSGRD_2
8AE2: not $CAR = random_vehicle_near_point 1@ 2@ 3@ in_radius 100.0 find_next 1 pass_wrecked 1 //IF and SET
else_jump @WMYSGRD_7
:WMYSGRD_4 // Note: a jump to this label will crash the game