Get player position in On_PlayerKilled (C #)

P0LENT4 2

Member
Trusted Member
Member
Dec 26, 2016
31
2
8
27
Parts Unknown
This code gives error in: attacker.Location and victim.Location;;
C#:
Player attacker = (Player)de.Attacker;
Player victim = (Player)de.Victim;
Vector3 Alocation = attacker.Location;
Vector3 Vlocation = victim.Location;
double num1 = Math.Round((double)Vector3.Distance(Alocation, Vlocation));
 

salva

Friendly self-taught developer
Administrator
Jan 31, 2016
577
612
63
This code gives error in: attacker.Location and victim.Location;;
C#:
Player attacker = (Player)de.Attacker;
Player victim = (Player)de.Victim;
Vector3 Alocation = attacker.Location;
Vector3 Vlocation = victim.Location;
double num1 = Math.Round((double)Vector3.Distance(Alocation, Vlocation));
Maybe you can use:
C#:
        public void OnPlayerKilled(DeathEvent de)
        {
        
  Fougerite.Player victim = (Fougerite.Player)de.Victim;
Server.GetServer().BroadcastFrom("victim" ,"location " + victim.location;
}
I wrote it In the mobile maybe have faults ... I do not know Xd
 

xandeturf

Moderator
Moderator
Nov 4, 2015
132
25
28
35
use transform.position in Location, example : attacker.transform.position
 

Jakkee

Retired Staff
Retired Staff
Plugin Developer
Jul 28, 2014
1,465
932
113
Australia
This code gives error in: attacker.Location and victim.Location;;
C#:
Player attacker = (Player)de.Attacker;
Player victim = (Player)de.Victim;
Vector3 Alocation = attacker.Location;
Vector3 Vlocation = victim.Location;
double num1 = Math.Round((double)Vector3.Distance(Alocation, Vlocation));
could try this:
C#:
using fougerite;

Player attacker = de.Attacker;
Player victim = de.Victim;
Vector3 Alocation = attacker.transform.position;
Vector3 Vlocation = victim.transform.position;
float dist = Vector3.Distance(Alocation, Vlocation);
 
  • Like
Reactions: salva

DreTaX

Probably knows the answer...
Administrator
Jun 29, 2014
4,093
4,784
113
At your house.
github.com
This code gives error in: attacker.Location and victim.Location;;
C#:
Player attacker = (Player)de.Attacker;
Player victim = (Player)de.Victim;
Vector3 Alocation = attacker.Location;
Vector3 Vlocation = victim.Location;
double num1 = Math.Round((double)Vector3.Distance(Alocation, Vlocation));
Careful.

Attacker and the Victim can be world, and NPCs too. Be sure to use an if statement for that.
Casting may cause errors if the attacker or the victim isnt a player.

C#:
if (de.AttackerIsPlayer && de.VictimIsPlayer)
{
    Player attacker =(Player)de.Attacker;
    Player victim =(Player)de.Victim;
}
That should solve the issue.
 
  • Winner
Reactions: Jakkee