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

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

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

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

/invite

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

Olya_Lawrence

Новичок
Сегодня я покажу вам как зделать небагнутую /invite advance
Я покажу два способа добавления команды
Ко всем new добавляем
PHP:
new pInvite[MAX_PLAYERS];
Дальше идем в паблик public OnPlayerConnect(playerid)
И добавляем
PHP:
pInvite[playerid] = 999;
Находим команду /invite
В начало команды добавляем
PHP:
new ftext[256];
После списка фракций заменим все на
PHP:
SetPlayerToTeamColor(para1);
format(stringer, sizeof(stringer), "{0f8cfd}%s предлагает Вам вступить в организацию %s", PlayerInfo[playerid][pNames], ftext);
SCM(para1, COLOR_WHITE, stringer);
SCM(para1, 0x6495EDFF, "{FFFFFF}Нажмите {03c03c}Y {FFFFFF}чтобы согласиться или {ff7518}N {FFFFFF}для отказа");
format(stringer, sizeof(stringer), "{0f8cfd}Вы предложили %s вступить в подразделение %s", PlayerInfo[para1][pNames],ftext);
SCM(playerid, COLOR_WHITE, stringer);
pInvite[para1] = playerid;
PlayerInfo[playerid][pJob] = 0;
SetPVarInt(para1,"KEY_YES",1);}else{SCM(playerid, RIFA_COLOR, "Этот игрок состоит во фракции!");return true;}}}}else{SCM(playerid, COLOR_GRAD1, "Вам недоступна данная Команда");}}else{SendClientMessage(playerid, COLOR_GRAD1, "{F70000}x {ADAEAD}Недоступно!");}return true;}
Дальше идем в паблик public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
И добавляем
PHP:
if(newkeys == KEY_YES)
        {
			if(pInvite[playerid] < 999)
			{
				if(IsPlayerConnected(pInvite[playerid]))
				{
					if (PlayerInfo[playerid][pMember] == 0)
					{
						if(PlayerInfo[pInvite[playerid]][pMember] == 1) { SetPlayerSkin(playerid, 266); }//Номер фракции и ид скина
						else if(PlayerInfo[pInvite[playerid]][pMember] == 2) { SetPlayerSkin(playerid, 286); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 3) { SetPlayerSkin(playerid, 287); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 4) { SetPlayerSkin(playerid, 274); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 5) { SetPlayerSkin(playerid, 124); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 6) { SetPlayerSkin(playerid, 123); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 7) { SetPlayerSkin(playerid, 98); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 8) { SetPlayerSkin(playerid, 296); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 9) { SetPlayerSkin(playerid, 250); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 10) { SetPlayerSkin(playerid, 266); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 11) { SetPlayerSkin(playerid, 265); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 12) { SetPlayerSkin(playerid, 103); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 13) { SetPlayerSkin(playerid, 108); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 14) { SetPlayerSkin(playerid, 127); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 15) { SetPlayerSkin(playerid, 106); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 16) { SetPlayerSkin(playerid, 250); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 17) { SetPlayerSkin(playerid, 114); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 18) { SetPlayerSkin(playerid, 175); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 19) { SetPlayerSkin(playerid, 287); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 20) { SetPlayerSkin(playerid, 103); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 21) { SetPlayerSkin(playerid, 266); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 22) { SetPlayerSkin(playerid, 114); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 23) { SetPlayerSkin(playerid, 170); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 24) { SetPlayerSkin(playerid, 273); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 25) { SetPlayerSkin(playerid, 285); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 26) { SetPlayerSkin(playerid, 121); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 27) { SetPlayerSkin(playerid, 175); }
						else if(PlayerInfo[pInvite[playerid]][pMember] == 28) { SetPlayerSkin(playerid, 107); }
						PlayerInfo[playerid][pMember] = PlayerInfo[pInvite[playerid]][pMember];
						PlayerInfo[playerid][pRank] = 1;
						PlayerInfo[playerid][pModel] = GetPlayerSkin(playerid);//pModel замениь на свое если другое
						SetPlayerToTeamColor(playerid);//Цвета
						new str[64];
						new sendername[256];
						GetPlayerName(playerid, sendername, sizeof(sendername));
			         	        format(str,sizeof(str),"{3399FF}%s принял ваше приглашение!",sendername);
						SCM(pInvite[playerid], COLOR_WHITE, str);
						SCM(playerid, -1, "{009900}Поздравляем!Вы вступили в организацию");
						SCM(playerid, -2, "{3366FF}Используйте {FFCC33} /menu > команды сервера{3366FF},чтобы узнать о новых возможностях");
						pInvite[playerid] = 999;
						SetPVarInt(playerid,"KEY_YES",0);
						return true;
					}
					else
					{
						SCM(playerid, COLOR_GREY, "Вы состоите во фракции");
						return true;
					}
				}
				return true;
			}
			else
			{
				return true;
			}
		}
        if(newkeys == 131072){ if(GetPVarInt(playerid,"KEY_NO") == 1) { new sendername[200]; SetPVarInt(playerid,"KEY_NO",0),pInvite[playerid] = 999, SCM(playerid, -1, "Ты отказался от вступления во фракцию"); new str[64];  GetPlayerName(pInvite[playerid], sendername, sizeof(sendername)) , format(str,sizeof(str),"%s отказался от вступления во фракцию!",sendername),SCM(pInvite[playerid], COLOR_WHITE, str); } }
        if(newkeys == KEY_NO)
        {
        if(InviteMSG[playerid] == true)
        {
        InviteMSG[playerid] = false;
        SendClientMessage(playerid,COLOR_WHITE,"Вы отказались");
        }
        }
Вот и все типерь показываю как выглядит сама команда если кому то непонятно
PHP:
if(strcmp(cmd, "/invite", true) == 0){
		if(IsPlayerConnected(playerid)){
			tmp = strcharsplit(cmdtext, idx);
			new x_job[64];
			x_job = strcharsplit(cmdtext, idx);
			if(!strlen(tmp)){SCM(playerid, RIFA_COLOR, "Используйте: /invite [id]");return 1;}
			new para1;
			new ftext[256];
			para1 = ReturnUser(tmp);
			if (PlayerInfo[playerid][pLeader] >= 1 || PlayerInfo[playerid][pRank] >= 9){
				if(IsPlayerConnected(para1)){
					if(para1 != INVALID_PLAYER_ID){
						if(PlayerInfo[para1][pWarns] >= 1) return SendClientMessage(playerid, COLOR_GRAD1,"{F70000}x {ADAEAD}У игрока одно(или более) предупреждение");
						if (PlayerInfo[para1][pMember] == 0){
							if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pRank] >= 14 && PlayerInfo[playerid][pMember] == 1) {  ftext = "''Министерство внутренних дел'' , подразделение ""''Полиция Лос Сантос''";  }
							else if(PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pRank] >= 9 && PlayerInfo[playerid][pMember] == 2) {  ftext = "''Министерство внутренних дел'' , подразделение ""''Федеральное бюро расследований''"; }
							else if(PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pRank] >= 14 && PlayerInfo[playerid][pMember] == 3) {  ftext = "''Министерство обороны'' , подразделение ""''Военно-морской флот''"; }
							else if(PlayerInfo[playerid][pLeader] == 4 || PlayerInfo[playerid][pRank] >= 9 && PlayerInfo[playerid][pMember] == 4) {  ftext = "''Министерство здравоохранения'', подразделение ""''Больница Лос Сантос''"; }
							else if(PlayerInfo[playerid][pLeader] == 5 || PlayerInfo[playerid][pRank] >= 9 && PlayerInfo[playerid][pMember] == 5) {  ftext = "La Cosa Nostra";} //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 6 || PlayerInfo[playerid][pRank] >= 9 && PlayerInfo[playerid][pMember] == 6) {  ftext = "Yakuza"; } //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 7 || PlayerInfo[playerid][pRank] >= 5 && PlayerInfo[playerid][pMember] == 7) {  ftext = "''Правительство'' , подразделение ""''Мэрия Лос Сантос''";} //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 8 || PlayerInfo[playerid][pRank] >= 4 && PlayerInfo[playerid][pMember] == 8) {  ftext = "Казино";} //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 9 || PlayerInfo[playerid][pRank] >= 9 && PlayerInfo[playerid][pMember] == 9) {  ftext = "ТВ и Радио, подразделение ""Радиоцентр СФ";} //FBI/ATF PlayerInfo[para1][pSkin] = 165; otext = "Министр Внутренних Дел"; } //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 10 || PlayerInfo[playerid][pRank] >= 14 && PlayerInfo[playerid][pMember] == 10) {  ftext = "''Министерство внутренних дел'' , подразделение ""''Полиция Сан Фиерро''";} //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 11 || PlayerInfo[playerid][pRank] >= 9 && PlayerInfo[playerid][pMember] == 11) {  ftext = "''Правительство'' , подразделение ""''Лицензеры''";} //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 12 || PlayerInfo[playerid][pRank] >= 9 && PlayerInfo[playerid][pMember] == 12) {  ftext = "The Ballas Gang"; } //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 13 || PlayerInfo[playerid][pRank] >= 9 && PlayerInfo[playerid][pMember] == 13) {  ftext = "Los Santos Vagos"; } //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 14 || PlayerInfo[playerid][pRank] >= 9 && PlayerInfo[playerid][pMember] == 14) {  ftext = "Русская Мафия"; } //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 15 || PlayerInfo[playerid][pRank] >= 9 && PlayerInfo[playerid][pMember] == 15) {  ftext = "Grove Street";} //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 16 || PlayerInfo[playerid][pRank] >= 12 && PlayerInfo[playerid][pMember] == 16) {  ftext = "ТВ и Радио, подразделение ""Радиоцентр СФ";} //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 17 || PlayerInfo[playerid][pRank] >= 9 && PlayerInfo[playerid][pMember] == 17) {  ftext = "Varioz Los Aztecas";} //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 18 || PlayerInfo[playerid][pRank] >= 9 && PlayerInfo[playerid][pMember] == 18) {  ftext = "The Rifa Gang";} //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 19 || PlayerInfo[playerid][pRank] >= 14 && PlayerInfo[playerid][pMember] == 19) {  ftext = "''Министерство обороны'' , подразделение ""''Cухопутные войска''";} //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 20 || PlayerInfo[playerid][pRank] >= 14 && PlayerInfo[playerid][pMember] == 20) {  ftext = "The Ballas Gang";} //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 21 || PlayerInfo[playerid][pRank] >= 14 && PlayerInfo[playerid][pMember] == 21) {  ftext = "''Министерство внутренних дел'' , подразделение ""''Полиция Лас Вентурас''";} //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 22 || PlayerInfo[playerid][pRank] >= 9 && PlayerInfo[playerid][pMember] == 22) {  ftext = "Varioz Los Aztecas"; } //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 23 || PlayerInfo[playerid][pRank] >= 11 && PlayerInfo[playerid][pMember] == 23) {  ftext = "The Hitmans"; } //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 24 || PlayerInfo[playerid][pRank] >= 9 && PlayerInfo[playerid][pMember] == 24) {  ftext = "STREETRASERS"; } //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 25 || PlayerInfo[playerid][pRank] >= 9 && PlayerInfo[playerid][pMember] == 25) {  ftext = "''Министерство обороны'' , подразделение ""''SWAT!!";} //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 26 || PlayerInfo[playerid][pRank] >= 9 && PlayerInfo[playerid][pMember] == 26) {  ftext = "''Правительство'' , подразделение ""''Администрация Президента''";} //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 27 || PlayerInfo[playerid][pRank] >= 9 && PlayerInfo[playerid][pMember] == 27) { ftext = "The Crips Gang";} //FBI/ATF PlayerInfo[para1][pSkin] = 187; otext = "Мин Здравоохранения; } //FBI/ATF
							else if(PlayerInfo[playerid][pLeader] == 28 || PlayerInfo[playerid][pRank] >= 9 && PlayerInfo[playerid][pMember] == 28) { ftext = "The MS-13 Gang";} //FBI/ATF
							SetPlayerToTeamColor(para1);
							format(stringer, sizeof(stringer), "{0f8cfd}%s предлагает Вам вступить в организацию %s", PlayerInfo[playerid][pNames], ftext);
							SCM(para1, COLOR_WHITE, stringer);
							SCM(para1, 0x6495EDFF, "{FFFFFF}Нажмите {03c03c}Y {FFFFFF}чтобы согласиться или {ff7518}N {FFFFFF}для отказа");
							format(stringer, sizeof(stringer), "{0f8cfd}Вы предложили %s вступить в подразделение %s", PlayerInfo[para1][pNames],ftext);
							SCM(playerid, COLOR_WHITE, stringer);
							pInvite[para1] = playerid;
							PlayerInfo[playerid][pJob] = 0;
							SetPVarInt(para1,"KEY_YES",1);}else{SCM(playerid, RIFA_COLOR, "Этот игрок состоит во фракции!");return true;}}}}else{SCM(playerid, COLOR_GRAD1, "Вам недоступна данная Команда");}}else{SendClientMessage(playerid, COLOR_GRAD1, "{F70000}x {ADAEAD}Недоступно!");}return true;}
У кого /invite Написана не так то вам нужно просто заменить
PHP:
InviteOffer[para1] = PlayerInfo[playerid][pMember];
							format(string, sizeof(string), "Вы пригласили %s присоеденится к %s.", giveplayer,ftext);
							SendClientMessage(playerid, COLOR_BLUE, string);
							format(invite,sizeof(invite), "%s приглашает Вас присоедениться к %s\n- Вы согласны?", sendername,ftext);
						   	ShowPlayerDialog(para1,76,DIALOG_STYLE_MSGBOX,"Приглашение",invite, "Да", "Нет");}}}
На вот это
PHP:
format(stringer, sizeof(stringer), "{0f8cfd}%s предлагает Вам вступить в организацию %s", PlayerInfo[playerid][pNames], ftext);
SCM(para1, COLOR_WHITE, stringer);
SCM(para1, 0x6495EDFF, "{FFFFFF}Нажмите {03c03c}Y {FFFFFF}чтобы согласиться или {ff7518}N {FFFFFF}для отказа");
format(stringer, sizeof(stringer), "{0f8cfd}Вы предложили %s вступить в подразделение %s", PlayerInfo[para1][pNames],ftext);
SCM(playerid, COLOR_WHITE, stringer);
pInvite[para1] = playerid;
PlayerInfo[playerid][pJob] = 0;
SetPVarInt(para1,"KEY_YES",1);}else{SCM(playerid, RIFA_COLOR, "Этот игрок состоит во фракции!");return true;}}}}else{SCM(playerid, COLOR_GRAD1, "Вам недоступна данная Команда");}}else{SendClientMessage(playerid, COLOR_GRAD1, "{F70000}x {ADAEAD}Недоступно!");}return true;}
Все команда готова!
От плюсиков неоткажусь
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу