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

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

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

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

/funwarn рабочие

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

gtashnik_schitom

Умник
• Команда /fwarn - Выдать предупреждение игроку | /funwarn - снять предупреждение с игрока . (Для лидеров)
• Когда игрок получает 3 предупреждения , он автоматически будет кикнут/уволен с организации.

_____________________________________________________________________________________________
• Как выглядит от лица лидера /fwarn :


_____________________________________________________________________________________________
• Как выглядит от лица игрока , когда он получает /fwarn :


_____________________________________________________________________________________________
• Как выглядит от лица лидера , когда он дает 3 ий /fwarn :


_____________________________________________________________________________________________
• Как выглядит от лица игрока , когда с него снимают /fwarn :


_____________________________________________________________________________________________
• Как выглядит от лица лидера , когда он снимает /fwarn :


_____________________________________________________________________________________________



~ Сначала добавляем сами команды в : OnPlayerCommandText

PHP:
		if(strcmp(cmd, "/fwarn", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	    	tmp = strtok(cmdtext, idx);
			if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "{b0daf9}•{ffffff} /fwarn [id Игрока/ЧастьИмени] [причина]");
			giveplayerid = ReturnUser(tmp);
			if(PlayerInfo[playerid][pLeader] >= 1)
			{
			    if(IsPlayerConnected(giveplayerid))
			    {
			        if(giveplayerid != INVALID_PLAYER_ID)
			        {
					    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
						GetPlayerName(playerid, sendername, sizeof(sendername));
						new Member;
						new Leader;
						Leader = PlayerInfo[playerid][pLeader];
						Member = PlayerInfo[giveplayerid][pMember];

						if (Leader == Member)
						{

						new length = strlen(cmdtext);
						while ((idx < length) && (cmdtext[idx] <= ' '))
						{
							idx++;
						}
						new offset = idx;
						new result[64];
						while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
						{
							result[idx - offset] = cmdtext[idx];
							idx++;
						}
						result[idx - offset] = EOS;
						if(!strlen(result))
						{
							return SendClientMessage(playerid, COLOR_WHITE, "{b0daf9}•{ffffff} /fwarn [id Игрока/ЧастьИмени] [причина]");
						}
						PlayerInfo[giveplayerid][pFWarns] += 1;
						if(PlayerInfo[giveplayerid][pFWarns] >= 3)
						{
						    new year, month,day;
							getdate(year, month, day);
							format(string, sizeof(string), "[Внимание]{ffffff} Игрок выгнан из организации (3 предупреждения)");
							SendClientMessage(playerid, COLOR_LIGHTRED, string);
                            PlayerInfo[giveplayerid][pFWarns] = 0;
                            gTeam[giveplayerid] = 3;
							PlayerInfo[giveplayerid][pTeam] = 3;
							PlayerInfo[giveplayerid][pMember] = 0;
							PlayerInfo[giveplayerid][pRank] = 0;
							PlayerInfo[giveplayerid][pChar] = 7;
							new rand = random(sizeof(CIV));
							SetSpawnInfo(giveplayerid, gTeam[giveplayerid], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0);
							PlayerInfo[giveplayerid][pModel] = CIV[rand];
							MedicBill[giveplayerid] = 0;
							SpawnPlayer(giveplayerid);
							return true;
						}
						format(string, sizeof(string), "{b0daf9}•{ffffff} Вы выдали предупреждение игроку %s, Причина: %s | {b0daf9}/funwarn{ffffff} чтобы снять предупреждение", giveplayer, (result));
						SendClientMessage(playerid, COLOR_WHITE, string);
						format(string, sizeof(string), "[Внимание]{ffffff} Лидер {b0daf9}%s{ffffff} выдал Вам предупреждение, Причина: {b0daf9}%s", sendername, (result));
						SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
						return true;
                    }
                    else
                    {
                      SendClientMessage(playerid, COLOR_WHITE, "{f9b0b0}x {FFFFFF}Этот игрок не в вашей фракции");
			        }
    	        }
            }
            else
            {
    		  SendClientMessage(playerid, COLOR_WHITE, "{f9b0b0}x {FFFFFF}Игрока нет в сети.");
    		  return true;
    		}
    		}
		}
	}
//===============================================================================================================================================
    if(strcmp(cmd, "/funwarn", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp)) return SendClientMessage(playerid, 0x4169E1FF, "• {FFFFFF}/funwarn [id] [причина]");
            giveplayerid = ReturnUser(tmp);
            if (PlayerInfo[playerid][pLeader] >= 1)
            {
                if(IsPlayerConnected(giveplayerid))
                {
                        if(giveplayerid != INVALID_PLAYER_ID)
                        {
                        	GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                        	GetPlayerName(playerid, sendername, sizeof(sendername));
                        	new Member;
                        	new Leader;
                        	Leader = PlayerInfo[playerid][pLeader];
                        	Member = PlayerInfo[giveplayerid][pMember];
                        	if (Leader == Member)
                        	{
                        		new length = strlen(cmdtext);
                        		while ((idx < length) && (cmdtext[idx] <= ' '))
                        		{
    			                	idx++;
                        		}
                        		new offset = idx;
                        		new result[64];
                        		while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
                        		{
                        		    result[idx - offset] = cmdtext[idx];
                       			    idx++;
                        		}
                        		result[idx - offset] = EOS;
                        		if(!strlen(result)) return SendClientMessage(playerid, COLOR_WHITE, "{b0daf9}• {FFFFFF}/funwarn [id] [причина]");
                        		PlayerInfo[giveplayerid][pFWarns] -= 1;
                        		format(string, sizeof(string), "{b0daf9}•{ffffff} Вы сняли одно предупреждение с %s, Причина: %s", giveplayer, (result));
                        		SendClientMessage(playerid, COLOR_WHITE, string);
                        		format(string, sizeof(string), "[Внимение]{ffffff} Лидер %s снял с Вас одно предупреждение, Причина: %s", sendername, (result));
                        		SendClientMessage(giveplayerid, COLOR_LIGHTRED, string);
                        		return true;
                        	}
                        	else return SendClientMessage(playerid, COLOR_WHITE, "x{f9b0b0} {FFFFFF}Этот игрок не в вашей фракции");
                		}
            	}
            	else
            	{
            		SendClientMessage(playerid, COLOR_WHITE, "{f9b0b0}x {FFFFFF}Игрока нет в сети.");
            	}
            }
        }
        return true;
    }
~ Далее ищем строчку :
PHP:
enum pInfo
- Туда вы должны будете добавить :
PHP:
pFWarns
~ Далее ищем строчку :
PHP:
public OnPlayerRegister(playerid, password[]
- Туда вы должны будете добавить :
PHP:
format(var, 32, "FWarns=%d\n",PlayerInfo[playerid][pFWarns]);fwrite(hFile, var);
~ Далее ищем строчку :
PHP:
public OnPlayerRename(name[],string[],playerid)
- Туда вы должны будете добавить :
PHP:
format(var, 32, "FWarns=%d\n",PlayerInfo[playerid][pFWarns]);fwrite(hFile, var);
~ Далее ищем строчку :
PHP:
public OnPlayerUpdateSG(playerid)
* прошу заметить что строчка у всех разная , может быть у вас будет
PHP:
public OnPlayerUpdate(playerid)
(в общем функция сохранения профиля)

- Туда вы должны будете добавить :
PHP:
format(var, 32, "FWarns=%d\n",PlayerInfo[playerid][pFWarns]);fwrite(hFile, var);

~ Далее ищем строчку :
PHP:
public OnPlayerLogin(playerid,password[])
- Туда вы должны будете добавить :
PHP:
	if( strcmp( key , "FWarns" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pFWarns] = strval( val ); }
(отвечает за загрузку при логине)
_______________________________________________________________________________________________________________________
[!] Сделал сам на своем моде , который будет позже оформлен тут на Pawno-info.ru
~ Всем спасибо за внимание , будут какие вопросы , оставляйте ниже в этой ветке.
_______________________________________________________________________________________________________________________
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу