Aller au contenu
  • 0

Problème reconnaissance attacker/victim (arme moddée)


Question

Posté(e)

Bonjour à tous, je suis actuellement en train d'élaborer un bout de code qui me permettrait de détecter lorsqu'un joueur à tuer un allié. Rien de très difficile à première vue, mais cependant j'utilise un mod avec des armes (Call to Battle), et lorsque l'attacker tue un allié avec une arme de ce mod, et bien l'attacker n'est pas reconnu comme un joueur est il n'est pas défini du tout (<none>), du coup il m'est impossible de détecter l'attacker, mais la victime est très bien détecté.

 

Voici ce que j'optiens avec un simple envoi de message

send "%attacker% a tué un allié (%victim%)" to all players

Screen : http://prntscr.com/fhlaro

 

Code complet non fonctionnel :

 

on death:
   if victim is a player:
       if {allemand.%attacker%::*} and {allemand.%victim%::*} is true:
           send "%attacker% a tué un allié (%victim%)" to all players

 

Sauriez-vous comment arranger le problème ?

Merci d'avance !

20 réponses à cette question

Messages recommandés

  • 0
Posté(e)
Salut !

Il s agit d armes à feu ? Si oui je crois qu il est impossible de detecter l attaquant.

Le flan's mod permet de faire ça je crois.

 

Oui ce sont des armes à feu.

Quelqu'un connait un moyen de détecter l'attaquant ?

  • 0
Posté(e)

Allez c'est facile :)

on right click with stick:
   if targeted entity is a player:
       set {DernierTirRecu.%targeted entity%} to player's name

on death of a player:
   if {DernierTirRecu.%victim%} is set:
       set the death message to "&c%victim% s'est fait EXPLOSE par %{DernierTirRecu.%victim%}%"

 

Tu remplaces stick par l'id de tes items moddés, par exemple:

on right click with 21:9216 or 41:4781 or 25:2665 or 18:49912 or 124:5489:

  • 0
Posté(e)

@PheonBest ton code ne fonctionnera pas correctement: si on t'as déjà tiré dessus, puis qu'on te tue à l'épée, le message annoncé sera incorrect...

Si le tir est instantané (ou presque), on peut faire un rapide wait, puis supprimer la variable; sinon, on pourrait tester la cause des dégâts (je suppose qu'ils ne sont pas reconnus par Skript, donc "unknown").

  • 0
Posté(e)

Le message annoncé serait incorrect ? Ben ... non ^^ ça marque uniquement que la personne s'est faite tuée par son meurtrier. La dernière personne qui lui inflige des dégâts doit forcément viser sa victime. À moins que tu veuille dire que l'épée ne sera pas prise en compte ... et ben c'est encore faux puisque comme je l'ai dis avant il faut simplement mettre les armes utilisables dans le mode de jeu dans l'event. Et puis pas besoin de supprimer la variable parce qu'une variable par joueur c'est largement viable.

  • 0
Posté(e)

Oui bon ben voici:

on right click with stick:
   if targeted entity is a player:
       set {DernierTirRecu.%targeted entity%} to player's name

on death of a player:
   if damage cause is void: #Néan
       set death message to "&b&l%player% &7&lC'est fait engloutir par un trou noir !"
   else if damage cause is fall: #Chute
       set death message to "&b&l%player% &7&lEst tombé du ciel !"
   else if damage cause is suicide: #Suicide
       set death message to "&b&l%player% &7&ln'aimais plus sa vie !"
   else if damage cause is drowning: #Noyer
       set death message to "&b&l%player% &7&lCroyais être aquaman !"
   else if damage cause is burning: #Bruler
       set death message to "&b&l%player% &7&lCroyais avoir le kit fireman !"
   else if damage cause is explosion: #Explosion
       set death message to "&b&l%player% &7&lCroyais être ami avec les creeper !"
   else if damage cause is potion: #Potion
       set death message to "&b&l%player% &7&lEst mort(e) à cause d'une potion !"
   else if attacker isn't set:
       if {DernierTirRecu.%victim%} is set:
           set the death message to "&c%victim% s'est fait EXPLOSE par %{DernierTirRecu.%victim%}%"

  • 0
Posté(e)
Oui bon ben voici:

on right click with stick:
   if targeted entity is a player:
       set {DernierTirRecu.%targeted entity%} to player's name

on death of a player:
   if damage cause is void: #Néan
       set death message to "&b&l%player% &7&lC'est fait engloutir par un trou noir !"
   else if damage cause is fall: #Chute
       set death message to "&b&l%player% &7&lEst tombé du ciel !"
   else if damage cause is suicide: #Suicide
       set death message to "&b&l%player% &7&ln'aimais plus sa vie !"
   else if damage cause is drowning: #Noyer
       set death message to "&b&l%player% &7&lCroyais être aquaman !"
   else if damage cause is burning: #Bruler
       set death message to "&b&l%player% &7&lCroyais avoir le kit fireman !"
   else if damage cause is explosion: #Explosion
       set death message to "&b&l%player% &7&lCroyais être ami avec les creeper !"
   else if damage cause is potion: #Potion
       set death message to "&b&l%player% &7&lEst mort(e) à cause d'une potion !"
   else if attacker isn't set:
       if {DernierTirRecu.%victim%} is set:
           set the death message to "&c%victim% s'est fait EXPLOSE par %{DernierTirRecu.%victim%}%"

 

Malheureusement ça ne fonctionne pas. D'une part quand je tire avec mes armes je fais clic gauche et non clic droit, en suite j'ai testé les deux conditions right click puis left click en ayant mis l'ID d'une de mes armes et malheuresement il ne se passe rien, la variable n'est pas remplie..

  • 0
Posté(e)

Essaie ça:

 

on left click with l id de l item:
   set {shooter} to player
   wait 1 second
   clear {shooter}

on death:
   if damage cause is #ici on met toute les cause
   else:
       set death message to "%{shooter}% a tué %victim%"

  • 0
Posté(e)
Essaie ça:

 

on left click with l id de l item:
   set {shooter} to player
   wait 1 second
   clear {shooter}

on death:
   if damage cause is #ici on met toute les cause
   else:
       set death message to "%{shooter}% a tué %victim%"

 

Sauf qu'en 1 seconde plusieurs personnes distinctes peuvent faire un clic gauche avec le même item, utilise des %player% et %victim%

  • 0
Posté(e)
Essaie ça:

 

on left click with l id de l item:
   set {shooter} to player
   wait 1 second
   clear {shooter}

on death:
   if damage cause is #ici on met toute les cause
   else:
       set death message to "%{shooter}% a tué %victim%"

 

Le problème c'est que le clic gauche n'est pas reconnu par Skript avec un item de ce mod... Du coup il faudrait essayer de trouver un autre moyen que le clic pour distinguer/différencier le tueur des autres joueurs

  • 0
Posté(e)

Merci pour votre aide, mais j'ai enfin réussi à faire ce que je voulais en passant par un autre moyen et en ayant codé toute la soirée.

Bonne journée !

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.