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

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

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

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

[Помощь] Система банд. Команда "Выгнать из банды"

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

Va[D]im

Умник
Всем привет. Такая проблема. Была система банд, кто хотел тот и вступал. Я решил переделать. Сделал систему по инвайтам. Диалогом добровольный выход из банды работает.
Код:
if(dialogid==30)//меню вступления в банды
	{
		if(response)
		{
			new nameNew[255];
			new inv;
			GetPlayerName(playerid,nameNew,sizeof(nameNew));
			if(gang[playerid]>0) strdel(nameNew,0,3);
			switch(listitem)
			{
			case 0:
				{
				    inv = 1;
				    if(inv == tgang[playerid]|| gladm[playerid] == 1 || glgang[playerid] == 1)
					{
						bank[playerid]-=3000;
						SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Теперь ты в банде 'Ночные Дьяволы', и на карте видишь только своих!");
						gang[playerid]=1;
						saved[playerid]=0;
						strins(nameNew,"ND_",0,sizeof(nameNew));
						if(gang[playerid]>0&&GaiRab[playerid]>0) GaiRab[playerid]=0;
						SetPlayerName(playerid,nameNew);
						SetPlayerColor(playerid, COLOR_1);
					}
					else SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Нет приглашения");
				}
			case 1:
				{
					inv = 2;
				    if(inv == tgang[playerid] || gladm[playerid] == 1|| glgang[playerid] == 2)
					{
						bank[playerid]-=3000;
						SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Теперь ты в банде 'Hell Riders', и на карте видишь только своих!");
						gang[playerid]=2;
						saved[playerid]=0;
						strins(nameNew,"HR_",0,sizeof(nameNew));
						if(gang[playerid]>0&&GaiRab[playerid]>0) GaiRab[playerid]=0;
						SetPlayerName(playerid,nameNew);
						SetPlayerColor(playerid, COLOR_2);
					}
					else SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Нет приглашения");
				}
			case 2:
				{
				    inv = 3;
				    if(inv == tgang[playerid]|| gladm[playerid] == 1|| glgang[playerid] == 3)
					{
						bank[playerid]-=3000;
						SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Теперь ты в банде 'Mad Killers', и на карте видишь только своих!");
						gang[playerid]=3;
						saved[playerid]=0;
						strins(nameNew,"MK_",0,sizeof(nameNew));
						if(gang[playerid]>0&&GaiRab[playerid]>0) GaiRab[playerid]=0;
						SetPlayerName(playerid,nameNew);
						SetPlayerColor(playerid, COLOR_3);
					}
					else SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Нет приглашения");
				}
			case 3:
				{
                    inv = 4;
				    if(inv == tgang[playerid]|| gladm[playerid] == 1|| glgang[playerid] == 4)
					{
						bank[playerid]-=3000;
						SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Теперь ты в банде 'Русская мафия', и на карте видишь только своих!");
						gang[playerid]=4;
						saved[playerid]=0;
						strins(nameNew,"Ru_",0,sizeof(nameNew));
						if(gang[playerid]>0&&GaiRab[playerid]>0) GaiRab[playerid]=0;
						SetPlayerName(playerid,nameNew);
						SetPlayerColor(playerid, COLOR_4);
					}
					else SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Нет приглашения");
				}
			case 4:
				{
				    inv = 5;
				    if(inv == tgang[playerid]|| gladm[playerid] == 1|| glgang[playerid] == 5)
					{
						bank[playerid]-=3000;
						SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Теперь ты в банде 'Рейсеры', и на карте видишь только своих!");
						gang[playerid]=5;
						saved[playerid]=0;
						strins(nameNew,"Rc_",0,sizeof(nameNew));
						if(gang[playerid]>0&&GaiRab[playerid]>0) GaiRab[playerid]=0;
						SetPlayerName(playerid,nameNew);
						SetPlayerColor(playerid, COLOR_5);
					}
					else SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Нет приглашения");
				}
			case 5:
				{
				    inv = 6;
				    if(inv == tgang[playerid]|| gladm[playerid] == 1|| glgang[playerid] == 6)
					{
						bank[playerid]-=3000;
						SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Теперь ты в банде 'Якудза', и на карте видишь только своих!");
						gang[playerid]=6;
						saved[playerid]=0;
						strins(nameNew,"Ya_",0,sizeof(nameNew));
						if(gang[playerid]>0&&GaiRab[playerid]>0) GaiRab[playerid]=0;
						SetPlayerName(playerid,nameNew);
						SetPlayerColor(playerid, COLOR_6);
					}
					else SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Нет приглашения");
				}
			case 6:
				{
					gang[playerid]=0;
					bank[playerid]-=3000;
					SendClientMessage(playerid, COLOR_BROWN, "*Банда*: Ты теперь не в банде!");
					if(gang[playerid]>0&&GaiRab[playerid]>0) GaiRab[playerid]=0;
					if(glgang[playerid]>0) glgang[playerid]=0;
					SetPlayerName(playerid,nameNew);
					SetPlayerColor(playerid, playerColors[playerid]);
					tgang[playerid]=0;
				}
			}
		}
		else
		{
			OnDialog[playerid]=1;
			ShowPlayerDialog(playerid,29,DIALOG_STYLE_LIST,"Возможности у бандита:","Кража и перегон тачек\r\nКурьерская доставка товара\r\nНаемник\r\nПокончить с заданием\r\nКупить уровень\r\nВидеть бандита со спутника (возможно видеть только одного)\r\nПомощь по бандам\r\nЗащитить лимузины (только для воров и на одну ночь)","Да","Выход");//Вступить или выйти из банды
		}
	}
Сделал команду "Выгнать из банды", то есть глава банды может выгнать любого из своей банды, она работает но ник остаётся с приставкой банды например Rc_
PHP:
if(strcmp(cmd, "/gangoff", true) == 0 && (glgang[playerid]>0 || gladm[playerid] == 1))
	{   new nameNew[255];
		
		if(gang[playerid]>0) strdel(nameNew,0,3);
		new gangoffID;
		GetPlayerName(gangoffID,nameNew,sizeof(nameNew));
		new tmp[255];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid,COLOR_WHITE," Èñïîëüçîâàíèå: /gangoff ID");
			return true;
		}
		else
		{
			gangoffID=strval(tmp);
			if(!IsPlayerConnected(gangoffID))
			{
				SendClientMessage(playerid,COLOR_WHITE," Íåâåðíûé ID.");
			}
			else
			{
				
				if (glgang[playerid] == gang[gangoffID])
				{
					gang[gangoffID]=0;
					SendClientMessage(playerid, COLOR_LIGHTRED, "Âûïîëíåíî");
					SendClientMessage(gangoffID, COLOR_BROWN, "*Áàíäà*: Òåáÿ âûãíàëè èç áàíäû!");
					if(gang[gangoffID]>0&&GaiRab[gangoffID]>0) GaiRab[gangoffID]=0;
					if(glgang[gangoffID]>0) glgang[gangoffID]=0;
					SetPlayerName(gangoffID,nameNew);
					SetPlayerColor(gangoffID, playerColors[gangoffID]);
					tgang[gangoffID]=0;
				}
			}
		}
		return true;
	}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу