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

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

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

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

/rasform - расформировка фракции

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

ZeRik

Компетентный
Всем привет!

Собственно, данная команда является обновленным, исправленным и дополненным аналогом этой темы - http://pawno-info.ru/showthread.php?t=230897. Я также постарался сохранить исходные значения (как во всех модах с основой RLS), дабы не возникало проблем при адаптации команды под свой мод.

ВАЖНО:
  • Команда написана под любой современный командный процессор + sscanf;
  • Используются MySQL R40+ (что бы перевести на R39 и ниже, достаточно изменить две строчки);
  • При использовании foreach - он будет задействован, при отсутствии редактировать код не придется;
  • Отмеченные "//" в команде строчки необходимо изменить под себя.

PHP:
#define TABLE_ACCOUNT	"accounts"
#define publics: %0(%1)	forward %0(%1); public %0(%1)

CMD:rasform(playerid, params[])
{
	if(PlayerInfo[playerid][pAdmin] < 6) return true; //
	if(sscanf(params, "d", params[0])) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /rasform [ID фракции]");
	if(params[0] <= 0) return SendClientMessage(playerid, COLOR_WHITE, "Недопустимое значение.");
	
	new mysql_query[60];
	format(mysql_query, sizeof(mysql_query), "SELECT 1 FROM `"TABLE_ACCOUNT"` WHERE `pMember` = '%d'", params[0]); //
	mysql_tquery(connects, mysql_query, "Rasform", "dd", playerid, params[0]);
	
	return true;
}


publics: Rasform(playerid, member)
{
    new rows;
    cache_get_row_count(rows);
    if(!rows) return SendClientMessage(playerid, COLOR_WHITE, "Указанная Вами фракция не найдена.");
    
    #if defined foreach
    foreach (new i : Player) {
    #else
    for (new i = GetPlayerPoolSize(); i != -1; i--) {
    #endif
        if(PlayerInfo[i][pMember] != member) continue; //
        SendClientMessage(i, COLOR_WHITE, "Ваша организация расформирована администрацией.");
        PlayerInfo[i][pMember] = 0; //
        PlayerInfo[i][pLeader] = 0; //
        PlayerInfo[i][pRank] = 0; //
        SetPlayerSkinEx(i, PlayerInfo[i][pChar]); //
  	SetPlayerArmour(i, 0); //
        SetPlayerHealthAC(i, 100); //
	ResetWeapons(i); //
    	SetPlayerToTeamColor(i); //
    }
    
    new mysql_query[100];
    format(mysql_query, sizeof(mysql_query), "UPDATE `"TABLE_ACCOUNT"` SET `pMember` = '0', `pLeader` = '0', `pRank` = '0' WHERE `pMember` = '%d'", member); //
	mysql_tquery(connects, mysql_query, "", "");
	
	format(mysql_query, sizeof(mysql_query), "Администратор: %s расформировал организацию №%d",PlayerInfo[playerid][pNames], member);
    SendClientMessageToAll(COLOR_LIGHTRED, mysql_query);
    
    return true;
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу