Вопросы

Всем привет. Проблема следующая: Имеется команда, для смены скина во фракции. Но как я понял, на 0 ID она не работает ( Пробовал на себя - не работает ).

 

Код:

Спойлер

CMD:setskin(playerid, params[])
{
    if(!pInfo[playerid][pTempLeader])
	{
		if(!IsAbleToInvite(playerid)) return SendClientMessage(playerid, COLOR_GREY, YouCanNot);
	}
	else
	{
	    if(pInfo[playerid][pAdmin] < ADM_ADMIN) return SendClientMessage(playerid, COLOR_GREY, "Данная возможность доступна для администраторов 4 уровня и выше");
	}
    new targetid;
	if(sscanf(params, "d", targetid)) return SendClientMessage(playerid, COLOR_LIGHTGREEN, "[Используйте]: {FFFFFF} /setskin [ ID игрока ]");
	else if(targetid == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotOnline);
	else if(!gPlayerLogged[targetid]) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotAuthorized);
	else if(pInfo[targetid][pMember] == 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок не состоит в организации!");
	else if(pInfo[targetid][pMember] != pInfo[playerid][pMember]) return SendClientMessage(playerid, COLOR_GREY, "Игрок не состоит в Вашей организации!");
    else if(GetPlayerDistanceToPlayer(playerid,targetid) > 5.0 || GetPlayerVirtualWorld(playerid) != GetPlayerVirtualWorld(targetid)) return SendClientMessage(playerid,COLOR_GREY,"Вы далеко друг от друга");
    else if(pInfo[targetid][pRank] > pInfo[playerid][pRank]) return SendClientMessage(playerid, COLOR_GREY, "Ваш ранг недостаточен");
    else if(pInfo[targetid][pAdmin]) return 0;
    SetPVarInt(playerid, "actplayerid", targetid);
	new fractionid = pInfo[playerid][pMember];
    new mes[128];
	for(new i; i < 9; 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);
	}
	ShowPlayerDialog(playerid, dFracMenu+3, 2, "{F37485}Выбор скина", mes, "Принять", "");
	return 1;
}

 

 

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


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

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

  • 0
3 часа назад, HAPKOMAH сказал:

else if(pInfo[targetid][pAdmin]) return 0;

если есть админка, то в таком случае не сработает 

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


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

Что конкретно пишется? Смею предположить, что причиной может быть
else if(pInfo[targetid][pRank]>pInfo[playerid][pRank]) (можно попробовать заменить на >= 

 

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


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

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

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

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