Улучшенная команда автор X_Fudo4ka_X /veh для redage, убрали лишние части кода, добавили создание номерного знака + выдачу по id
Идея для такой команды послужил сервер Majestic RolePlay
Альтернатива на JavaScript
Спасибо - Madaro4ka
Адаптация под RedAge 1.1 , до этого был только на простой C# (с 0)
Идея для такой команды послужил сервер Majestic RolePlay
C#:
[Command("veh")]
public static void CMD_createVehicle(Player player, VehicleHash vehicleHash, int color1, int color2, string platenumber)
{
try
{
Vector3 PlayerPos = NAPI.Entity.GetEntityPosition(player);
Vehicle myveh1 = NAPI.Vehicle.CreateVehicle(vehicleHash, new Vector3(PlayerPos.X + 1f, PlayerPos.Y + 2f, PlayerPos.Z + 1f), 10f, color1, color2, platenumber);
NAPI.Vehicle.SetVehicleNeonState(myveh1, true);
NAPI.Vehicle.SetVehicleNeonColor(myveh1, 255, 0, 0);
NAPI.Player.SetPlayerIntoVehicle(player, myveh1, 0);
NAPI.Chat.SendChatMessageToPlayer(player, $"Игрок: {player.Name} | Заспавнил авто: {vehicleHash}");
}
catch (Exception e) { Log.Write("EXCEPTION AT \"CMD_veh\":\n" + e.ToString(), nLog.Type.Error); }
}
Альтернатива на JavaScript
Спасибо - Madaro4ka
JavaScript:
mp.events.addCommand('veh', (player, _, id, veh, color1, color2) => {
if(player.admin < 1)
return player.outputChatBox("<SERVER> У вас нет доступа к этой команде!");
if (!id || !veh)
return player.outputChatBox('/veh [id] [model] [color1] [color2]');
const target = mp.players.at(id);
if (!target)
return player.notify('~r~ID игрока не найден!');
const pos = target.position;
const adminVeh = mp.vehicles.new(mp.joaat(veh), new mp.Vector3(pos.x + 2, pos.y, pos.z));
adminVeh.setColor(parseInt(color1), parseInt(color2));
adminVeh.numberPlate = "SWG RP"; //Номер машины
player.dim = player.id;
setTimeout(() => target.putIntoVehicle(adminVeh, 0) , 150)
player.notify('~g~ Заспавенно!');
})
Адаптация под RedAge 1.1 , до этого был только на простой C# (с 0)
C#:
[Command("veh")]
public static void CMD_createVehicle(Player player, string name = "buffalo", int a = 0, int b = 0, string number = "admin" )
{
try
{
if (player == null || !Main.Players.ContainsKey(player)) return;
if (!Group.CanUseCmd(player, "veh")) return;
VehicleHash vh = (VehicleHash)NAPI.Util.GetHashKey(name);
if (vh == 0)
{
player.SendChatMessage("vh return");
return;
}
var veh = NAPI.Vehicle.CreateVehicle(vh, player.Position, player.Rotation.Z, 0, 0);
veh.Dimension = player.Dimension;
veh.PrimaryColor = a;
veh.SecondaryColor = b;
veh.NumberPlate = number;
veh.Health = 1000;
veh.SetData("ACCESS", "ADMIN");
veh.SetData("BY", player.Name);
VehicleStreaming.SetEngineState(veh, true);
player.SetIntoVehicle(veh, 0);
NAPI.Chat.SendChatMessageToPlayer(player, $"Diamond: {player.Name} | Заспавнил авто: {vh}");
}
catch (Exception e) { Log.Write("EXCEPTION AT \"CMD_veh\":\n" + e.ToString(), nLog.Type.Error); }
}