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

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

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

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

2 страниц V   1 2

( XP.INL ) war3ft

[РЕШЕНО]
Статус пользователя $@NyA
сообщение 26.7.2017, 22:08
Сообщение #21


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

Стаж: 18 лет

Сообщений: 987
Благодарностей: 529
Полезность: 1050

Avrora,
Да стандартная War3: Frozen Throne 3.0 RC4 .Почему RC4 а не више - долго обьяснять.Но здесь не от етого зависит...


МультиМод CS
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя artist666
сообщение 27.7.2017, 21:18
Сообщение #22


Стаж: 11 лет

Сообщений: 17
Благодарностей: 7
Полезность: 0

В ланге:
Код
AWARD_FOR_SPAWNING_WITH_BOMB = !g*[WAR3FT] !tВы награждены %i XP за появление с бомбой.


Вот подправленный инклуд(назовёшь его как у тебя, я не знаю, ты же код не показал):
Прикрепленный файл  ColorChat.rar ( 1,17 килобайт ) Кол-во скачиваний: 14


В него нужно было добавить:
Код:
replace_all(message, 191, "!y", "^1");
replace_all(message, 191, "!g", "^4");
replace_all(message, 191, "!t", "^3");


После:
Код:
vformat(message[1], 251, msg, 4);
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя $@NyA
сообщение 28.7.2017, 12:25
Сообщение #23


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

Стаж: 18 лет

Сообщений: 987
Благодарностей: 529
Полезность: 1050

artist666,
Свершилось чудо.Можна сказать чисто случайно.Попробовал я значит в war3ft.sma переименовать все строчки инклудов ( те файлы .inl ) в .txt и сами файлы тоже.На моё удивление плагин скомпилировался,хотя и неожидал етого.Ну я думаю пора уже в них напрямую писать по русски,рас уж не .inl .Непрошло..Потом пришлось убирать все значения в инклудах ^3^4 и прописывать так как ты и сказал в лангах !t !g .И вышло наконецто.Ну ведь небывает ничего невозможного...НО без всего етого как ты писал я пробовал и всёравно небыло результата.!g*[WAR3FT] !tВы награждены %i XP за появление с бомбой - так и писалось в самой игры без цвета.Кстати тот колорчат действительно отличаеться от моего теми строчками.Просто ради интереса надо попробовать будет всё ето работать если мой инклуд оставить и прописывать в лангах ^3 ^4 с той махинацыей что я написал выше..Но в любом случаи - большущее тебе спасибо !!!
P.S.До худов ещё недошол.Здесь попозже оставлю ещё один маленький вопросик.Удачи тебе !



МультиМод CS
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя $@NyA
сообщение 30.7.2017, 21:41
Сообщение #24


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

Стаж: 18 лет

Сообщений: 987
Благодарностей: 529
Полезность: 1050

Артист посмотри в етом коде пожалуйста.Как здесь правильно подставить ColorChat на INFO_SHOPMENU_1.Просто напиши как должно быть ,а на остальные вещи я уже сам подставлю.Спасибо Бро !
Код
ITEM_DisplayMessage( id, iItem )
{
    // Display a message regarding the item they just purchased
    switch ( iItem )
    {
        case ITEM_ANKH:
        {
            (g_MOD == GAME_DOD)                                ? client_print( id, print_chat,"%s %L", g_MODclient, id, "DOD_INFO_SHOPMENU_1" ) : 0;
            (g_MOD == GAME_CSTRIKE || g_MOD == GAME_CZERO)    ? client_print( id, print_chat,"%s %L", g_MODclient, id, "INFO_SHOPMENU_1" ) : 0;
        }


МультиМод CS
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JIuXeP
сообщение 30.7.2017, 23:07
Сообщение #25


Стаж: 12 лет

Сообщений: 338
Благодарностей: 205
Полезность: 792

Код:
(g_MOD == GAME_DOD) ? client_print( id, print_chat,"%s %L", g_MODclient, id, "DOD_INFO_SHOPMENU_1" ) : 0;
(g_MOD == GAME_CSTRIKE || g_MOD == GAME_CZERO) ? client_print( id, print_chat,"%s %L", g_MODclient, id, "INFO_SHOPMENU_1" ) : 0;

-->
1
Я приверженец кода такого вида, позволяет избежать дублей
Код:
ColorChat(id, RED, "^4%s ^3%L", g_MODclient, id, g_MOD == GAME_DOD ? "DOD_INFO_SHOPMENU_1" : "INFO_SHOPMENU_1");
2
Код:
if (g_MOD == GAME_DOD)
ColorChat(id, RED, "^4%s ^3%L", g_MODclient, id, "DOD_INFO_SHOPMENU_1");
else
ColorChat(id, RED, "^4%s ^3%L", g_MODclient, id, "INFO_SHOPMENU_1");
3
Вообще проверки можно опустить, вы же не планируете съезжать на CS:CZ / DOD? :) Код:
ColorChat(id, RED, "^4%s ^3%L", g_MODclient, id, "INFO_SHOPMENU_1");


Для использования client_print_color ( если вы еще пользуетесь проверкой на 1.8.3), думаю разберетесь что заменить. Указатели по желанию замените
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя $@NyA
сообщение 31.7.2017, 4:22
Сообщение #26


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

Стаж: 18 лет

Сообщений: 987
Благодарностей: 529
Полезность: 1050

JIuXeP, Спасибо всё получилось.Пришлось через 1.8.3.Там были нюансы такого рода
Код
new Float:fMask = ( 100.0 * get_pcvar_float( CVAR_wc3_mask ) );

заменял на
Код
client_print_color(id, print_team_red, "!g%s %L", g_MODclient, id, "INFO_SHOPMENU_5", get_pcvar_float( CVAR_wc3_mask ) )

Перед етим делал со значением 100.0 * - то плагин не компилировался.Пришлось убрать.

Спасибо тебе дружище !!! Ещё остался один последний вопрос.Вот только узнал код где он прячеться и напишу.Удачи


МультиМод CS
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JIuXeP
сообщение 31.7.2017, 10:56
Сообщение #27


Стаж: 12 лет

Сообщений: 338
Благодарностей: 205
Полезность: 792

$@NyA, не надо его заменять. Это готовая переменная, ее следует просто указать в параметрах колорчата. Спецификатором %f ( %0.1f / %.1f ) ее значение уже выводится в лангах.

Код:
new Float:fMask = ( 100.0 * get_pcvar_float( CVAR_wc3_mask ) );
client_print_color(id, print_team_red, "^4%s %L", g_MODclient, id, "INFO_SHOPMENU_5", fMask);

Если с заменой (скобки можно опустить) Код:
client_print_color(id, print_team_red, "^4%s %L", g_MODclient, id, "INFO_SHOPMENU_5", (100.0 * get_pcvar_float( CVAR_wc3_mask)));


Экспериментируйте)

Отредактировал: JIuXeP, - 31.7.2017, 11:17
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя $@NyA
сообщение 31.7.2017, 15:00
Сообщение #28


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

Стаж: 18 лет

Сообщений: 987
Благодарностей: 529
Полезность: 1050

JIuXeP, Вот у меня кстате так было
Код
client_print_color(id, print_team_red, "^4%s %L", g_MODclient, id, "INFO_SHOPMENU_5", (100.0 * get_pcvar_float( CVAR_wc3_mask));

А я то забыл в конце ещё одну дужку поставить - в етом и была загвостка)

Всё равно спасибо за дельные советы !



МультиМод CS
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя $@NyA
сообщение 2.8.2017, 0:09
Сообщение #29


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

Стаж: 18 лет

Сообщений: 987
Благодарностей: 529
Полезность: 1050

JIuXeP
Последнее и всё, честное слово) Подскажи где в етом исходнике поставить нумерацию на расы ,вещи и на показ расы соответствующим цветом ( выделил на картинке ).+ ну ето неглавное,но хотелось-бы убрать показ отображения опыта вообще при начальном выборе.В етом файле цыфры были 1.2.0. то позаменял на \r \w и всё,больше ничего ненашол на замену




Предположительно мною:
Код
// Function will display the changerace menu
public MENU_ChangeRace( id, iRaceXP[MAX_RACES] )
{
    
    new szRaceName[MAX_RACES+1][64], i, pos, iKeys = 0, szMenu[512], szXP[16];

    // Get our race names
    for ( i = 0; i < get_pcvar_num( CVAR_wc3_races ); i++ )
    {
        lang_GetRaceName( i + 1, id, szRaceName[i], 63 );
    }

    pos += formatex( szMenu[pos], 512-pos, "%L", id, "MENU_SELECT_RACE" );

    // Then add the experience column
    if ( get_pcvar_num( CVAR_wc3_save_xp ) )
    {
        pos += formatex( szMenu[pos], 512-pos, "\R%L^n^n", id, "MENU_WORD_EXPERIENCE" );
    }
    else
    {
        pos += formatex( szMenu[pos], 512-pos, "^n^n" );
    }


Код
public MENU_Shopmenu( id, iStart )
{
    if ( !ITEM_MenuCanBuyCheck( id ) )
    {
        return;
    }

    // Shopmenu2 can't display if we don't have the correct number of races!
    if ( iStart == MAX_PAGE_ITEMS && get_pcvar_num( CVAR_wc3_races ) <= 4 )
    {
        return;
    }

    new szMenu[512], szItemName[64], pos = 0, i, iItemID;
    new iKeys = (1<<9);

    // Add the header
    if ( iStart == 0 )
    {
        pos += format( szMenu[pos], 511-pos, "%L", id, "MENU_BUY_ITEM" );
    }

    // "Shopmenu 2"
    else if ( iStart == MAX_PAGE_ITEMS )
    {
        pos += format( szMenu[pos], 511-pos, "%L", id, "MENU_BUY_ITEM2" );
    }


А ето тебе посмотреть детально ; )
Прикрепленный файл  menus.txt ( 22,77 килобайт ) Кол-во скачиваний: 9


ОГРОМНОЕ СПАСИБО ЗА ПОМОЩЬ !!!


МультиМод CS
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JIuXeP
сообщение 2.8.2017, 1:15
Сообщение #30


Стаж: 12 лет

Сообщений: 338
Благодарностей: 205
Полезность: 792

3
Шо с этим делать, и где его искать?)
Cкрытый текст

Не буду мучать)
Прикрепленный файл  menus.txt ( 22,31 килобайт ) Кол-во скачиваний: 11
в ланге (war3FT.txt)
Код:
SELECT_RACE_FOOTER = ^n\w%d. Авто-выбор
-->Код:
SELECT_RACE_FOOTER = ^n\r%d. \wАвто-выбор




ля
СпецИальные навыки)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя $@NyA
сообщение 2.8.2017, 3:14
Сообщение #31


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

Стаж: 18 лет

Сообщений: 987
Благодарностей: 529
Полезность: 1050

JIuXeP, С етим

думал что в menus.txt
Ошибся.Завтра попробую подискать.СПАСИБО ЗА ПОМОЩЬ ЕЩЁ РАЗ

Про
Цитата
СпецИальные навыки)

Как-то необращал внимания.Плоховато с написанием русского)

Отредактировал: $@NyA, - 2.8.2017, 3:17


МультиМод CS
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя $@NyA
сообщение 2.8.2017, 18:05
Сообщение #32


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

Стаж: 18 лет

Сообщений: 987
Благодарностей: 529
Полезность: 1050

JIuXeP,
Узнал где находиться етот код,что-бы изменить то что я писал выше.Я там ради узнаваемости поставил перед "%s" !g и немного спустился в низ.В игре увидел следующее ( понял что ето здесь ) war3ft.txt Там ниже и для вещей имееться...цветность )
Код
// No race selected
        if ( !p_data[id][P_RACE] )
        {
            pos += formatex( szRaceInfo[pos], 255, "!g%s ", szRaceName );
        }

        // User has a race
        else
        {

            // User is level 0
            if ( p_data[id][P_LEVEL] == 0 )
            {
                pos += formatex( szRaceInfo[pos], 255, "!g%s", szRaceName, p_data[id][P_XP], xplevel[p_data[id][P_LEVEL]+1] );
                formatex( szXPInfo, 31, "XP : %d/%d", p_data[id][P_XP], xplevel[p_data[id][P_LEVEL]+1] );
            }

Скрины:



Спасибо БРО ! good.gif

Прикрепленный файл  war3ft.txt ( 49,17 килобайт ) Кол-во скачиваний: 12


P.S.Впринципе если знаем где ето, то можно ето дело из клиента воплотить в ХУД

Отредактировал: $@NyA, - 2.8.2017, 18:11


МультиМод CS
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JIuXeP
сообщение 4.8.2017, 1:56
Сообщение #33


Стаж: 12 лет

Сообщений: 338
Благодарностей: 205
Полезность: 792

Cкрытый текст
Код:

// Put the final string together
formatex( szString, 255, "%s%s", szRaceInfo, szItemInfo );

if ( SHARED_IsOnTeam( id ) )
{
// Display the item + race info with a hudmessage
if ( g_MOD == GAME_CSTRIKE || g_MOD == GAME_CZERO )
{

if ( is_user_alive( id ) )
{
Create_StatusText( id, 0, szString );
}

else
{
set_hudmessage( 160, 160, 160, 0.012, 0.90, HUDMESSAGE_FX_FADEIN, 10.0, 0.0, 2.0, 3.0, HUD_XP );

show_hudmessage( id, "%s", szXPInfo );
}
}

// Display the item + race info with a hudtext
else if ( g_MOD == GAME_DOD )
{
Create_HudText( id, szString, 1 );
}
}


Мертвым отображается худ, живым - StatusText, который раскрасить разными цветами, так же как чат - нельзя. Только одним цветом: либо обычным (желтым), либо красным, синим, белым. В общем цвета команд.
Этот статус тест будет отображаться по срединке экрана при значении у игрока клиентского квара hud_centerid "1". Не всем игрокам его получиться выставить принудительно в 0, т.к. у многих уже протекторы, у х*й к ним подберешься.

Можно вывести живым худ вместо статус текста.. или всё таки оставить и раскрасить status text)
HUD
war3ft/constants.inl (txt)
Ищем Код:
#define TASK_UDELAY			3002		// Ultimate delay function
Ниже добавляем Код:
#define TASK_RACEINFO 3100 // Для генерации айди таска на обновление информации об расе
war3ft.sma
Ищем Код:
public client_disconnect(id)
В нем заменяем Код:
	// Remove the money task when a user disconnects
if ( g_MOD == GAME_DOD )
{
task_exists( TASK_MONEYLOOP + id ) ? remove_task( TASK_MONEYLOOP + id ) : 0;
}
На Код:

// Remove the money task when a user disconnects
if ( g_MOD == GAME_DOD )
{
remove_task( TASK_MONEYLOOP + id ); // функция и так носит в себе проверку на существование таска...
}
remove_task( TASK_RACEINFO + id );
war3ft/war3ft.inl (txt)
Код:
if ( is_user_alive( id ) )
{
Create_StatusText( id, 0, szString );
}

else
{
set_hudmessage( 160, 160, 160, 0.012, 0.90, HUDMESSAGE_FX_FADEIN, 10.0, 0.0, 2.0, 3.0, HUD_XP );

show_hudmessage( id, "%s", szXPInfo );
}
Заменяем на Код:
if ( is_user_alive( id ) )
{
/*
Генерируем айди таска для вывода худа игроку
*/
new TaskID = id+TASK_RACEINFO;

/*
чтобы тасков небыло слышком дохера.
Да, функция будет вызываться столько, сколько зарегистрировано тасков, даже если айди один и тот же.
remove_task носит в себе проверку на существование таска, поэтому в условии с task_exists нет необходимости
*/
remove_task(TaskID);

/*
Немедленно покажем игроку худ (типо моментально обновили информацию)
*/
show_RaceInfoHUD(id, szString);

/*
Обновляем эту информацию циклично, выводим худ-сообщения каждую секунду
(чтобы худ точно был показан игрокам, ибо могут быть заняты hud-каналы и вообще конфликт) .
*/
set_task(1.0, "task_RaceInfoBar", TaskID, szString, 256, .flags = "b");
}
else
{
set_hudmessage( 160, 160, 160, 0.012, 0.90, HUDMESSAGE_FX_FADEIN, 10.0, 0.0, 2.0, 3.0, HUD_XP );
show_hudmessage( id, "%s", szXPInfo );
}


В этом же файле, для удобства перед функцией Код:

// Function will display the level information in the center of the user's screen
WC3_ShowRaceInfo( id )
Вставляем свои функции Код:

public task_RaceInfoBar(const szString[], const task_id)
{
// new id = task_id - TASK_RACEINFO;
static id;
id = task_id - TASK_RACEINFO;

// Выводим худ
show_RaceInfoHUD(id, szString);
}

show_RaceInfoHUD(const id, const text[])
{
set_hudmessage(0, 250, 0, 0.012, 0.90, 0, .holdtime = 1.0, .channel = HUD_XP);
show_hudmessage(id, "%s", text);
}

Цвет настраивается в формате RGB (можно воспользоваться например этим сервисом чтобы подобрать цвет, или таблицами: https://colorscheme.ru/html-colors.html http://www.stm.dp.ua/web-design/color-html.php):
set_hudmessage(0, 250, 0, 0.012, 0.90, 0, .holdtime = 1.0, .channel = HUD_XP);

Канал по умолчанию выставлен 3 (константа HUD_XP, файл constants.inl), т.к. он не занят модом в это время.
set_hudmessage(0, 250, 0, 0.012, 0.90, 0, .holdtime = 1.0, .channel = HUD_XP);
StatusText
Смотрим примеры, качаем colorstatus.inc отсюда: https://forums.alliedmods.net/showthread.php?t=168294 , заменяем функцию Create_StatusText


Сложно сейчас мысли до купы сложить, надеюсь все понятно. Код должен быть рабочим crazy.gif

Отредактировал: JIuXeP, - 4.8.2017, 2:01
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя $@NyA
сообщение 4.8.2017, 15:05
Сообщение #34


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

Стаж: 18 лет

Сообщений: 987
Благодарностей: 529
Полезность: 1050

JIuXeP,
Спасибо Вам Сергей за долгую проделанную работу.
Поставил себе HUD.Всё работает блестяще!.Вот только есть нюанс один.Нехватает места,что-бы Раса или Герой отобр.полностью.
К примеру при выборе "Кровавый Маг",пишет только Кровавый и.т.д.Вообщем,чем больше слов,тем меньше отобр.на екране.
Серег,что думать будем?)


Да и добавлю.Цвет неменяеться.Всмисле,если взять етот DarkGreen 0, 100, 0 ,то цвет всёравно 0, 255, 0, и при етом немного подмигивает сам цвет ( не HUD ).

Отредактировал: $@NyA, - 4.8.2017, 15:39


МультиМод CS
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JIuXeP
сообщение 4.8.2017, 23:44
Сообщение #35


Стаж: 12 лет

Сообщений: 338
Благодарностей: 205
Полезность: 792

Цитата($@NyA @ 4.8.2017, 16:05) *
JIuXeP,
Спасибо Вам Сергей за долгую проделанную работу.
Поставил себе HUD.Всё работает блестяще!.Вот только есть нюанс один.Нехватает места,что-бы Раса или Герой отобр.полностью.
К примеру при выборе "Кровавый Маг",пишет только Кровавый и.т.д.Вообщем,чем больше слов,тем меньше отобр.на екране.
Серег,что думать будем?)

Cкрытый текст
Код:
new szRaceName[64], szShortRaceName[32], szItemName[32];

// Get the race names
lang_GetRaceName( p_data[id][P_RACE], id, szRaceName, 63 );
lang_GetRaceName( p_data[id][P_RACE], id, szShortRaceName, 31, true );


Код:
//Function will return the race name based on the race id and the language of the user
lang_GetRaceName ( race_id, id, race_name[], len, bool:shortLookup = false )
{

new szRaceHelper[64];

if ( shortLookup == true )
{
formatex( szRaceHelper, 63, "RACE_S_%d", race_id );
}
else
{
formatex( szRaceHelper, 63, "RACE_%d", race_id );
}

// Lookup the race name
formatex( race_name, len-1, "%L", id, szRaceHelper );
}


Код:
// User is level 0
if ( p_data[id][P_LEVEL] == 0 )
{
pos += formatex( szRaceInfo[pos], 255, "%s", szRaceName, p_data[id][P_XP], xplevel[p_data[id][P_LEVEL]+1] );
}

// User is under level 10
else if ( p_data[id][P_LEVEL] < 10 )
{
pos += formatex( szRaceInfo[pos], 255, "%s", szShortRaceName, id, "WORD_LEVEL", p_data[id][P_LEVEL], p_data[id][P_XP], xplevel[p_data[id][P_LEVEL]+1] );

}

// User is level 10
else
{
pos += formatex( szRaceInfo[pos], 255, "%s", szShortRaceName, id, "WORD_LEVEL", p_data[id][P_LEVEL], p_data[id][P_XP] );
}


Я честно не до конца понимаю смысла выводить разные сообщения для игроков разного уровня... но задумано так, что мультиланговый ключ вида RACE_S_%d (RACE_S_1, RACE_S_2, ...) должен иметь значение короче RACE_%d (RACE_1, RACE_2, ...) по тому, что размерность массива первого 32, второго 64. Но если это все же необходимо, решение простое - увеличить размерность этого самого массива:
Cкрытый текст

Код:
new szRaceName[64], szShortRaceName[32], szItemName[32];

// Get the race names
lang_GetRaceName( p_data[id][P_RACE], id, szRaceName, 63 );
lang_GetRaceName( p_data[id][P_RACE], id, szShortRaceName, 31, true );
->>
Код:
new szRaceName[64], szShortRaceName[64], szItemName[32];

// Get the race names
lang_GetRaceName( p_data[id][P_RACE], id, szRaceName, 63 );
lang_GetRaceName( p_data[id][P_RACE], id, szShortRaceName, 63, true );


Думаю достаточно будет. Но, если все же вдруг и того будет мало, меняй числа 64, 63 соответственно значениями выше.


Цитата($@NyA @ 4.8.2017, 16:05) *
Да и добавлю.Цвет неменяеться.Всмисле,если взять етот DarkGreen 0, 100, 0 ,то цвет всёравно 0, 255, 0, и при етом немного подмигивает сам цвет ( не HUD ).
Худ имеет некий степень прозрачности, поэтому оттенок для некоторых цветов тут менять смысла нет, а уж тем более это касается тёмных оттенков. При разном освещении это будет выглядеть по разному: в темно-освещенных местах оттенок худа действительно будет подобен тому, который ты подбираешь, а при светлом освещении уже совсем другая ситуация.

Отредактировал: JIuXeP, - 4.8.2017, 23:47
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя $@NyA
сообщение 5.8.2017, 3:00
Сообщение #36


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

Стаж: 18 лет

Сообщений: 987
Благодарностей: 529
Полезность: 1050

JIuXeP,
Спасибо Серег ! Хватает места...С цветом действительно есть разница в тёмных углах.Обратил внимание,что и на вещи 1 и 2 немного нехватки места ( Башмаки и Ожерелье должно быть ).Буква "и" после "к" через пробел,то так и должно быть.)Тоисть Предмет:Башмаки и Предмет: Ожерелье

Что-бы тебя лишний раз нетревожить,изменял здесь но - результата небыло...
Код
    new szItemInfo[256], szItemName[32], szItemName2[32];

    // Get the item and race names
    LANG_GetItemName( g_iShopMenuItems[iTargetID][ITEM_SLOT_ONE], id, szItemName, 31, true );
    LANG_GetItemName( g_iShopMenuItems[iTargetID][ITEM_SLOT_TWO], id, szItemName2, 31, true );


И ещё скажи как в одну строку сделать отобр.ато на 2 идёт.

И на етом ВСЁ,Серёга - ЗАКОНЧИМ !


МультиМод CS
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя JIuXeP
сообщение 6.8.2017, 1:19
Сообщение #37


Стаж: 12 лет

Сообщений: 338
Благодарностей: 205
Полезность: 792

Цитата($@NyA @ 5.8.2017, 4:00) *
JIuXeP,
Спасибо Серег ! Хватает места...С цветом действительно есть разница в тёмных углах.Обратил внимание,что и на вещи 1 и 2 немного нехватки места ( Башмаки и Ожерелье должно быть ).Буква "и" после "к" через пробел,то так и должно быть.)Тоисть Предмет:Башмаки и Предмет: Ожерелье
items.inl
Найди функцию Код:
// Format the item for WC3_ShowBar
ITEM_Format( id, iItem, szItemString[], iLen )


И в ней замени Код:
new szItemName[32];
LANG_GetItemName( iItem, id, szItemName, 31, true );
На Код:
new szItemName[64];
LANG_GetItemName( iItem, id, szItemName, 63, true );
war3ft.inl
Ищем ту самую функцию Код:
WC3_ShowBar( id )

1
Код:
szItemName[32]
->>Код:
szItemName[64]
2
Код:
ITEM_Format( id, g_iShopMenuItems[id][ITEM_SLOT_ONE], szItemName, 31 )
->>Код:
ITEM_Format( id, g_iShopMenuItems[id][ITEM_SLOT_ONE], szItemName, 63 )
2
Код:
ITEM_Format( id, g_iShopMenuItems[id][ITEM_SLOT_TWO], szItemName, 31 )
->>Код:
ITEM_Format( id, g_iShopMenuItems[id][ITEM_SLOT_TWO], szItemName, 63 )
Везде, вместо числа 63 можно писать charsmax(szItemName), и размерность будет определена сама. Но тебе и такой вариант пойдет, думаю увеличивать что-то ты больше не собираешься)

Цитата($@NyA @ 5.8.2017, 4:00) *
Что-бы тебя лишний раз нетревожить,изменял здесь но - результата небыло...
Хорошо, что сам пытаешься что-то делать. ты на верном пути, вот только не в той функции смотришь)

Цитата($@NyA @ 5.8.2017, 4:00) *
И ещё скажи как в одну строку сделать отобр.ато на 2 идёт.
Посмотрел я. В недрах amxmodx функция show_hudmessage сама переносит строки перед выводом... https://github.com/alliedmodders/amxmodx/bl...mxmodx.cpp#L529
https://github.com/alliedmodders/amxmodx/bl...l.cpp#L148-L183

Пока на уме только...
1. Убрать это можно убрав UTIL_SplitHudMessage (или отредактировать ее, сделав возможность выводить водну строку больше символов) в нашей функции show_hudmessage. Но для этого потребуется перекомпилировать amxmodx.
2. Можно замутить свою функцию, аля show_hudmessage2, и в ней оставить тот же функционал что и в оригинальной, но опять же убрать "перенос строк".
3. Можно переносить строки самостоятельно в нужном месте с помощью указателя "^n".
4. Вместо hudmessage использовать dhudmessage. Сообщения будут размером больше, но за то без всяких переносов)
variant 4
Этот вариант будет легче всего.
war3ft.inl
Код:
show_RaceInfoHUD(const id, const text[])
{
set_hudmessage(0, 250, 0, 0.012, 0.90, 0, .holdtime = 1.0, .channel = HUD_XP);
show_hudmessage(id, "%s", text);
}
->> Код:
show_RaceInfoHUD(const id, const text[])
{
set_dhudmessage(0, 250, 0, 0.012, 0.90, 0, .holdtime = 1.0);
show_dhudmessage(id, "%s", text);
}
war3ft.sma

После Код:
#include <sqlx>

Добавь Код:
#if AMXX_VERSION_NUM < 183
#include <dhudmessage>
#endif


Цитата($@NyA @ 5.8.2017, 4:00) *
И на етом ВСЁ,Серёга - ЗАКОНЧИМ !
Ой... что-то мне подсказывает, что еще не закончим :)
Да все нормально, рад помочь как свободен

Цитата($@NyA @ 5.8.2017, 4:00) *
Может попробуй подвести к какому-то другому виду?
Зачем выводить дважды "предмет"? Можно что-то такое:
Код
Герой: Темный Охотник Предметы: Башмаки и Ожерелье

Или вообще в две строки, при этом не изменяя худ вовсе:
Код
Герой: Темный Охотник
Предметы: Башмаки и Ожерелье
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя $@NyA
сообщение 6.8.2017, 3:34
Сообщение #38


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

Стаж: 18 лет

Сообщений: 987
Благодарностей: 529
Полезность: 1050

JIuXeP,
Спасибо Серёг,что ответил.Я поджидал тебя здесь... : )

Всё,что ты мне написал, - всё получилось.Вариант из DHUD пришолся как раз кстате.И у тебя меньше времени ушло,что-бы решить в одну строку, и Я - доволен.+ скажу что-лучше он, чем ХУД ( ну именно для етой одной функции)


Было время я давно на его хотел перейти,что-бы на широкоформатниках ( мониторах ) больших было всё видно.Но передумал.
Но я заметил у его свой канал.К примеру я везде на всех Худах использую - 1 и сообщения неперекривают друг-друга.За исключением,что до етого ДХУДА,когда стоял ХУД, то другое сообщение появлялось и через 2 сек.пропадало и... тут большой брат решил ету проблему...)))

Серёг, я всегда питаюсь решить сначала проблему сам ( до последнего ),но уже когда ничего невиходит...обращаюсь к тебе.

А нащот етого Герой: Темный Охотник Предметы: Башмаки и Ожерелье .Можно и так,но если убрать в ланге ITEM_S_0 = : Предмет : Амулет и ниже т.п. ( слово предмет ) то будет просто после расы:Башмаки,шлёпанци,сандали и.т.д.К тому есть и навыки ,что-бы как-то разнообразить Герой : Любовник : Предмет : Кухонный стол и Навик : Соблазн

А нащот того,что на етом закончим,то так и есть, мы - закончили...но только на ВАРКРАФТЕ. : D

Всё, делаю тему ПОЛНОСТЬЮ РЕШЕННОЙ

Большое ещё раз СПАСИБО !!!



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