dragonborn
Нуль
- Регистрация
- 16 Ноя 2018
- Сообщения
- 4
- Лучшие ответы
- 0
- Репутация
- 0
Приветствую Вас, сразу скажу, не кидайтесь тапками за то, что эта команда есть у всех, а так-же за плохую оптимизацию, но я постарался сделать систему, похожую на выдачу автомобилей на одном зарубежном Full RolePlay сервере и сделал её на командном процессоре Pawn.CMD;
Что нам необходимо:
В команде, указанной ниже подразумевается то, что у Вас стоит проверка на авторизованность игрока, выполняющего команду и то, что у Вас есть система флагов, в противном случае Вы можете добавить проверки в саму команду.
Приступим, в код добавляем array (stock) с названием всех автомобилей, для удобства лучше добавить в начало вашего мода после всех define. Он понадобится нам для поиска названий автомобиля, если же он у Вас есть - проверьте, все ли в нем находятся автомобили.
После чего, ко всем вашим stock добавляем следующий код, он будет отвечать за поиск автомобилей по названию и возврат названия автомобиля, в котором находится игрок.
После всего приступаем к самой команде, ко всем командам вставляем это и заменяем данные, помеченные комментарием на свои проверки.
На этом команда окончена, если у вас возникли какие-нибудь ошибки - внимательно прочитайте то, что я написал в начале темы и проверьте, есть ли у вас всё то, что я написал под "необходимо".
Что нам необходимо:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
;
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
, а так-же сам
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
.В команде, указанной ниже подразумевается то, что у Вас стоит проверка на авторизованность игрока, выполняющего команду и то, что у Вас есть система флагов, в противном случае Вы можете добавить проверки в саму команду.
Приступим, в код добавляем array (stock) с названием всех автомобилей, для удобства лучше добавить в начало вашего мода после всех define. Он понадобится нам для поиска названий автомобиля, если же он у Вас есть - проверьте, все ли в нем находятся автомобили.
PHP:
new stock arrVehicleNames[][] = {
"Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel", "Dumper", "Firetruck", "Trashmaster",
"Stretch", "Manana", "Infernus", "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
"Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection", "Hunter", "Premier", "Enforcer",
"Securicar", "Banshee", "Predator", "Bus", "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach",
"Cabbie", "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral", "Squalo", "Seasparrow",
"Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder", "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair",
"Berkley's RC Van", "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale", "Oceanic",
"Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy", "Hermes", "Sabre", "Rustler", "ZR-350", "Walton",
"Regina", "Comet", "BMX", "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper", "Rancher",
"FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking", "Blista Compact", "Police Maverick",
"Boxville", "Benson", "Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher",
"Super GT", "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stunt", "Tanker", "Roadtrain",
"Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra", "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck",
"Fortune", "Cadrona", "SWAT Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer", "Remington", "Slamvan",
"Blade", "Streak", "Freight", "Vortex", "Vincent", "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder",
"Primo", "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite", "Windsor", "Monster", "Monster",
"Uranus", "Jester", "Sultan", "Stratum", "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
"Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper", "Broadway", "Tornado", "AT-400", "DFT-30",
"Huntley", "Stafford", "BF-400", "News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
"Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "LSPD Car", "SFPD Car", "LVPD Car",
"Police Rancher", "Picador", "S.W.A.T", "Alpha", "Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs",
"Boxville", "Tiller", "Utility Trailer"
};
PHP:
GetVehicleModelByName(const name[])
{
if (IsNumeric(name) && (strval(name) >= 400 && strval(name) <= 611))
return strval(name);
for (new i = 0; i < sizeof(g_arrVehicleNames); i ++)
{
if (strfind(g_arrVehicleNames[i], name, true) != -1)
{
return i + 400;
}
}
return 0;
}
ReturnVehicleModelName(model)
{
new
name[32] = "None";
if (model < 400 || model > 611)
return name;
format(name, sizeof(name), g_arrVehicleNames[model - 400]);
return name;
}
PHP:
flags:veh(CMD_ADMIN); // заменяем на свой флаг администратора, если его нет - в саму команду вставляем проверку на админку / если вы хотите сделать команду для игроков - удалите флаг.
cmd:veh(playerid, params[]) {
if(!pInfo[playerid][pAdminDuty]) return SendCommandMessage(playerid, -1, "СЕРВЕР: Вы не в режиме администратора."); // заменяем на свою проверку на adminDuty / вырезаем её, если у вас отсутствует adminDuty.
static
model[32],
color1,
color2;
if (sscanf(params, "s[32]I(-1)I(-1)", model, color1, color2))
return SendCommandMessage(playerid, -1, "СЕРВЕР: /veh [название / ID машины] <первичный цвет> <вторичный цвет>");
if ((model[0] = GetVehicleModelByName(model)) == 0)
return SendCommandMessage(playerid, -1, "СЕРВЕР: Некорректный ID автомобиля.");
static
Float:x,
Float:y,
Float:z,
Float:a,
vehicleid;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, a);
vehicleid = CreateVehicle(model[0], x, y + 2, z, a, color1, color2, 0);
LinkVehicleToInterior(vehicleid, GetPlayerInterior(playerid));
SetVehicleVirtualWorld(vehicleid, GetPlayerVirtualWorld(playerid));
PutPlayerInVehicle(playerid, vehicleid, 0);
return SendCommandMessageEx(playerid, -1, "СЕРВЕР: Вы успешно создали %s (%d, %d).", ReturnVehicleModelName(model[0]), color1, color2);
}
Последнее редактирование: