Interface.u (ToolTipe)

Hedgehog

Знающий
Местный
Сообщения
366
Розыгрыши
0
Решения
3
Репутация
151
Реакции
271
Баллы
433
Доброго времени суток. Подскажите как сделать чтобы отображался общий вес вещей ?
C++:
case ITEM_ETCITEM:
            m_Tooltip.SimpleLineCount = 2;
            if (Item.Weight==0)
                AddTooltipItemOption3(52, " 0 ", true, true, false);
                
            else if (IsStackableItem(Item.ConsumeType) )
                    AddTooltipItemOption3(2081, MakeCostString(Int64ToString(Item.ItemNum)), true, true, false);    // 2081 = Общий вес
            else
                AddTooltipItemOption3(52, String(Item.Weight), true, true, false);
        break;
Если в место
C++:
 MakeCostString(Int64ToString(Item.ItemNum))
вставляю
C++:
MakeCostString(Int64ToString(Item.Weight))
Не компилит.
Как написать чтобы оно выводило общий вес если предметов больше одного.

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

Во-первых значение веса идёт как int, а не int64
C#:
var int Weight;

Во-вторых MakeCostString принимает аргумент как string.
C#:
native final function string MakeCostString(string strInput);

Следовательно: У тебя неверное преобразование типа и конечная строка должна быть какой то такой.
C#:
MakeCostString(String(Item.Weight))




P.S. Для общего развития: Советую зайти в папку NWindow\Classes и использовать хотя бы UIEventManager и UIScript, как шпаргалку что бы посмотреть АПИ, типы в структурах и т.п. Но на деле там намного больше всего.
 
Во-первых значение веса идёт как int, а не int64
C#:
var int Weight;

Во-вторых MakeCostString принимает аргумент как string.
C#:
native final function string MakeCostString(string strInput);

Следовательно: У тебя неверное преобразование типа и конечная строка должна быть какой то такой.
C#:
MakeCostString(String(Item.Weight))




P.S. Для общего развития: Советую зайти в папку NWindow\Classes и использовать хотя бы UIEventManager и UIScript, как шпаргалку что бы посмотреть АПИ, типы в структурах и т.п. Но на деле там намного больше всего.
AddTooltipItemOption3(2081, String(Item.Weight), true, true, false);
Ну такая строчка показывает вес только одной вещи, как сделать чтобы вес умножился на количество и тут AddTooltipItemOption3(52, String(Item.Weight), true, true, false); был вывод?
 
AddTooltipItemOption3(2081, String(Item.Weight), true, true, false);
Ну такая строчка показывает вес только одной вещи, как сделать чтобы вес умножился на количество и тут AddTooltipItemOption3(52, String(Item.Weight), true, true, false); был вывод?
Это должно быть применимо для хроник типа ХФ. В хрониках повыше можно не использовать Int64ToInt преобразование для работы с int и int64 типами.
Можно обернуть всё это в MakeCostString.
C#:
AddTooltipItemOption3(2081, String(Item.Weight * Int64ToInt(Item.ItemNum)), true, true, false);
 
Это должно быть применимо для хроник типа ХФ. В хрониках повыше можно не использовать Int64ToInt преобразование для работы с int и int64 типами. Можно обернуть всё это в MakeCostString.
C#:
AddTooltipItemOption3(2081, String(Item.Weight * Int64ToInt(Item.ItemNum)), true, true, false);
Ну у меня ХФ

Не компилит
C++:
case ITEM_ETCITEM:
            m_Tooltip.SimpleLineCount = 2;
            if (Item.Weight==0)
                AddTooltipItemOption3(52, " 0 ", true, true, false);
               
            else if (Int64ToString(Item.ItemNum)>"1")
                    AddTooltipItemOption3(2081, String(Item.Weight * Int64ToInt(record.ItemNum)), true, true, false);
            else
                AddTooltipItemOption3(52, String(Item.Weight), true, true, false);
        break;
        }
 
Ну у меня ХФ
Не компилил

C++:
case ITEM_ETCITEM:
            m_Tooltip.SimpleLineCount = 2;
            if (Item.Weight==0)
                AddTooltipItemOption3(52, " 0 ", true, true, false);
              
            else if (Int64ToString(Item.ItemNum)>"1")
                    AddTooltipItemOption3(2081, String(Item.Weight * Int64ToInt(record.ItemNum)), true, true, false);
            else
                AddTooltipItemOption3(52, String(Item.Weight), true, true, false);
        break;
        }
Я там ошибся маленько, написан record.ItemNum. Измени на Item.

И вообще - там ошибки чётко пишут строчку и что не так. Во всех редакторах, что бы перейти к строке это alt+G.
 
  • Мне нравится
Реакции: Hedgehog

    Hedgehog

    Баллов: 2
    Низкий поклон
Я там ошибся маленько, написан record.ItemNum. Измени на Item.

И вообще - там ошибки чётко пишут строчку и что не так. Во всех редакторах, что бы перейти к строке это alt+G.
Низкий поклон. Получилось. Я не мог понять как умножить
C++:
String(Item.Weight * Int64ToInt(Item.ItemNum))
И писал что-то типо такого
C++:
 (Int64ToString(Item.ItemNum)*"Item.Weight")
:ROFLMAO:
 
И вообще - там ошибки чётко пишут строчку и что не так. Во всех редакторах, что бы перейти к строке это alt+G.
А можно подробней? у меня Visual Studio Code Когда нажимаю alt+G там только :
1682567823676.png
 
А можно подробней? у меня Visual Studio Code Когда нажимаю alt+G там только :
Посмотреть вложение 51993
Пишешь сюда номер нужной строки, на которую у тебя ссылается лог компилятора и нажимаешь энтер.

PS: На VSCode можно поставить , который подсветит синтаксис и позволит чутка упростить работу. + он способен подсветить также некоторые ошибки.
 
Пишешь сюда номер нужной строки, на которую у тебя ссылается лог компилятора и нажимаешь энтер.

PS: На VSCode можно поставить , который подсветит синтаксис и позволит чутка упростить работу. + он способен подсветить также некоторые ошибки.
Ааа, та у меня беспонтовый компилятор с Шары. Он не способен ни на что. Щас попробую разобраться с плагином. Спасибо
 
Назад
Сверху Снизу