В теме 8 сообщений

1. Описание команды.

Данная команда позволяет отремонтировать транспортное средство (до 1000.0), в котором находится игрок, использующий данную команду.

2. Код команды.

Спойлер

if(!strcmp(cmd, "/fixveh", true))
{
	new vehicleid = GetPlayerVehicleID(playerid);
	if(vehicleid == 0)
		return SendClientMessage(playerid, -1, !"Вы не находитесь в транспортном средстве, поэтому не можете использовать эту команду.");
	RepairVehicle(vehicleid);
	SendClientMessage(playerid, -1, !"Транспортное средство успешно отремонтировано.");
	return 1;
}

 

Спойлер

CMD:fixveh(playerid)
{
	new vehicleid = GetPlayerVehicleID(playerid);
	if(vehicleid == 0)
		return SendClientMessage(playerid, -1, !"Вы не находитесь в транспортном средстве, поэтому не можете использовать эту команду.");
	RepairVehicle(vehicleid);
	SendClientMessage(playerid, -1, !"Транспортное средство успешно отремонтировано.");
	return 1;
}

 

3. Авторское право.

Автор данной команды неизвестен. Вырезана из игрового мода.

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


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

К сожалению, данное решение актуально не для всех модов. Большинство пользователей, вставивших эту команду в свой мод, лишь встретятся с ошибками, которые не смогут исправить... Пожалуйста, перед публикацией новых тем, продумайте этот момент, в противном случае последующие темы будем удалять. 

 

UPD: исправил данную команду, убрал лишние проверки.

Отредактировано пользователем odosenok

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


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

Отлично, подошло! мне нравиться плюсик :> с первого раза мало где найдёшь

Заметка от keyl , создано

Используйте кнопку "+" - чтобы поблагодарить автора. Устное предупреждение!

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


Ссылка на сообщение
Поделиться на другие сайты
CMD:fixveh(playerid)
{
	RepairVehicle(GetPlayerVehicleID(playerid));
        SCM(playerid, Color_Green, "Вы успешно отремонтировали машину!");
	return 1;
}

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


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

@Sokur228 а если игрок не находится в машине? Какое значение передаст GetPlayerVehicleID? Можно узнать?

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


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

@SCRIPTMAN Скриптман если игрок в машине то она чинится можно приписать else что игрок находится не в машине а если он не в машине то она не чинится"!!!

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


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

@Sokur228, так а в чем проблема исходного варианта? Если игрок не в автомобиле, тогда он не чинится. В автомобиле – чинится. К сожалению, учитывая количество багов в движке SAMP, нет гарантий, что функция RepairVehicle отреагирует адекватно, если ей передать невалидные значения. Почему бы просто не предусмотреть этот вопрос заранее? Тем более, что это всего лишь одна проверка, а не целый огород.

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


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

@Cawfee а она скорее всего и отреагирует неадекватно, в лучшем случае - ошибка, в худшем - краш, потому что ей будут пытаться присвоить мусорное значение

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

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

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

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

    • Max Luilchack
      От Max Luilchack
      Нужен человек который сможет сделать примерную карту Украины для сервера crmp mobile. Если есть желающие пишите в дс: lamarlml
    • Yashich
      От Yashich
      Возникла проблема, не работает команда /giverank Что здесь может работать не так? Заранее спасибо за ответ)
      Вот строки кода связанные с этой командой (мод Аризона)
       
      CMD:giverank(playerid, params[]) {     if(PI[playerid][pMember]<=0)return 0;     if(PI[playerid][pRank] < 9 && PI[playerid][pLeader] == 0) return SCM(playerid, COLOR_RED, !"Отказано в доступе!");     if(sscanf(params,"ud",params[0],params[1])) return SCM(playerid, COLOR_RED, !"Используйте: /giverank [id] [rank]");     if(!ProxDetectorS(8.0, playerid, params[0])) return SCM(playerid, COLOR_GREY, !"Вы должны находиться рядом с игроком!");     if(PI[params[0]][pLeader] > 0 ) return SCM(playerid, COLOR_RED, !"Вы не можете изменять ранг лидеру");     if(params[1] < 1) return SCM(playerid, COLOR_GREY, !"Нельзя повысить до этого ранга");     if(Clother[params[0]]!=-1)return 0;     if(GetPlayerVirtualWorld(playerid)!=GetPlayerVirtualWorld(params[0]))return 0;     if(!IsPlayerConnected(params[0])) return SCM(playerid, COLOR_GREY, !"Игрок не найден");     if(PI[playerid][pRank] <= PI[params[0]][pRank]) return SCM(playerid, COLOR_GREY, !"Вы не можете повысить/понизить этого игрока");     if(PI[playerid][pRank] == 9 && params[1] > 8) return SCM(playerid, COLOR_RED, !"Нельзя выдать ранг больше 8");     if(params[1] > 9) return SCM(playerid, COLOR_GREY, !"Нельзя повысить до этого ранга");     if(PI[params[0]][pMember] != PI[playerid][pMember]) return SCM(playerid, COLOR_GREY, !"Игрок находиться в другой организации!");     str_1[0] = EOS;     f(str_1,100,"Лидер %s %s до %i ранга",PN(playerid),PI[params[0]][pRank] > params[1] ? ("понизил"):("повысил"),params[1]);     SCM(params[0],COLOR_LIGHTBLUE,str_1);     f(str_1,100,"Вы %sи игрока %s до %i ранга",PI[params[0]][pRank] > params[1] ? ("понизил"):("повысил"),PN(params[0]),params[1]);     SCM(playerid,COLOR_LIGHTBLUE,str_1);     PI[params[0]][pRank] = params[1];     UpdatePlayerDataInt(params[0], "Rank", params[1]);     if(PI[params[0]][pSex] == 2) if(TeamDuty{params[0]}) SetPlayerSkinEx(params[0],GOrgSkins[GetTeamID(params[0])][params[1]]), TogglePlayerControllable(params[0],true);     else if(TeamDuty{params[0]}) SetPlayerSkinEx(params[0],MOrgSkins[GetTeamID(params[0])][params[1]]), TogglePlayerControllable(params[0],true);     return 1; }
    • SupremeRP