Перейти к содержанию
Авторизация  
Cappa

Нужна команда смены авто для вип - /chmodel

Рекомендуемые сообщения

Cappa

http://cr-mp.ru/forum/topic/20165-eternity-project-v-20new/  - игровой мод для которого нужна данная команда.

 

 

 

[spoiler=Команда]if(strcmp(cmd, "/chmodel", true) == 0)
{

if(PlayerInfo[playerid][pAdmin] >= 7)
{
new cars = GetVID(PlayerInfo[playerid][pCKey]),GetPlayerVehicleID(playerid);;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Используй: /chmodel [iD автомобиля]");
new proplev = strval(tmp);
if(proplev < 400 || proplev > 611)
{
SendClientMessage(playerid, COLOR_GREY,"Такой машины нету!");
return 1;
}
VehicleSystem[GetCreatorID(cars)][modelCA] = proplev;
SaveCar(GetCreatorID(cars));
DestroyVehicle(car);
car = CreateVehicle(proplev,VehicleSystem[PlayerInfo[playerid][pCKey]][xCA],VehicleSystem[PlayerInfo[playerid][pCKey]][yCA],VehicleSystem[PlayerInfo[playerid][pCKey]][zCA],VehicleSystem[PlayerInfo[playerid][pCKey]][aCA],ЦВЕТ 1,ЦВЕТ 2,60000*4);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED, "Команда временно отключена.");
}
return 1;
}

 

 

Эту команду нужно подстроить под этот мод

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Lefist

Адаптировал команду под мод(скачал резервную версию, на первом посте битая ссылка):

if(strcmp(cmd, "/chmodel", true) == 0) {
	if(PlayerInfo[playerid][pAdmin] >= 7) {
		new vehIdx = GetVehicleIdxByKey(PlayerInfo[playerid][pCKey]);
		
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Используйте: /chmodel [ID модели]");
		new newModel = strval(tmp);
		if(newModel < 400 || newModel > 611) {
			SendClientMessage(playerid, COLOR_GREY, "Указан ID не существующей модели!");
			return 1;
		}

		aData[vehIdx][aModel] = newModel;
		SaveVehicle(vehIdx);
		DestroyVehicle(aData[vehIdx][aCarid]);
		aData[vehIdx][aCarid] = CreateVehicle(newModel, aData[vehIdx][aPos][0], aData[vehIdx][aPos][1], aData[vehIdx][aPos][2], aData[vehIdx][aPos][3], aData[vehIdx][aColor1], aData[vehIdx][aColor2], 60000*4);
		return 1;
	}
	else {
		SendClientMessage(playerid, COLOR_RED, "Команда временно отключена.");
	}
	return 1;
}

Получается команда изменяет модель автомобиля, к которому есть ключи у администратора. Возможны ошибки в написании, так как писал на скорую руку.

 

Посоветовал был изменить слегка код, чтобы не было выхода за границы массива, а именно добавить:

if (vehIdx == -1) return SendClientMessage(playerid, COLOR_RED, "У вас нет ключей от автомобиля!");

сразу после:

new vehIdx = GetVehicleIdxByKey(PlayerInfo[playerid][pCKey]);

Посоветовал бы переходить уже на новый командный процессор(например например PawnCMD) и подключить плагин sscanf, которые увеличивают производительность игрового мода.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Cappa

 

 


SendClientMessage(playerid, COLOR_RED, "Команда временно отключена.");

 

 

Команда не работает выходит : "SendClientMessage(playerid, COLOR_RED, "Команда временно отключена.");"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Lefist

Проанализировав данный участок кода:

if(PlayerInfo[playerid][pAdmin] >= 7) {
...
}
else {
SendClientMessage(playerid, COLOR_RED, "Команда временно отключена.");
}

можно выяснить, что данная команда для администраторов 7 и выше уровня. Проверить можно при помощи какой-нибудь другой команды, например "/admin":

if(strcmp(cmd, "/admin", true) == 0 || strcmp(cmd, "/a", true) == 0 || strcmp(cmd, "//", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
        if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pHelper] == 1)
        {
            ...
        }
    }
    return 1;
}

Можно заметить, что переменные совпадают, значит у нас правильный путь к уровню администрации. Вы можете изменить цифру 7 на любую удобную для вас, тем самым изменив необходимый уровень администрации для данной команды.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Cappa

@Lefist, админ уровень  у меня верный ,но все равно не работает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Cappa

А как для данной команды установить запрещающие для замены ид авто?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Lefist

Просто добавляешь дополнительную проверку новым условием:

if(newModel < 400 || newModel > 611) {
    ...
} 
else if (newModel == /*замени на свой ид*/) {
    SendClientMessage(playerid, COLOR_GREY, "Указан ID запрещенной модели!");
    return 1;
}

Можно сделать еще так(не знаю на сколько быстро будет):

if(newModel < 400 || newModel > 611) {
    ...
} 

// Проверка на запрещенную модель
switch(newModel) {
    case /*запрещенные id моделей*/: {
        SendClientMessage(playerid, COLOR_GREY, "Указан ID запрещенной модели!");
        return 1;
    }
}

Но лучше проверку делать отдельной функций, хороший тон и мало ли где будешь еще раз использовать:

stock isVehicleModelForbidden(modelId) {
    switch (modelId) {
        case /*запрещенные модели*/: {
            return true;
        }
    }
    return false;
}

Проверка будет выглядеть следующим видом:

if(newModel < 400 || newModel > 611) {
    ...
} 
else if (isVehicleModelForbidden(newModel)) {
    SendClientMessage(playerid, COLOR_GREY, "Указан ID запрещенной модели!");
    return 1;
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • #GOBLIN
      От #GOBLIN
      Однако здравствуйте   
      Сегодня солью слитый мод Great RolePlay ( OLD ) 
      Основой данного мода послужил Your RolePlay  
      Мод полностью построен на мод паке 
      Рассказывать много про него не буду, т.к многие знают что это за мод и кем он был доработан 
       
      Немного информации: 
      - Мод-основа: Your RolePlay(Need For RolePlay);
      - Строк в моде: 28к;
      - База данных MySQL;
      - Командный процессор ZCMD;
      - Код легко читается;
      - Присутствует быдло код   
      Автор доработки мода: Max_Eitzen
      Скачать мод Yandex: тык  
      Скачать мод пак к серверу Yandex: тык 
      Прямые ссылки:
      GREAT RP.rar
      Great-Pack.zip
      Не благодарите 
       
       
    • rainer17
      От rainer17
      Здравствуйте.
      Столкнулся с данной проблемой!
      Скачал игровой мод "Rayon-RP" последний что выложен на форуме! 
      Все подключил,мод запустился,бд подключена!
      Но есть проблема не работают пикапы! А именно не работают пикапы "покупки" в бизнесах,"получение паспорта","покупка лицензий" и т.д.!
      Работают только пикапы входов/выходов!
      Кто знает в чем может быть проблема,прошу пожалуйста подсказать!Спасибо большое!
    • Marvellous
      От Marvellous
      Интерьер квартиры.
      Скрины не очень конечно, все сливается, но все же.
      Автор : Ярцов.
      Скачать: Удалено
    • NIKRUS
      От NIKRUS
      Всем привет! Первый слив в 2019 году!
      Сливаю мод Atom RP(основа Amazing RolePlay)
      Вкратце про функционал мода:
      Система домов. Система бизнеса. Система атм. Система радаров. Система транспорта. Система квестов. Есть водный салон где каждый игрок сможет себе покупать лодку и яхту. Есть воздушный транспорт. Скриншоты: https://imgur.com/a/MyLunU0
      Мод сделан под бонусник(точнее переделан), многие товары(яхты, автомобили, самолеты, скины) за донат.
      Насколько мне известно, данный мод держал онлайн 50 человек.
      Мод найден на просторах интернета, адаптирован мной под запуск на локалке.
      Автор игрового мода: Неизвестен.
      Прямая ссылка: Атом рп.zip
      Скачать с Яндекс.Диска
    • bogdanevtushenko
      От bogdanevtushenko
      Сливаю мод Realistic полный без ошибок.
      Начнем описание:
      Основа: Неизвестно
      Системы:
      1) Система автотранспорта, личного транспорта.
      2) Система дома
      Перейдем к изменениям:
      1) Почти все фракции, включая ГИБДД, Пожарная Часть, ПАТП, Автошкола, Больница
      2) Удобно обустроен Арзамас 3D маппингом. (Copy URM)
      3) Сделан новый спидометр (Copy URM)
      4) Добавлена моя "фирменная" система Отделов для фракций ГИБДД и РОВД. В РОВД добавлен Отдел "ОМОН"
      (Должности тоже есть, но не надо путать ОТДЕЛ с Должностью)
      5) Новый TextDraw сервера.
      По фракциям:
      Остальное все тоже самое, что было на Realistic RP.
      Ссылки на скачивания мода и мод пака: 
      Мод: Realistic.rar
      YD(Мод - пак): https://yadi.sk/d/E_dnm5V33QTgay
×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.