Advertisement
Guest User

Untitled

a guest
Jul 26th, 2014
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.16 KB | None | 0 0
  1. //**********************************************************************************************************
  2. // #Version 2.0#
  3. //
  4. // Original script for em3 by: Rev Bem
  5. // Made compatible for em4 by: Godra
  6. // Godra's version fixed by: Hoppah
  7. // Script commented for easier use by: Stan
  8. //
  9. // Usage of this script in other is allowed with mention of Godra, Hoppah & Rev Bem in the readme
  10. //
  11. //**********************************************************************************************************
  12. int DummyGroup = 20;
  13.  
  14. // Definitionen - Hier muss geändert werden!
  15.  
  16. const char AlarmMessage[] = "Container afzetten."; // Die Nachricht die beim Alarm abgespielt wird
  17. const char AlarmSound[] = "mod:Audio/FX/Motoren/aan.wav"; // Pfad zum Sound der abgespielt wird - muss Mono & WAV sein
  18.  
  19.  
  20. object wl floadup : CommandScript
  21. {
  22. wlfloadup()
  23. {
  24. SetCursor("wlfloadup");
  25. SetIcon("wlfloadup");
  26. SetValidTargets(ACTOR_VEHICLE);
  27. }
  28.  
  29.  
  30. bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
  31. {
  32. if(!Caller->IsValid() || !Target->IsValid() || (Caller->GetID()==Target->GetID()))
  33. return false;
  34.  
  35. Vehicle v(Target);
  36. //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  37. //INFO:
  38. //[ENG]: Put the link to the e4p file of the container only
  39. //[DE]: Hier nur den link zur e4p von dem container reinschreiben
  40. //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  41. if(StrCompare(v.GetPrototypeFileName(), "mod:Prototypes/Vehicles/02Brandweer/27.e4p") == 0)
  42. {
  43. //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  44. //INFO:
  45. //[ENG]: The "if (v.IsInstalled())" function checks if the hose conenctions are curently used
  46. //[DE]: Die "if (v.IsInstalled())" function checkt ob schlauch anschlusse benutzt werden
  47. //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  48. if (v.IsInstalled())
  49. return false;
  50.  
  51. if(v.GetUserData() == 0)
  52. return true;
  53. }
  54. return false;
  55. }
  56.  
  57. void PushActions(GameObject *Caller, Actor *Target, int childID)
  58. {
  59. Vehicle v(Caller);
  60. Vehicle c(Target);
  61. v.PushActionMove(ACTION_NEWLIST, Target, TARGET_LOADUP);
  62. //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  63. //INFO:
  64. //[ENG]: Put the link to the e4p file of the container only
  65. //[DE]: Hier nur den link zur e4p von dem container reinschreiben
  66. //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  67. if(StrCompare(c.GetPrototypeFileName(), "mod:Prototypes/Vehicles/02Brandweer/27.e4p") == 0)
  68. {
  69. v.PushActionExecuteCommand(ACTION_APPEND, "DummyWLF", Target, 1, false);
  70. }
  71. }
  72.  
  73. };
  74.  
  75. object DummyWLF: CommandScript
  76. {
  77. DummyWLF()
  78. {
  79. }
  80.  
  81. bool CheckTarget(GameObject *Caller, Actor *Target, int childID)
  82. {
  83. }
  84.  
  85. void PushActions(GameObject *Caller, Actor *Target, int childID)
  86. {
  87. Vehicle v(Caller);
  88. Vehicle c(Target);
  89. float r1, r2, r3, r4, r5, r6, r7, r8, r9;
  90. Vector pos = v.GetPosition();
  91. v.GetRotation(r1, r2, r3, r4, r5, r6, r7, r8, r9);
  92. Vehicle WLF;
  93. if(childID == 1)
  94. {
  95. //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  96. //INFO:
  97. //[ENG]: Put the link to the e4p file of the container truck including container
  98. //[DE]: Hier den link zur e4p von dem container truck mit container
  99. //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  100. WLF = Game::CreateVehicle("mod:Prototypes/Vehicles/02Brandweer/53.e4p", "WLF1");
  101. }
  102. if(childID == 2)
  103. {
  104. WLF = Game::CreateVehicle("mod:Prototypes/Vehicles/02Brandweer/53leeg.e4p", "WLF2");
  105. }
  106. WLF.SetPosition(pos);
  107. WLF.SetRotation(r1, r2, r3, r4, r5, r6, r7, r8, r9);
  108.  
  109. //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  110. //INFO:
  111. //[ENG]: WLF.SetMaxPassengers(3); = Max units in the container truck (can change if you changed in editor)
  112. //[ENG]: WLF.SetSpeed(9.0f); = Vehicle speed 9.0 is egal to 90
  113. //[DE]: WLF.SetMaxPassengers(3); = Einheiten im container truck (kan man heir ander fals im editor geandert)
  114. //[DE]: WLF.SetSpeed(9.0f); = Fahrzeug speed 9.0 is gleich an 90
  115. //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  116. WLF.SetMaxPassengers(2);
  117. WLF.SetSpeed(8.0f);
  118.  
  119. int PlayerID = v.GetPlayerMP();
  120. WLF.SetPlayerMP(PlayerID);
  121.  
  122. PersonList passengers = v.GetPassengers();
  123. for(int i = 0; i < passengers.GetNumPersons(); i++)
  124. {
  125. v.RemovePassenger(&passengers.GetPerson(i));
  126. WLF.AddPassenger(&passengers.GetPerson(i));
  127. }
  128.  
  129. PersonList transports = c.GetTransports();
  130. for(int i = 0; i < transports.GetNumPersons(); i++)
  131. {
  132. c.RemoveTransport(&transports.GetPerson(i));
  133. WLF.AddTransport(&transports.GetPerson(i));
  134. }
  135.  
  136. v.PushActionWait(ACTION_APPEND, 0.1f);
  137. v.PushActionDeleteOwner(ACTION_NEWLIST);
  138. c.PushActionDeleteOwner(ACTION_NEWLIST);
  139. }
  140. }
  141. Mission::PlayHint(AlarmMessage);
  142. if(GameSoundID == 1)
  143. {
  144. Audio::PlaySample(AlarmSound);
  145. }
  146. Vector TargetPos=Game::GetCommandPos();
  147. Game::FindFreePosition(&v, TargetPos, 90);
  148. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement