Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Оптимизация команд

Статус
В этой теме нельзя размещать новые ответы.

Deluxе

Новичок
Всем привет.

Решил оптимизировать команды портала по своему. Тема будет постепенно дополняться.

]
Автор: Londlem
Вор: iWors
Доработка: #Deluxe

Ко всем командам:
PHP:
CMD:limit(playerid, params[])
{
    if(0 == strlen(params))
		return SendClientMessage(playerid, -1, !"Используйте: /limit [скорость автомобиля (от 11 до 198)]");
		
    new
        speed_ts = strval(params);

    if(!(11 <= speed_ts <= 198))
		return SendClientMessage(playerid, 0xB4B5B7FF, "Скорость автомобиля должна быть (от 11 до 198).");

    SetPVarInt(playerid, "speed_test", speed_ts);
    return 1;
}
В любой односекундный таймер (можно и в OnPlayerUpdate, однако не рекомендуется).
PHP:
	new
		speed_test = GetPVarInt(playerid, "speed_test");
    if(speed_test > 10)
		LimitVehicleSpeed_ts(playerid, speed_test);
PHP:
LimitVehicleSpeed_ts(const playerid, const speed)
{
    new
        Float: speed_x,
        Float: speed_y,
        Float: speed_z,
        vehicle = GetPlayerVehicleID(playerid);
    GetVehicleVelocity(vehicle, speed_x, speed_y, speed_z);
    return (floatround(floatsqroot((speed_x * speed_x) + (speed_y * speed_y) + (speed_z * speed_z)) * 195) > speed)
    ? SetVehicleVelocity(vehicle, speed_x * 0.98, speed_y * 0.98, speed_z * 0.98)
    : 0;
}
Автор: nikitazub1

Ко всем глобальным:
PHP:
#define UK_POSITION 256.9379,64.6946,1003.6406 // Координаты
static
	str_criminal_code[] = "1.Убийство игрока - 2 звезды.";
	str_criminal_code_1[] = "2.Убийство сотрудника Закона - 3 звезды.";
	str_criminal_code_2[] = "3.Стрельба по транспорту ( Порча ) - 2  звезды.";
	str_criminal_code_3[] = "4.Оскорбление игрока - 1 звезда.";
	str_criminal_code_4[] = "5.Оскорбление сотрудника Закона - 2 звезды.";
	str_criminal_code_5[] = "6.Хранение наркотиков/материалов- 2 звезды.";
	str_criminal_code_6[] = "7.Уход от проверки Правоохранительных Органов - 2 звезды.";
	str_criminal_code_7[] = "8.Нарушение ПДД - 1 звезда.";
	str_criminal_code_8[] = "9.Ложный вызов - 1 звезда.";
В OnGameModeInit:
PHP:
	#if defined _ALS_CreateDynamic3DTextLabel
		CreateDynamic3DTextLabel(!"Уголовный Кодекс\n{ffffff}Введите {ffdb58}/uk {ffffff}для прочтения.", 0xffdb58FF, UK_POSITION, 20.0)
	#else
		Create3DTextLabel(!"Уголовный Кодекс\n{ffffff}Введите {ffdb58}/uk {ffffff}для прочтения.", 0xffdb58FF, UK_POSITION, 20.0);
	#endif
	str_criminal_code[sizeof(str_criminal_code)-1] = '\n';
	str_criminal_code_1[sizeof(str_criminal_code_1)-1] = '\n';
	str_criminal_code_2[sizeof(str_criminal_code_2)-1] = '\n';
	str_criminal_code_3[sizeof(str_criminal_code_3)-1] = '\n';
	str_criminal_code_4[sizeof(str_criminal_code_4)-1] = '\n';
	str_criminal_code_5[sizeof(str_criminal_code_5)-1] = '\n';
	str_criminal_code_6[sizeof(str_criminal_code_6)-1] = '\n';
	str_criminal_code_7[sizeof(str_criminal_code_7)-1] = '\n';
	str_criminal_code_8[sizeof(str_criminal_code_8)-1] = '\0';
Ко всем командам:
PHP:
	if(strcmp(string, "/uk", true) == 0)
	{
		if(0 == IsPlayerInRangeOfPoint(playerid, range, UK_POSITION)
		    return 1;
	    ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX,"Уголовный Кодекс", str_criminal_code, "Закрыть", "");
		return 1;
	}
Автор: Юванус

Ко всем командам:
PHP:
	if(strcmp(cmd, "/nabor", true) == 0 || strcmp(cmd, "/nab", true) == 0)
    {
        if(!IsAGang(playerid) && !IsAMafia(playerid) && !IsABiker(playerid))
			return SendClientMessage(playerid, COLOR_GRAD1, "Недоступно!");

        new
            unix_time = gettime(),
            rand_pay_ads = random(29)+30,
			str[37 + 20  + 30 + (-2 + MAX_PLAYER_NAME) + 11 + 1];

		format(str, 14, "Gang_%i", PlayerInfo[playerid][pMember]);
	    if(GetSVarInt(str) > unix_time)
	    {
	        format(str, 68, "Повторно можно отправить через {80FF00}%d {FFFFFF}секунд.",(GetSVarInt(str) - unix_time) );
			return SendClientMessage(playerid, -1, str);;
	    }

        if(GetPlayerMoney(playerid) < rand_pay_ads)
	    	return SendClientMessage(playerid, -1, !"Недостаточно средств!");

		/*if(PlayerInfo[playerid][pRank] < 2)
		    return SendClientMessage(playerid, -1, !"Объявлять набор можно со второго ранга!");*/

		GetPlayerName(playerid, str, MAX_PLAYER_NAME);

		if(IsAGang(playerid))
	        format(str, sizeof str, "Обьявление: Идет заселение на район %s. Ждем желающих. Отправитель: %s [тел. %i]", GetFractionName(PlayerInfo[playerid][pMember]), str, PlayerInfo[playerid][pPnumber]);
		if(IsAMafia(playerid))
	        format(str, sizeof str, "Обьявление: Идет набор на вакансии в мафию <<%s>>. Отправитель: %s [тел. %i]", GetFractionName(PlayerInfo[playerid][pMember]), str, PlayerInfo[playerid][pPnumber]);
		if(IsABiker(playerid))
		    format(str, sizeof str, "Обьявление: Идет набор на вакансии в Байкеры %s. Отправитель: %s [тел. %i]", GetFractionName(PlayerInfo[playerid][pMember]), str, PlayerInfo[playerid][pPnumber]);
        OOCOff(0x80FF00FF, str);

        PlayerInfo[playerid][pCash] -= rand_pay_ads;

		format(str, 14, "Gang_%i", PlayerInfo[playerid][pMember]);
        SetSVarInt(str, unix_time + 60);

        format(string, sizeof(string), "Вы написали объявление о наборе стоимостью {34c924}$%d", rand_pay_ads);
        return SendClientMessage(playerid, -1, string);
    }
У вас есть команда которую необходима оптимизировать? Кидайте ссылку на тему сюда!
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу