Aller au contenu
  • 0

Détection mort


Question

Posté(e)

Bonjour, j'aimerais savoir comment faire pour détecter qui a réalisé le kill, si la victim meurt dans le vide ou dans le feu, pour pouvoir ensuite ajouté la monnaie et le stats à l'attacker. Actuellement c'est <none> qui est détecté :/

Merci d'avance à celui qui aura la solution

18 réponses à cette question

Messages recommandés

  • 0
Posté(e)

On damage of player:
   if victim is burning:
       wait 2 second:
       if victim is dead:
           add 1 to {kill.%attacker%}
       else:
           wait 2 second
           if victim is dead:
               add 1 to {kill.%attacker%}
           else:
               wait 2 second
               if victim is dead:
                   add 1 to {kill.%attacker%}
               else:
                   wait 2 second
                   if victim is dead:
                       add 1 to {kill.%attacker%}

 

J'ai mis juste si il meurt par le feu, il faut aussi que tu remplace le "add 1 to {kill.%attacker%} " par ce dont tu parlais (ajouter la monnaie et les stats). Pour la mort dans le vide c'est dans le meme style.

Je n'ai pas testé si ça marchais.

  • 0
Posté(e)

Alors le code que je t'avais passé il y avait 2 points après "wait 2 seconds" c'est pour ça qu'il devait t'afficher une erreur. Mais même en les enlevants ça ne marche pas. J'ai donc fait un petit test :

On damage:
   wait 1 second
   message "test1" to attacker
   if victim is burning:
       message "test2" to attacker

 

Le message "test1" s'affiche bien ce qui confirme que skript est capable de garder l'attaquant en mémoire, cependant le message "test2" ne s'affiche pas. Je pensais que skript ne detectait pas le feu vu qu'il se lance un peu après que les dommages aient été effectués (j'ai testé avec une épée fire aspect), j'ai donc essayé d'une autre facon pour voir si mon hypothèse était exact : j'ai bruler la victime puis je l'ai tapé mais le message "test2" ne s'affiche toujours pas ce qui implique que mon hypothèse est fausse. Donc je ne vois vraiment pas pourquoi ça ne marche pas, je vais continuer à chercher je te tiens au courant.

  • J'aime 1
  • 0
Posté(e)

Alors j'ai trouver comment faire mais on va dire que c'est une version 1.0 puisque si l'attaquant tape 2 fois la victime il recoit le bonus lié a la mort le nombre de fois qu'il a tapé l'ennemi (dans un intervalle de 12 secondes). Du coup je passe à la douche et je termine ça. Je te met le code si tu veux l'essayer :

 

On damage of player:
   if victim is alive:
       wait 12 second
       if victim is dead:
#remplace la ligne ci-dessous par lajout de la monnaie, xp a lattaquant
           add 1 to {kill.%attacker%}

  • 0
Posté(e)
Merci ! C'est sympa

 

 

Non, et tu n'as que ça à faire ?

Si, Noa a raison, c'est un double poste, pourquoi ?

Parceque :

1er message >> Gingly,Hier à 21:47

2ème message >> Gingly,Hier à 21:58

Néanmoins, pour évite double poste, il faut un interval de 24Heures, ou alors il faut que quelqu'un a mit un message en interval ^^

  • 0
Posté(e)

Voila le code final :

 

On damage:
   if victim is alive:
       set {timer.%attacker%} to 12
       wait 1 second
       while {timer.%attacker%} > 0:
           wait 1 second
           add -1 to {timer.%attacker%}
           if victim is dead:
               set {death.%victim%} to true
               set {timer.%attacker%} to -1
               set {tueur} to attacker

On death:
   wait 1 second
   if {death.%victim%} is true:
       add 1 to {kill.%{tueur}%}
       clear {tueur}

 

Il faut que tu remplace "add 1 to {kill.%{tueur}%}" par l'ajout de la monnaie etc...

Quand tu va reload le skript ça va te dire un avertissement à propos de la variable tueur, ne t'inquiete pas ça n'a pas d'impact. (ça dit que la variable ne va pas etre sauvegardé par le serveur en gros ce qui n'est pas gênant).

 

Je precise qu'il est 100% fonctionnel mais qu'il se peut qu'il y ait des petits problemes en fonctions du code que tu as deja fait (chose que je ne peut pas prevoir). Cependant si un autre joueur venait a tuer venait a tuer une victime touché par un autre joueur les deux recoivent la recompense (En soit c'est pas forcement un mal puisque on peut voir ça comme un kill "assisté")

  • 0
Posté(e)

On damage:
  if victim is alive:
       set {timer.%attacker%} to 12
       wait 1 second
      while{timer.%attacker%}>0:
           wait 1 second
           add -1 to {timer.%attacker%}
          if victim is dead:
               set {death.%victim%} to true
               set {timer.%attacker%} to -1
               set {tueur} to attacker

On death:
   wait 1 second
  if{death.%victim%} is true:
       add 1 to {kill.%{tueur}%}
       clear {tueur}

 

Tu es sur que ça marche ?

Moi ça marche pas :/

J peux t'add skype ?

  • 0
Posté(e)

J'aime pas x 1

Gingly

 

^^ Inutile... un peu de respect pour les personnes qui t'aides...

×
×
  • 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.