Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 2 из 2
  1. #1
    Аватар для Ne_nub
    Пользователь

    Статус
    Оффлайн
    Регистрация
    28.05.2016
    Сообщений
    74
    Репутация:
    0 ±

    Как в команде /member вывести название ранга текстом, а не цифрой?

    Думаю многие слышали про сервер Stage RolePlay ( не реклама ), хотелось бы реализовать систему /members ( у них это /om ), где был виден ник игрока и полное звание во фракции ( на DIALOG_STYLE_LIST ).

    Команда вообщем вот такая:

    PHP код:
        else if(strcmp(cmd,"/members",true)==0)
        {
            new 
    teamnumber;
            if (
    PlayerInfo[playerid][pLeader] != 0teamnumber PlayerInfo[playerid][pLeader];
            else if (
    PlayerInfo[playerid][pMember] != 0teamnumber PlayerInfo[playerid][pMember];
            else return 
    SendClientMessage(playeridCOLOR_GREY"* Вы нигде не состоите!");
            
    SendClientMessage(playerid0x059BD3AA"Члены организации Online:");
            new 
    countmute 0;
            foreach(
    Player,i)
            {
                if (
    PlayerInfo[i][pMember] == teamnumber && IsPlayerConnected(i) && PlayerInfo[i][pAdmin] < 11)
                {
                    new 
    afktext[50];
                    if(
    GetPVarInt(i"AFK_Time") > 1) { afktext "AFK"; }
                    else if(
    GetPVarInt(i"AFK_Time") <= 5) { afktext "В игре"; }
                    
    format(stringersizeof(stringer), "");
                    
    countmute++;
                    if (
    PlayerInfo[i][pLeader] == teamnumberformat(stringersizeof(stringer), "[%d] %s ранг: Лидер [%s] [%d/3 выг.]{FFFFFF}"iPlayerInfo[i][pNames],afktext,PlayerInfo[playerid][pDonateAdd]); //PlayerInfo[targetid][pRank] == 2)
                    
    else if (PlayerInfo[i][pMember] == teamnumberformat(stringersizeof(stringer), "[%d] %s ранг: %d [%s] [%d/3 выг.]{FFFFFF}"iPlayerInfo[i][pNames], PlayerInfo[i][pRank],afktext,PlayerInfo[playerid][pDonateRankTime]);
                    if (
    strlen(stringer) > 1SendClientMessage(playerid0xC0E1EEFFstringer);
                }
            }
            if(
    countmute == 0SendClientMessage(playeridCOLOR_GREY"* Нет игроков!");
            else 
    SendMes(playeridCOLOR_WHITE"Всего: %d человек"countmute);
        } 
    У меня пишет только ранг цифрой, что не очень отлично. Пробовал создать stock, что-то не очень получилось.

  2. #2
    Аватар для 1lyad
    Пользователь

    Статус
    Оффлайн
    Регистрация
    10.09.2016
    Сообщений
    20
    Репутация:
    1 ±


    Используй DIALOG_STYLE_TABLIST или DIALOG_STYLE_TABLIST_HEADER.
    Делаешь 2 переменные стринга.
    Создаешь цикл, в котором и проверяешь является ли игрок сотрудником организации игрока, который ввёл /members.
    В этом же цикле делаешь проверку на состояние игрока.
    Записываешь во вторую переменную стринга Данные об игроке, "id.\trank\tnickname\tсостояние\n"
    Присоединяешь второй стринг к первому.
    В конце выводишь диалог игроку.

    Да поправят меня более опытные, если я что-то написал не так.

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •