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

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

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

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

Делаем систему "Промиль"

Статус
В этой теме нельзя размещать новые ответы.
Мануал:
Делаем сис-му «промиль»


Доброго времени суток, ув.пользователи Pawno-Info! Сегодня мы вместе с вами попытаемся собрать что-то типа системы опьянения. Поясню сразу, систему я писал на моде RLS, поэтому за работоспособность данной системы на других модах я ответственность не несу!

И так начнем:
В
PHP:
 enum pInfo
добавляем:
PHP:
 pAlho
Далее:
ищем следующие паблики:
PHP:
 OnPlayerUpdateRL(playerid)
и после строки
PHP:
 if(!File)
вставляем :
PHP:
 ini_setInteger(File,"Alho",PlayerInfo[playerid][pAlho]);
Ту-же операцию повторяем с пабликом
PHP:
OnPlayerLogin(playerid)
и с
PHP:
OnPlayerRegister(playerid, password[]);
Дальше ищем проверку:
PHP:
 if(PlayerInfo[playerid][pReg] == 0)
И вставляем туда:
PHP:
 PlayerInfo[playerid][pAlho] = 0;
Теперь ищем паблик:
PHP:
 public HPCheck()
И вставляем после
PHP:
 for(new i = 0; i<MAX_PLAYERS; i++)
Следующее:
PHP:
 PlayerInfo[i][pAlho] -= 5;
		if(PlayerInfo[i][pAlho] > 20)
		{
  			SendClientMessage(i, 0x7FB151FF, "Уровень промилей алкоголя в крови завышен! Не садитесь за руль! Узнать уровень (/alcohol)");
		}
Теперь ищем:
PHP:
case 2289
В нем листаем и находим строчку:
PHP:
 format(string,sizeof(string), "выпил(а) бутылку пива",sendername);
И прямо над ней вставляем:
PHP:
 PlayerInfo[playerid][pAlho] += 20;
format(string,128,"«Алкоголь» уровень алкоголя в крови повысился до %d!",PlayerInfo [playerid][pAlho]);
							SendClientMessage(playerid, 0xFFFFFFAA,string);
Повторяем туже операцию с другими строчками, я сделал себе только для алкогольных напитков, вы делайте как хотите.
Далле ищем паблик
PHP:
OnPlayerCommandText
Вставляем туда:
PHP:
 	if(strcmp(cmd, "/alcohol", true) == 0)
	{
	    if(gPlayerLogged[playerid] != 0)
	    {
	        format(string,64,"Ваши промили: %d/160 ",PlayerInfo[playerid][pAlho]);
			SendClientMessage (playerid,0x6495EDFF,string);
		}
	}
И команду /bh туда же
PHP:
 else if(strcmp(cmd, "/bh", true) == 0)
	{
	    if(IsACop(playerid))
		{
		    tmp = strtok(cmdtext, idx);
		    if(!strlen(tmp)) return scm(playerid, COLOR_WHITE, "::: Введите /bh [id]");
		    giveplayerid = ReturnUser(tmp);
		    if(IsPlayerConnected(giveplayerid))
			{
			    if(giveplayerid != INVALID_PLAYER_ID)
				{
				    if(ProxDetectorS(8.0,playerid, giveplayerid))
				    {
				        if(giveplayerid == playerid) return SendClientMessage(playerid, COLOR_GREY, "Вы не можете проверить самого себя!");
						GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
      					GetPlayerName(playerid, sendername, sizeof(sendername));
      					format(string, sizeof(string), "Вас проверил(а) на алкоголь %s", sendername);
      					SendClientMessage(giveplayerid, 0x6495EDFF, string);
      					format(string, sizeof(string), "Вы проверили на алкоголь %s", giveplayer);
      					SendClientMessage(playerid, 0x6495EDFF, string);
						if(PlayerInfo[giveplayerid][pAlho] < 20)
						{
						    scm(playerid, COLOR_DBLUE, "Уровень промиль алкоголя не превышает норму");
						}
						if(PlayerInfo[giveplayerid][pAlho] > 20)
						{
						    SendClientMessage(playerid, COLOR_DBLUE, "Уровень промиль алкоголя превышает норму");
						}
						if(PlayerInfo[giveplayerid][pAlho] > 100)
						{
						    SendClientMessage(playerid, COLOR_DBLUE, "Уровень промиль алкоголя очень высокий! Человек сильной пьян");
						}
					}
					else
					{
					    SendClientMessage (playerid, COLOR_GREY, "Вы слишком далеко!");
					    return true;
					}
				}
			}
			else
			{
				SendClientMessage(playerid, COLOR_GREY, "Игрок оффлайн!");
 				return true;
    		}
		}
        else
       	{
        	SendClientMessage (playerid, COLOR_GREY, "Вы не сотрудник правохранительных органов !");
       	}
		return true;
	}
Теперь ищем паблик
PHP:
 OnPlayerUpdate
И вставляем туда:
PHP:
 if(PlayerInfo[playerid][pAlho] > 160)
	{
	    PlayerInfo[playerid][pAlho] = 160;
	}
	if(PlayerInfo[playerid][pAlho] < 0)
	{
	    PlayerInfo[playerid][pAlho] = 0;
	}

Вот и все!!
Автор Мануала: Я
Строго не судите это мой первый мануал в сфере Pawno скриптинга, что успел написал сейчас, в дальнейшем буду дорабатывать. Может напишу в FS.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу