Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Проблема с рангами - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Pawn ]
Проблема с рангами

#1
Пользователь офлайн   saven 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию
Вот часть команды /stats

		new rank[128];
        if (Player[playerid][pRank] == 1 || Player[playerid][pMember] == 2) {rank = "???????";}
        else if (Player[playerid][pRank] == 2 || Player[playerid][pMember] == 2) {rank = "???????";}
        else if (Player[playerid][pRank] == 3 || Player[playerid][pMember] == 2) {rank = "??.???????";}
        else if (Player[playerid][pRank] == 4 || Player[playerid][pMember] == 2) {rank = "???????";}
        else if (Player[playerid][pRank] == 5 || Player[playerid][pMember] == 2) {rank = "??.???????";}
        else if (Player[playerid][pRank] == 6 || Player[playerid][pMember] == 2) {rank = "????????? ??????";}
        else if (Player[playerid][pRank] == 7 || Player[playerid][pMember] == 2) {rank = "??????? ??????";}
        else if (Player[playerid][pRank] == 8 || Player[playerid][pMember] == 2) {rank = "???.????";}
        else if (Player[playerid][pRank] == 9 || Player[playerid][pMember] == 2) {rank = "??? ????????????";}
		
////////////////////////////////////////////////
        GetPlayerName(playerid, name, sizeof(name));
        format(strings,sizeof(strings),"{FFFFFF}???: {EF83C6}%s\n{FFFFFF}Exp: {EF83C6}%d\n{FFFFFF}???????: {EF83C6}%d\n{FFFFFF}?????: {EF83C6}%d\n{FFFFFF}????? ???????: {EF83C6}%d\n{FFFFFF}??????? ???????: {EF83C6}%d\n{FFFFFF}????? ??????: {EF83C6}%s\n{FFFFFF}????: {EF83C6}%s\n{FFFFFF}?????????? ?????????: {EF83C6}(%d/3)",name,exp,lvl,money,adminlvl,wanted,jobs,rank,vigovor);


и вот код giverank


CMD:giverank(playerid, params[])
{
    if (Player[playerid][pLeader])
    if (Player[playerid][pMember] == 2)
    {
    	new PlayerNames[MAX_PLAYER_NAME],pleer,leader[MAX_PLAYER_NAME],rang,string[
128];
		GetPlayerName(pleer,PlayerNames,sizeof(PlayerNames));
		GetPlayerName(pleer,leader,sizeof(leader));
		if (sscanf(params,"ud",pleer,rang))
		return SendClientMessage (playerid, 0xC9C9C9FF, "??????????? /giverank [id] [rank]");
  		format(string,sizeof(string),"??????? ?????? ? ???? %s ??????? ??? ?? %d -? ??????",leader,rang); SendClientMessage (pleer, 0x5CDF34AA, string);
	    Player[pleer][pRank] = rang;
	}
	return 1;
}



Вообщем , при выдачи лидерки у меня должен быть 9-й ранг , тоесть лидера , но в stats показуеться что я лишь курсант .Через giverank выдаю себе еще какойто ранг , всеровно показует что я курсант, в чем может быть проблема?
0

#2
Пользователь офлайн   Bredemar12 

  • Местный
  • Вставить ник
  • Раскрыть информацию
else if (Player[playerid][pRank] == 9 || Player[playerid][pMember] == 2) {rank = "??? ????????????";}


Почему после || у тебя всегда 2? > А, понял.

Сообщение отредактировал Bredemar12: 01 Декабрь 2019 - 14:10

0

#3
Пользователь офлайн   saven 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияBredemar12 (01 Декабрь 2019 - 13:02) писал:

else if (Player[playerid][pRank] == 9 || Player[playerid][pMember] == 2) {rank = "??? ????????????";}


Почему после || у тебя всегда 2?



проверка на ранг и проверка на фракцию , тоесть 2 это счет фракций пд
0

#4
Пользователь офлайн   DeimoS 

  • Evil Scripter
  • Вставить ник
  • Раскрыть информацию
Проблема в том, как построено условие:
if (Player[playerid][pRank] == 1 || Player[playerid][pMember] == 2)

Тут должно быть не "ИЛИ", а "И".

Хотя вообще зачем столько раз сверять фракцию? Почему не сделать так:
if(фракция == 2)
{
    switch(ранг)
    {
         case 1:
         case 2:
         case 3:
}

2

#5
Пользователь офлайн   Bredemar12 

  • Местный
  • Вставить ник
  • Раскрыть информацию
/dell

Сообщение отредактировал Bredemar12: 01 Декабрь 2019 - 14:03

0

#6
Пользователь офлайн   saven 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияDeimoS (01 Декабрь 2019 - 14:00) писал:

Нажмите сюда, чтобы прочитать это сообщение. [Показать]


Спасибо , перепутал , закрыто
0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика