[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 73 из 125«127172737475124125»
Форум » Игры серии GTA » GTA San Andreas » Вопросы по скриптингу Sanny Builder и заказы (Вы можете получить ответы на вопросы по SB и сделать заказ)
Вопросы по скриптингу Sanny Builder и заказы
wmysterio
Администраторы
Скриптер
22.11.11 21:52
Offline
Если у вас возник вопрос по скриптингу Sanny Builder, обращайтесь! Мы постараемся решить вашу проблему wink Это ещё не значит, что все прям бросятся решать во чтобы то не стало, но ответ вы сможете вы получить как вариант решения или как невозможность или сложность решения.
УВАЖАЕМЫЕ ПОЛЬЗОВАТЕЛИ! ПРОСЬБА КОД СКРИПТОВ ПОМЕЩАТЬ В КОНСТРУКЦИЮ КОДА:

или

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

Внимание! От этого момента тема предназначена ещё и для заказов скриптов и миссий. Я это сделал по одной причине - пользователи постоянно путают/или не ищут темы и приводят заказ здесь. Теперь этой путаницы не будет. Здесь можно проводить заказы, но Вы должны указать в начале поста текст "НА ЗАКАЗ". Постарайтесь как можно детальнее объяснить суть скрипта.
Прикрепления: 0248203.png(1Kb) · 9085525.png(0Kb)

Slivkin-Sergey
Модераторы
11.08.13 18:47
Offline
БольшойДым, ну так напиши wmysterio этот опкод, чтобы он уже мог что-то сделать.

wmysterio
Администраторы
Скриптер
11.08.13 19:04
Offline
Цитата (Slivkin-Sergey)
как включить актёру защиту от выстрелов в голову?
Код
0446: set_actor 1@ immune_to_headshots 0 // Если не ошибаюсь, 0 - вкл., 1 - выкл.

Slivkin-Sergey
Модераторы
11.08.13 19:12
Offline
wmysterio
Код
0446: set_actor 2@ dismemberment_possible 0

Добавлено (11.08.13, 18:12)
---------------------------------------------
Старый опкод с новой версией СБ не работает.


Vital
Друзья
Скриптер
12.08.13 00:47
Offline
Хотелось бы разобраться с параметрами этого опкода:

Код
062F: $GANG[0@] = create_group_type 5
Я не знаю, как сделать группу, которая ходит по путям пешеходов вместе, не разделяясь и всегда держась рядом, даже если погиб кто-то из группы. Но не понимаю, что же делать, если я делаю каждого члена группы лидером и каждому приказываю гулять, то они разделяются, а типы групп, кажись, на это не влияют, где-то было написано, что 5 - это
Цитата
5 - ходит по тротуару
Но ничего подобного я не замечаю, группа стоит на месте...
2109: create_special_actor $VITAL in_front_of_computer

Slivkin-Sergey
Модераторы
12.08.13 08:59
Offline
Цитата (Slivkin-Sergey)
Старый опкод с новой версией СБ не работает.

Стоило написать здесь, как всё заработало 0_о

Добавлено (12.08.13, 07:59)
---------------------------------------------
Теперь новая забава: не обновляется статус-текст со здоровьем машины:
Код
$5387 = Car.Health(1@)
$5387 /= 10
0084: $CHASING_CAR_HEALTH_CLEOMIS = $5387
...
...
...

:CHASE_1201
wait 0
Car.Health(1@) = 1000
$5387 = Car.Health(1@)
$5387 /= 10
0084: $CHASING_CAR_HEALTH_CLEOMIS = $5387
// дальше цикл как для диалогов и условия (умер ли актёр, разбита ли машина и т.п.)
Отредактировал Slivkin-Sergey - Понедельник, 12.08.13, 09:00

wmysterio
Администраторы
Скриптер
12.08.13 12:51
Offline
Vital, Я точно не знаю за что отвечает тип, но группу можно заставить бродить всего лишь одним опкодом - дать группе команду. В этом примере я создал группу и заставил её ходить по тротуарам:
Код
{$CLEO}

:CLEO
thread 'CLEO'
wait 0
04C4: store_coords_to 10@ 11@ 12@ from_actor $PLAYER_ACTOR with_offset -2.0 2.0 0.0
04C4: store_coords_to 13@ 14@ 15@ from_actor $PLAYER_ACTOR with_offset 0.0 2.0 0.0
04C4: store_coords_to 16@ 17@ 18@ from_actor $PLAYER_ACTOR with_offset 2.0 2.0 0.0
0376: 1@ = create_random_actor_at 10@ 11@ 12@
0376: 2@ = create_random_actor_at 13@ 14@ 15@
0376: 3@ = create_random_actor_at 16@ 17@ 18@

062F: 0@ = create_group_type 0
0630: put_actor 1@ in_group 0@ as_leader
0631: put_actor 2@ in_group 0@
0631: put_actor 3@ in_group 0@
07B3: set_group 0@ give_command 1 // даём группе команду

/* Список исследованных мной команд:
0 - следовать за лидером, пока не знаю чем отличаются типы 0 и 1
1 - следовать за лидером, пока не знаю чем отличаются типы 0 и 1
2 - оставаться на месте, тупо стоят
3 - члены группы будут жестикулировать руками, общаться в общем между собой
4 - тупо стоят
5 - Самая интересная на мой взгляд команда - лидер начинает набирать ближайших пешеходов   
себе в банду. Собирает примерно 6-7 человек, но не больше и подбирает, я так заметил людей,   
которые имеют одинаковый тип пешехода
*/

0A93: end_custom_thread
Скрин для команды 5:

Сразу заметно лидера - его окружают другие члены банды.
Прикрепления: 7638061.png(336Kb)

Slivkin-Sergey
Модераторы
12.08.13 14:00
Offline
Цитата (Slivkin-Sergey)
Car.Health(1@) = 1000

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

soldato
Пользователи
12.08.13 15:57
Offline
Как удалить/убрать актера после кат сцены ?

Slivkin-Sergey
Модераторы
12.08.13 16:03
Offline
soldato, 009B: destroy_actor 18@

Добавлено (12.08.13, 15:03)
---------------------------------------------
Или Actor.DestroyWithFade(1@)... или Actor.DestroyInstantly(1@).


soldato
Пользователи
12.08.13 16:07
Offline
Это удаляются все актеры которых я создал?

wmysterio
Администраторы
Скриптер
12.08.13 16:24
Offline
soldato, нет, только конкретно объявленные.

soldato
Пользователи
12.08.13 16:41
Offline
wmysterio, все понял как. Спасибо.

Vital
Друзья
Скриптер
12.08.13 17:05
Offline
wmysterio, всё же странно, у меня они либо расходятся (если в цикле дать команду каждому гулять), либо не идут за лидером...

Код
for 0@ = 0 to 1
     if
     $FLAG[0@] == 0
     then
     062F: $GANG[0@] = create_group_type 0
     $FLAG[0@] = 1
         if
         0@ == 0
         then
         2@ = 0
         3@ = 4
         else
         2@ = 5
         3@ = 9
         end
         0209: 4@ = random_int_in_ranges 0 9
             if
             4@ < 3
             then
             5@ = 7 //Pedtype 8
             6@ = 0 //0,1,2
             7@ = 3 //Bandits
             else
                 if and
                 4@ > 3
                 4@ < 6
                 then
                 5@ = 9 //Pedtype 9
                 6@ = 3 //3,4,5
                 7@ = 6 //Special Forces
                 else
                 5@ = 8 //Pedtype 7
                 6@ = 6 //6,7,8
                 7@ = 9 //Stalkers
                 end                 
             end
         gosub @FreeCoord             
         for 1@ = 2@ to 3@
         0209: 4@ = random_int_in_ranges 6@ 7@
         model.Load($MODELS[4@])
         038B: load_requested_models
         actor.Create($MEMBERS[1@],5@,$MODELS[4@],8@,9@,-100.0)
         model.Destroy($MODELS[4@])
         gosub @Weapon
         actor.WeaponAccuracy($MEMBERS[1@]) = 80
         07DD: set_actor $MEMBERS[1@] attack_rate 75
         09B5: set_actor $MEMBERS[1@] signal_after_kill 0         
         0631: put_actor $MEMBERS[1@] in_group $GANG[0@]         
         087F: set_actor $MEMBERS[1@] never_leave_group 1       
         end  
     0630: put_actor $MEMBERS[2@] in_group $GANG[0@] as_leader
     05DE: AS_actor $MEMBERS[2@] walk_around_ped_path
     07B3: set_group $GANG[0@] give_command 1
     end
end
2109: create_special_actor $VITAL in_front_of_computer

soldato
Пользователи
12.08.13 17:08
Offline
Как сделать анимацию разговора ?
Я узнал что она находиться в PED.ifp файле название IDLE_chat
Но когда пытаюсь её воспроизвести (в игре), у меня вылетает GTA.

Vital
Друзья
Скриптер
12.08.13 17:38
Offline
soldato, покажи код скрипта, посмотрим, что может быть причиной.
2109: create_special_actor $VITAL in_front_of_computer

soldato
Пользователи
12.08.13 18:02
Offline
:TEST_1
wait 0
04ED: load_animation "IDLE_chat"
04EE: animation "IDLE_chat" loaded

:TEST_2
wait 0
00BB: show_text_lowpriority GXT 'HELLO1' time 3000 flag 1
0605: actor 1@ perform_animation_sequence "IDLE_chat" IFP_file "PED" 4.0 loop 0 0 0 0 time 670

Vital
Друзья
Скриптер
12.08.13 18:19
Offline
soldato, ты неверно загружаешь анимацию. Если ты смотришь через Anim Manager, то, наверное, заметил, что есть (слева) список файлов, в каждом из которых свои анимации. К примеру, файл Ped.ifp (в папке anim) или Bar.ifp (в gta3.img), при нажатии на каждый из таких файлов появляется список анимаций. Каждый файл содержит свои анимации. Но опкоды написаны немного неправильно, так как 04ED, 04EE и 04EF работают именно с IFP файлом, а не с конкретной анимацией из него. Причём в 0605: ты сделал всё верно, написав, что нужно выполнить анимацию "IDLE_chat" из файла с именем "PED". Есть некоторые различия между разными видами проигрыша анимации, но тебе это пока необязательно знать. К тому же ты допустил некоторые ошибки с условием. Код должен быть примерно такой:

Код
:TEST_1
wait 0  
if  
04EE:   animation "PED" loaded
jf @TEST_1
0605: actor 1@ perform_animation "IDLE_chat" IFP "PED" framedelta 4.0 loop 0 lockX 0 lockY 0 lockF 0 time -1
Или, если будешь переходить к высокоуровневому коду, то такой:

Код
repeat
wait 0
until 04EE:   animation "PED" loaded
0605: actor 1@ perform_animation "IDLE_chat" IFP "PED" framedelta 4.0 loop 0 lockX 0 lockY 0 lockF 0 time -1
2109: create_special_actor $VITAL in_front_of_computer

soldato
Пользователи
12.08.13 18:40
Offline
Vital, спасибо, помогло. Много нового узнал.

Slivkin-Sergey
Модераторы
13.08.13 11:27
Offline
Что-то я не пойму.
Код
Car.SetDriverBehaviour(1@, IgnoreRoadPaths)

Эта команда заставляет водителя ехать, игнорируя дорогу. Хотя, когда я приказываю ему ехать через переулок на другую сторону улицы, он объезжает все дома и едет уже с другой стороны переулка. А надо, чтоб он ехал именно по переулку.

wmysterio
Администраторы
Скриптер
13.08.13 15:15
Offline
Slivkin-Sergey, в подобных случаях я использую:
Код
Car.SetAnimation(0@, 9, 4000)
Машина всегда будет ехать прямо в течении 4000 мсек.

Форум » Игры серии GTA » GTA San Andreas » Вопросы по скриптингу Sanny Builder и заказы (Вы можете получить ответы на вопросы по SB и сделать заказ)
Страница 73 из 125«127172737475124125»
Поиск: