Вопросы

когда пишешь invite id приходит предложение во вступление во фракцию, после лидер выбирает скин, и игрок не принимается во фракцию как исправить?

 

Спойлер

CMD:invite(playerid, params[])
{
	if(!IsAbleToInvite(playerid)) return SCM(playerid, COLOR_GREY, YouCanNot);
	new targetid;
	if(sscanf(params, "u", targetid)) return SCM(playerid, COLOR_WHITE, "• {66CC00}[ Подсказка ] {ffffff}Введите: /invite [id игрока]");
	else if(!IsPlayerConnected(targetid)) return SCM(playerid, COLOR_GREY, PlayerIsNotOnline);
	else if(PlayerLogged[targetid] == false) return SCM(playerid, COLOR_GREY, PlayerIsNotAuthorized);
	else if(PI[targetid][pLeader] > 0) return SCM(playerid, COLOR_GREY, "Игрок лидер другой организации!");
	else if(PI[targetid][pMember] > 0) return SCM(playerid, COLOR_GREY, "Игрок находиться в другой организации!");
	else if(PI[targetid][pWarn] > 0) return SCM(playerid, COLOR_GREY, "У игрока предупреждение!");
	else if(IsPlayerInAnyVehicle(targetid)) return SCM(playerid, COLOR_GREY, "Игрок не должен находиться в транспорте!");
	else if(!IsPlayerInRangeOfPlayer(8.0, playerid, targetid)) return SCM(playerid, COLOR_GREY, "Игрок слишком далеко!");
	else if(PI[playerid][pMember] != TEAM_ARMIYA && PI[targetid][pLevel] < 3) return SCM(playerid, COLOR_GREY, "У игрока нет 3 уровня!");
	else if(IsACop(playerid) && !PI[targetid][pVoennik]) return SCM(playerid, COLOR_GREY, "У игрока нет военного билета!");
	
	new string[256];
	SendMes(playerid,COLOR_BLUE,"Вы предложили %s присоединиться в вашу организацию",GetName(targetid));
	format(string,sizeof(string),"%s %s предлагает вам присоединиться к \"%s\"\n\nВы согласны?",Fraction_Rang(PI[playerid][pMember],PI[playerid][pRank]), GetName(playerid), Fraction_Name[PI[playerid][pMember]]);
	ShowPlayerDialog(targetid, D_INVITEFRAC, 0, "{ffa500}Вступление во фракцию",string,"Да","Нет");
	SetPVarInt(targetid, "offerfractionid", PI[playerid][pMember]);
	SetPVarInt(targetid, "offerplayer", playerid);
	SetPVarInt(playerid, "actplayerid", params[0]);
			
	return 1;
}
                                                                             
                                                                             
                                                                             
                                                                             
                                                                             
                                                                             
                                                                             
case D_INVITEFRAC:
		{
		    if(!response)
			{
			    DeletePVar(playerid, "offerplayer");
				DeletePVar(playerid, "offerfractionid");
			    return 1;
			}
			new fractionid = GetPVarInt(playerid, "offerfractionid");
			new offer = GetPVarInt(playerid, "offerplayer");
			new mes[128];
			for(new i; i < 8; i++)
			{
				new skinid = Fraction_Skin[fractionid][i];
				if(!skinid) break;
				if(!i) format(mes, sizeof(mes), "Скин %d [%d]", i+1, skinid);
				else format(mes, sizeof(mes), "%s\nСкин %d [%d]", mes, i+1, skinid);
			}
			SCM(playerid, COLOR_BLUE, "Ждите, пока лидер выберет одежду для Вас");
			ShowPlayerDialog(offer, D_INVITESKIN, 2, "{ffa500}Выбор скина", mes, "Принять", "");
		}
		case D_INVITESKIN:
	    {
	        if(!response) return 1;
	        new actplayerid = GetPVarInt(playerid, "actplayerid");
			new fractionid = GetPVarInt(actplayerid, "offerfractionid");
			new skinid = Fraction_Skin[fractionid][listitem];
			PI[actplayerid][pMember] = fractionid;
			PI[actplayerid][pRank] = 1;
			PI[actplayerid][pMemberSkin] = skinid;
			SetPlayerSkin(actplayerid, skinid);
			PI[actplayerid][pJob] = 0;
			SetPlayerColorEx(actplayerid, TeamColors[GetTeamID(actplayerid)]);
			ResetPlayerWeaponsAC(actplayerid);
			new string[256];
			format(string, sizeof(string), "[F] %s %s[%d] принял в организацию %s[%d]",Fraction_Rang(PI[playerid][pMember],PI[playerid][pRank]),PI[playerid][pName],playerid,PI[actplayerid][pName],actplayerid);
		    SendFMes(PI[playerid][pMember], COLOR_YELLOW2, string);
		    SendMes(actplayerid, COLOR_BLUE, "Вы присоединились к организации \"%s\"", Fraction_Name[fractionid]);
			SendMes(playerid, COLOR_BLUE, "%s принял предложение присоединиться к \"%s\"", GetName(actplayerid), Fraction_Name[fractionid]);
		}                                                                             
                                                                             
                                                                             
                                                                             
                                                                             
                                                                             
                                                                             

 

 

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


Ссылка на сообщение

4 ответа на этот вопрос

  • 0

Поиском пользуйтесь, господа. 

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


Ссылка на сообщение
  • 0

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


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

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

  • Похожий контент

    • Артём Профиков
      От Артём Профиков
      У меня есть система подсказок вот так она выглядет
      ShowNotification(playerid, тип, "текст", время, "команда через /", "текст кнопки");
      Только есть вопрос как сделать так чтоб она активировалась в определенном радиусе? Заранее спасибо