DesireBRO
Новичок
Smart: /veh & /delveh
Информация о команде:
Командный процессор: DC_CMD (с использованием sscanf2).
Оптимизация: Присутствует, но можно и лучше.
Особенности команды /veh:
Всем доброго времени суток!
Решил написать умную команду для создания машин которая не позволит "убить" сервер машинами.
Решил написать умную команду для создания машин которая не позволит "убить" сервер машинами.
Информация о команде:
Командный процессор: DC_CMD (с использованием sscanf2).
Оптимизация: Присутствует, но можно и лучше.
Особенности команды /veh:
Код:
[B][CENTER][COLOR="#A52A2A"]1.[/COLOR] Создать можно только 1 машину.
[COLOR="#A52A2A"]2.[/COLOR] При повторном создании машины(если не удалена старая) - старая удаляется.
[COLOR="#A52A2A"]3.[/COLOR] Вы не спавнитесь в машине, она создается рядом.[/CENTER][/B]
Особенности команды /delveh:
Код:
[B][CENTER][COLOR="#A52A2A"]1.[/COLOR] Не важно в машине вы или далеко от нее, машина удалится в любом случае.
[COLOR="#A52A2A"]2.[/COLOR] При дисконекте игрока - машина удаляется.
[/CENTER][/B]
Для добавления нескольких машин используйте стандартные /addveh и /dveh соответственно.
Сами команды:
Ко всем переменным добавьте new VehID[MAX_PLAYERS];
PHP:
CMD:veh(playerid,params[])
{
if(PlayerInfo[playerid][pAdmin] >= 3) // Тут ставим свою проверку
new string[145];
new Float:pX,Float:pY,Float:pZ;
if(sscanf(params, "ddd", params[0],params[1],params[2])) return SendClientMessage(playerid, -1, "{BEBEBE}Использование: /veh [id машины] {цвет 1} {цвет 2}");
{
if(VehID[playerid] > 0)
{
DestroyVehicle(VehID[playerid]);
SendClientMessage(playerid, -1, "{696969}[!] Предыдущая машина удалена т.к вы создали новую!");
VehID[playerid] = 0;
}
if(params[1] > 126 || params[1] < 0 || params[2] > 126 || params[2] < 0) return SendClientMessage(playerid, -1, "ID цвета от 0 до 126!");
GetPlayerPos(playerid,pX,pY,pZ);
VehID[playerid] = CreateVehicle(params[0],pX+2,pY,pZ,0.0,1,1,0,0);
format(string,sizeof(string),"{696969}[!] {1E90FF}Вы создали автомобиль №%d | CarID: %d.",params[0],VehID[playerid]);
SendClientMessage(playerid,-1,string);
ChangeVehicleColor(VehID[playerid],params[1],params[2]);
}
return 1;
}
PHP:
CMD:delveh(playerid)
{
if(PlayerInfo[playerid][pAdmin] >= 3) // Тут ставим свою проверку
if(VehID[playerid] > 0)
{
DestroyVehicle(VehID[playerid]);
SendClientMessage(playerid,-1,"{696969}[!] Машина удалена!");
VehID[playerid] = 0;
}
else SendClientMessage(playerid,-1,"{696969}[!] Вы не создавали машину!");
return 1;
}
PHP:
CMD:addveh(playerid,params[])
{
new string[145],CarID;
new Float:pX,Float:pY,Float:pZ;
if(sscanf(params, "ddd", params[0],params[1],params[2])) return SendClientMessage(playerid, -1, "{BEBEBE}Использование: /addveh [id машины] {цвет 1} {цвет 2}");
{
if(params[0] > 611 || params[0] < 400) return SendClientMessage(playerid, -1, "ID транспорта от 400 до 611!");
if(params[1] > 126 || params[1] < 0 || params[2] > 126 || params[2] < 0) return SendClientMessage(playerid, -1, "ID цвета от 0 до 126!");
GetPlayerPos(playerid,pX,pY,pZ);
CarID = CreateVehicle(params[0],pX+2,pY,pZ,0.0,1,1,0,0);
format(string,sizeof(string),"{696969}[!] {1E90FF}Вы создали автомобиль №%d.",params[0],VehID[playerid]);
SendClientMessage(playerid,-1,string);
ChangeVehicleColor(CarID,params[1],params[2]);
}
return 1;
}
PHP:
CMD:dveh(playerid)
{
if(PlayerInfo[playerid][pAdmin] >= 6) // Тут ставим свою проверку
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(GetPlayerVehicleID(playerid) == VehID[playerid]) return SendClientMessage(playerid,-1,"{BEBEBE}[!] Используйте: /delveh!");
DestroyVehicle(GetPlayerVehicleID(playerid));
SendClientMessage(playerid,-1,"{696969}[!] Машина удалена!");
}
else SendClientMessage(playerid,-1,"{696969}[!] Вы не за рулем машины!");
return 1;
}
PHP:
if(VehID[playerid] > 0)
{
DestroyVehicle(VehID[playerid]);
VehID[playerid] = 0;
}
Вот и все, автором команд являюсь Я, т.е #Meneses, всем спасибо.
Последнее редактирование:
