Help статистика

Статус
В этой теме нельзя размещать новые ответы.
M

Monk

В этом участке кода
C++:
// Формирование сообщения /rank
parse_rank_desc(id,msg[],maxlen,len,stats[8]){
    new cnt,theChar[4]
   
    // Проверяем всё флаги
    for(new i ; i < strlen(chatDescCap) ; ++i){
        theChar[0] = chatDescCap[i]    // фз почему напрямую не рабатает
       
        // если это первое значение, то рисуем в начале скобку, иначе запятую с пробелом
        if(cnt != strlen(chatDescCap))
            len += formatex(msg[len],maxlen - len,cnt <= 0 ? "(" : ", ")
       
        // добавляем в сообщение информацию в соотв. с флагами
        switch(theChar[0]){
            case 'a':{ // ничего
                }
            case 'b':{ // убийства
                len += formatex(msg[len],maxlen - len,"%L ^3%d^1",id,"KILLS",stats[0])
            }
            case 'c':{ // смерти
                len += formatex(msg[len],maxlen - len,"%L ^3%d^1",id,"DEATHS",stats[1])
            }
            case 'd':{ // попадания
                len += formatex(msg[len],maxlen - len,"%L ^3%d^1",id,"HITS",stats[5])
            }
            case 'e':{ // выстрелы
                len += formatex(msg[len],maxlen - len,"%L ^3%d^1",id,"SHOTS",stats[4])
            }
            case 'f':{ // хедшоты
                len += formatex(msg[len],maxlen - len,"%L ^3%d^1",id,"STATS_HS",stats[2])
            }
            case 'g':{ // точность
                len += formatex(msg[len],maxlen - len,"%L ^3%.2f^1",id,"ACC",accuracy(stats))
            }
            case 'h':{ // эффективность
                len += formatex(msg[len],maxlen - len,"%L ^3%d^1",id,"EFF",effec(stats))
            }
            case 'i':{ // скилл
                new sskill[4]
                get_skill(stats,sskill,3)
                len += formatex(msg[len],maxlen - len,"%L ^3%s^1",id,"STATS_SKILL",sskill)
               
            }
            #if !defined NO_AES
            case 'j':{ // ранг и опыт
                new aStats[AES_ST_END],level[42],lev
               
                if(aes_get_player_stats(id,aStats)){
                    aes_get_level_name(aStats[AES_ST_LEVEL],level,31,id)
                    lev = strlen(level)
                    lev += formatex(level[lev],41-lev,"(%d)",aStats[AES_ST_EXP])
                }
                else    // без ранга
                    formatex(level,31,"^4---^1")
               
                len += formatex(msg[len],maxlen - len,"%L ^3%s^1",id,"STATS_RANK",level)
            }
            #endif
        }
       
        theChar[0] = 0
        cnt ++
    }
   
    // закрываем всё сообщение скобкой, если была подстановка параметров
    if(cnt)
        len += formatex(msg[len],maxlen - len,")")
}
подставляются данные с ланг файла (KILLS, DEATHS, HITS и т.д.), так вот в ланг файле я их не вижу, поэтому их стоит добавить
все по прежнему без изменений
 

Coder

Пользователь
Регистрация
10 Июн 2017
Сообщения
207
Симпатии
81
Пол
Мужской
все по прежнему без изменений
странно, я вижу в ланге присутствует STATS_SKILL = Скилл и оно его подставляет нормально, а KILLS и DEATHS нету, поэтому нечего подставлять. Ты точно добавил в секцию [ru] и [en] строки? А то может по спешке добавил в [ru], а язык сервака en
 
M

Monk

странно, я вижу в ланге присутствует STATS_SKILL = Скилл и оно его подставляет нормально, а KILLS и DEATHS нету, поэтому нечего подставлять. Ты точно добавил в секцию [ru] и [en] строки? А то может по спешке добавил в [ru], а язык сервака en
 

Вложения

Coder

Пользователь
Регистрация
10 Июн 2017
Сообщения
207
Симпатии
81
Пол
Мужской
PHP:
STATS_KILLS = Убито
STATS_DEATHS = Смертей
STATS_HS = В голову
STATS_SKILL = Скилл
STATS_RANK = Звание
STATS_EXP = Опыт
->

PHP:
KILLS = Убито
DEATHS = Смертей
HITS = попаданий
и т.д
 
  • Мне нравится
Симпатии: Monk
M

Monk

PHP:
STATS_KILLS = Убито
STATS_DEATHS = Смертей
STATS_HS = В голову
STATS_SKILL = Скилл
STATS_RANK = Звание
STATS_EXP = Опыт
->

PHP:
KILLS = Убито
DEATHS = Смертей
HITS = попаданий
и т.д
спасибо помогло, странно раньше так заливал на старый сервер все работало - хочу узнать еще на ReHLDS csstats_maxsize -1 тоже ставить что бы стата не обнулялась автоматически
 

Coder

Пользователь
Регистрация
10 Июн 2017
Сообщения
207
Симпатии
81
Пол
Мужской
спасибо помогло, странно раньше так заливал на старый сервер все работало - хочу узнать еще на ReHLDS csstats_maxsize -1 тоже ставить что бы стата не обнулялась автоматически
если ты хранишь стату в .dat файле, то оставляй -1, но со временем она забьется множеством записей и всё равно рано или поздно ее придется обнулить. Так что лучшее решение хранить стату в базе данных и ставить соответствующий плагин в котором уже будут свои настройки управления статистикой
 
M

Monk

если ты хранишь стату в .dat файле, то оставляй -1, но со временем она забьется множеством записей и всё равно рано или поздно ее придется обнулить. Так что лучшее решение хранить стату в базе данных и ставить соответствующий плагин в котором уже будут свои настройки управления статистикой
че то после рестарта опять такая проблема
 

Вложения

ade888

Пользователь
Регистрация
9 Июн 2017
Сообщения
200
Симпатии
24
Пол
Мужской
, cкинь мне ланш файл я тебе сделаю
 

Coder

Пользователь
Регистрация
10 Июн 2017
Сообщения
207
Симпатии
81
Пол
Мужской
че то после рестарта опять такая проблема
я тебе в предыдущих сообщениях скинул кусок кода, в котором видно что подставляется, а конкретно (KILLS, DEATHS, HITS, SHOTS, STATS_HS, ACC, EFF, STATS_SKILL). Всё что тебе надо было сделать, это добавить эти данные в ланг файл:
PHP:
KILLS = Убито
DEATHS = Смертей
HITS = попаданий
SHOTS = выстрелов
STATS_HS = в голову
ACC = точность
EFF = эффективность
STATS_SKILL = Скилл
 

Coder

Пользователь
Регистрация
10 Июн 2017
Сообщения
207
Симпатии
81
Пол
Мужской
А кстате что лудче csstatssql статистика или от neygomona [1.2] Players MySQL Stats
обе хороши, отличия только в том, что в csstatssql статистике есть стата по оружию и картам, но при этом больше обращений к базе данных, тем самым больше нагрузка на базу.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу