Advertisement
Guest User

Flatbed

a guest
Jan 29th, 2020
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.27 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using GTANetworkAPI;
  4.  
  5. public class Flatbedsync : Script
  6. {
  7. List<Vehicle> nearvehicle;
  8. Vehicle flatbed;
  9.  
  10. public Flatbedsync()
  11. {
  12.  
  13. }
  14.  
  15. [Command("/attach")]
  16. public void AttachVehicle(Client player)
  17. {
  18. nearvehicle = NAPI.Pools.GetAllVehicles();
  19. if(flatbed != null && flatbed.HasData("attVehicle")) flatbed.ResetData("attVehicle");
  20. if (nearvehicle.Count != 0)
  21. {
  22. foreach (var vehicle in nearvehicle)
  23. {
  24. // Ermittle ob Fahrzeug in Spielernähe
  25. var xfactor = Math.Abs(Convert.ToInt32(player.Position.X - vehicle.Position.X));
  26. var yfactor = Math.Abs(Convert.ToInt32(player.Position.Y - vehicle.Position.Y));
  27. if (xfactor < 100)
  28. {
  29. if (yfactor < 100)
  30. {
  31. if (vehicle.DisplayName == "Flatbed")
  32. {
  33. player.SendChatMessage("Flatbed erkannt!");
  34. flatbed = vehicle;
  35. }
  36. else
  37. {
  38. if (flatbed.HasData("attVehicle")) return;
  39. flatbed.SetData("attVehicle", vehicle.GetData("Plate"));
  40. flatbed.SetSharedData("Vehicle", "Flatbed");
  41. player.SendChatMessage("Fahrzeug: " + vehicle.DisplayName + " ist in der Nähe");
  42. }
  43. }
  44. }
  45. }
  46. } else
  47. {
  48. player.SendChatMessage("Keine Fahrzeuge in der Nähe");
  49. }
  50. if(flatbed.HasData("attVehicle") && flatbed != null)
  51. {
  52. foreach (var vehicle in nearvehicle)
  53. {
  54. if (vehicle.GetData("Plate") == flatbed.GetData("attVehicle"))
  55. {
  56. player.SendChatMessage("Fahrzeug mit Nummernschild: " + vehicle.GetData("Plate") + " wird verladen!");
  57. flatbed.SetSharedData("attVehicleModel", vehicle.GetData("vehhash"));
  58. flatbed.SetSharedData("attVehicleModelPrimColor", vehicle.GetData("primcolor"));
  59. flatbed.SetSharedData("attVehicleModelSecColor", vehicle.GetData("seccolor"));
  60. flatbed.SetSharedData("attVehicleModelPlate", vehicle.GetData("Plate"));
  61. NAPI.ClientEvent.TriggerClientEventInRange(player.Position, 100, "flatbedattach", flatbed, vehicle);
  62. vehicle.Delete();
  63. }
  64. }
  65. }
  66. }
  67.  
  68. [RemoteEvent("SynchAttachedVehtoPlayer")]
  69. public void SynchAttachedVehtoPlayer(Client player, Vehicle veh)
  70. {
  71. foreach(var vehicle in nearvehicle)
  72. {
  73. if(!veh.HasData("attVehicle")) return;
  74. if(veh.GetData("attVehicle") == vehicle.GetData("Plate")){
  75. player.SendChatMessage("Flatbed in Sichtbereich!");
  76. NAPI.ClientEvent.TriggerClientEvent(player, "flatbedattach", veh, vehicle);
  77. }
  78. }
  79. }
  80.  
  81. [Command("/Detach")]
  82. public void DetachfromFlatbed(Client player)
  83. {
  84. flatbed.ResetData("attVehicle");
  85. }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement