You are not logged in.
Pages: 1
Скрипт штаба ФБР. Все действия происходят в здании Департамента планирования (на миссии это никак не скажется)
Было решено поставить большинству CivMale вместо Cop, т.к. сидящий на ресепшне офицер, держащий СМГ и размахивающие им во время беседы другие агенты смотрятся весьма комично)
Create the FBI HQ in Plane Department (Las Venturas)
{$CLEO} :FBIHQSTART wait 100 0000: NOP thread "FBIHQ" :FBIHQMainCheck wait 200 if Player.Defined($PLAYER_CHAR) jf @FBIHQMainCheck :FBIHQSecondaryCheck wait 300 09E8: 0@ = actor $PLAYER_ACTOR active_interior if and $ONMISSION == 0 0038: 0@ == 3 // integer values jf @FBIHQMainCheck :FBIHQLoading wait 300 Model.Load(#FBI) Model.Load(-63) Model.Load(330) 04ED: load_animation "SMOKING" 04ED: load_animation "cop_ambient" 04ED: load_animation "gangs" 04ED: load_animation "police" 038B: load_requested_models :FBIHQLoadReq wait 300 if and Model.Available(#FBI) Model.Available(-63) Model.Available(330) 04EE: animation "cop_ambient" loaded 04EE: animation "SMOKING" loaded 04EE: animation "police" loaded 04EE: animation "PED" loaded jf @FBIHQLoadReq :FBIHQAccessCode wait 100 07FB: set_interior "PAPER" accessible 1 04BB: select_interior 3 // select render area :FBIHQMainCode wait 200 1@ = Actor.Create(CivMale, #FBI, 359.7724, 173.5793, 1007.389) 0860: link_actor 1@ to_interior 3 08AD: put_actor 1@ at 2415.348 1123.942 radius 10.0 // interior version Actor.Angle(1@) = 261.0 06B0: AS_actor 1@ sit_down 50000000 ms 2@ = Actor.Create(CivMale, #FBI, 336.205, 173.5649, 1018.984) 0860: link_actor 2@ to_interior 3 Actor.Angle(2@) = 21.0 08AD: put_actor 2@ at 2415.348 1123.942 radius 10.0 // interior version 3@ = Actor.Create(CivMale, #FBI, 335.1483, 175.8309, 1018.984) 0860: link_actor 3@ to_interior 3 Actor.Angle(3@) = 21.0 08AD: put_actor 3@ at 2415.348 1123.942 radius 10.0 // interior version 0677: AS_actor 2@ chat_with_actor 3@ lead_speaker_flag 1 unknown_flag 1 0677: AS_actor 3@ chat_with_actor 2@ lead_speaker_flag 0 unknown_flag 1 4@ = Actor.Create(CivMale, #FBI, 347.6199, 171.2935, 1018.991) 0860: link_actor 4@ to_interior 3 Actor.Angle(4@) = 89.0 08AD: put_actor 4@ at 2415.348 1123.942 radius 10.0 // interior version 5@ = Actor.Create(CivMale, #FBI, 347.7367, 172.3383, 1018.991) 0860: link_actor 5@ to_interior 3 Actor.Angle(5@) = 270.0 08AD: put_actor 5@ at 2415.348 1123.942 radius 10.0 // interior version 0677: AS_actor 4@ chat_with_actor 5@ lead_speaker_flag 1 unknown_flag 1 0677: AS_actor 5@ chat_with_actor 4@ lead_speaker_flag 0 unknown_flag 1 6@ = Actor.Create(CivMale, #FBI, 366.2195, 178.2328, 1007.398) 0860: link_actor 6@ to_interior 3 Actor.Angle(6@) = 256.0 08AD: put_actor 6@ at 2415.348 1123.942 radius 10.0 // interior version 7@ = Actor.Create(CivMale, #FBI, 367.4051, 178.2571, 1007.397) 0860: link_actor 7@ to_interior 3 Actor.Angle(7@) = 75.0 08AD: put_actor 7@ at 2415.348 1123.942 radius 10.0 // interior version 0677: AS_actor 6@ chat_with_actor 7@ lead_speaker_flag 1 unknown_flag 1 0677: AS_actor 7@ chat_with_actor 6@ lead_speaker_flag 0 unknown_flag 1 8@ = Actor.Create(Cop, #FBI, 377.9352, 192.4556, 1013.18) 0860: link_actor 8@ to_interior 3 Actor.Angle(8@) = 124.31 08AD: put_actor 8@ at 2415.348 1123.942 radius 10.0 // interior version 9@ = Actor.Create(Cop, #FBI, 377.2169, 190.7318, 1013.18) 0860: link_actor 9@ to_interior 3 Actor.Angle(9@) = 5.7879 08AD: put_actor 9@ at 2415.348 1123.942 radius 10.0 // interior version 10@ = Actor.Create(CivMale, #FBI, 346.2697, 166.5069, 1014.1875) 0860: link actor 10@ to interior 3 Actor.Angle(10@) = 178.922 11@ = Object.Create(-63, 346.2697, 166.5069, 1014.1875) 0566: object 11@ set_interior 3 070A: AS_actor 10@ attach_to_object 11@ offset 0.04 0.1 -0.02 on_bone 5 16 perform_animation "NULL" IFP_file "NULL" time -1 0812: AS_actor 10@ perform_animation "M_SMKLEAN_LOOP" IFP_file "SMOKING" 4.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1 12@ = Actor.Create(CivMale, #FBI, 356.3026, 162.4544, 1019.9844) 0860: link_actor 12@ to_interior 3 Actor.Angle(12@) = 123.162 06B0: AS_actor 12@ sit_down 50000000 ms 13@ = Actor.Create(CivMale, #FBI, 360.9061, 191.4278, 1019.9912) 0860: link_actor 13@ to_interior 3 Actor.Angle(13@) = 87.923 0812: AS_actor 13@ perform_animation "Copbrowse_loop" IFP_file "cop_ambient" 4.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1 14@ = Actor.Create(CivMale, #FBI, 359.3545, 177.8159, 1019.9844) 0860: link_actor 14@ to_interior 3 Actor.Angle(14@) = 175.587 06B0: AS_actor 14@ sit_down 50000000 ms 15@ = Actor.Create(CivMale, #FBI, 361.8306, 151.9826, 1025.7891) 0860: link_actor 15@ to_interior 3 Actor.Angle(15@) = 74.786 0812: AS_actor 15@ perform_animation "Copbrowse_loop" IFP_file "cop_ambient" 4.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1 16@ = Actor.Create(Cop, #FBI, 370.0582, 164.908, 1019.9844) 0860: link_actor 16@ to_interior 3 Actor.Angle(16@) = 234.251 17@ = Actor.Create(Cop, #FBI, 379.329, 164.9877, 1025.7891) 0860: link_actor 17@ to_interior 3 Actor.Angle(17@) = 152.830 18@ = Actor.Create(Cop, #FBI, 390.0627, 170.0561, 1008.3828) 0860: link_actor 18@ to_interior 3 Actor.Angle(18@) = 70.255 19@ = Actor.Create(Cop, #FBI, 390.1692, 177.65, 1008.3828) 0860: link_actor 19@ to_interior 3 Actor.Angle(19@) = 121.810 20@ = Actor.Create(CivMale, #FBI, 354.5317, 182.3583, 1008.3806) 0860: link_actor 20@ to_interior 3 Actor.Angle(20@) = 82.330 0812: AS_actor 20@ perform_animation "Copbrowse_loop" IFP_file "cop_ambient" 4.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1 21@ = Actor.Create(CivMale, #FBI, 357.7479, 208.9945, 1008.3828) 0860: link_actor 21@ to_interior 3 Actor.Angle(21@) = 203.133 06B0: AS_actor 21@ sit_down 50000000 ms 22@ = Actor.Create(CivMale, #FBI, 347.2697, 157.965, 1014.1875) 0860: link_actor 22@ to_interior 3 Actor.Angle(22@) = 3.537 23@ = Object.Create(-63, 347.2697, 157.965, 1014.1875) 0566: object 23@ set_interior 3 070A: AS_actor 22@ attach_to_object 23@ offset 0.04 0.1 -0.02 on_bone 5 16 perform_animation "NULL" IFP_file "NULL" time -1 0812: AS_actor 22@ perform_animation "M_SMKLEAN_LOOP" IFP_file "SMOKING" 4.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1 24@ = Actor.Create(CivMale, #FBI, 348.833, 158.4165, 1014.1875) 0860: link_actor 24@ to_interior 3 Actor.Angle(24@) = 63.413 0729: AS_actor 24@ hold_cellphone 1 25@ = Actor.Create(CivMale, #FBI, 354.8474, 161.3177, 1008.3798) 0860: link_actor 25@ to_interior 3 Actor.Angle(25@) = 82.503 0729: AS_actor 25@ hold_cellphone 1 26@ = Actor.Create(CivMale, #FBI, 374.1309, 183.301, 1008.3828) 0860: link_actor 26@ to_interior 3 Actor.Angle(26@) = 90.963 06B0: AS_actor 26@ sit_down 50000000 ms 27@ = Actor.Create(CivMale, #FBI, 372.2982, 184.5317, 1008.3893) 0860: link_actor 27@ to_interior 3 Actor.Angle(27@) = 271.903 06B0: AS_actor 27@ sit_down 50000000 ms 28@ = Actor.Create(CivMale, #FBI, 373.0045, 183.2265, 1008.3828) 0860: link_actor 28@ to_interior 3 Actor.Angle(28@) = 3.84 06B0: AS_actor 28@ sit_down 50000000 ms 29@ = Actor.Create(CivMale, #FBI, 360.0057, 216.7395, 1008.3828) 0860: link_actor 29@ to_interior 3 Actor.Angle(29@) = 350.92 0812: AS_actor 29@ perform_animation "Copbrowse_loop" IFP_file "cop_ambient" 4.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1 30@ = Actor.Create(CivMale, #FBI, 357.9725, 201.2638, 1008.3828) 0860: link_actor 30@ to_interior 3 Actor.Angle(30@) = 328.304 06B0: AS_actor 30@ sit_down 50000000 ms 0376: 31@ = create_random_actor_at 371.4996 171.8993 1019.9844 0860: link_actor 31@ to_interior 3 Actor.Angle(31@) = 355.274 06B0: AS_actor 31@ sit_down 50000000 ms 32@ = Actor.Create(CivMale, #FBI, 371.6086, 172.892, 1019.9844) 0860: link_actor 32@ to_interior 3 Actor.Angle(32@) = 182.649 0812: AS_actor 32@ perform_animation "ATM" IFP_file "PED" 4.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1 33@ = Actor.Create(CivMale, #FBI, 361.766, 174.3979, 1008.3893) 0860: link_actor 33@ to_interior 3 Actor.Angle(33@) = 105.353 0812: AS_actor 33@ perform_animation "PLC_DRGBST_02" IFP_file "POLICE" 4.0 loopA 1 lockX 0 lockY 0 lockF 0 time -1 :FBIHQSecondaryCheck2 wait 300 09E8: 0@ = actor $PLAYER_ACTOR active_interior if 0@ == 0 // integer values jf @FBIHQSecondaryCheck2 :FBIHQDeleteData wait 700 Model.Destroy(#FBI) Object.Destroy(-63) Model.Destroy(330) Actor.RemoveReferences(1@) Actor.RemoveReferences(2@) Actor.RemoveReferences(3@) Actor.RemoveReferences(4@) Actor.RemoveReferences(5@) Actor.RemoveReferences(6@) Actor.RemoveReferences(7@) Actor.RemoveReferences(8@) Actor.RemoveReferences(9@) Actor.RemoveReferences(10@) Actor.RemoveReferences(12@) Actor.RemoveReferences(13@) Actor.RemoveReferences(14@) Actor.RemoveReferences(15@) Actor.RemoveReferences(16@) Actor.RemoveReferences(17@) Actor.RemoveReferences(18@) Actor.RemoveReferences(19@) Actor.RemoveReferences(20@) Actor.RemoveReferences(21@) Actor.RemoveReferences(22@) Actor.RemoveReferences(24@) Actor.RemoveReferences(25@) Actor.RemoveReferences(26@) Actor.RemoveReferences(27@) Actor.RemoveReferences(28@) Actor.RemoveReferences(29@) Actor.RemoveReferences(30@) Actor.RemoveReferences(31@) Actor.RemoveReferences(32@) Actor.RemoveReferences(33@) Object.RemoveReferences(11@) Object.RemoveReferences(23@) 04EF: release_animation "SMOKING" 04EF: release_animation "cop_ambient" 04EF: release_animation "police" jump @FBIHQMainCheck
[img align=C]http://img820.imageshack.us/img820/4792/81956886.jpg[/img]
Код обновлен.
Code updated.
Изменения:
- Оптимизирован код скрипта. В итоге все стало предельно лаконично и ясно;
- Добавлено больше реализма в действия офицеров (разговоры, курение, разговоры по телефону, допрос подозреваемых итп.);
- Расставлены несколько офицеров с типом "Cop" вместо "CivMale".
Last edited by Amaimon (11-09-2010 13:33)
Эпитафия на могиле фидошника: "Меня видно?"
Offline
:FBIHEAD4 wait 100 if 0038: 0@ == 0 // integer values jf @FBIHEAD4
смущает это место. здесь мы уходим в цикл ожидания, пока переменная 0@ не будет равна 0. Но ведь ее значение тут не меняется. Получается, мы никогда с этого цикла не выйдем?
Offline
Было бы отлично если бы кто нибудь подсказал анимацию, как к примеру в департаменте полиции LV, где офицер сидит на одном колене и что-то ищет в выдвижной полке.
cop_ambient.ifp Copbrowse_in Copbrowse_loop Copbrowse_nod Copbrowse_out Copbrowse_shake
Offline
@Seemann - это он хотел сделать проверку на не нахождение игрока в помещении. Просто забыл ещё раз узнать текущий интерьер.
:FBIHEAD4 09E8: 0@ = actor $PLAYER_ACTOR active_interior if 0@ == 0 // integer values jf @FBIHEAD4
Offline
@Sanchez - отлично, спасибо;)
@Sw[ee]t @Seemann- доработаю, спасибо за указание
Last edited by Amaimon (11-09-2010 06:26)
Эпитафия на могиле фидошника: "Меня видно?"
Offline
Pages: 1