Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Пожертвовать Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Вопрос про клиента (только про клиента)
sssw Дата: Воскресенье, 09.02.2014, 11:59:03 | Сообщение # 1
Сообщений: 123
Репутация: 14 [ +/- ]
В source engine есть процедура думания для CBaseEntity.
Так вот если кто знает при ошибке предсказания клиент пере симулирует всё с момента ошибки. Как это он делает просто вызывает несколько раз эту процедуру?


Сообщение отредактировал sssw - Воскресенье, 09.02.2014, 12:01:23
 
Vitaminoz Дата: Воскресенье, 09.02.2014, 18:51:22 | Сообщение # 2
Сообщений: 141
Репутация: 1 [ +/- ]
Ты про Post Think ?
 
sssw Дата: Воскресенье, 09.02.2014, 21:18:51 | Сообщение # 3
Сообщений: 123
Репутация: 14 [ +/- ]
Цитата Vitaminoz ()
Ты про Post Think ?

Да.
Уточнение про Post, Post означает после есть и есть Pre но это только по логике sourcemod'а который подменяет Think своей функцией(Pre, то есть перед выполнением) затем выполняет оригинальную а затем вызывает (Post, после выполнения) получается так фантик(Pre), конфета(Самое главное :D), Начинка(Post).


Сообщение отредактировал sssw - Воскресенье, 09.02.2014, 21:20:23
 
Vitaminoz Дата: Воскресенье, 09.02.2014, 23:07:45 | Сообщение # 4
Сообщений: 141
Репутация: 1 [ +/- ]
Я думаю ответ на твой вопрос может быть только, если глянуть исходники даже того самого SourceMod либо исходники HL2.
 
sssw Дата: Воскресенье, 09.02.2014, 23:23:15 | Сообщение # 5
Сообщений: 123
Репутация: 14 [ +/- ]
Цитата Vitaminoz ()
SourceMod либо исходники HL2.

Скорее HL2 и даже её движка, я сказал что SourceMod это набор перехватов(Hook) которыми можно управлять в SourcePawn'е. А Hook делается так, в начале функции (патчиться память) ставиться команда перепрыгнуть в функцию SourceMod'а(Pre). А он уже решает прыгать обратно или нет (Plugin_Handled)(Post).
 
  • Страница 1 из 1
  • 1
Поиск: