Баг с бижей

Infinity

Знаменитый
Участник
Старожил I степени
Сообщения
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"/>
 
ну в теории ты можешь создать копию с другим id, и дать им в коде разные слоты,
<slot id="RIGHT_FINGER"/>
<slot id="LEFT_FINGER"/>
тогда мне в игре все кольца надо продублировать получается, но как вариант кстате да, годно спасибо и меньше мороки. но больше работы с дропом) но как вариант кстати очень даже. и будет ожиотаж с левой и правой кольцом серьгой)))
 
тогда мне в игре все кольца надо продублировать получается, но как вариант кстате да, годно спасибо и меньше мороки. но больше работы с дропом) но как вариант кстати очень даже. и будет ожиотаж с левой и правой кольцом серьгой)))
Может я не правильно понял, но функция в интерфейсе отдаёт только serverId серёжек и колец, это получается придётся в интерфейсе писать функцию с проверкой по serverId для разделения всех правых и левых серёжек и колец, что б отображение на стороне клиента было правильное?
 
А какая должна быть логика у этой очереди? Вот например у меня одето ТТ кольцо +3 и кольцо бая и я одеваю ТТ кольцо +6, откуда сервер знает чего я хочу в данный момент - заменить бая или заменить ТТ кольцо с меньшей заточкой?

Или имеется ввиду просто запоминать если последний раз переодевалось правое кольцо то переодевать левое? (Ну это тоже такое себе)
да, если надел на левую, следующий на правую, но сервак чёто шлёт постоянною правую даже если она заполнена а левая пустая
 
да, если надел на левую, следующий на правую, но сервак чёто шлёт постоянною правую даже если она заполнена а левая пустая
Для макроса логика сойдёт, но если я одел бая, а потом ТТ кольцо и точнул ещё одно ТТ кольцо больше, чем то что надето, то я одеваю а оно меняет бая так как последним одевали ТТ)))
 
Для макроса логика сойдёт, но если я одел бая а потом ТТ кольцо и точнул ещё одно ТТ кольцо больше чем то что надето то я одеваю а оно меняет бая так как последним одевали ТТ)))
не не, замена идёт снятием и надевание
имеется в вижу когда пустая ячейка, должен дозаполнять
 
не не, замена идёт снятием и надевание
имеется в вижу когда пустая ячейка, должен дозаполнять
ну ты говоришь одевается всёравно на правое - точно сервер шлёт а не клиент принимает левую а ставит на правую?
 
ну ты говоришь одевается всё равно на правое - точно сервер шлёт а не клиент принимает левую а ставит на правую?
так ну ладно в гминвентори можно сделать правка под такое
Посмотреть вложение Screen Recording 2026-10-04 221041.mp4

тю ёлки оно ж и по дефолту так заполняет, то ведать если поломаный интерфейс то только одну часть
 
Последнее редактирование:
Назад
Сверху Снизу