Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Гайд Redmix static reflipper Desync

Эксперт
Эксперт
Статус
Оффлайн
Регистрация
17 Фев 2017
Сообщения
864
Реакции
420
Сливаю свой десинк статика так как придумал получше

Код:
Expand Collapse Copy
// velocity min movement

float speed2d = local->get_velocity().length2d();

if (speed2d <= 0.1) // make movement
{
if (bSendPacket) // make micro mov invisible for clients so it should break clientside animations but server gets normal velocity in choked state, so desync appears.
{
  cmd->sidemove += command_number % 2 ? -2 : 2;
}
}

if (speed2d <= 0.1 && local->get_duck_ammount() > 0)
{
   cmd->sidemove *= 3;
   // make our desync on duck maximize because of velocity decrease. cl_showpos for testing.
if (!bSendPacket)
    cmd->sidemove = 0; // avoid to move cycle everytime exept of one choked tick, so we should maximaze our desync on this tick.
}

// desync code //
float real = get_real();
cmd->viewangles.y = real;

if (!bSendPacket) // desync angle
{    desync_angle = real + speed2d > 1 ? 120 : 60;
      cmd->viewangles.y = desync_angle;
}

if (local->get_animstate()->on_hit_ground && !bSendPacket && was_in_air)
{
   cmd->viewangles.y = local->lby() + 36; // make lby broken on landing so we get 108 desync on movement.
   was_in_air = false;
}

if (slow_walk) // makes our legs anim gets broken on slow walk
{
  if (angle_diff(local->get_animstate()->eye_yaw, local->get_animstate()->goal_feet) < 35 && !bSendPacket)
   {
   cmd->viewangles.y += 180;
   cmd->forwardmove += cmd->forwardmove > 1 ? 1 : - 1;
   cmd->sidemove += command_number % 2 ? 0.2 : - 0.2; 
   }
}
 
Сливаю свой десинк статика так как придумал получше

Код:
Expand Collapse Copy
// velocity min movement

float speed2d = local->get_velocity().length2d();

if (speed2d <= 0.1) // make movement
{
if (bSendPacket) // make micro mov invisible for clients so it should break clientside animations but server gets normal velocity in choked state, so desync appears.
{
  cmd->sidemove += command_number % 2 ? -2 : 2;
}
}

if (speed2d <= 0.1 && local->get_duck_ammount() > 0)
{
   cmd->sidemove *= 3;
   // make our desync on duck maximize because of velocity decrease. cl_showpos for testing.
if (!bSendPacket)
    cmd->sidemove = 0; // avoid to move cycle everytime exept of one choked tick, so we should maximaze our desync on this tick.
}

// desync code //
float real = get_real();
cmd->viewangles.y = real;

if (!bSendPacket) // desync angle
{    desync_angle = real + speed2d > 1 ? 120 : 60;
      cmd->viewangles.y = desync_angle;
}

if (local->get_animstate()->on_hit_ground && !bSendPacket && was_in_air)
{
   cmd->viewangles.y = local->lby() + 36; // make lby broken on landing so we get 108 desync on movement.
   was_in_air = false;
}

if (slow_walk) // makes our legs anim gets broken on slow walk
{
  if (angle_diff(local->get_animstate()->eye_yaw, local->get_animstate()->goal_feet) < 35 && !bSendPacket)
   {
   cmd->viewangles.y += 180;
   cmd->forwardmove += cmd->forwardmove > 1 ? 1 : - 1;
   cmd->sidemove += command_number % 2 ? 0.2 : - 0.2;
   }
}

Лютая реализация реальных углов :roflanPominki:
 
Лютая реализация реальных углов :roflanPominki:
Если человек не в состоянии сделать функцию, где ему всего-навсего надо поставить viewangles, то ему впринципе уже ничего не поможет. Он это все не спастит себе, либо сделает неправильно.
 
Если человек не в состоянии сделать функцию, где ему всего-навсего надо поставить viewangles, то ему впринципе уже ничего не поможет. Он это все не спастит себе, либо сделает неправильно.
А как неправильное можно сделать еще не правильнее?
 
А как неправильное можно сделать еще не правильнее?
Давай, расскажи мне о неправильном, а как ты со своим блейзхаком по фулл обойме срал по моим десинкам, причем тебя овнили как сучку даже с брокен аимботом, вечно срущим по сприду.
Хотя тебе откуда ж знать, что правильно, а что нет. Ты кроме найтмода и парочки визуальных херовин из одного и того же сдк нихрена больше и не сделал. Пару раз пытался сделать десинки, в итоге обосрался. Ой, извините, не сделать, а спастить легит десинки.
 
таких извращений я не видел никогда, даже когда моя дама пыталась делать салат ( @Homer1390 подтвердит, что все было очень КрИнЖоВо )
приступим )
if (speed2d <= 0.1) // make movement
{
if (bSendPacket) // make micro mov invisible for clients so it should break clientside animations but server gets normal velocity in choked state, so desync appears.
{
cmd->sidemove += command_number % 2 ? -2 : 2;
}
}
лишняя вложенность, ок
if (speed2d <= 0.1 && local->get_duck_ammount() > 0)
повторение первого условия, класс кодстайл
2 * 3 = 6, не так ли?
а теперь смотрим сюды -
Пожалуйста, авторизуйтесь для просмотра ссылки.

float real = get_real();
cmd->viewangles.y = real;
на этом моменте захотелось умереть, либо это лютая антипаста, либо я чего-то не понимаю в этой жизни :(
if (!bSendPacket) // desync angle
{
desync_angle = real + speed2d > 1 ? 120 : 60;
cmd->viewangles.y = desync_angle;
}
чиво... спасибо за дельту 60 на мувах, у нас же не может быть больше, конечно нет
if (local->get_animstate()->on_hit_ground && !bSendPacket && was_in_air)
{
cmd->viewangles.y = local->lby() + 36; // make lby broken on landing so we get 108 desync on movement.
was_in_air = false;
}
....... ( звук молчания )
if (slow_walk) // makes our legs anim gets broken on slow walk
{
if (angle_diff(local->get_animstate()->eye_yaw, local->get_animstate()->goal_feet) < 35 && !bSendPacket)
{
cmd->viewangles.y += 180;
cmd->forwardmove += cmd->forwardmove > 1 ? 1 : - 1;
cmd->sidemove += command_number % 2 ? 0.2 : - 0.2;
}
}
superior p2c technologies
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сливаю свой десинк статика так как придумал получше

Код:
Expand Collapse Copy
// velocity min movement

float speed2d = local->get_velocity().length2d();

if (speed2d <= 0.1) // make movement
{
if (bSendPacket) // make micro mov invisible for clients so it should break clientside animations but server gets normal velocity in choked state, so desync appears.
{
  cmd->sidemove += command_number % 2 ? -2 : 2;
}
}

if (speed2d <= 0.1 && local->get_duck_ammount() > 0)
{
   cmd->sidemove *= 3;
   // make our desync on duck maximize because of velocity decrease. cl_showpos for testing.
if (!bSendPacket)
    cmd->sidemove = 0; // avoid to move cycle everytime exept of one choked tick, so we should maximaze our desync on this tick.
}

// desync code //
float real = get_real();
cmd->viewangles.y = real;

if (!bSendPacket) // desync angle
{    desync_angle = real + speed2d > 1 ? 120 : 60;
      cmd->viewangles.y = desync_angle;
}

if (local->get_animstate()->on_hit_ground && !bSendPacket && was_in_air)
{
   cmd->viewangles.y = local->lby() + 36; // make lby broken on landing so we get 108 desync on movement.
   was_in_air = false;
}

if (slow_walk) // makes our legs anim gets broken on slow walk
{
  if (angle_diff(local->get_animstate()->eye_yaw, local->get_animstate()->goal_feet) < 35 && !bSendPacket)
   {
   cmd->viewangles.y += 180;
   cmd->forwardmove += cmd->forwardmove > 1 ? 1 : - 1;
   cmd->sidemove += command_number % 2 ? 0.2 : - 0.2;
   }
}
неверно
 
таких извращений я не видел никогда, даже когда моя дама пыталась делать салат ( @Homer1390 подтвердит, что все было очень КрИнЖоВо )
приступим )

лишняя вложенность, ок

повторение первого условия, класс кодстайл

2 * 3 = 6, не так ли?
а теперь смотрим сюды -
Пожалуйста, авторизуйтесь для просмотра ссылки.


на этом моменте захотелось умереть, либо это лютая антипаста, либо я чего-то не понимаю в этой жизни :(

чиво... спасибо за дельту 60 на мувах, у нас же не может быть больше, конечно нет

....... ( звук молчания )

superior p2c technologies
Ты обознался, ой, то есть обосрался.

->
2 * 3 = 6, не так ли?
а теперь смотрим сюды -
Пожалуйста, авторизуйтесь для просмотра ссылки.

->

И что там происходит? Ой, верно, МНОЖИТЕЛЬ 0.33. Что б наш велосити на даке не был ниже 0.1, нам надо ВНЕЗАПНО, компенсировать это, умножая, КТО БЫ МОГ ПОДУМАТЬ ?? на 3. Что б и стоя и сидя был примерно одинаковый велосити.

->
чиво... спасибо за дельту 60 на мувах, у нас же не может быть больше, конечно нет
->
Ааа, так тебя походу сюда подослали засрать меня, или ты просто в глаза долбишься. А может и то, и другое.

Код:
Expand Collapse Copy
desync_angle = real + speed2d > 1 ? 120 : 60;
cmd->viewangles.y = desync_angle;

А, стоп. Я забыл, я же общаюсь с пастерами, которые не понимают код и что он вообще делает.

Дальше продолжать не вижу смысла, ибо там надо разжевывать и кидать пруфы работы, а мне впадлу это делать.
 
Ты обознался, ой, то есть обосрался.
по фактам разъебал, спасибо
И что там происходит? Ой, верно, МНОЖИТЕЛЬ 0.33. Что б наш велосити на даке не был ниже 0.1, нам надо ВНЕЗАПНО, компенсировать это, умножая, КТО БЫ МОГ ПОДУМАТЬ ?? на 3. Что б и стоя и сидя был примерно одинаковый велосити.
чиво )
ты про двоечку в самом начале не забывай
Ааа, так тебя походу сюда подослали засрать меня, или ты просто в глаза долбишься. А может и то, и другое.
кто меня подослал то, лол и зачем мне тебя засирать?
долблюсь в глаза, окей, давай посмотрим на твой код и разберемся, как же работают тернарные операторы
// не то увидел, на стендах, в любом случае, это неверно ?
C++:
Expand Collapse Copy
desync_angle = real + speed2d > 1 ? 120 : 60;
// существует некий desync_angle, который содержит новое значение viewangles.yaw
// к реалу мы прибавляем либо 120, либо 60
// а теперь проверяем условие
// дети, давайте откроем определение тернарных операторов в C++ - http://cppstudio.com/post/304/
// значит наше условие выглядит так:
// if ( speed2d > 1 == true ) then 120 else 60
// что в свою очередь означает, что ты прибавляешь 60 на мувах
cmd->viewangles.y = desync_angle;
А, стоп. Я забыл, я же общаюсь с пастерами, которые не понимают код и что он вообще делает
ок, я пастер, но, во-первых, на большинство моих доводов ты так и не ответил, а во-вторых, ты сам не понимаешь, как работает твой код, что я только что успешно подтвердил
Дальше продолжать не вижу смысла, ибо там надо разжевывать и кидать пруфы работы, а мне впадлу это делать.
тебе впадлу учить что-то и понимать, исправь сообщение, конец должен выглядеть так: чел, ты меня, конечно, по фактам разъебал, и я просто не хочу быть посмешищем боле, не пиши, пожалуйста, я отправлю тебе донат на paypal
 
Последнее редактирование:
чиво )
ты про двоечку в самом начале не забывай
А как он микро мувы тогда будет делать?
// if ( speed2d > 1 == true ) then 120 else 60 // что в свою очередь означает, что ты прибавляешь 60 на мувах
Если скорость больше еденички, тогда 120, но прибавляешь 60, спасибо
А вообще да, @Solpadoin ты блять наглость барыг учитывай, а то уже на мувах у тебя половину сожрали, а на стендах у тебя что будет?
 
А как он микро мувы тогда будет делать?

Если скорость больше еденички, тогда 120, но прибавляешь 60, спасибо
А вообще да, @Solpadoin ты блять наглость барыг учитывай, а то уже на мувах у тебя половину сожрали, а на стендах у тебя что будет?
Каких барыг? Ты о чем
 
по фактам разъебал, спасибо

чиво )
ты про двоечку в самом начале не забывай

кто меня подослал то, лол и зачем мне тебя засирать?
долблюсь в глаза, окей, давай посмотрим на твой код и разберемся, как же работают тернарные операторы
// не то увидел, на стендах, в любом случае, это неверно ?
C++:
Expand Collapse Copy
desync_angle = real + speed2d > 1 ? 120 : 60;
// существует некий desync_angle, который содержит новое значение viewangles.yaw
// к реалу мы прибавляем либо 120, либо 60
// а теперь проверяем условие
// дети, давайте откроем определение тернарных операторов в C++ - http://cppstudio.com/post/304/
// значит наше условие выглядит так:
// if ( speed2d > 1 == true ) then 120 else 60
// что в свою очередь означает, что ты прибавляешь 60 на мувах
cmd->viewangles.y = desync_angle;

ок, я пастер, но, во-первых, на большинство моих доводов ты так и не ответил, а во-вторых, ты сам не понимаешь, как работает твой код, что я только что успешно подтвердил

тебе впадлу учить что-то и понимать, исправь сообщение, конец должен выглядеть так: чел, ты меня, конечно, по фактам разъебал, и я просто не хочу быть посмешищем боле, не пиши, пожалуйста, я отправлю тебе донат на paypal
Форма записи тернарной операции в C++
"условие" ? "выражение 1" : "выражение 2";
Если условие истинно, то выполняется выражение 1, иначе (условие ложно) выполняется выражение 2.
Пример:

1a > b ? cout << a : cout << b; // если а > b, то выполняется cout << a, иначе выполняется cout << b
Таким образом, если, а > b напечатать а, иначе напечатать b. То есть, программа печатает большее из чисел.

Вопросы есть? Вопросов нет.
 
А как он микро мувы тогда будет делать?

Если скорость больше еденички, тогда 120, но прибавляешь 60, спасибо
А вообще да, @Solpadoin ты блять наглость барыг учитывай, а то уже на мувах у тебя половину сожрали, а на стендах у тебя что будет?
он видимо не понимает, что если сделать двоечку и так её и оставить, то когда ты сядешь, твое велосити просаживается примерно в три раза. Ему просто взападло убедиться в этом, просто зайдя на локалку и написав cl_showpos.
Именно что б десинк на даке не ломался, и нужно домножать двоечку на троечку.

Окей, в некоторой степени я согласен с ним, что у меня говнокод, но извините, кому надо, пусть отрефакторит как нужно.
Видимо он не понимает, что когда постоянно что-то добавляешь/меняешь то код будет выглядеть дебильно.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Последнее редактирование:
Ну да, Я обязан знать абсолютно всё, даже такие вещи. А если я честно ответил, что некоторых вещей не знаю, то всё, катастрофа!! пастер! Тем более что это не имеет вообще ничего общего к данной теме и к десинкам впринципе.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ну да, Я обязан знать абсолютно всё, даже такие вещи. А если я честно ответил, что некоторых вещей не знаю, то всё, катастрофа!! пастер! Тем более что это не имеет вообще ничего общего к данной теме и к десинкам впринципе.
Все что ты писал на скриншотах - полный бред.
 
Назад
Сверху Снизу