Баг с бижей

Infinity

Знаменитый
Участник
Сообщения
22
Розыгрыши
0
Репутация
0
Реакции
16
Баллы
1 235
Всем привет, подскажите куда копать что бы исправить баг этот который практически везде был или есть, с одеванием бижутерии в Интерлюде... не пойму куда копать вообще,или я может поиском плохо пользуюсь может уже есть решение данного вопроса?
 
Что за баг такой ?
ну что одевается только правые куски, или условно макрос тт сет на епик сет смена. меняется только некля правая серьга и правое кольцо.
а левое именно надо снимать что бы туда оделось по клику
 
так это по идее не баг - откуда серверу знать какое из колец/сережек ты менять хочешь - если оба слота заняты то он просто меняет предмет в первом подходящем слоте.
вот если бы второй слот был свободен, но сервер бы это игнорил и просто менял одетое в первом слоте, то это да - баг и это надо методы одевающие/снимающие вещи копать в классе инвентаря.
 
Может просто макрос кривой, а ты баг пишешь)
 
ду ну
Может просто макрос кривой, а ты баг пишешь)
нормальный макрос, просто если одеть и снять потом одеть другое вроде нормально работает, ито если не быстро это делать,
а вот если поверз одетого одеать "другой" сет то так не работает меняет только неклу и правые части
 
где то видел одевалось в интерлюде нормально, но там был кастомный интефейс и предполагаю что там реализовали очередь надевания предметов, так же как делают сортировку и тд
возможно сделали по индексам, если уже надел один надевает на следующий
 
Ну это логический бред же)
 
Сомнительно, нет видео, что прописано в макросе, по твоим бцквам нам гадать и подсказывать?)
 
Не, со стороны клиента вряд ли такое сделаешь - ведь клиент не может сказать серверу "я хочу этот предмет одеть именно в вот этот вот слот".
А вот на стороне сервера вполне можно простенький костыль сделать с слотами колец/сережек, типа запоминания того в какой слот был одет в предыдущий раз предмет и если заняты оба однотипных слота, то одевать в тот слот что не запомнен, после чего запоминать его. В итоге по кругу будут меняться приоритетные для одевания слоты.
Реализовать такое можно чуть ли не в десяток-другой строк кода.
 
Ну это логический бред же)
а это куда засунуть?

Код:
const EQUIPITEM_Neck = 4;
const EQUIPITEM_REar = 8;
const EQUIPITEM_LEar = 9;
const EQUIPITEM_RFinger = 13;
const EQUIPITEM_LFinger = 14;

switch( IsLOrREar( m_EarItemList[i].ServerID ) )
{
case -1:
    LEarIndex = i;
    break;
case 0:
    m_EarItemList.Remove( i, 1 );
    break;
case 1:
    REarIndex = i;
    break;
}

m_equipItem[ EQUIPITEM_LEar ].AddItem( m_EarItemList[ LEarIndex ] );
m_equipItem[ EQUIPITEM_REar ].AddItem( m_EarItemList[ REarIndex ] );


switch( IsLOrRFinger( m_FingerItemList[i].ServerID ) )
{
case -1:
    LFingerIndex = i;
    break;
case 0:
    m_FingerItemList.Remove( i, 1 );
    break;
case 1:
    RFingerIndex = i;
    break;
}

m_equipItem[ EQUIPITEM_LFinger ].AddItem( m_FingerItemList[ LFingerIndex ] );
m_equipItem[ EQUIPITEM_RFinger ].AddItem( m_FingerItemList[ RFingerIndex ] );

function int IsLOrREar( int a_ServerID )
{
    ...
    GetAccessoryServerID( LEar, REar, LFinger, RFinger );

    if( a_ServerID == LEar )
        return -1;
    else if( a_ServerID == REar )
        return 1;
    else
        return 0;
}

function int IsLOrRFinger( int a_ServerID )
{
    ...
    GetAccessoryServerID( LEar, REar, LFinger, RFinger );

    if( a_ServerID == LFinger )
        return -1;
    else if( a_ServerID == RFinger )
        return 1;
    else
        return 0;
}

и да левый правый завязан на сервере
Сообщение объединено:
да, с перебором не получается как сортировка
там жесткие сервер ИД

п.с. по всей видимости просто криво написали сервер.
хотя смотрю на бартце так же а он как бы птс.
даже на новом клиента, т.е. серверная шляпа.

тогда единый путь - правка на сервере, сделать очередь там.
 
Последнее редактирование:
тогда единый путь - правка на сервере, сделать очередь там.
А какая должна быть логика у этой очереди? Вот например у меня одето ТТ кольцо +3 и кольцо бая и я одеваю ТТ кольцо +6, откуда сервер знает чего я хочу в данный момент - заменить бая или заменить ТТ кольцо с меньшей заточкой?

Или имеется ввиду просто запоминать если последний раз переодевалось правое кольцо то переодевать левое? (Ну это тоже такое себе)
 
ну в теории ты можешь создать копию с другим id, и дать им в коде разные слоты,
<slot id="RIGHT_FINGER"/>
<slot id="LEFT_FINGER"/>
 
тогда мне в игре все кольца надо продублировать получается, но как вариант кстате да, годно спасибо и меньше мороки. но больше работы с дропом) но как вариант кстати очень даже. и будет ожиотаж с левой и правой кольцом серьгой)))
 
Может я не правильно понял, но функция в интерфейсе отдаёт только serverId серёжек и колец, это получается придётся в интерфейсе писать функцию с проверкой по serverId для разделения всех правых и левых серёжек и колец, что б отображение на стороне клиента было правильное?
 
да, если надел на левую, следующий на правую, но сервак чёто шлёт постоянною правую даже если она заполнена а левая пустая
 
Для макроса логика сойдёт, но если я одел бая, а потом ТТ кольцо и точнул ещё одно ТТ кольцо больше, чем то что надето, то я одеваю а оно меняет бая так как последним одевали ТТ)))
 
не не, замена идёт снятием и надевание
имеется в вижу когда пустая ячейка, должен дозаполнять
 
ну ты говоришь одевается всёравно на правое - точно сервер шлёт а не клиент принимает левую а ставит на правую?
 
так ну ладно в гминвентори можно сделать правка под такое
Посмотреть вложение Screen Recording 2026-10-04 221041.mp4

тю ёлки оно ж и по дефолту так заполняет, то ведать если поломаный интерфейс то только одну часть
 
Последнее редактирование:
Данный сайт использует cookie. Вы должны принять их для продолжения использования. Узнать больше…