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

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

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

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

Актуальный /members

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

anonimniy

Компетентный
Суть команды: В /members, для законников и хитманов будет приписана строка - Посажено преступников/Выполнено заказов. Это поможет лидерам вести с-му отчётности. Кто сколько работает и так далее. В общем одна строка из /members выглядит так: Имя_Игрока[ID] | Ранг: 6 | Уровень: 999 | осажено преступников/Выполнено заказов: 999.

Если хитман - пишет второй вариант, если законник - пишет первый вариант.

В enum pInfo

Код:
	pZkKill,
	pZakKill,
В OnPlayerConnect

Код:
PlayerInfo[playerid][pZkKill] = 0; PlayerInfo[playerid][pZakKill] = 0;
В if(newstate == PLAYER_STATE_WASTED)

Код:
PlayerInfo[i][pZakKill] += 1;
В OnPlayerRegister

Код:
				dini_IntSet(string, "ZkKill",PlayerInfo[playerid][pZkKill]);
				dini_IntSet(string, "ZakKill",PlayerInfo[playerid][pZakKill]);
В OnPlayerLogin

Код:
        PlayerInfo[playerid][pZkKill] = dini_Int(string2,"ZkKill");
        PlayerInfo[playerid][pZakKill] = dini_Int(string2,"ZakKill");
Сама команда /members (Без диалога)

Код:
	if(strcmp(cmd,"/members",true)==0)
	{
	    if(IsPlayerConnected(playerid))
	    {
			if(!GetFracID(playerid)) return SendClientMessage(playerid, COLOR_GRAD1, "Вы не состоите во фракции.");
        	SendClientMessage(playerid, COLOR_LIGHTBLUE, "** Члены фракции онлайн **");
        	for(new i; i < GetMaxPlayers(); i++)
        	{
            	if(IsPlayerConnected(i))
            	{
                	GetPlayerName(i, sendername, sizeof(sendername));
                	if(PlayerInfo[playerid][pLeader] == 8 || PlayerInfo[playerid][pMember] == 8)
                	{
                    	format(string, sizeof(string),
                    	"%s[%d] | Ранг: %d | Уровень: %d | Выполнено заказов: %d",
                    	sendername,playerid, PlayerInfo[i][pRank],PlayerInfo[i][pLevel], PlayerInfo[i][pZkKill]);
                    	SendClientMessage(playerid, COLOR_GRAD1, string);
                	}
                	else if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pMember] == 3)
                	{
                    	format(string, sizeof(string),
                    	"%s[%d] | Ранг: %d | Уровень: %d | Посажено преступников: %d",
                    	sendername,playerid, PlayerInfo[i][pRank],PlayerInfo[i][pLevel], PlayerInfo[i][pZakKill]);
                    	SendClientMessage(playerid, COLOR_GRAD1, string);
                	}
                	else
                	{
                    	format(string, sizeof(string),
                    	"%s[%d] | Ранг: %d | Уровень: %d",
                    	sendername,playerid, PlayerInfo[i][pRank],PlayerInfo[i][pLevel]);
                    	SendClientMessage(playerid, COLOR_GRAD1, string);
                	}
	            }
	        }
	    }
	    return 1;
	}
В конец команды /arrest

Код:
PlayerInfo[playerid][pZakKill] += 1;
В функции где у вас хитман убивает жертву, вставляйте:

Код:
PlayerInfo[killerid][pZkKill] += 1;
И в конец мода

Код:
stock GetFracID(playerid)
{
    if(PlayerInfo[playerid][pLeader] >= 1) return PlayerInfo[playerid][pLeader];
    if(PlayerInfo[playerid][pMember] >= 1) return PlayerInfo[playerid][pMember];
    return 0;
}
Если у кого есть варианты по оптимизации - просьба выложить.

Кому понадобилось - не забываем про плюсики.​
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу