NoX World - форум об игре NoX

 
Пожалуйста, войдите или зарегистрируйтесь.

Войти
Расширенный поиск  
Сейчас онлайн стрима нет!
Сейчас на сервере никого нет!

Обязательно все ознакомьтесь с новыми Правилами Портала!

Актуальные новости:
IP сервера изменён! Новый IP: 45.144.64.229. Сервер также доступен через Westwood Online (XWIS, игру через сервер)


Важные темы:
Как играть по сети? Понятное руководство!
Правила Сервера NoxWorld.
Как помочь форуму финансово?

Автор Тема: Вопросы по UniMod-y  (Прочитано 386482 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Evengard

  • SysAdmin
  • Администратор
  • Старожил
  • ***
  • Карма: 186
  • Оффлайн Оффлайн
  • Сообщений: 2729
  • Director
  • Awards Столп форума 2012 Активным участникам сходок - 2013 За сервер Орден 'За заслуги перед форумом I степени'
    • Просмотр профиля
    • Awards
Вопросы по UniMod-y
« Ответ #100 : 17/08/2011 00:22:25 »

Вообще есть некая переменная по адресу 0x85319C, в которой лежит твой netcode (тип - short, 2 байта). Соответственно с помощью Юника перебираешь просто все структуры (первый юнит плеера получаешь через void* playerFirstUnit() 0x4DA7C0, возвращает указатель на userdata как раз, потом void* playerNextUnit(void* prevUdata) 0x4DA7F0, один единственный аргумент - юзердата предыдущего игрока. Сам неткод игрока лежит вот так (код на С++):
void **PP=(void **)(((char*)udata)+0x2EC);
PP=(void**)(((char*)*PP)+0x114);
byte *P=(byte*)(*PP);
int NetCode=*((short*)(P+0x80C));
Соответственно если твой неткод совпадает с неткодом юзердаты - значит в этой юзердате ты.
Записан
Не упоминай администраторов всуе...
С уважением, TriOptimum Corporation

PS: Покаяние - Признание своей вины в чем-либо, обычно с просьбой о прощении
Расширенный поиск  
 

Страница сгенерирована за 0.037 секунд. Запросов: 18.