AMX MOD X
Пятница, 19.04.2024, 04:03:03



Приветствую Вас Гость | RSS
[ Главная ] [ Информация по Counter-Strike pvPrivateData оффсетам - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Полезная информация » Информация по Counter-Strike pvPrivateData оффсетам (Данные по оффсетам, отсутствующим в cstrike модуле AMX Mod X)
Информация по Counter-Strike pvPrivateData оффсетам
VENДата: Суббота, 16.02.2008, 19:35:40 | Сообщение # 1
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Внимание: аналогичная тема, открытая мной в свое время на официальном форуме, получила большое внимание и развитие, и усилиями сообщества был создан целый структурированный раздел, посвященный данной теме, поэтому для получения более полной систематизированной информации по предмету следуйте по ссылке: http://wiki.alliedmods.net/Category:CS_Offset_List

------------

Подробней о том, что такое pvPrivateData, можно узнать в следующей теме.

Впринципе, очень многие оффсеты cstrike мода уже найдены, воплощены в AMX Mod X cstrike модуле и используются соответствующими native функциями. Информацию по вышеупомянутым оффсетам можно найти, прочитав исходники модуля, в частности - cstrike.h и cstrike.cpp, а также комментарии в cstrike.inc.

Ниже приведен список оффсетов для конкретных entity классов.
По мере открытия новых оффсетов информация будет дополняться.

Оффсеты - для win32. linux смещения, как правило, для player - 5, для weapon_* - 4.
amd64 не поддерживается компанией Valve и командой AMX Mod X разработчиков.

player

Code
  75 - m_LastHitGroup
   76 - m_bitsDamageType
   83 - m_flNextAttack
   89 - m_bloodColor
   96 - random_seed
122 - last switched trigger_camera (cbase)
123 - fGametime of next trigger_camera view
205 - iMenuCode
209 - IsTerroristEscaped / IsVIPRescued (1<<0), IsPlayerVIP (1<<8)
211 - fOriginX
212 - fOriginY
213 - fOriginZ
219 - bIsPrimaryFireAllowed (note: disallow in prePlayerPostThink)
232 - IsDefusing (1<<8)
243 - m_flFlashLightTime
244 - m_iFlashBattery
245 - m_afButtonLast ?
246 - m_afButtonPressed ?
247 - m_afButtonReleased ?
251 - m_flFallVelocity
334 - m_lastDamageAmount
338 - iGeiger
345 - m_idrowndmg ?
346 - m_idrownrestored ?
347 - m_bitsHUDDamage ?
356 - m_fLongJump
359 - m_iClientHealth
360 - m_iClientBattery
363 - m_iFOV
364 - m_iClientFOV
368 - last gained primary (cbase)
369 - last gained secondary (cbase)
370 - last gained knife (cbase)
371 - last gained grenade (cbase)
372 - last gained c4 (cbase)
373 - m_pActiveItem (cbase)
374 - m_pClientActiveItem (cbase)
375 - m_pLastItem (cbase)
446 - iStatusValue1
447 - iStatusValue2
448 - iStatusValue3
486 - m_flNextDecalTime
500 - activity-related (kill 0, default 1, walk/duck 3, run 4, longjump 5, jump 6)
509 - bAutoWepSwitch
510 - setinfo _vgui_menus (1<<0), _ah (1<<8), uses_shield (1<<16), has_shield (1<<24)
514 - fGametime flashed until ?
515 - fGametime flashed at ?
516 - fHoldTimeInSeconds of ScreenFade
517 - fDurationInSeconds of ScreenFade
518 - iAlpha of ScreenFade
605 - fGametime of StatusBar 0%
606 - fGametime of StatusBar 100%

weaponbox

Quote
73 - iBPAmmo

weapon_*

Code
  41 - m_pPlayer (cbase)
   49 - m_iPrimaryAmmoType
   54 - m_fInReload

armoury_entity

Code
  35 - iCount

Ниже я привожу уникальную информацию по открытым и изученным мной оффсетам, которая поясняет некоторые пункты из списка выше.

Прототип: cs_[g|s]et_user_attackdelay()
Оффсет: 83 (win32)
Тип: float
Стандарт: -0.001
Описание: Это не gametime-время следующей возможной атаки игрока, а время задержки атаки (в секундах).
Назначение: Игровой мод использует данный оффсет для задержки атаки при смене/перезарядки оружия игрока.
Технически: По сути, по всей видимости, ClientData flNextAttack значение отсылается именно из этого оффсета.
Практически: Если установить в положительное значение, то первичная и вторичная атаки полностью запрещены.
Автоизменение: Значение оффсета сбрасывается на значение по умолчанию при спавнинге игрока и смене его оружия.

Прототип: cs_[g|s]et_user_primaryfire()
Оффсет: 219 (win32)
Тип: int (bool)
Описание: Данный оффсет содержит булевое значение, отвечающее за разрешение/запрещение (1/0) первичной атаки игрока.
Назначение: Игровой мод использует данный оффсет для запрещения первичной атаки игрока во время freezetime.
Практически1: Форсирование значения 0 в pre хуке PlayerPostThink полностью запретит первичную атаку игрока.
Практически2: Форсирование значения 0 в post хуке PlayerPostThink запретит звук/анимацию/декали первичной атаки.

Прототип: cs_[g|s]et_user_lasthitgroup()
Оффсет: 75 (win32)
Тип: int
Описание: Данный оффсет содержит значение индекса (HIT_*) последней поврежденной части тела игрока.
Назначение: Игровой мод использует данный оффсет при выборе типа анимации во время смерти игрока.
Технически: Данное значение приравнивается к iHitgroup члену TraceResult структуры при повреждении игрока.
Практически: Является альтернативой кеширования iHitgroup члена TraceResult структуры в TraceLine хуке.

Прототип: cs_[g|s]et_user_bloodcolor()
Оффсет: 89 (win32)
Тип: int (byte)
Стандарт: 247
Описание: Данный оффсет содержит значение цветности крови игрока (просмотреть таблицу сопоставления значений оттенкам).
Назначение: Игровой мод использует значение данного оффсета при создании эффектов крови при повреждении игрока.
Технически: По сути значение используется в 7ом аргументе TE_BLOODSPRITE клиентского tempentity сообщения.
Практически: Изменив значение оффсета, можно сменить цветность крови игрока (на практике только части крови!).
Автоизменение: Значение оффсета сбрасывается на значение по умолчанию при спавнинге игрока.

Прототип: cs_[g|s]et_weapon_ammoid()
Оффсет: 49 (win32)
Тип: int
Описание: Данный оффсет содержит значение индекса типа аммуниции, используемой данным оружием.
Назначение: Используется при перезарядке оружия при пополнении его аммуниции из соответствующего типа боеприпасов игрока.
Технически: По сути значение указывает из какого боеприпас-тип-оффсета игрока перемещать значение в обойм-офссет оружия.
Практически: Изменив значение данного оффсета для конкретного оружия, можно запретить его перезарядку.
Автоизменение: Значение оффсета возвращается на "родное" при дропе/подборе конкретного оружия игроком.

Сообщение отредактировал VEN - Пятница, 10.04.2009, 22:40:50
 
VENДата: Вторник, 19.02.2008, 19:22:26 | Сообщение # 2
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Также существует cstrike2.inc, портирующий многие функции cstrike модуля v1.80, используя соответствующие оффсеты.
Автора не помню, к сожалению. Найти URL оригинала с официального форума не могу, т.к. там поиск некорректно функционирует.
Прикрепления: cstrike2.inc (24.6 Kb)


Сообщение отредактировал VEN - Понедельник, 03.11.2008, 10:47:24
 
VENДата: Воскресенье, 09.03.2008, 00:11:50 | Сообщение # 3
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
В первый пост темы добавлен список оффсетов для конкретных entity-классов.
 
DaTaДата: Четверг, 13.03.2008, 22:28:13 | Сообщение # 4
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
armoury_entity
Code
34 - iItem

Quote (fgd)
item(choices) : "Item" : 0 =
[
0: "weapon_mp5"
1: "weapon_tmp"
2: "weapon_p90"
3: "weapon_mac10"
4: "weapon_ak47"
5: "weapon_sg552"
6: "weapon_m4a1"
7: "weapon_aug"
8: "weapon_scout"
9: "weapon_g3sg1"
10: "weapon_awp"
11: "weapon_m3"
12: "weapon_xm1014"
13: "weapon_m249"
14: "weapon_flashbang"
15: "weapon_hegrenade"
16: "item_kevlar"
17: "item_assaultsuit"
18: "weapon_smokegrenade"
]

Модель не меняется при смене значения это-го оффсета

благодарю Simon Logic'а за помощь

 
VENДата: Пятница, 14.03.2008, 18:57:29 | Сообщение # 5
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Вообще-то это оффтопик. Данная тема посвещена оффсетам, отсутствующим в cstrike модуле AMX Mod X.
Нет смысла заново открывать Америку - просто открой исходный код cstrike модуля, в частности - cstrike.h - там все это есть.
Эта же тема полезна уникальностью своей информации. По сути все эти оффсеты открыты и выложены мной зедсь и на официальном форуме недавно. И, следовательно, еще не применяются ни в каких-либо модулях, ни в плагинах. Если есть, что добавить непосредственно по теме предмета, милости прошу, а реплицировать оффсеты, найденные несколько лет назад автором cstrike модуля, JGHG (Johnny got his gun), смысла не вижу.
 
DaTaДата: Пятница, 14.03.2008, 21:10:21 | Сообщение # 6
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
прошу прощения, я не знал, что открыл Америку :(
 
VENДата: Суббота, 15.03.2008, 15:04:15 | Сообщение # 7
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Добавлен флаг uses_shield (1<<16) оффсета 510 секции "player".
Обновлена "weapon_*" секция: оффсет 49 переименован из iAmmoType в m_iPrimaryAmmoType, а также добавлены оффсеты m_pPlayer и m_fInReload.

Просмотреть, как могут быть использованы оффсеты m_flNextAttack, m_pPlayer и m_fInReload, можно перейдя в тему плагина Reload Status Bar.

 
VENДата: Воскресенье, 30.03.2008, 15:32:57 | Сообщение # 8
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Примечание:

Оффсеты - для win32. linux смещения для player, как правило - 5, для weapon_* - 4.
amd64 не поддерживается компанией Valve и командой AMX Mod X разработчиков.

 
VENДата: Воскресенье, 30.03.2008, 16:49:25 | Сообщение # 9
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Добавлен activity-related оффсет секции "player":
Code
500 - activity-related (kill 0, default 1, walk/duck 3, run 4, longjump 5, jump 6)
 
VENДата: Понедельник, 05.05.2008, 20:37:25 | Сообщение # 10
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Примечание: этот т.н. activity-related оффсет ни что иное, как gaitsequence.
 
Immortal_BLGДата: Вторник, 17.06.2008, 17:22:00 | Сообщение # 11
Лейтенант
Группа: Пользователи
Сообщений: 56
Репутация: 2
Статус: Не в сети
Огромное спасибо за тему, много вопросов благодаря ей потеряли актуальность, спасибо!!!

Сообщение отредактировал VEN - Вторник, 17.06.2008, 19:15:51
 
VENДата: Вторник, 17.06.2008, 19:14:42 | Сообщение # 12
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Не красиво писать буквами в верхнем регистре. К тому же, это еще и нарушение правил форума.
 
KokaДата: Суббота, 01.11.2008, 08:07:11 | Сообщение # 13
Полковник
Группа: Пользователи
Сообщений: 169
Репутация: 1
Статус: Не в сети
Quote (VEN)
Также существует cstrike2.inc, портирующий многие функции cstrike модуля v1.80, используя соответствующие оффсеты.
Автора не помню, к сожалению. Найти URL оригинала с официального форума не могу, т.к. там поиск некорректно функционирует.

очень полезный модуль, тока там нехватает этого:
#define HAS_SHIELD (1<<24)

а значит небудет работать этот сток
stock cs_get_user_shield(id)

:)


стал ощущать рефлексы тоньше, оставаясь как всегда с идеей той же...
 
VENДата: Понедельник, 03.11.2008, 10:48:49 | Сообщение # 14
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Добавил макроконстанту HAS_SHIELD в файл cstrike2.inc сообщения # 2.
 
VENДата: Пятница, 10.04.2009, 22:38:51 | Сообщение # 15
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Внимание: аналогичная тема, открытая мной в свое время на официальном форуме, получила большое внимание и развитие, и усилиями сообщества был создан целый структурированный раздел, посвященный данной теме, поэтому для получения более полной систематизированной информации по предмету следуйте по ссылке:

[edit]

http://wiki.alliedmods.net/Category:CS_Class_List

Сообщение отредактировал VEN - Среда, 10.06.2009, 10:26:08
 
AMX Mod X Форум » Скриптинг » Полезная информация » Информация по Counter-Strike pvPrivateData оффсетам (Данные по оффсетам, отсутствующим в cstrike модуле AMX Mod X)
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024