Перейти к содержанию
Авторизация  
Zishka

Помогите с командой /setleader

Рекомендуемые сообщения

Zishka

Всем привет :)

Проблема такая. Если игрок введет команду /setleader, без ид то он сможет выдать любому игроку лидерку. У меня в команде /setleader доступна только тем кого я записал в мод, но почему-то всеравно игроки могут писать.

 

А вот и сама команда:

CMD:setleader(playerid, params[])
{
	if(GetString(GetName(playerid), NAME_FULL_ACCESS_1) || GetString(GetName(playerid), NAME_FULL_ACCESS_2) || GetString(GetName(playerid), NAME_FULL_ACCESS_3))
	if(!gAdminLogged[playerid]) return SendClientMessage(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
	else if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /setleader [id игрока]");
	else if(params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotOnline);
	else if(!gPlayerLogged[params[0]]) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotAuthorized);
	else if(IsPlayerInAnyVehicle(params[0])) return SendClientMessage(playerid, COLOR_GREY, "Игрок не должен находиться в транспорте!");
	else if(pInfo[params[0]][pLevel] < 3) return SendClientMessage(playerid, COLOR_GREY, "У игрока нету 3 уровня!");
	else if((pInfo[params[0]][pAdmin] >= ADM_HELPER && pInfo[params[0]][pAdmin] <= ADM_CHIEF) && pInfo[playerid][pAdmin] != ADM_FOUNDER) return SendClientMessage(playerid, COLOR_GREY, "Администратора нельзя ставить на пост лидера!");
	else if(pInfo[playerid][pAdmin] != ADM_FOUNDER && pInfo[params[0]][pAdmin] == ADM_FOUNDER) return SendClientMessage(playerid, COLOR_GREY, "Администратора нельзя ставить на пост лидера!");
	else if(pInfo[params[0]][pTempLeader]) return SendClientMessage(playerid, COLOR_GREY, "Сначала снимите с себя права временного лидера!");
	if(pInfo[params[0]][pLeader])
	{
		LeaveFractionPlayer(params[0]);
		SendMes(playerid, COLOR_BLUE, "Вы сняли %s с должности лидера организации",GetName(params[0]));
		SendMes(params[0], COLOR_BLUE, "Администратор %s снял Вас с должности лидера организации", GetName(playerid));
		SendClientMessage(params[0], COLOR_GREEN, "[Подсказка] {FFFFFF}Местом спавна автоматически назначен вокзал. Изменить место спавна {AFAFAF}/setspawn");
	}
	else
	{
		if(pInfo[params[0]][pLeader] > 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок лидер другой организации!");
		if(pInfo[params[0]][pMember] > 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок не состоит в Вашей организации!");
		stringer[0] = EOS;
		for(new i = 1; i < MAX_FRACTIONS; i++) format(stringer, 1000, "%s№%i - %s\n", stringer, i, Fraction_Name[i]);
		SetPVarInt(playerid, "actplayerid", params[0]);
		ShowPlayerDialog(playerid, dFracMenu, 2, "{FFCC00}Выберите организацию", stringer, "Принять", "Отмена");
	}
	return 1;
}

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


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

Попробуй вот этот код:

 

CMD:setleader(playerid, params[])
{
	if(GetString(GetName(playerid), NAME_FULL_ACCESS_1) || GetString(GetName(playerid), NAME_FULL_ACCESS_2) || GetString(GetName(playerid), NAME_FULL_ACCESS_3))
	{
		if(!gAdminLogged[playerid]) return SendClientMessage(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
		else if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /setleader [id игрока]");
		else if(params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotOnline);
		else if(!gPlayerLogged[params[0]]) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotAuthorized);
		else if(IsPlayerInAnyVehicle(params[0])) return SendClientMessage(playerid, COLOR_GREY, "Игрок не должен находиться в транспорте!");
		else if(pInfo[params[0]][pLevel] < 3) return SendClientMessage(playerid, COLOR_GREY, "У игрока нету 3 уровня!");
		else if((pInfo[params[0]][pAdmin] >= ADM_HELPER && pInfo[params[0]][pAdmin] <= ADM_CHIEF) && pInfo[playerid][pAdmin] != ADM_FOUNDER) return SendClientMessage(playerid, COLOR_GREY, "Администратора нельзя ставить на пост лидера!");
		else if(pInfo[playerid][pAdmin] != ADM_FOUNDER && pInfo[params[0]][pAdmin] == ADM_FOUNDER) return SendClientMessage(playerid, COLOR_GREY, "Администратора нельзя ставить на пост лидера!");
		else if(pInfo[params[0]][pTempLeader]) return SendClientMessage(playerid, COLOR_GREY, "Сначала снимите с себя права временного лидера!");
		if(pInfo[params[0]][pLeader])
		{
			LeaveFractionPlayer(params[0]);
			SendMes(playerid, COLOR_BLUE, "Вы сняли %s с должности лидера организации",GetName(params[0]));
			SendMes(params[0], COLOR_BLUE, "Администратор %s снял Вас с должности лидера организации", GetName(playerid));
			SendClientMessage(params[0], COLOR_GREEN, "[Подсказка] {FFFFFF}Местом спавна автоматически назначен вокзал. Изменить место спавна {AFAFAF}/setspawn");
		}
		else
		{
			if(pInfo[params[0]][pLeader] > 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок лидер другой организации!");
			if(pInfo[params[0]][pMember] > 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок не состоит в Вашей организации!");
			stringer[0] = EOS;
			for(new i = 1; i < MAX_FRACTIONS; i++) format(stringer, 1000, "%s№%i - %s\n", stringer, i, Fraction_Name[i]);
			SetPVarInt(playerid, "actplayerid", params[0]);
			ShowPlayerDialog(playerid, dFracMenu, 2, "{FFCC00}Выберите организацию", stringer, "Принять", "Отмена");
		}
	}
	return 1;
}
Изменено пользователем Demons_Queens
  • Like 1

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


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

  1. if(GetString(GetName(playerid), NAME_FULL_ACCESS_1) || GetString(GetName(playerid), NAME_FULL_ACCESS_2) || GetString(GetName(playerid), NAME_FULL_ACCESS_3))

  2. {

if(!gAdminLogged[playerid]) return SendClientMessage(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);

    else if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /setleader [id игрока]");

    else if(params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotOnline);

    else if(!gPlayerLogged[params[0]]) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotAuthorized);

    else if(IsPlayerInAnyVehicle(params[0])) return SendClientMessage(playerid, COLOR_GREY, "Игрок не должен находиться в транспорте!");

    else if(pInfo[params[0]][pLevel] < 3) return SendClientMessage(playerid, COLOR_GREY, "У игрока нету 3 уровня!");

    else if((pInfo[params[0]][pAdmin] >= ADM_HELPER && pInfo[params[0]][pAdmin] <= ADM_CHIEF) && pInfo[playerid][pAdmin] != ADM_FOUNDER) return SendClientMessage(playerid, COLOR_GREY, "Администратора нельзя ставить на пост лидера!");

    else if(pInfo[playerid][pAdmin] != ADM_FOUNDER && pInfo[params[0]][pAdmin] == ADM_FOUNDER) return SendClientMessage(playerid, COLOR_GREY, "Администратора нельзя ставить на пост лидера!");

    else if(pInfo[params[0]][pTempLeader]) return SendClientMessage(playerid, COLOR_GREY, "Сначала снимите с себя права временного лидера!");

    if(pInfo[params[0]][pLeader])

    {

        LeaveFractionPlayer(params[0]);

        SendMes(playerid, COLOR_BLUE, "Вы сняли %s с должности лидера организации",GetName(params[0]));

        SendMes(params[0], COLOR_BLUE, "Администратор %s снял Вас с должности лидера организации", GetName(playerid));

        SendClientMessage(params[0], COLOR_GREEN, "[Подсказка] {FFFFFF}Местом спавна автоматически назначен вокзал. Изменить место спавна {AFAFAF}/setspawn");

    }

    else

    {

        if(pInfo[params[0]][pLeader] > 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок лидер другой организации!");

        if(pInfo[params[0]][pMember] > 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок не состоит в Вашей организации!");

        stringer[0] = EOS;

        for(new i = 1; i < MAX_FRACTIONS; i++) format(stringer, 1000, "%s№%i - %s\n", stringer, i, Fraction_Name[i]);

        SetPVarInt(playerid, "actplayerid", params[0]);

        ShowPlayerDialog(playerid, dFracMenu, 2, "{FFCC00}Выберите организацию", stringer, "Принять", "Отмена");

    }

}

else return true;

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


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

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

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

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.