Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using GTANetworkAPI;
- public class Flatbedsync : Script
- {
- List<Vehicle> nearvehicle;
- Vehicle flatbed;
- public Flatbedsync()
- {
- }
- [Command("/attach")]
- public void AttachVehicle(Client player)
- {
- nearvehicle = NAPI.Pools.GetAllVehicles();
- if(flatbed != null && flatbed.HasData("attVehicle")) flatbed.ResetData("attVehicle");
- if (nearvehicle.Count != 0)
- {
- foreach (var vehicle in nearvehicle)
- {
- // Ermittle ob Fahrzeug in Spielernähe
- var xfactor = Math.Abs(Convert.ToInt32(player.Position.X - vehicle.Position.X));
- var yfactor = Math.Abs(Convert.ToInt32(player.Position.Y - vehicle.Position.Y));
- if (xfactor < 100)
- {
- if (yfactor < 100)
- {
- if (vehicle.DisplayName == "Flatbed")
- {
- player.SendChatMessage("Flatbed erkannt!");
- flatbed = vehicle;
- }
- else
- {
- if (flatbed.HasData("attVehicle")) return;
- flatbed.SetData("attVehicle", vehicle.GetData("Plate"));
- flatbed.SetSharedData("Vehicle", "Flatbed");
- player.SendChatMessage("Fahrzeug: " + vehicle.DisplayName + " ist in der Nähe");
- }
- }
- }
- }
- } else
- {
- player.SendChatMessage("Keine Fahrzeuge in der Nähe");
- }
- if(flatbed.HasData("attVehicle") && flatbed != null)
- {
- foreach (var vehicle in nearvehicle)
- {
- if (vehicle.GetData("Plate") == flatbed.GetData("attVehicle"))
- {
- player.SendChatMessage("Fahrzeug mit Nummernschild: " + vehicle.GetData("Plate") + " wird verladen!");
- flatbed.SetSharedData("attVehicleModel", vehicle.GetData("vehhash"));
- flatbed.SetSharedData("attVehicleModelPrimColor", vehicle.GetData("primcolor"));
- flatbed.SetSharedData("attVehicleModelSecColor", vehicle.GetData("seccolor"));
- flatbed.SetSharedData("attVehicleModelPlate", vehicle.GetData("Plate"));
- NAPI.ClientEvent.TriggerClientEventInRange(player.Position, 100, "flatbedattach", flatbed, vehicle);
- vehicle.Delete();
- }
- }
- }
- }
- [RemoteEvent("SynchAttachedVehtoPlayer")]
- public void SynchAttachedVehtoPlayer(Client player, Vehicle veh)
- {
- foreach(var vehicle in nearvehicle)
- {
- if(!veh.HasData("attVehicle")) return;
- if(veh.GetData("attVehicle") == vehicle.GetData("Plate")){
- player.SendChatMessage("Flatbed in Sichtbereich!");
- NAPI.ClientEvent.TriggerClientEvent(player, "flatbedattach", veh, vehicle);
- }
- }
- }
- [Command("/Detach")]
- public void DetachfromFlatbed(Client player)
- {
- flatbed.ResetData("attVehicle");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement