Anyone know where i can get a list of Signal.Gesture?
Signal.Gesture List of types
i guess im looking for the Attack. i am trying to get him to swing tool in hand
Are you looking for npc.SignalBroadcast(BaseEntity.Signal.Attack, string.Empty, null); ?
Tryed that he does not swing but
npc.SignalBroadcast(BaseEntity.Signal.Gesture, "pickup_item");
Works..
Any other ideas?
npc.SignalBroadcast(BaseEntity.Signal.Gesture, "pickup_item");
Works..
Any other ideas?
Lots. You trying to write GuardBots? :P
Look into ServerUse_Strike.
Look into ServerUse_Strike.
Kind of im using the humanNPC and making some modifactions.
Im not the best at programing so i always look for examples..
i decompiled and looking at ServerUse_Strike but im lost with out an example.
Im not the best at programing so i always look for examples..
i decompiled and looking at ServerUse_Strike but im lost with out an example.
Everything you need to do this is in ServerUse_Strike.
You can use JustDecompile, or similar, to see when it's called and why.
You can use JustDecompile, or similar, to see when it's called and why.
I see.
Merged post
if ya could throw me an example to just one of the calls?
public void ServerUse_Strike()
{
BasePlayer ownerPlayer = base.GetOwnerPlayer();
if (ownerPlayer == null)
{
return;
}
Vector3 vector3 = ownerPlayer.eyes.position;
Vector3 vector31 = ownerPlayer.eyes.BodyForward();
int num = 0;
while (num < 2)
{
List<RaycastHit> list = Pool.GetList<RaycastHit>();
GamePhysics.TraceAll(new Ray(vector3 - (vector31 * (num != 0 ? 0.2f : 0f)), vector31), (num != 0 ? this.attackRadius : 0f), list, this.effectiveRange + 0.2f, 1085483793, 0);
bool flag = false;
for (int i = 0; i < list.Count; i++)
{
RaycastHit item = list[i];
BaseEntity entity = item.GetEntity();
if (entity != null)
{
if (!(entity != null) || !(entity == ownerPlayer) && !entity.EqualNetID(ownerPlayer))
{
if (!(entity != null) || !entity.isClient)
{
if (entity.Categorize() != ownerPlayer.Categorize())
{
float single = 0f;
foreach (DamageTypeEntry damageType in this.damageTypes)
{
single += damageType.amount;
}
entity.OnAttacked(new HitInfo(this, entity, DamageType.Slash, single * this.npcDamageScale));
HitInfo _point = Pool.Get<HitInfo>();
_point.HitPositionWorld = item.get_point();
_point.HitNormalWorld = -vector31;
if (entity is BaseNpc || entity is BasePlayer)
{
_point.HitMaterial = StringPool.Get("Flesh");
}
else
{
_point.HitMaterial = StringPool.Get((item.GetCollider().get_sharedMaterial() == null ? "generic" : item.GetCollider().get_sharedMaterial().GetName()));
}
Effect.server.ImpactEffect(_point);
Pool.Free<HitInfo>(ref _point);
flag = true;
if (!(entity != null) || entity.ShouldBlockProjectiles())
{
break;
}
}
}
}
}
}Merged post
if ya could throw me an example to just one of the calls?