Advertisement
Guest User

Untitled

a guest
Jan 20th, 2020
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.30 KB | None | 0 0
  1. //**************************************************************************************************
  2. // #Version 2.0# ****
  3. // ****
  4. // Includes: all Sirens ****
  5. // ****
  6. // 1.0| VCmdSiren ****
  7. // 1.1| DUMMYUpdatePos ****
  8. // 1.2| DUMMYDisableSiren ****
  9. // 1.3| DUMMYFindPath ****
  10. // 1.4| DUMMYHasSiren ****
  11. // ****
  12. // childID 1 for disabling bluelights. ****
  13. // ****
  14. // ****
  15. //**************************************************************************************************
  16.  
  17. // Hier kann man den Namen eines Icons f die Commandleiste angeben.
  18. // Wird automatisch aus den Ordnern UI/Game/Icons/Command/ und UI/Game/Icons/Cursor genommen.
  19. const char IMG[] = "sosi";
  20.  
  21. const char EACTION_FINDPATH[] = "EActionFindPath";
  22.  
  23. const char DUMMY_HASSIREN[] = "DUMMYHasSiren";
  24. const char DUMMY_UPDATEPOS[] = "DUMMYUpdatePos";
  25. const char DUMMY_FINDPATH[] = "DUMMYFindPath";
  26.  
  27. const char CMD_MOVETO[] = "MoveTo";
  28.  
  29. const char NAME_DUMMYOBJECT[] = "HelpingObjekt_Roger";
  30.  
  31. // Hier die Pfade von Ihren Fahrzeugen angeben!
  32. const char PROTO_RW[] = "mod:Prototypes/Vehicles/Fire Department/rw.e4p";
  33. const char PROTO_RW2[] = "mod:Prototypes/Vehicles/Straz/381[M]71.e4p";
  34. const char PROTO_RW3[] = "mod:Prototypes/Vehicles/Straz/382[M]25.e4p";
  35. const char PROTO_RW4[] = "mod:Prototypes/Vehicles/Straz/truck.e4p";
  36. const char PROTO_RW5[] = "mod:Prototypes/Vehicles/Straz/389[M]38.e4p";
  37. const char PROTO_RW6[] = "mod:Prototypes/Vehicles/Straz/491[R]53.e4p";
  38. const char PROTO_RW7[] = "mod:Prototypes/Vehicles/Straz/387[M]56.e4p";
  39. const char PROTO_RW8[] = "mod:Prototypes/Vehicles/Straz/381[M]51.e4p";
  40. const char PROTO_RW9[] = "mod:Prototypes/Vehicles/Straz/381[M]21.e4p";
  41. const char PROTO_RW10[] = "mod:Prototypes/Vehicles/Straz/380[M]82.e4p";
  42. const char PROTO_RW11[] = "mod:Prototypes/Vehicles/Straz/382M91.e4p";
  43. const char PROTO_RW12[] = "mod:Prototypes/Vehicles/Straz/tru111ck.e4p";
  44. const char PROTO_RW13[] = "mod:Prototypes/Vehicles/Straz/SCRt.e4p";
  45. const char PROTO_RW14[] = "mod:Prototypes/Vehicles/Straz/381[M]25.e4p";
  46. const char PROTO_RW15[] = "mod:Prototypes/Vehicles/Straz/381[M]22.e4p";
  47. const char PROTO_RW16[] = "mod:Prototypes/Vehicles/Straz/381[M]25 new.e4p";
  48. const char PROTO_RW17[] = "mod:Prototypes/Vehicles/Straz/389[M]98.e4p";
  49. const char PROTO_RW18[] = "mod:Prototypes/Vehicles/Straz/381[M]39.e4p";
  50. const char PROTO_RW19[] = "mod:Prototypes/Vehicles/Straz/381[M]39beczka.e4p";
  51.  
  52. const char PROTO_NEF[] = "mod:Prototypes/Vehicles/Ambulance/nef.e4p";
  53. const char PROTO_RTW[] = "mod:Prototypes/Vehicles/Ambulance/rtw.e4p";
  54. const char PROTO_ITW[] = "mod:Prototypes/Vehicles/Ambulance/itw.e4p";
  55. const char PROTO_RHF[] = "mod:Prototypes/Vehicles/Ambulance/rhf.e4p";
  56.  
  57. const char PROTO_STW[] = "mod:Prototypes/Vehicles/Police/BMW330ixDrive.e4p";
  58.  
  59. const char PROTO_FGRI[] = "mod:Prototypes/Vehicles/Tec/fgri.e4p";;
  60. const char PROTO_FGRB[] = "mod:Prototypes/Vehicles/Tec/fgrb.e4p";
  61. const char PROTO_FGR_RB[] = "mod:Prototypes/Vehicles/Tec/fgr_rb.e4p";
  62. const char PROTO_FGR[] = "mod:Prototypes/Vehicles/Tec/fgr.e4p";
  63. const char PROTO_ASF[] = "mod:Prototypes/Vehicles/Tec/asf.e4p";
  64. const char PROTO_ASF2[] = "mod:Prototypes/Vehicles/Tec/asf2.e4p";;
  65.  
  66. int DummyGroup = 20;
  67.  
  68. // 01.0
  69. object VCmdSiren : CommandScript
  70. {
  71. VCmdSiren()
  72. {
  73. SetIcon(IMG);
  74. SetCursor(IMG);
  75. SetRestrictions(RESTRICT_SELFEXECUTE);
  76. }
  77.  
  78. bool CheckPossible(GameObject *Caller)
  79. {
  80. if (!Caller->IsValid())
  81. return false;
  82.  
  83. if (Caller->GetType() == ACTOR_VEHICLE)
  84. {
  85. return true;
  86. }
  87.  
  88. return false;
  89. }
  90.  
  91. bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
  92. {
  93. if (!Target->IsValid() || Target->GetID() != Caller->GetID())
  94. return false;
  95.  
  96. if (!Caller->HasCommand(CMD_MOVETO) || Caller->GetType() != ACTOR_VEHICLE)
  97. return false;
  98.  
  99. return true;
  100. }
  101.  
  102. void PushActions(GameObject *Caller, Actor *Target, int childID)
  103. {
  104. Vehicle v(Caller);
  105. if (!v.HasCommand(DUMMY_HASSIREN) && (childID != 2 && childID != 1))
  106. {
  107.  
  108. int soundID;
  109. v.EnableBlueLights(true);
  110. Vector CarPos = v.GetPosition();
  111.  
  112. // Hier die const char Namen von oben eintragen wie in den beiden Beispielen unten.
  113. if (StrCompare(v.GetPrototypeFileName(), PROTO_RW) == 0)
  114. {
  115. // Hier muss ein valider Link zu einem Sirensound stehen, in 'mono' codiert!
  116. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren01.wav", CarPos, true);
  117. }
  118.  
  119.  
  120. if (StrCompare(v.GetPrototypeFileName(), PROTO_RW2) == 0)
  121. {
  122.  
  123. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/真k.wav", CarPos, true);
  124. }
  125.  
  126. if (StrCompare(v.GetPrototypeFileName(), PROTO_RW3) == 0)
  127. {
  128.  
  129. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/真k.wav", CarPos, true);
  130. }
  131.  
  132. if (StrCompare(v.GetPrototypeFileName(), PROTO_RW4) == 0)
  133. {
  134.  
  135. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/1120_mix.wav", CarPos, true);
  136. }
  137.  
  138.  
  139. if (StrCompare(v.GetPrototypeFileName(), PROTO_GTF) == 0)
  140. {
  141.  
  142. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren01.wav", CarPos, true);
  143. }
  144.  
  145.  
  146. if (StrCompare(v.GetPrototypeFileName(), PROTO_GTF2) == 0)
  147. {
  148.  
  149. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Jelcz GPr.wav", CarPos, true);
  150. }
  151.  
  152.  
  153. if (StrCompare(v.GetPrototypeFileName(), PROTO_GTF3) == 0)
  154. {
  155.  
  156. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/straz_pozarna_leon.wav", CarPos, true);
  157. }
  158.  
  159.  
  160. if (StrCompare(v.GetPrototypeFileName(), PROTO_GTF4) == 0)
  161. {
  162.  
  163. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/milicja.wav", CarPos, true);
  164. }
  165.  
  166. if (StrCompare(v.GetPrototypeFileName(), PROTO_GTF5) == 0)
  167. {
  168.  
  169. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/TWGS-201.wav", CarPos, true);
  170. }
  171.  
  172. if (StrCompare(v.GetPrototypeFileName(), PROTO_GTF6) == 0)
  173. {
  174.  
  175. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Star25.wav", CarPos, true);
  176. }
  177.  
  178. if (StrCompare(v.GetPrototypeFileName(), PROTO_GTF7) == 0)
  179. {
  180.  
  181. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/straz_pozarna_leon.wav", CarPos, true);
  182. }
  183.  
  184. if (StrCompare(v.GetPrototypeFileName(), PROTO_GTF8) == 0)
  185. {
  186.  
  187. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/kerax_wail.wav", CarPos, true);
  188. }
  189.  
  190. if (StrCompare(v.GetPrototypeFileName(), PROTO_GTF9) == 0)
  191. {
  192.  
  193. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/new_zura_elfir_mix.wav", CarPos, true);
  194. }
  195.  
  196. if (StrCompare(v.GetPrototypeFileName(), PROTO_GTF10) == 0)
  197. {
  198.  
  199. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/new_zura_elfir_mix.wav", CarPos, true);
  200. }
  201.  
  202. if (StrCompare(v.GetPrototypeFileName(), PROTO_GTF11) == 0)
  203. {
  204.  
  205. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/jelcz422.wav", CarPos, true);
  206. }
  207.  
  208.  
  209. if (StrCompare(v.GetPrototypeFileName(), PROTO_GTF12) == 0)
  210. {
  211.  
  212. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/zura_elfir_mix.wav", CarPos, true);
  213. }
  214.  
  215. if (StrCompare(v.GetPrototypeFileName(), PROTO_GTF13) == 0)
  216. {
  217.  
  218. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/zura_yelp.wav", CarPos, true);
  219. }
  220.  
  221. if (StrCompare(v.GetPrototypeFileName(), PROTO_GTF14) == 0)
  222. {
  223.  
  224. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/straz_pozarna_leon.wav", CarPos, true);
  225. }
  226.  
  227. if (StrCompare(v.GetPrototypeFileName(), PROTO_GTF15) == 0)
  228. {
  229.  
  230. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/new_zura_elfir_mix.wav", CarPos, true);
  231. }
  232.  
  233.  
  234. if (StrCompare(v.GetPrototypeFileName(), PROTO_GTF16) == 0)
  235. {
  236.  
  237. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/kerax_yelp.wav", CarPos, true);
  238. }
  239.  
  240.  
  241. if (StrCompare(v.GetPrototypeFileName(), PROTO_GTF17) == 0)
  242. {
  243.  
  244. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/zura1120.wav", CarPos, true);
  245. }
  246.  
  247.  
  248. if (StrCompare(v.GetPrototypeFileName(), PROTO_GTF18) == 0)
  249. {
  250.  
  251. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/jelcz422.wav", CarPos, true);
  252. }
  253.  
  254.  
  255. if (StrCompare(v.GetPrototypeFileName(), PROTO_DLK) == 0)
  256. {
  257.  
  258. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren01.wav", CarPos, true);
  259. }
  260.  
  261. if (StrCompare(v.GetPrototypeFileName(), PROTO_DLK2) == 0)
  262. {
  263.  
  264. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Star25.wav", CarPos, true);
  265. }
  266.  
  267. if (StrCompare(v.GetPrototypeFileName(), PROTO_TLF) == 0)
  268. {
  269.  
  270. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren01.wav", CarPos, true);
  271. }
  272.  
  273.  
  274. if (StrCompare(v.GetPrototypeFileName(), PROTO_TLF2) == 0)
  275. {
  276.  
  277. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Jelcz004.wav", CarPos, true);
  278. }
  279.  
  280. if (StrCompare(v.GetPrototypeFileName(), PROTO_TLF3) == 0)
  281. {
  282.  
  283. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/zura1120.wav", CarPos, true);
  284. }
  285.  
  286. if (StrCompare(v.GetPrototypeFileName(), PROTO_TLF4) == 0)
  287. {
  288.  
  289. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/straz_pozarna_leon.wav", CarPos, true);
  290. }
  291.  
  292.  
  293. if (StrCompare(v.GetPrototypeFileName(), PROTO_TLF5) == 0)
  294. {
  295.  
  296. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/straz_pozarna_leon.wav", CarPos, true);
  297. }
  298.  
  299. if (StrCompare(v.GetPrototypeFileName(), PROTO_LPF) == 0)
  300. {
  301.  
  302. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren01.wav", CarPos, true);
  303. }
  304.  
  305.  
  306. if (StrCompare(v.GetPrototypeFileName(), PROTO_LPF2) == 0)
  307. {
  308.  
  309. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/straz_pozarna_leon.wav", CarPos, true);
  310. }
  311.  
  312. if (StrCompare(v.GetPrototypeFileName(), PROTO_DEKON) == 0)
  313. {
  314.  
  315. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren01.wav", CarPos, true);
  316. }
  317.  
  318.  
  319. if (StrCompare(v.GetPrototypeFileName(), PROTO_DEKON2) == 0)
  320. {
  321.  
  322. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/steyr_srw.wav", CarPos, true);
  323. }
  324.  
  325. if (StrCompare(v.GetPrototypeFileName(), PROTO_DEKON3) == 0)
  326. {
  327.  
  328. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/straz_pozarna_leon.wav", CarPos, true);
  329. }
  330.  
  331. if (StrCompare(v.GetPrototypeFileName(), PROTO_TFMB) == 0)
  332. {
  333.  
  334. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren01.wav", CarPos, true);
  335. }
  336.  
  337. if (StrCompare(v.GetPrototypeFileName(), PROTO_TFMB2) == 0)
  338. {
  339.  
  340. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/new_zura_elfir_mix.wav", CarPos, true);
  341. }
  342.  
  343. if (StrCompare(v.GetPrototypeFileName(), PROTO_FLB) == 0)
  344. {
  345. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/EMsiren05.wav", CarPos, true);
  346. }
  347.  
  348. if (StrCompare(v.GetPrototypeFileName(), PROTO_NEF) == 0)
  349. {
  350.  
  351. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren04.wav", CarPos, true);
  352. }
  353.  
  354. if (StrCompare(v.GetPrototypeFileName(), PROTO_RTW) == 0)
  355. {
  356.  
  357. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren04.wav", CarPos, true);
  358. }
  359.  
  360.  
  361. if (StrCompare(v.GetPrototypeFileName(), PROTO_RTW2) == 0)
  362. {
  363.  
  364. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/milicja.wav", CarPos, true);
  365. }
  366.  
  367. if (StrCompare(v.GetPrototypeFileName(), PROTO_RTW3) == 0)
  368. {
  369.  
  370. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/tesla.wav", CarPos, true);
  371. }
  372.  
  373. if (StrCompare(v.GetPrototypeFileName(), PROTO_RTW4) == 0)
  374. {
  375.  
  376. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/tesla.wav", CarPos, true);
  377. }
  378.  
  379. if (StrCompare(v.GetPrototypeFileName(), PROTO_RTW5) == 0)
  380. {
  381.  
  382. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/真k.wav", CarPos, true);
  383. }
  384.  
  385. if (StrCompare(v.GetPrototypeFileName(), PROTO_RTW6) == 0)
  386. {
  387.  
  388. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/straz_pozarna_leon.wav", CarPos, true);
  389. }
  390.  
  391. if (StrCompare(v.GetPrototypeFileName(), PROTO_RTW7) == 0)
  392. {
  393.  
  394. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/真k.wav", CarPos, true);
  395. }
  396.  
  397. if (StrCompare(v.GetPrototypeFileName(), PROTO_RTW8) == 0)
  398. {
  399.  
  400. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/federal_yelp.wav", CarPos, true);
  401. }
  402.  
  403. if (StrCompare(v.GetPrototypeFileName(), PROTO_RTW9) == 0)
  404. {
  405.  
  406. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/federal_ambu_mix.wav", CarPos, true);
  407. }
  408.  
  409. if (StrCompare(v.GetPrototypeFileName(), PROTO_RTW10) == 0)
  410. {
  411.  
  412. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/atego_gba.wav", CarPos, true);
  413. }
  414.  
  415.  
  416. if (StrCompare(v.GetPrototypeFileName(), PROTO_RTW11) == 0)
  417. {
  418.  
  419. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/federal_leon.wav", CarPos, true);
  420. }
  421.  
  422. if (StrCompare(v.GetPrototypeFileName(), PROTO_RTW12) == 0)
  423. {
  424.  
  425. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/federal_leon.wav", CarPos, true);
  426. }
  427.  
  428. if (StrCompare(v.GetPrototypeFileName(), PROTO_ITW) == 0)
  429. {
  430.  
  431. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren04.wav", CarPos, true);
  432. }
  433.  
  434. if (StrCompare(v.GetPrototypeFileName(), PROTO_RHF) == 0)
  435. {
  436. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren04.wav", CarPos, true);
  437. }
  438.  
  439.  
  440. if (StrCompare(v.GetPrototypeFileName(), PROTO_STW) == 0)
  441. {
  442.  
  443. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren02.wav", CarPos, true);
  444. }
  445.  
  446.  
  447. if (StrCompare(v.GetPrototypeFileName(), PROTO_STW2) == 0)
  448. {
  449.  
  450. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/milicja.wav", CarPos, true);
  451. }
  452.  
  453.  
  454. if (StrCompare(v.GetPrototypeFileName(), PROTO_STW3) == 0)
  455. {
  456.  
  457. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/真k.wav", CarPos, true);
  458. }
  459.  
  460.  
  461. if (StrCompare(v.GetPrototypeFileName(), PROTO_STW4) == 0)
  462. {
  463.  
  464. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/milicja.wav", CarPos, true);
  465. }
  466.  
  467. if (StrCompare(v.GetPrototypeFileName(), PROTO_STW5) == 0)
  468. {
  469.  
  470. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/真k.wav", CarPos, true);
  471. }
  472.  
  473. if (StrCompare(v.GetPrototypeFileName(), PROTO_STW6) == 0)
  474. {
  475.  
  476. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/真k.wav", CarPos, true);
  477. }
  478.  
  479. if (StrCompare(v.GetPrototypeFileName(), PROTO_STW7) == 0)
  480. {
  481.  
  482. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/milicja.wav", CarPos, true);
  483. }
  484.  
  485. if (StrCompare(v.GetPrototypeFileName(), PROTO_STW8) == 0)
  486. {
  487.  
  488. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/fedsig_yelp.wav", CarPos, true);
  489. }
  490.  
  491. if (StrCompare(v.GetPrototypeFileName(), PROTO_STW9) == 0)
  492. {
  493.  
  494. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/zura2120mix.wav", CarPos, true);
  495. }
  496.  
  497.  
  498. if (StrCompare(v.GetPrototypeFileName(), PROTO_STW10) == 0)
  499. {
  500.  
  501. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/nieoznakowany.wav", CarPos, true);
  502. }
  503.  
  504. if (StrCompare(v.GetPrototypeFileName(), PROTO_STW11) == 0)
  505. {
  506.  
  507. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/zura_yelp.wav", CarPos, true);
  508. }
  509.  
  510.  
  511. if (StrCompare(v.GetPrototypeFileName(), PROTO_MTW) == 0)
  512. {
  513.  
  514. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren02.wav", CarPos, true);
  515. }
  516.  
  517. if (StrCompare(v.GetPrototypeFileName(), PROTO_MTW2) == 0)
  518. {
  519.  
  520. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/zura_yelp.wav", CarPos, true);
  521. }
  522.  
  523. if (StrCompare(v.GetPrototypeFileName(), PROTO_MTW3) == 0)
  524. {
  525.  
  526. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/zura_leon.wav", CarPos, true);
  527. }
  528.  
  529. if (StrCompare(v.GetPrototypeFileName(), PROTO_MTW4) == 0)
  530. {
  531.  
  532. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/zura_leon.wav", CarPos, true);
  533. }
  534.  
  535. if (StrCompare(v.GetPrototypeFileName(), PROTO_MTW5) == 0)
  536. {
  537.  
  538. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/fedsig_wama_yelp.wav", CarPos, true);
  539. }
  540.  
  541. if (StrCompare(v.GetPrototypeFileName(), PROTO_MTW6) == 0)
  542. {
  543.  
  544. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/fedsig_yelp.wav", CarPos, true);
  545. }
  546.  
  547. if (StrCompare(v.GetPrototypeFileName(), PROTO_MTW7) == 0)
  548. {
  549.  
  550. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/fedsig_yelp.wav", CarPos, true);
  551. }
  552.  
  553. if (StrCompare(v.GetPrototypeFileName(), PROTO_SW) == 0)
  554. {
  555.  
  556. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren02.wav", CarPos, true);
  557. }
  558.  
  559. if (StrCompare(v.GetPrototypeFileName(), PROTO_WAW) == 0)
  560. {
  561.  
  562. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren02.wav", CarPos, true);
  563. }
  564.  
  565. if (StrCompare(v.GetPrototypeFileName(), PROTO_WAW2) == 0)
  566. {
  567.  
  568. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/TWGS-201.wav", CarPos, true);
  569. }
  570.  
  571. if (StrCompare(v.GetPrototypeFileName(), PROTO_GTW) == 0)
  572. {
  573. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren02.wav", CarPos, true);
  574. }
  575.  
  576. if (StrCompare(v.GetPrototypeFileName(), PROTO_GTW2) == 0)
  577. {
  578. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/milicja.wav", CarPos, true);
  579. }
  580.  
  581. if (StrCompare(v.GetPrototypeFileName(), PROTO_FGRI) == 0)
  582. {
  583. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren03.wav", CarPos, true);
  584. }
  585.  
  586. if (StrCompare(v.GetPrototypeFileName(), PROTO_FGRB) == 0)
  587. {
  588. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren03.wav", CarPos, true);
  589. }
  590.  
  591. if (StrCompare(v.GetPrototypeFileName(), PROTO_FGR_RB) == 0)
  592. {
  593. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren03.wav", CarPos, true);
  594. }
  595.  
  596. if (StrCompare(v.GetPrototypeFileName(), PROTO_FGR) == 0)
  597. {
  598. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren03.wav", CarPos, true);
  599. }
  600.  
  601. if (StrCompare(v.GetPrototypeFileName(), PROTO_ASF) == 0)
  602. {
  603. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren03.wav", CarPos, true);
  604. }
  605.  
  606. if (StrCompare(v.GetPrototypeFileName(), PROTO_ASF2) == 0)
  607. {
  608. soundID = Audio::PlaySample3D("mod:Audio/FX/Sirens/Emsiren03.wav", CarPos, true);
  609. }
  610.  
  611. GameObject mDummy = Game::CreateObject("mod:Prototypes/Objects/Misc/empty.e4p", NAME_DUMMYOBJECT);
  612.  
  613. mDummy.Hide();
  614. mDummy.SetPosition(CarPos);
  615. mDummy.SetUserData(soundID);
  616. mDummy.PushActionExecuteCommand(ACTION_NEWLIST, DUMMY_UPDATEPOS, &v, soundID, false);
  617. v.SetUserData(soundID);
  618. v.AssignCommand(DUMMY_HASSIREN);
  619.  
  620. return;
  621. }
  622.  
  623. if (v.HasCommand(DUMMY_HASSIREN))
  624. {
  625. if (childID == 1)
  626. {
  627. v.EnableBlueLights(false);
  628. }
  629.  
  630. if (v.HasCommand(DUMMY_HASSIREN))
  631. {
  632. int ref = Caller->GetUserData();
  633. Audio::StopSample(ref);
  634.  
  635. GameObjectList list = Game::GetGameObjects(NAME_DUMMYOBJECT);
  636. for(int i=0; i<list.GetNumObjects(); i++)
  637. {
  638. GameObject *obj = list.GetObject(i);
  639. if (obj->GetUserData() == ref)
  640. {
  641. int mSirTest = i;
  642. }
  643. }
  644.  
  645. GameObject *obj = list.GetObject(mSirTest);
  646. obj->PushActionDeleteOwner(ACTION_NEWLIST);
  647. v.RemoveCommand(DUMMY_HASSIREN);
  648. }
  649.  
  650. return;
  651. }
  652. }
  653. };
  654.  
  655. // 01.1
  656. object DUMMYUpdatePos : CommandScript
  657. {
  658. DUMMYUpdatePos()
  659. {
  660. SetGroupID(DummyGroup);
  661. }
  662.  
  663. bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
  664. {
  665. }
  666.  
  667. void PushActions(GameObject *Caller, Actor *Target, int childID)
  668. {
  669. Vehicle v(Target);
  670. GameObject mDummy(Caller);
  671. Vector CarPos = v.GetPosition();
  672.  
  673. if (v.IsDestroyed() || !v.IsValid())
  674. {
  675. int ref = mDummy.GetUserData();
  676. Audio::StopSample(ref);
  677.  
  678. mDummy.PushActionDeleteOwner(ACTION_NEWLIST);
  679. } else
  680. {
  681. mDummy.SetPosition(CarPos);
  682. Audio::UpdatePos(childID, CarPos, true);
  683. if (v.IsCurrentAction(EACTION_FINDPATH))
  684. {
  685. if (!v.HasCommand(DUMMY_FINDPATH))
  686. {
  687. v.AssignCommand(DUMMY_FINDPATH);
  688. }
  689. }
  690. mDummy.PushActionExecuteCommand(ACTION_NEWLIST, DUMMY_UPDATEPOS, Target, childID, false);
  691. }
  692.  
  693. if (v.HasCommand(DUMMY_FINDPATH))
  694. {
  695. if (!v.IsCurrentAction(EACTION_FINDPATH) && v.GetNumActions() == 0)
  696. {
  697. v.RemoveCommand(DUMMY_HASSIREN);
  698. v.RemoveCommand(DUMMY_FINDPATH);
  699.  
  700. int ref = Caller->GetUserData();
  701. Audio::StopSample(ref);
  702.  
  703. GameObjectList list = Game::GetGameObjects(NAME_DUMMYOBJECT);
  704. for(int i = 0; i < list.GetNumObjects(); i++)
  705. {
  706. GameObject *obj = list.GetObject(i);
  707. if (obj->GetUserData() == ref)
  708. {
  709. int mSirTest = i;
  710.  
  711. GameObject *obj = list.GetObject(mSirTest);
  712. obj->PushActionDeleteOwner(ACTION_NEWLIST);
  713. v.RemoveCommand(DUMMY_HASSIREN);
  714. if (v.HasCommand(DUMMY_FINDPATH))
  715. {
  716. v.RemoveCommand(DUMMY_FINDPATH);
  717. }
  718. }
  719. }
  720. }
  721. }
  722. }
  723. };
  724.  
  725. // 01.2
  726. object DUMMYDisableSiren : CommandScript
  727. {
  728. DUMMYDisableSiren()
  729. {
  730. SetGroupID(DummyGroup);
  731. }
  732.  
  733. bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
  734. {
  735. }
  736.  
  737. void PushActions(GameObject *Caller, Actor *Target, int childID)
  738. {
  739. Vehicle v(Caller);
  740.  
  741. if (childID == 1)
  742. {
  743. v.EnableBlueLights(false);
  744. }
  745.  
  746. int ref = Caller->GetUserData();
  747. Audio::StopSample(ref);
  748.  
  749. GameObjectList list = Game::GetGameObjects(NAME_DUMMYOBJECT);
  750. for(int i = 0; i < list.GetNumObjects(); i++)
  751. {
  752. GameObject *obj = list.GetObject(i);
  753. if (obj->GetUserData() == ref)
  754. {
  755. int mSirTest = i;
  756.  
  757. GameObject *obj = list.GetObject(mSirTest);
  758. obj->PushActionDeleteOwner(ACTION_NEWLIST);
  759. v.RemoveCommand(DUMMY_HASSIREN);
  760. if (v.HasCommand(DUMMY_FINDPATH))
  761. {
  762. v.RemoveCommand(DUMMY_FINDPATH);
  763. }
  764. }
  765. }
  766. }
  767. };
  768.  
  769. // 01.3
  770. object DUMMYFindPath : CommandScript
  771. {
  772. DUMMYFindPath()
  773. {
  774. SetGroupID(DummyGroup);
  775. }
  776.  
  777. bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
  778. {
  779. return false;
  780. }
  781.  
  782. void PushActions(GameObject *Caller, Actor *Target, int childID)
  783. {
  784. }
  785. };
  786.  
  787. // 01.4
  788. object DUMMYHasSiren : CommandScript
  789. {
  790. DUMMYHasSiren()
  791. {
  792. SetGroupID(DummyGroup);
  793. }
  794.  
  795. bool CheckGroupVisibility(GameObject *Caller)
  796. {
  797. return false;
  798. }
  799.  
  800. bool CheckPossible(GameObject *Caller)
  801. {
  802. return false;
  803. }
  804.  
  805.  
  806. bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
  807. {
  808. return false;
  809. }
  810.  
  811. void PushActions(GameObject *Caller, Actor *Target, int childID)
  812. {
  813. }
  814. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement