• Пожалуйста, создайте название темы отражающее ее смысл
  • Для ускорения решения Вашего вопроса заполните обязательные поля и подробно опишите возникшую проблему

Помощь Вывод информации в Hud

D1m0n41k

Участник
Сообщения
486
Реакции
202
Баллы
43
Всем привет.

Обращаюсь к Вам за помощью.

Помогите пожалуйста реализовать вывод информации от плагина CMSStsts Ranks

C++:
#include <amxmodx>

#include <cstrike>

#include <gamecms5>

#include <cmsstats_ranks>

#define PLUGIN "Informer"

#define VERSION "2.0"

#define AUTHOR "kRyMcHaN1n"

/* --------<    > Загрузка оставшегося времени привилегий <     >-------- */

#define admin_expired(%1) cmsapi_service_timeleft(%1)

/* ========================= */

public plugin_init()

{

    register_plugin(PLUGIN, VERSION, AUTHOR)

}

public client_putinserver(id)

{

    set_task(0.6, "infoplayer", id, .flags="b")

}

public infoplayer(id)

{

    if(is_user_alive(id))

    {

        new lvl         = cmsranks_get_user_level(id, string[] = "", len = 0)   // Вывод Уровня

        new exp         = cmsranks_get_user_allxp(id);                          // Вывод опыта

        new anew        = cmsranks_get_user_anew(id);                           // Вывод бонусов ANEW

        new Float:rubs  = cmsapi_get_user_money(id);                            // Вывод баланса кошелька

        new srok        = admin_expired(id);                                    // Вывод срока окончания привилегии

        if (cmsapi_is_user_member(id) == 0)

        {

            set_hudmessage(0, 255, 155, -0.92, -0.75, 0, 0.0, 0.4)

            show_hudmessage(id, "[ Звание: %s ]^n[ Опыт: %d ]^n[ Anew: %d ]", lvl, exp, anew)

        } else {

            if(srok > 0)

            {

                new systime = get_systime();

                if(srok - systime > 0)

                {

                    if((srok - systime) / 86400 > 0)

                    set_hudmessage(0, 255, 155, -0.92, -0.75, 0, 0.0, 0.4)

                    show_hudmessage(id, "[ Звание: %s ]^n[ Опыт: %d ]^n[ Anew: %d ]^n[ Кошелек: %.1f ]^n[ Срок привилегии: %d ]", lvl, exp, anew, rubs, ((srok - systime) / 86400))

                    else

                    set_hudmessage(0, 255, 155, -0.92, -0.75, 0, 0.0, 0.4)

                    show_hudmessage(id, "[ Звание: %s ]^n[ Опыт: %d ]^n[ Anew: %d ]^n[ Кошелек: %.1f ]^n[ Срок привилегии: 1 день ]", lvl, exp, anew, rubs)

                }

            } else if(srok == 0) {

                set_hudmessage(0, 255, 155, -0.92, -0.75, 0, 0.0, 0.4)

                show_hudmessage(id, "[ Звание: %s ]^n[ Опыт: %d ]^n[ Anew: %d ]^n[ Кошелек: %.1f ]^n[ Срок привилегии: Вечно ]", lvl, exp, anew, rubs)

            }

        }

    }

}

В какой помощи нуждаюсь:
  1. Сделать как в оригинальном CMSStsts Ranks вывод Звания
  2. Сделать как в оригинальном CMSStsts Ranks вывод Опыта (Сколько набрано/Сколько нужно набрать) (Моих сил хватает только на то, что бы просто вывести кол-во опыта, которое уже имеется у игрока)
Ошибки при компиляции на данный момент:
//// informer.sma
//
// C:\Users\─ьшЄЁшщ\Desktop\ъюьяшы ЄюЁ\╩юьяшы ЄюЁ 1.8.3\informer.sma(36) : error 017: undefined symbol "string"
// C:\Users\─ьшЄЁшщ\Desktop\ъюьяшы ЄюЁ\╩юьяшы ЄюЁ 1.8.3\informer.sma(36) : warning 215: expression has no effect
// C:\Users\─ьшЄЁшщ\Desktop\ъюьяшы ЄюЁ\╩юьяшы ЄюЁ 1.8.3\informer.sma(36) : error 017: undefined symbol "len"
// C:\Users\─ьшЄЁшщ\Desktop\ъюьяшы ЄюЁ\╩юьяшы ЄюЁ 1.8.3\informer.sma(36) : warning 215: expression has no effect
// C:\Users\─ьшЄЁшщ\Desktop\ъюьяшы ЄюЁ\╩юьяшы ЄюЁ 1.8.3\informer.sma(36) : error 001: expected token: ";", but found ")"
// C:\Users\─ьшЄЁшщ\Desktop\ъюьяшы ЄюЁ\╩юьяшы ЄюЁ 1.8.3\informer.sma(36) : fatal error 107: too many error messages on one line
//
// Compilation aborted.
// 4 Errors.
// Could not locate output file C:\Users\─ьшЄЁшщ\Desktop\ъюьяшы ЄюЁ\╩юьяшы ЄюЁ 1.8.3\compiled\informer.amx (compile failed).
//
// Compilation Time: 0,39 sec
// ----------------------------------------

Press enter to exit ...

За ранее большое спасибо за помощь! :giggle:
 

Вложения

  • informer.sma
    2.4 KB · Просмотры: 8
Последнее редактирование модератором:
C++:
new zvanie[MAX_NAME_LENGTH];
new next_lvl = cmsranks_get_levelname(cmsranks_get_user_level(id), zvanie, charsmax(zvanie));
new exp = cmsranks_get_user_allxp(id);                          // Вывод опыта
      
[ Звание: %s ], zvanie
[ Опыт: %d / %d], exp, next_lvl

Чтобы понятнее было..

C++:
new lvl = cmsranks_get_user_level(id);   // Вывод Уровня
new next_lvl = cmsranks_get_levelname(lvl, zvanie, charsmax(zvanie)); //получение названия по его номеру lvl
new exp = cmsranks_get_user_allxp(id);                          // Вывод опыта
 
zhorzh78, более чем понятно! ;)

Большое спасибо за помощь!
 
Назад
Сверху