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

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

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

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

/warnmu и /warnmd

Статус
В этой теме нельзя размещать новые ответы.
Здравствуйте, пользователи Pawno-Info.
У меня возникла проблема с командой /warnmu и /warnmd
Итак, в чем суть команды и что с ней не так:
Команда /warnmu дает выговоры членам фракции, если у человека 3 выговора из 3, то его кикает из фракции, команда /warnmd снимает варны.... Проблема заключается в том что:
1) Когда пишешь ID человека которому хочешь дать warn всегда выговор дает тебе и не пишет сколько из скольких, должно писать(1/3, 2/3 , 3/3)
2) Основная проблема в том,что когда ты кикнул человека из фракции он появляется на спавне фракции в которой был причем в скине может быть каком угодно,даже может быть в лидерском А должен появляться на той респе нубов, которую выбирал при регистрации ну или изменил по ходу игры, и скин должен быть тот же что и был до вступления во фракцию.

Вот сами команды:

PHP:
	if(strcmp(cmd, "/warnmu", true) ==0)
	{
		if(IsPlayerConnected(playerid))
		{
			new para1;
		    tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
			    SendClientMessage(playerid,COLOR_GREY,"{33AA33}[Èñïîëüçîâàíèå]{FFFFFF}: /warnmu [Playerid/PartOfName] [Ïðè÷èíà]");
			    return 1;
			}
			para1 = ReturnUser(tmp);
			if(PlayerInfo[playerid][pLeader] == 0) return SendClientMessage(playerid, COLOR_GREY, "{FF0000}[Îøèáêà]{FFFFFF}:Òû íå ëèäåð.");
				if(PlayerInfo[playerid][pLeader] != PlayerInfo[para1][pMember])
				{
				    SendClientMessage(playerid, COLOR_GREY, "{FF0000}[Îøèáêà]{FFFFFF}:Ýòîò èãðîê íå â òâîåé Ôðàêöèè/Îðãàíèçàöèè");
					return 1;
				}
			    GetPlayerName(para1,giveplayer,sizeof(giveplayer));
			    GetPlayerName(playerid,sendername,sizeof(sendername));
				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))
				{
					SendClientMessage(playerid, COLOR_GRAD2, "{33AA33}[Èñïîëüçîâàíèå]{FFFFFF}: /warnmu [Playerid/PartOfName] [ïðè÷èíà]");
					return 1;
				}
				new warnm = PlayerInfo[para1][pWarnms]+1;
				new fam = PlayerInfo[playerid][pLeader];
				PlayerInfo[para1][pWarnms] += 1;
				format(string, sizeof(string),"%s[%d] äàë(à) âûãîâîð %s (%d/3). Ïðè÷èíà: %s",sendername,playerid, giveplayer, warnm,(result));
				SendFamilyMessage(fam, COLOR_LIGHTBLUE,string);
				format(string, sizeof(string),"%s[%d] äàë(à) òåáå âûãîâîð (%d/3). Ïðè÷èíà: %s",sendername,playerid,warnm,(result));
				SendClientMessage(para1, COLOR_LIGHTBLUE,string);
				format(string, sizeof(string),"Òû äàë(à) âûãîâîð %s (%d/3). Ïðè÷èíà: %s", giveplayer,warnm,(result));
				SendClientMessage(playerid, COLOR_LIGHTBLUE,string);
				if(PlayerInfo[para1][pWarnms] >= 3)
				{
                        gTeam[para1] = 3;
                        PlayerInfo[para1][pTeam] = 3;
                        PlayerInfo[para1][pMember] = 0;
                        PlayerInfo[para1][pRank] = 0;
                        PlayerInfo[para1][pChar] = 0;
                        new rand = random(sizeof(CIV));
                        SetSpawnInfo(para1, gTeam[para1], CIV[rand],0.0,0.0,0.0,0,0,0,0,0,0,0);
                        PlayerInfo[para1][pModel] = CIV[rand];
                        SpawnPlayer(para1);
				}
		}
		return 1;
	}
PHP:
	if(strcmp(cmd, "/warnmd", true) ==0)
	{
		new para1;
		if(IsPlayerConnected(playerid))
		{
		    tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
			    SendClientMessage(playerid,COLOR_GREY,"{33AA33}[Èñïîëüçîâàíèå]{FFFFFF}: /warnmd [Playerid/PartOfName]");
			    return 1;
			}
			para1 = ReturnUser(tmp);
			if(PlayerInfo[playerid][pLeader] <= 1) return SendClientMessage(playerid, COLOR_GREY, "Òû íå ëèäåð.");
				if(PlayerInfo[playerid][pLeader] != PlayerInfo[para1][pMember])
				{
				    SendClientMessage(playerid, COLOR_GREY, "Ýòîò èãðîê íå â òâîåé Ôðàêöèè/Îðãàíèçàöèè");
					return 1;
				}
			    GetPlayerName(para1,giveplayer,sizeof(giveplayer));
			    GetPlayerName(playerid,sendername,sizeof(sendername));
				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))
				{
					SendClientMessage(playerid, COLOR_GRAD2, "Èñïîëüçîâàíèå: /warnmd [ÈÄ/×àñòü Íèêà] [ïðè÷èíà]");
					return 1;
				}
				new fam = PlayerInfo[playerid][pLeader];
				PlayerInfo[para1][pWarnms] -= 1;
				format(string, sizeof(string),"%s[%d] ñíÿë(à) âûãîâîð %s (%d/3). Ïðè÷èíà: %s",sendername,playerid, giveplayer,PlayerInfo[para1][pWarnms]+1,(result));
				SendFamilyMessage(fam, COLOR_LIGHTBLUE,string);
				format(string, sizeof(string),"%s[%d] ñíÿë(à) òåáå âûãîâîð (%d/3). Ïðè÷èíà: %s",sendername,playerid,PlayerInfo[para1][pWarnms],(result));
				SendClientMessage(para1, COLOR_LIGHTBLUE,string);
				format(string, sizeof(string),"Òû ñíÿë(à) âûãîâîð %s (%d/3). Ïðè÷èíà: %s", giveplayer,PlayerInfo[para1][pWarnms],(result));
				SendClientMessage(playerid, COLOR_LIGHTBLUE,string);
		}
		return 1;
	}
Эироглефы не буду переводить, особого значения не имеют.
Вообщем кто поможет буду очень сильно благодарен ну и + с меня однозначно!
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу