Here is a Source Code if anybody wants to release a Titanium Hack with ESP.
Base
Code:
foreach (Object GameObject in FindObjectsOfType(typeof(Character)))
{
if (GameObject != null)
{
var Character = GameObject as Character;
if (Character.gameObject != this)
{
PlayerClient playerClient = Character.playerClient;
if (playerClient != null)
DrawLabel(Character.origin, playerClient.userName);
string distance = String.Format("{0:0}", Vector3.Distance(Character.transform.position,
localPlayer.transform.position));
switch (Character.name.Replace("(Clone)", ""))
{
case "Chicken_A":
DrawLabel(Character.origin,
String.Format("Chicken [{0}]", distance
));
break;
case "Rabbit_A":
DrawLabel(Character.origin,
String.Format("Rabbit [{0}]",
distance));
break;
case "Stag_A":
DrawLabel(Character.origin,
String.Format("Deer [{0}]",
distance));
break;
case "Bear_A":
DrawLabel(Character.origin,
String.Format("Bear [{0}]",
distance));
break;
case "Boar_A":
DrawLabel(Character.origin,
String.Format("Boar [{0}]",
distance));
break;
case "ZombieNPC":
case "ZombieNPC_SLOW":
DrawLabel(Character.origin,
String.Format("Zombie [{0}]", distance), Color.red);
break;
}
}
}
}
foreach (Object GameObject in FindObjectsOfType(typeof(LootableObject)))
{
if (GameObject != null)
{
var lootableObject = GameObject as LootableObject;
string distance = String.Format("{0:0}", Vector3.Distance(lootableObject.transform.position,
localPlayer.transform.position));
if (lootableObject.gameObject != this)
{
DrawLabel(lootableObject.transform.position, String.Format("{0} [{1}]", lootableObject.name.Replace("(Clone)", ""), distance));
}
}
}
foreach (Object GameObject in FindObjectsOfType(typeof (SleepingAvatar)))
{
if (GameObject != null)
{
var sleepingAvatar = GameObject as SleepingAvatar;
string distance = String.Format("{0:0}", Vector3.Distance(sleepingAvatar.transform.position,
localPlayer.transform.position));
if (sleepingAvatar.gameObject != this)
{
DrawLabel(sleepingAvatar.transform.position, String.Format("{0} [{1}]", sleepingAvatar.name.Replace("(Clone)", ""), distance));
}
}
}
foreach (Object GameObject in FindObjectsOfType(typeof(ResourceObject)))
{
if (GameObject != null)
{
var resourceObject = GameObject as ResourceObject;
string distance = String.Format("{0:0}", Vector3.Distance(resourceObject.transform.position,
localPlayer.transform.position));
if (resourceObject.gameObject != this)
{
DrawLabel(resourceObject.transform.position, String.Format("{0} [{1}]",resourceObject.name.Replace("(Clone)", ""),distance));
}
}
}
DrawLabel
Code:
private void DrawLabel(Vector3 point, string label)
{
DrawLabel(point, label, Color.white);
}
private void DrawLabel(Vector3 point, string label,Color color)
{
Vector3? vector = CameraFX.World2Screen(point);
if (vector.HasValue)
{
Vector3 value = vector.Value;
if (value.z > 0f)
{
Vector2 vector2 = GUIUtility.ScreenToGUIPoint(value);
vector2.y = Screen.height - (vector2.y + 1f);
GUI.color = color != null ? color : Color.white;
GUI.Label(new Rect(vector2.x - 64f, vector2.y - 12f, 128f, 24f), label);
}
}
}