Форум проекта sourceplay.ru

Все о Counter-strike Source
Сайт и домен продаются. По всем вопросам пишите на почту.
Текущее время: 06:22 Воскресенье, 28 Апрель 2024

Часовой пояс: UTC+03:00




Начать новую тему  Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: SDK Hooks 1.3
СообщениеДобавлено: 08:33 Четверг, 03 Июнь 2010 
Не в сети
Адмирал
Адмирал
Аватара пользователя

Зарегистрирован: 12:22 Суббота, 20 Декабрь 2008
Сообщения: 1372
Steam_id: STEAM_0:0:1996378010
Откуда: Tomsk
SDK Hooks 1.3

И вот мы снова хаки, Хукера и DukeHacks становятся немного устарела, и мне не нравится, как они были написаны, так что я написал это расширение объединить три из них, и добавить еще несколько свойств. В настоящее время она поддерживает CS: S, DOD: S, HL2DM, INS, L4D и TF2. Поддержка более моды могут быть легко добавлены через файл gamedata, не редактирование требуемый номер. Благодаря CrimsonGT за помощь CTakeDamageInfo взломать, и PRED * для общих C + + вопросы
Хук типы:
PHP Code:
enum SDKHookType
{
    SDKHook_EndTouch,
    SDKHook_FireBulletsPost,
    SDKHook_OnTakeDamage,
    SDKHook_OnTakeDamagePost,
    SDKHook_PreThink,
    SDKHook_PostThink,
    SDKHook_SetTransmit,
    SDKHook_Spawn,
    SDKHook_StartTouch,
    SDKHook_Think,
    SDKHook_Touch,
    SDKHook_TraceAttack,
    SDKHook_TraceAttackPost,
    SDKHook_WeaponCanSwitchTo,
    SDKHook_WeaponCanUse,
    SDKHook_WeaponDrop,
    SDKHook_WeaponEquip,
    SDKHook_WeaponSwitch
}  
Хук вызовов:
funcenum SDKHookCB
{
    // PreThink
    // PostThink
    public(client),
    // Spawn
    // Think
    public(entity),
    // EndTouch
    // StartTouch
    // Touch
    public(entity, other),
    // SetTransmit
    Action:public(entity, client),
    // WeaponCanSwitchTo
    // WeaponCanUse
    // WeaponDrop
    // WeaponEquip
    // WeaponSwitch
    Action:public(client, weapon),
    // OnTakeDamage
    Action:public(victim, &attacker, &inflictor, &Float:damage, &damagetype),
    // OnTakeDamagePost
    public(victim, attacker, inflictor, Float:damage, damagetype),
    // FireBullets
    public(client, shots, String:weaponname[]),
    // TraceAttack
    Action:public(victim, &attacker, &inflictor, &Float:damage, &damagetype, &ammotype, hitbox, hitgroup),
    // TraceAttackPost
    public(victim, attacker, inflictor, Float:damage, damagetype, ammotype, hitbox, hitgroup)
}  
Нападающие:
/**
 * @brief When an entity is created
 *
 * @param        entity        Entity index
 * @param        classname    Class name
 * @noreturn
 */
forward OnEntityCreated(entity, const String:classname[]);

/**
 * @brief When an entity is destroyed
 *
 * @param        entity        Entity index
 * @noreturn
 */
forward OnEntityDestroyed(entity);

/**
 * @brief When the game description is retrieved
 *
 * @param        gameDesc        Game description
 * @noreturn
 */
forward Action:OnGetGameDescription(String:gameDesc[64]);

/**
 * @brief When the level is initialized
 *
 * @param        mapName            Name of the map
 * @param        mapEntities    Entities of the map
 * @noreturn
 */
forward Action:OnLevelInit(const String:mapName[], String:mapEntities[2097152]);  
Уроженцы:
PHP Code:
/**
 * @brief Hooks an entity
 *
 * @param        entity        Entity index
 * @param        type            Type of function to hook
 * @param        callback    Function to call when hook is called
 * @noreturn
 */
native SDKHook(entity, SDKHookType:type, SDKHookCB:callback);

/**
 * @brief Unhooks an entity
 *
 * @param    entity   Entity index
 * @param    type     Type of function to unhook
 * @param    callback Callback function to unhook
 * @noreturn
 */
native SDKUnhook(entity, SDKHookType:type, SDKHookCB:callback);  

[spoiler=Изменения]1.3 (кредиты psychonic)

* Добавлены 4 новых просила hooktypes (PreThinkPost, PostThinkPost, ThinkPost и ShouldCollide).
* Исправлена проблема с SDK функций, подключили несколько раз, когда несколько крючков одного и того же типа сделал (спасибо Сэмми Rock!, Что для ловли).
* SDK Крючки больше не будет загружать и без подписи EntityFactoryDictionary и UpdateOnRemove смещение в настоящее sdkhooks.games.txt.
* SDKHook родной теперь ошибки при использовании hooktype не поддерживается (не в gamedata) для текущего мод.
* Добавлена новая родной SDKHookEx это не ошибка неудачной крючок, но возвращает Ьоо успеха.
* Исправлена ошибка, WeaponCanSwitchTo вызовом WeaponCanUse вперед (спасибо Фигуры для ловли этого).
* Добавлена отладки сервера команду "sdkhooks_listhooks" чтобы получить список всех текущих бухгалтерских книг.
* Обновленный gamedata добавить ShouldCollide для всех поддерживаемых игр.
* Обновленный gamedata удалить OnTakeDamage для L4D (2), поскольку она не работает должным образом.

1.2 (кредиты psychonic)
* Добавлены два новых типа крючком:
- SDKHook_WeaponCanSwitchTo
- SDKHook_WeaponCanUse
* Добавлены некоторые проверки ошибок лица значения индекса прошло с плагинами.
* Исправлена ошибка, клиенты не освобождена при отключении.
* Исправлена ошибка, крючки из плагина не удалены, когда плагин выгружается.
* Исправлен указатель нуль передается в некоторых случаях на SDKHook_FireBulletsPost.
* Исправлены некоторые незначительные несоответствия между включать и расширения.
* Исправлена ошибка, Makefile вызывает Linux версии требовать GLIBC 2,4 (rhelgeby).

1,1 (кредиты psychonic)

* Добавлена OnGetGameDescription вперед
* Добавлена FireBullets, OnTakeDamagePost, TraceAttack TraceAttackPost и крючки
* Добавлена поддержка империй Mod, Fortress Forever, скрытых: Source, "Звездные врата: Последняя битва, Zombie Zombie Мастер и паника: Источник

1,0

* Первоначальный релизх[/spoiler]
Powered by PROMT
[spoiler=На английском]So here we are again Hacks, Hooker and DukeHacks are getting a bit outdated, and I didn't like how they were written, so I wrote this extension to combine the three of them, and to add some more goodies. Currently it supports CS:S, DOD:S, HL2DM, INS, L4D & TF2. Support for more mods can easily be added through the gamedata file, no editing of the extension required. Thanks to CrimsonGT for helping out with the CTakeDamageInfo hack, and pRED* for general C++ questions

Hook Types:
PHP Code:
enum SDKHookType
{
    SDKHook_EndTouch,
    SDKHook_FireBulletsPost,
    SDKHook_OnTakeDamage,
    SDKHook_OnTakeDamagePost,
    SDKHook_PreThink,
    SDKHook_PostThink,
    SDKHook_SetTransmit,
    SDKHook_Spawn,
    SDKHook_StartTouch,
    SDKHook_Think,
    SDKHook_Touch,
    SDKHook_TraceAttack,
    SDKHook_TraceAttackPost,
    SDKHook_WeaponCanSwitchTo,
    SDKHook_WeaponCanUse,
    SDKHook_WeaponDrop,
    SDKHook_WeaponEquip,
    SDKHook_WeaponSwitch
}  
Hook Callbacks:
PHP Code:
funcenum SDKHookCB
{
    // PreThink
    // PostThink
    public(client),
    // Spawn
    // Think
    public(entity),
    // EndTouch
    // StartTouch
    // Touch
    public(entity, other),
    // SetTransmit
    Action:public(entity, client),
    // WeaponCanSwitchTo
    // WeaponCanUse
    // WeaponDrop
    // WeaponEquip
    // WeaponSwitch
    Action:public(client, weapon),
    // OnTakeDamage
    Action:public(victim, &attacker, &inflictor, &Float:damage, &damagetype),
    // OnTakeDamagePost
    public(victim, attacker, inflictor, Float:damage, damagetype),
    // FireBullets
    public(client, shots, String:weaponname[]),
    // TraceAttack
    Action:public(victim, &attacker, &inflictor, &Float:damage, &damagetype, &ammotype, hitbox, hitgroup),
    // TraceAttackPost
    public(victim, attacker, inflictor, Float:damage, damagetype, ammotype, hitbox, hitgroup)
}  
Forwards:
PHP Code:
/**
 * @brief When an entity is created
 *
 * @param        entity        Entity index
 * @param        classname    Class name
 * @noreturn
 */
forward OnEntityCreated(entity, const String:classname[]);

/**
 * @brief When an entity is destroyed
 *
 * @param        entity        Entity index
 * @noreturn
 */
forward OnEntityDestroyed(entity);

/**
 * @brief When the game description is retrieved
 *
 * @param        gameDesc        Game description
 * @noreturn
 */
forward Action:OnGetGameDescription(String:gameDesc[64]);

/**
 * @brief When the level is initialized
 *
 * @param        mapName            Name of the map
 * @param        mapEntities    Entities of the map
 * @noreturn
 */
forward Action:OnLevelInit(const String:mapName[], String:mapEntities[2097152]
Natives:
PHP Code:
/**
 * @brief Hooks an entity
 *
 * @param        entity        Entity index
 * @param        type            Type of function to hook
 * @param        callback    Function to call when hook is called
 * @noreturn
 */
native SDKHook(entity, SDKHookType:type, SDKHookCB:callback);

/**
 * @brief Unhooks an entity
 *
 * @param    entity   Entity index
 * @param    type     Type of function to unhook
 * @param    callback Callback function to unhook
 * @noreturn
 */
native SDKUnhook(entity, SDKHookType:type, SDKHookCB:callback);  
Changelog

* 1.3 (credits to psychonic)
o Added four new requested hooktypes (PreThinkPost, PostThinkPost, ThinkPost, and ShouldCollide).
o Fixed issue with sdk functions being hooked multiple times when multiple hooks of the same type are made (thanks to Sammy Rock! for catching that).
o SDK Hooks will no longer load without having both the EntityFactoryDictionary signature and UpdateOnRemove offset present in sdkhooks.games.txt.
o SDKHook native now errors when using a hooktype not supported (not in gamedata) for current mod.
o Added new SDKHookEx native that does not error on unsuccessful hook but returns a success bool.
o Fixed WeaponCanSwitchTo calling the WeaponCanUse forward (thanks to Greyscale for catching that).
o Added debug server command "sdkhooks_listhooks" to list all current hooks.
o Updated gamedata to add ShouldCollide for all supported games.
o Updated gamedata to remove OnTakeDamage for L4D(2) as it does not function properly.
* 1.2 (credits to psychonic)
o Added two new hook types:
- SDKHook_WeaponCanSwitchTo
- SDKHook_WeaponCanUse
o Added some error checking on entity index values passed from plugins.
o Fixed clients not being unhooked when disconnecting.
o Fixed hooks from a plugin not being removed when plugin unloads.
o Fixed null pointer being passed in some cases on SDKHook_FireBulletsPost.
o Fixed some minor inconsistencies between include and extension.
o Fixed Makefile causing linux version to require GLIBC 2.4 (rhelgeby).
* 1.1 (credits to psychonic)
o Added OnGetGameDescription forward
o Added FireBullets, OnTakeDamagePost, TraceAttack & TraceAttackPost hooks
o Added support for Empires Mod, Fortress Forever, The Hidden: Source, Stargate: The Last Stand, Zombie Master & Zombie Panic: Source
* 1.0
o Initial release
[/spoiler]
SDKHooks 1.3 (EP1 [CS:S, HL2DM, INS, etc.],Для SM 1.3.x)
SDKHooks 1.3 (EP1 [CS:S, HL2DM, INS, etc.], Для SM 1.2.x)

_________________
| Правила форума |
[ img ]


Вернуться к началу
 
Показать сообщения за:  Поле сортировки  
Начать новую тему  Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ 1 сообщение ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти: 

Создано на основе phpBB® Forum Software © phpBB Limited