Author
|
Message
|
Member
|
06-30-2020
, 15:07
[TF2] ObjTools
|
#1
|
Purpose: Exposes CTakeDamageInfo, CAmmoDefs and some ServerTools.
Download.
Natives.
Only tested in Windows, since i dont have linux nor tried to compile with it.
Sample:
Spoiler
CTakeDamageInfo:
Spoiler
Code:
CTakeDamageInfo first = new CTakeDamageInfo();
first.StoreEnt(hAttacker, attacker);
first.StoreEnt(hInflictor, inflictor);
first.StoreEnt(hWeapon, weapon);
first.StoreVector(vecDamageForce, damageForce);
first.StoreVector(vecDamagePosition, damagePosition);
first.StoreVector(vecReportedPosition, damagePosition);
first.StoreFloat(flDamage, damage);
first.StoreFloat(flBaseDamage, damage);
first.StoreInt(bitsDamageType, damagetype);
first.StoreInt(iDamageCustom, damagecustom);
first.StoreInt(eCritType, kCritType_None);
CTakeDamageInfo copy = new CTakeDamageInfo();
copy.Infos = first.Infos;
PrintToServer("\nAddress:\n"...
"-first: 0x%x - 0x%x\n"...
"-copy: 0x%x - 0x%x\n"
, first, first.Infos, copy, copy.Infos);
delete first;
copy.DeathNotice(victim);
SDKCall(hDeathNotice, victim, copy.Infos, "player_death");
delete copy;
CAmmoDefs:
Spoiler
dump_ammodef
Code:
char name[32];
SetEntProp(client, Prop_Data, 139, .element = CAmmoDefs.FindIndex("TF_AMMO_METAL"));
for(int i = 1; i < 7; i++)
{
CAmmoDefs.GetName(i, name, sizeof(name));
PrintToServer("m_AmmoType[%i].pName = %s", i, name);
PrintToServer("m_AmmoType[%i].pFlags = %i", i, CAmmoDefs.GetFlags(i));
PrintToServer("m_AmmoType[%i].pMaxCarry = %i", i, CAmmoDefs.GetMaxCarry(i));
}
ServerTools:
Last edited by WhiteFalcon; 07-13-2020 at 11:36.
Reason: update
|
|
|
|