Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

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

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

руссификация мода BF2 Rank Mod 1.5.3

, проблема с кодировкой =(
Статус пользователя grey
сообщение 8.4.2011, 19:43
Сообщение #1


Стаж: 15 лет

Сообщений: 1785
Благодарностей: 1098
Полезность: 675

помогите убрать краказябры с перевода... русифицировал не я
скрин
[attachment=13831:________________.bmp]
сам исходник
[attachment=13830:bf2rank.rar]


---
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Doogle
сообщение 8.4.2011, 20:05
Сообщение #2


Стаж: 15 лет

Сообщений: 345
Благодарностей: 93
Полезность: 75

Изображение не действительно. Перезалей.
Ну а по теме. Если там непонятные иероглифы или символы, а текст написан в исходнике на русском - сохраняй его в кодировке UTF-8 (без BOM)

Отредактировал: Doogle, - 8.4.2011, 20:08
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя grey
сообщение 8.4.2011, 20:24
Сообщение #3


Стаж: 15 лет

Сообщений: 1785
Благодарностей: 1098
Полезность: 675

Цитата(Doogle @ 8.4.2011, 21:05) *
Изображение не действительно. Перезалей.
Ну а по теме. Если там непонятные иероглифы или символы, а текст написан в исходнике на русском - сохраняй его в кодировке UTF-8 (без BOM)

в утф сохранял без бом, всю равно пишет кракозябры основной перевод в файлах .inl (в исходнике всё есть ничего не менял)


---
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Doogle
сообщение 8.4.2011, 21:29
Сообщение #4


Стаж: 15 лет

Сообщений: 345
Благодарностей: 93
Полезность: 75

Я не чего не могу посмотреть\скачать..
Цитата
Некоторые требуемые файлы отсутствуют. Если вы хотели просмотреть тему, возможно эта тема перемещена или удалена. Вернитесь назад и попробуйте снова.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя grey
сообщение 8.4.2011, 22:14
Сообщение #5


Стаж: 15 лет

Сообщений: 1785
Благодарностей: 1098
Полезность: 675

мм[attachment=13832:bf2rank.rar]
[attachment=13833:________________.bmp]
теперь нормально?


---
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя grey
сообщение 21.4.2011, 14:21
Сообщение #6


Стаж: 15 лет

Сообщений: 1785
Благодарностей: 1098
Полезность: 675

вроде как получилось русифицировать, только 1 проблемка... как в хтмл коде русификацию поставить?
кракозябры пишет только в motd окнах, остальное всё нормально по русски... если нужен будет скрин то потом его скину
п.с. утф (без бом) соблюдал
п.п.с. буду дико благодарен thank_you2.gif

Код под спойлером
Код
//Bf2 Rank Mod Commands File
//Contains all the client command functions

#if defined bf2_cmds_included
  #endinput
#endif
#define bf2_cmds_included

//Public menu / say commands. Help motds etc..
public show_rankhelp(id)
{
    if (!get_pcvar_num(gPcvarBF2Active))
        return;

    new tempstring[100];
    new motd[2048];
    new Float:xpmult=get_pcvar_float(gPcvarXpMultiplier);

    new kills;

    formatex(motd, charsmax(motd), "<html><body bgcolor=^"#474642^"><font size=^"2^" face=^"verdana^" color=^"FFFFFF^"><strong>");
    formatex(tempstring, charsmax(tempstring), "Таблица очков РАНГА</strong><br><br>");
    add(motd, charsmax(motd), tempstring);

    for (new counter = 0; counter < (MAX_RANKS-1); counter++)
    {
        kills = floatround(float(gRankXP[counter])*xpmult);
        formatex(tempstring, charsmax(tempstring), "%s - %d pts", gRankName[counter], kills);
        add(motd, charsmax(motd), tempstring);
        add(motd, charsmax(motd), "<br>");

        switch(counter)
        {
            case 7:
            {
                formatex(tempstring, charsmax(tempstring), "%s - Требует %s и %d Значков *", gRankName[17], gRankName[7], MAX_BADGES);
                add(motd, charsmax(motd), tempstring);
                add(motd, charsmax(motd), "<br>");
            }
            case 8:
            {
                formatex(tempstring, charsmax(tempstring), "%s - Требует %s и %d Значков *", gRankName[18], gRankName[8], MAX_BADGES*2);
                add(motd, charsmax(motd), tempstring);
                add(motd, charsmax(motd), "<br>");
            }
        }
    }

    formatex(tempstring, charsmax(tempstring), "%s - Требует %s и %d Значков", gRankName[19], gRankName[15], MAX_BADGES*3);
    add(motd, charsmax(motd), tempstring);
    add(motd, charsmax(motd), "<br>");

    kills = floatround(float(gRankXP[MAX_RANKS-1])*xpmult);
    formatex(tempstring, charsmax(tempstring), "%s - Требует %s и %d Очков", gRankName[16], gRankName[19], kills);
    add(motd, charsmax(motd), tempstring);
    add(motd, charsmax(motd), "<br>");

    formatex(tempstring, charsmax(tempstring), "%s - Требует %s и сохранить #1 Ранг на сервере", gRankName[20], gRankName[16]);
    add(motd, charsmax(motd), tempstring);
    add(motd, charsmax(motd), "<br>");

    add(motd, charsmax(motd), "<br> * СПЕЦИАЛЬНЫЕ ранги - Это будет пропущено, если у вас нет требуемого значка");
    add(motd, charsmax(motd), "</font></body></html>");

    show_motd(id, motd, "BF2: Rank Requirements");

    Bf2menu(id);
}

public show_server_stats(id)
{
    if (!get_pcvar_num(gPcvarBF2Active))
        return PLUGIN_CONTINUE;

    new tempstring[100];
    new motd[2048];
    new names[4][32];

    get_user_name(highestrankid, names[0], charsmax(names[]));

    formatex(motd,charsmax(motd),"<html><body bgcolor=^"#474642^"><font size=^"2^" face=^"verdana^" color=^"FFFFFF^"><strong>");
    formatex(tempstring,charsmax(tempstring),"Currently Playing</strong><br><br>");
    add(motd,charsmax(motd),tempstring);

    formatex(tempstring,charsmax(tempstring),"Highest Ranked: %s %s<br><br>",gRankName[highestrank],names[0]);
    add(motd,charsmax(motd),tempstring);

    formatex(tempstring,charsmax(tempstring),"<strong>Server Stats</strong><br><br>");
    add(motd,charsmax(motd),tempstring);

    formatex(tempstring,charsmax(tempstring),"Самый высокий рейтинг: %s %s<br><br>", gRankName[highestrankserver], highestrankservername);
    add(motd,charsmax(motd),tempstring);
    formatex(tempstring,charsmax(tempstring),"Наибольшее количество очков: %s %i<br><br>",mostkillsname,mostkills);
    add(motd,charsmax(motd),tempstring);
    formatex(tempstring,charsmax(tempstring),"Наибольшее количество побед: %s %i<br><br>",mostwinsname,mostwins);
    add(motd,charsmax(motd),tempstring);
    add(motd,charsmax(motd),"</font></body></html>");

    show_motd(id,motd,"BF2: Статистика сервера");

    Bf2menu(id);

    return PLUGIN_CONTINUE;
}

public show_badgehelp(id)
{
    if (!get_pcvar_num(gPcvarBF2Active))
        return PLUGIN_CONTINUE;

    new url[100];
    get_pcvar_string(gPcvarHelpUrl,url,charsmax(url));

    if (equal(url,""))
    {
        formatex(configfile,charsmax(configfile),"%s/bf2/badges1.html",configsdir);    
    }
    else
    {
        formatex(configfile,charsmax(configfile),"%s/badges1web.html",url);
    }
    show_motd(id, configfile, "BF2: Badege Help 1");

    Bf2menu(id);

    return PLUGIN_CONTINUE;
}

public show_badgehelp2(id)
{
    if (!get_pcvar_num(gPcvarBF2Active))
        return PLUGIN_CONTINUE;

    new url[100];
    get_pcvar_string(gPcvarHelpUrl,url,charsmax(url));

    if (equal(url,""))
    {
        formatex(configfile,charsmax(configfile),"%s/bf2/badges2.html",configsdir);
    }
    else
    {
        formatex(configfile,charsmax(configfile),"%s/badges2web.html",url);
    }

    show_motd(id, configfile, "BF2: Badege Help 2");

    Bf2menu(id);

    return PLUGIN_CONTINUE;
}

public show_badgehelp3(id)
{
    if (!get_pcvar_num(gPcvarBF2Active))
        return PLUGIN_CONTINUE;

    new url[100];
    get_pcvar_string(gPcvarHelpUrl,url,charsmax(url));

    if (equal(url,""))
    {
        formatex(configfile,charsmax(configfile),"%s/bf2/badges3.html",configsdir);
    }
    else
    {
        formatex(configfile,charsmax(configfile),"%s/badges3web.html",url);
    }

    show_motd(id, configfile, "BF2: Badege Help 3");

    Bf2menu(id);

    return PLUGIN_CONTINUE;
}

public cmd_say(id)
{
    if (!get_pcvar_num(gPcvarBF2Active))
        return PLUGIN_CONTINUE;

    new Arg1[31];
    read_args(Arg1, charsmax(Arg1));
    remove_quotes(Arg1);

    if (!((equal(Arg1, "/whois",6)) || (equal(Arg1, "/whostats",6))))
        return PLUGIN_CONTINUE;

    if (equal(Arg1, "/whostats",6))
    {
        new player = cmd_target(id, Arg1[10], 0);
        if (!player)
        {
            client_print(id,print_chat, "[BF2] К сожалению, игрок %s не может быть найден!", Arg1[10]);
            return PLUGIN_CONTINUE;
        }

        display_stats(id,player);

        return PLUGIN_CONTINUE;
    }

    new player = cmd_target(id, Arg1[7], 0);

    if (!player)
    {

        client_print(id,print_chat, "[BF2] К сожалению, игрок %s не может быть найден!", Arg1[7]);
        return PLUGIN_CONTINUE;
    }

    display_badges(id,player);

    return PLUGIN_CONTINUE;
}

public display_badges(id,badgeid)
{
    new name[32];
    get_user_name(badgeid,name,charsmax(name));

    new tempstring[100];
    new motd[2048];

    formatex(motd,charsmax(motd),"<html><body bgcolor=^"#474642^"><font size=^"2^" face=^"verdana^" color=^"FFFFFF^"><strong><b>");
    formatex(tempstring,charsmax(tempstring),"Мои значки: %s </strong></b>", name);
    add(motd,charsmax(motd),tempstring);
    add(motd,charsmax(motd),"<br><br>");
    formatex(tempstring,charsmax(tempstring),"Ранг: %s",gRankName[g_PlayerRank[badgeid]]);
    add(motd,charsmax(motd),tempstring);
    add(motd,charsmax(motd),"<br><br>");

    if (!get_pcvar_num(gPcvarBadgesActive))
    {
        add(motd,charsmax(motd),"</font></body></html>");
        show_motd(id,motd,"BF2: Информация игрока");

        return PLUGIN_CONTINUE;
    }

    formatex(tempstring,charsmax(tempstring),"Значками Награждён: %d/%d<br>", numofbadges[badgeid], MAX_BADGES*3);
    add(motd,charsmax(motd),tempstring);

    for (new counter=0; counter<MAX_BADGES; counter++)
    {
        if(g_PlayerBadges[badgeid][counter]!=0)
        {
            formatex(tempstring,charsmax(tempstring)," %s",gBadgeName[counter][g_PlayerBadges[badgeid][counter]]);
            add(motd,charsmax(motd),tempstring);
            formatex(tempstring,charsmax(tempstring)," - %s<br>",gBadgeInfo[counter]);
            add(motd,charsmax(motd),tempstring);
        }
    }

    add(motd,charsmax(motd),"</font></body></html>");

    show_motd(id,motd,"BF2: Информация игрока");

    Bf2menu(id);

    return PLUGIN_CONTINUE;
}

public cmd_who(id)
{
    if (!get_pcvar_num(gPcvarBF2Active))
        return PLUGIN_CONTINUE;

    new tempstring[100],players[32],num,tempname[32];
    new motd[2048];

    formatex(motd,charsmax(motd),"<html><body bgcolor=^"#474642^"><font size=^"2^" face=^"verdana^" color=^"FFFFFF^"><strong><b>Ранги игроков</strong></b><br><br>");

    get_players(players,num);

    for (new counter=0; counter<num; counter++)
    {
        get_user_name(players[counter], tempname, charsmax(tempname));
        formatex(tempstring,charsmax(tempstring),"%s - %s<br>",tempname,gRankName[g_PlayerRank[players[counter]]]);
        add(motd,charsmax(motd),tempstring);

    }
    add(motd,charsmax(motd),"</font></body></html>");

    show_motd(id,motd,"BF2: Ранги игрока");

    Bf2menu(id);

    return PLUGIN_CONTINUE;

}

public cmd_help(id)
{
    if (!get_pcvar_num(gPcvarBF2Active))
        return PLUGIN_CONTINUE;

    new url[100];
    get_pcvar_string(gPcvarHelpUrl,url,charsmax(url));

    if (equal(url,""))
    {
        formatex(configfile,charsmax(configfile),"%s/bf2/help.html",configsdir);
    }
    else
    {
        formatex(configfile,charsmax(configfile),"%s/helpweb.html",url);
    }

    show_motd(id, configfile, "BF2: Помощь");

    Bf2menu(id);

    return PLUGIN_CONTINUE;

}

public show_stats(id)
{
    if (!get_pcvar_num(gPcvarBF2Active))
        return PLUGIN_CONTINUE;

    display_stats(id,id);

    Bf2menu(id);

    return PLUGIN_CONTINUE;

}

public display_stats(id,statsid)
{
    new tempstring[100];
    new motd[2048];
    new stats[8],bodyhits[8];
    new ranked=get_user_stats(statsid, stats, bodyhits);
    new tempname[32];
    get_user_name(statsid,tempname,charsmax(tempname));

    formatex(motd,charsmax(motd),"<html><body bgcolor=^"#474642^"><font size=^"2^" face=^"verdana^" color=^"FFFFFF^"><strong>Player Stats: %s</strong><br>", tempname);
    add(motd,charsmax(motd),"(updated on spawn/round)<br><br>");

    formatex(tempstring,charsmax(tempstring),"Общие очки: %d<br>",totalkills[statsid]);
    add(motd,charsmax(motd),tempstring);
    formatex(tempstring,charsmax(tempstring),"Общие убийства ножом: %d<br>",knifekills[statsid]);
    add(motd,charsmax(motd),tempstring);
    formatex(tempstring,charsmax(tempstring),"Общие убийства пистолетом: %d<br>",pistolkills[statsid]);
    add(motd,charsmax(motd),tempstring);
    formatex(tempstring,charsmax(tempstring),"Общие убийства с M249: %d<br>",parakills[statsid]);
    add(motd,charsmax(motd),tempstring);
    formatex(tempstring,charsmax(tempstring),"Общие убийства снайперкой: %d<br>",sniperkills[statsid]);
    add(motd,charsmax(motd),tempstring);
    formatex(tempstring,charsmax(tempstring),"Общие убийства с винтовки: %d<br>",riflekills[statsid]);
    add(motd,charsmax(motd),tempstring);
    formatex(tempstring,charsmax(tempstring),"Общие убийства с дробовика: %d<br>",shotgunkills[statsid]);
    add(motd,charsmax(motd),tempstring);
    formatex(tempstring,charsmax(tempstring),"Общие убийства с SMG: %d<br>",smgkills[statsid]);
    add(motd,charsmax(motd),tempstring);
    formatex(tempstring,charsmax(tempstring),"Общай Точность: %d percent<br>",accuracy[statsid]);
    add(motd,charsmax(motd),tempstring);
    formatex(tempstring,charsmax(tempstring),"Общее число заложенных бомб: %d<br>",plants[statsid]);
    add(motd,charsmax(motd),tempstring);
    formatex(tempstring,charsmax(tempstring),"Общее число подорванных бомб: %d<br>",explosions[statsid]);
    add(motd,charsmax(motd),tempstring);
    formatex(tempstring,charsmax(tempstring),"Общее число обезвреженных бомб: %d<br>",defuses[statsid]);
    add(motd,charsmax(motd),tempstring);
    formatex(tempstring,charsmax(tempstring),"Общее число убитых гранатой: %d<br>",grenadekills[statsid]);
    add(motd,charsmax(motd),tempstring);
    formatex(tempstring,charsmax(tempstring),"Ранг Игрока: #%d<br>",ranked);
    add(motd,charsmax(motd),tempstring);
    formatex(tempstring,charsmax(tempstring),"Собранные медали: Золото %d, Серебро %d, Бронза %d<br>",gold[statsid],silver[statsid],bronze[statsid]);
    add(motd,charsmax(motd),tempstring);

    add(motd,charsmax(motd),"</font></body></html>");

    show_motd(id,motd,"BF2: Статистика ");

}

//Admin only commands below here


//Gives badge to specified player
public add_badge(id,level,cid)
{
    if (!cmd_access(id, level, cid, 4)) return PLUGIN_HANDLED;

    new Arg1[24];
    new Arg2[4];
    new Arg3[4];


    read_argv(1, Arg1, charsmax(Arg1));
    read_argv(2, Arg2, charsmax(Arg2));
    read_argv(3, Arg3, charsmax(Arg3));

    new badge = str_to_num(Arg2);
    new level = str_to_num(Arg3);

    new player = cmd_target(id, Arg1, 0);

    if (!player || (level>3) || (level<0) || (badge>7) || (badge<0))
        {
            console_print(id, "К сожалению, игрок %s не найден!, Or invalid badge/level", Arg1);
            return PLUGIN_HANDLED;
    } else {
            g_PlayerBadges[player][badge]=level;
            client_print(id,print_chat,"[BF2] %s значок был присуждён %s",gBadgeName[badge][level],Arg1);
            save_badges(player);
            DisplayHUD(player);
        }

    new adminauthid[35];
    new awardauthid[35];
    get_user_authid (id,adminauthid,charsmax(adminauthid));
    get_user_authid (player,awardauthid,charsmax(awardauthid));

    log_amx("[BF2-ADMIN]Админ %s наградил значком %s игрока %s",adminauthid,gBadgeName[badge][level],awardauthid);

    return PLUGIN_HANDLED;
}

//Gives kills to specified player
public add_kills(id,level,cid)
{
    if (!cmd_access(id, level, cid, 3))
            return PLUGIN_HANDLED;

         new Arg1[24];
         new Arg2[6];

         read_argv(1, Arg1, charsmax(Arg1));
         read_argv(2, Arg2, charsmax(Arg2));

         new kills = str_to_num(Arg2);

    new player = cmd_target(id, Arg1, 0);

    if (!player)
        {
            console_print(id, "К сожалению, игрок %s не был найден!", Arg1);
            return PLUGIN_HANDLED;
        } else {
            totalkills[player]+=kills;
            client_print(id,print_chat,"[BF2] %d Убийства были вручены %s",kills,Arg1);
            save_badges(player);
            DisplayHUD(player);
        }

    new adminauthid[35];
    new awardauthid[35];
    get_user_authid(id,adminauthid,charsmax(adminauthid));
    get_user_authid(player,awardauthid,charsmax(awardauthid));

    log_amx("[BF2-ADMIN]Админ %s наградил %i убийствами игрока %s",adminauthid,kills,awardauthid);

    return PLUGIN_HANDLED;
}


!
Предупреждение:
Используй спойлер


Отредактировал: MaZzai, - 21.4.2011, 23:06


---
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 22.4.2011, 16:25
Сообщение #7


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

все обычные файлы сохраняй в UTF-8 без BOM
все файлы использующиеся в motd окне сохраняй в ANSI-1251
при этом некоторые буквы надо будет заменить на UTF-код
например буква "я" = "я" - без кавычек

Отредактировал: Legenda, - 22.4.2011, 16:25
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя grey
сообщение 22.4.2011, 23:16
Сообщение #8


Стаж: 15 лет

Сообщений: 1785
Благодарностей: 1098
Полезность: 675

Цитата(Legenda @ 22.4.2011, 17:25) *
все обычные файлы сохраняй в UTF-8 без BOM
все файлы использующиеся в motd окне сохраняй в ANSI-1251
при этом некоторые буквы надо будет заменить на UTF-код
например буква "я" = "я" - без кавычек

Спасибо помогло, только не полностью.. так как мотд показывает инфо из игры т.е. звания, которые показывают в чате, они сохранены в утф8. какие еще кодировки подойдут в моём случае? чтоб подходило как для обычного текста и хтмл окон?


---
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: