Question

Добрый вечер! Такая проблема что место римских цифр иероглифы ... что я не правильно сделал помогите исправить
скрин: Скрин ошибки
 

Спойлер

#define GetTeamRank(%0,%1)                              rank_drumm[%0-1][%1-1]
//////
static const rank_drumm[MAX_FRACTION][MAX_RANG][] = {
    {"I""II""III""IV","","","","","","","",""},
        {"I""II""III""IV","","","","","","","",""}

        Вот сама статистика игрока

        stock ShowPlayerStats(playerid, to_player = -1)
{
    if(to_player < 0)
        to_player = playerid;

    new fmt_str[1024];
        //rank_drumm[3] = "—";

    if(1 <= GetPlayerTeamEx(playerid) <= 12)
    format
    (
        fmt_str, sizeof fmt_str,
        "{FFFFFF}Имя:\t\t\t\t{ff6f00}%s\n"\
        "{FFFFFF}Номер аккаунта:\t\t%d\n"\
        "{FFFFFF}Уровень:\t\t\t%d\n"\
        "Очки опыта:\t\t\t%d из %d\n"\
        "Номер телефона:\t\t%d\n"\
        "На счету телефона:\t\t%d руб\n"\
        "Законопослушность:\t\t%d\n"\
        "Уровень розыска:\t\t%d\n"\
        "Уровень улучшений:\t\t%d\n"\
        "Сила:\t\t\t\t%d\n"\
        "Наркотики:\t\t\t%d\n"\
        "Патроны:\t\t\t%d\n"\
        "Металл:\t\t\t%d\n"\
        "Пол:\t\t\t\t%s\n"\
        "%s:\t\t\t%s\n\n"\
        "%s"\
        "Должность:\t\t\t%s\n"\
        "Ранг:\t\t\t\t%s\n\n"\
        "Проживание:\t\t\t%s\n"\
        "Предприятия:\t\t\t%s\n",
        GetPlayerNameEx(playerid),
        GetPlayerAccountID(playerid),
        GetPlayerLevel(playerid),
        GetPlayerExp(playerid),
        GetExpToNextLevel(playerid),
        GetPlayerPhone(playerid),
        GetPlayerData(playerid, P_PHONE_BALANCE),
        GetPlayerData(playerid, P_LAW_ABIDING),
        GetPlayerSuspect(playerid),
        GetPlayerData(playerid, P_IMPROVEMENTS),
        GetPlayerData(playerid, P_POWER),
        GetPlayerData(playerid, P_DRUGS),
        GetPlayerData(playerid, P_AMMO),
        GetPlayerData(playerid, P_METALL),
        GetPlayerSexName(playerid),
        GetPlayerSex(playerid) ? ("Помолвлена") : ("Помолвлен"),
        GetPlayerData(playerid, P_WIFE_NAME),
        GetPlayerTeamStats(playerid),
        GetPlayerJobAndRankName(playerid), rank_drumm, // Тут ранг (римские цифры)
        GetPlayerHouseName(playerid),
        GetPlayerBizName(playerid)
    );
    return Dialog(to_player, DIALOG_PLAYER_STATS, DIALOG_STYLE_MSGBOX, "{CC9900}Статистика игрока", fmt_str, "Назад""Закрыть");

 

 

Share this post


Link to post

1 answer to this question

  • 0

Приветствую

 

Проблема с твоим кодом заключается в том, что ты используешь переменную rank_drumm как аргумент для функции GetPlayerJobAndRankName. Однако, смотря на твой код, rank_drumm - это не функция, а массив. В таком случае тебе нужно передать конкретные значения из массива вместо самого массива. Вот как это можно исправить:

Замени эту строку:

 

GetPlayerJobAndRankName(playerid), rank_drumm, // Тут ранг (римские цифры)

 

На эту:

GetPlayerJobAndRankName(playerid), rank_drumm[GetPlayerTeamEx(playerid)][GetPlayerData(playerid, P_RANK)], // Тут ранг (римские цифры)

GetPlayerTeamEx(playerid) возвращает номер фракции игрока, и GetPlayerData(playerid, P_RANK) возвращает номер ранга игрока внутри его фракции. Таким образом, ты используешь эти значения, чтобы получить конкретный ранг из твоего же массива rank_drumm.

Edited by angel_sinvays

Share this post


Link to post
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By def
      arizona.pwn(23374) : error 012: invalid function call, not a valid address
      arizona.pwn(23374) : error 001: expected token: ";", but found ")"
      arizona.pwn(23374) : error 029: invalid expression, assumed zero
      arizona.pwn(23374) : fatal error 107: too many error messages on one line
      жалуется на данную строчку:
       
      %s{cccccc}Для продолжения нажмите 'Далее'",PN(playerid),playerid,ItemsInfo[itemid][ItemName2],hours,cost*hours,Inventory[playerid][2][slot], AksColorName(Inventory[playerid][4][slot]), Inventory[playerid][5][slot] ? GetNameStripe(Inventory[playerid][5][slot]) : "");