Jump to content
TrinityCore

gerripeach

Plebs
  • Content count

    4
  • Joined

  • Last visited

  • Days Won

    2

gerripeach last won the day on October 18

gerripeach had the most liked content!

Community Reputation

0 Neutral

About gerripeach

  • Rank
    Newbie
  1. Warden PQR detection

    Hi, I want to use Warden, to detect weather a player is using PQR. First I decompiled PQR and found out that the programm injects some LUA code into the client. If I use /run print(SOME_PQR_VARIABLE) before starting PQR the output will is nil as expected. If I use /run print(SOME_PQR_VARIABLE) after starting PQR the output will is a value/adress/none depends on what I print. In the Warden.h there is this Check LUA_STR_CHECK = 0x8B, // 139: byte luaNameIndex (check to ensure LUA string isn't used I created a warden_ckeck in the DB with: INSERT INTO `warden_checks` (`id`, `type`, `data`, `str`, `address`, `length`, `result`, `comment`) VALUES (1, 139, '', 'SOME_PQR_VARIABLE', 0, 0, '', ''); Unfortunately the client always returns 1. No matter if PQR is injected or not. And this is my Problem. Either way this type of Warden check is not properly implemented yet or I do something wrong with the SQL statement. injected_pqr_code.lua
  2. Adding this to Unit.h/Unit.cpp will do the Job... void CastWithDelay(uint32 delay, Unit* victim, uint32 spellId, bool triggered, Item* castItem = NULL, AuraEffect const* triggeredByAura = NULL, ObjectGuid originalCaster = ObjectGuid::Empty); void Unit::CastWithDelay(uint32 delay, Unit* victim, uint32 spellId, bool triggered, Item* castItem, AuraEffect const* triggeredByAura, ObjectGuid originalCaster) { class DelayCastEvent : public BasicEvent { public: DelayCastEvent(Unit *caster, Unit* victim, uint32 spellId, bool triggered, Item* castItem, AuraEffect const* triggeredByAura, ObjectGuid originalCaster) : BasicEvent(), _caster(caster), _victim(victim), _spellId(spellId), _triggered(triggered), _castItem(castItem), _triggeredByAura(triggeredByAura), _originalCaster(originalCaster) { ; } bool Execute(uint64, uint32) { _caster->CastSpell(_victim, _spellId, _triggered ? TRIGGERED_FULL_MASK : TRIGGERED_NONE, _castItem, _triggeredByAura, _originalCaster); return true; } private: Unit *_caster; Unit *_victim; uint32 _spellId; bool _triggered; Item *_castItem; AuraEffect const* _triggeredByAura; ObjectGuid _originalCaster; }; m_Events.AddEvent(new DelayCastEvent(this, victim, spellId, triggered, castItem, triggeredByAura, originalCaster), m_Events.CalculateTime(delay)); }
×