Вопросы

Баг с командой /changeskin. Можно сменить только на 1 скин и больше не как.

Сама команда:

 

Спойлер

CMD:changeskin(playerid, params[])
{
    if(StartRabWork(playerid) && !GetPVarInt(playerid,"StartRabWork")) return SendClientMessage(playerid,COLOR_WHITE,""cError"Вы не начали рабочий день!");
    switch(PlayerInfo[playerid][pMember])
    {
    case 1,15,16,17: if(PlayerInfo[playerid][pRank] < 14) return SendClientMessage(playerid,COLOR_WHITE,""cError"Вам не доступна данная команда");
    case 2,4,5,10,7: if(PlayerInfo[playerid][pRank] < 9) return SendClientMessage(playerid,COLOR_WHITE, ""cError"Вам недоступна данная команда");
    case 3,11,13,14,9,8: if(PlayerInfo[playerid][pRank] < 9) return SendClientMessage(playerid,COLOR_WHITE,""cError"Вам не доступна данная команда");
    case 6: if(PlayerInfo[playerid][pRank] < 5) return SendClientMessage(playerid,COLOR_WHITE,""cError"Вам не доступна данная команда");
    case 12: if(PlayerInfo[playerid][pRank] < 12) return SendClientMessage(playerid,COLOR_WHITE,""cError"Вам не доступна данная команда");
    default: return SendClientMessage(playerid,COLOR_WHITE,""cError"Вам не доступна данная команда");
    }
    if(sscanf(params,"d",params[0])) return SendClientMessage(playerid, COLOR_WHITE, ""good"Используйте /changeskin [id]");
    if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, COLOR_WHITE, ""cError"Игрок оффлайн!");
    if(PlayerInfo[playerid][pMember] != PlayerInfo[params[0]][pMember]) return SendClientMessage(playerid, COLOR_WHITE, ""cError"Данный игрок не в вашей фракции!");
    new fractionid = PlayerInfo[playerid][pMember]-1;
    new mes[256];
    for(new i;i<20;i++)
    {
        new skinid = ChangeSkin[fractionid];
        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);
    }
    SetPVarInt(playerid,"actinplayerid",params[0]);
    SetPVarInt(params[0], "pOfferFractionid", PlayerInfo[params[0]][pMember]);
    ShowPlayerDialog(playerid,1145,2,PlayerInfo[params[0]][pNames],mes,"Принять","");
    return 1;
}

 

 

Отредактировано пользователем odosenok

Заметка от Cawfee , создано

3.2. Код больше 10 строк брать еще и под спойлер. Как это сделать рассказано в разделе "FAQ"

Устное предупреждение.

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


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

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

  • 0

@Banana Могли-бы вы лучше сформулировать вашу проблему. И возьмите код под цитату.!

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


Ссылка на сообщение
  • 0
1 минуту назад, Nekit_Krut18 сказал:

@Banana Могли-бы вы лучше сформулировать вашу проблему. И возьмите код под цитату.!

Лидер/Зам - могут сменить скин только на 1 а в меню смены их много.

Лидер допустим хочет сменить скин игроку на 102 и там есть 101,102 и тот что выше в меню на нёго меняет а вот на 102 уже не сменит.

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


Ссылка на сообщение
  • 0
46 минут назад, Nekit_Krut18 сказал:

@Banana Могли-бы вы лучше сформулировать вашу проблему. И возьмите код под цитату.!

Всё окей? Если надо ещё скинуть что то скину.

Заметка от Cawfee , создано

3.6. Запрещено поднимать (апать) свою тему чаще, чем 1 раз в 24 часа. 

Устное предупреждение.

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


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

Покажите case 1145 (воспользуйтесь поиском по коду (CTRL + F), либо найдите вручную в функции OnDialogResponse).

Код под спойлер и в тему.

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


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

@20th century  Тут вроде норм, тк скин выдается для гос орг, а для к примеру балласам, неа. Ну скин меняется (видно по поведению персонажа), но остаётся стандартный все время. Хотя в массиве их 4, и в диалог выводятся тоже 4.

 

Спойлер

case 1145:
		{
			if(!response) return DeletePVar(playerid, "actinplayerid");
			new actplayerid = GetPVarInt(playerid,"actinplayerid");
			new fractionid = GetPVarInt(actplayerid, "pOfferFractionid");
			if(PlayerInfo[playerid][pMember] != fractionid) return SendClientMessage(playerid,CGRAY,""cError"#002");
			new skinid = ChangeSkin[fractionid-1][listitem];
			PlayerInfo[actplayerid][pModel] = skinid;
			SetPlayerSkin(actplayerid,PlayerInfo[actplayerid][pModel]);
			UpdatePlayerData(actplayerid,"pModel",PlayerInfo[actplayerid][pModel]);
			SendClientMessagef(actplayerid, CINFO, "Лидер/Заместитель %s сменил вам фракционный скин!",PlayerInfo[playerid][pNames]);
			DeletePVar(actplayerid, "pOfferFractionid");
			DeletePVar(playerid, "actinplayerid");
			return 1;
		}

 

 

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


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

В чем проблема? Код вроде не че?

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


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

"..скин меняется, видно по поведению персонажа.."
По какому поведению?
В итоге проблема в чем: работает только первая строка в диалоге, или смена не работает еще и для банд?

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


Ссылка на сообщение
  • 0
7 часов назад, 20th century сказал:

"..скин меняется, видно по поведению персонажа.."
По какому поведению?
В итоге проблема в чем: работает только первая строка в диалоге, или смена не работает еще и для банд?

Смотри у госс-ников скин меняется а у банд нет. Тип пишет лидер сменил вам скин и не фига

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


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

@Banana , возможно ИД скинов для банд не прописаны, проверь.

 

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


Ссылка на сообщение
  • 0
20 часов назад, Rich_Hen сказал:

@Banana , возможно ИД скинов для банд не прописаны, проверь.

 

Я же сказал выше, что есть массив из 4 скинов, и в диалоге они отображаются.

Отредактировано пользователем Nekit_Krut18
Причина: Подправил.

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


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

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

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

    • От MrNARTI
      всем привет можете пожалуйста подсказать с командой от анти слива /aban
       
      чтобы банило и администратора который использовал эту кмд и адм которого указал в айди. 
    • От MrNARTI
      всем привет.
       
      появился баг раньше не было.
       
      когда захожу должно появляться окно для адм авторизации но почему то перестало.
      так же когда когда ввожу /car  показывает что тс загружен хотя я его не загружал и у меня его вообще нет
       
      кто может помогите:
      тг: aboba_qq