Kriiista Posté(e) le 31 mars 2018 Posté(e) le 31 mars 2018 Version minecraft: 1.7.10 Version Skript: 2.1.2 Addons: SkQuery - SkRayFall - SkMorkaz Bonjour, J'ai fais des recherches mais rien ne correspondait. Je souhaite detecter quand un joueur ce prend un headshot. Merci Kriiista
0 uiytt Posté(e) le 31 mars 2018 Posté(e) le 31 mars 2018 Version minecraft: 1.7.10 Version Skript: 2.1.2 Addons: SkQuery - SkRayFall - SkMorkaz Bonjour, J'ai fais des recherches mais rien ne correspondait. Je souhaite detecter quand un joueur ce prend un headshot. Merci Kriiista Essaye : If player's head y-coordinate is projectile's y-coordinate: absolument pas sur que ça marche, j'ai trouvé ça autre part.
0 Kriiista Posté(e) le 31 mars 2018 Auteur Posté(e) le 31 mars 2018 Essaye : If player's head y-coordinate is ptojectile's y-coordinate: absolument pas sur que ça marche, j'ai trouvé ça autre part. Oui je vois d'où tu l'as pris, t'as même fait la même erreur "ptojectile's". Et non ça ne marche pas, sa be reconnait pas la condition. PS: Quand je dis que j'ai déjà fais des recherches c'est que j'en ai fais xD
0 uiytt Posté(e) le 31 mars 2018 Posté(e) le 31 mars 2018 Oui je vois d'où tu l'as pris, t'as même fait la même erreur "ptojectile's". Et non ça ne marche pas, sa be reconnait pas la condition. PS: Quand je dis que j'ai déjà fais des recherches c'est que j'en ai fais xD Désoler, y'a tellement de personne qui disent qu'ils ont vraiment chercher mais don't il suffit de chercher 5s pour trouver la solution XD. Sinon bonne chance à toi...
0 Maxl Posté(e) le 31 mars 2018 Posté(e) le 31 mars 2018 Salut, après avoir vue ton poste j'ai essayer de trouver un moyen, je me suis un peu creusé la tête et j'ai codé ça, qui fonctionne pour moi x) J'espère donc qu'il fonctionne pour toi =) on projectile hit: set {location.projectil} to location of projectile loop all players: set {_loc.loop-player.hit} to location of loop-player add 1.5 to y location of {_loc.loop-player.hit} set {_loc2.loop-player.hit} to location of loop-player add 2 to y location of {_loc2.loop-player.hit} if y location of {location.projectil} is between y location of {_loc.loop-player.hit} and y location of {_loc2.loop-player.hit}: broadcast "C'est un Head-Shot" Voilà, j'espère que ça t'ira ^^
0 Kriiista Posté(e) le 31 mars 2018 Auteur Posté(e) le 31 mars 2018 Salut, après avoir vue ton poste j'ai essayer de trouver un moyen, je me suis un peu creusé la tête et j'ai codé ça, qui fonctionne pour moi x) J'espère donc qu'il fonctionne pour toi =) on projectile hit: set {location.projectil} to location of projectile loop all players: set {_loc.loop-player.hit} to location of loop-player add 1.5 to y location of {_loc.loop-player.hit} set {_loc2.loop-player.hit} to location of loop-player add 2 to y location of {_loc2.loop-player.hit} if y location of {location.projectil} is between y location of {_loc.loop-player.hit} and y location of {_loc2.loop-player.hit}: broadcast "C'est un Head-Shot" Voilà, j'espère que ça t'ira ^^ Merci j'essaie ça tout de suite ! [MESSAGE FUSIONNE] Salut, après avoir vue ton poste j'ai essayer de trouver un moyen, je me suis un peu creusé la tête et j'ai codé ça, qui fonctionne pour moi x) J'espère donc qu'il fonctionne pour toi =) on projectile hit: set {location.projectil} to location of projectile loop all players: set {_loc.loop-player.hit} to location of loop-player add 1.5 to y location of {_loc.loop-player.hit} set {_loc2.loop-player.hit} to location of loop-player add 2 to y location of {_loc2.loop-player.hit} if y location of {location.projectil} is between y location of {_loc.loop-player.hit} and y location of {_loc2.loop-player.hit}: broadcast "C'est un Head-Shot" Voilà, j'espère que ça t'ira ^^ OMG ça marche! Le seul et dernier problème, c'est que Salut, après avoir vue ton poste j'ai essayer de trouver un moyen, je me suis un peu creusé la tête et j'ai codé ça, qui fonctionne pour moi x) J'espère donc qu'il fonctionne pour toi =) on projectile hit: set {location.projectil} to location of projectile loop all players: set {_loc.loop-player.hit} to location of loop-player add 1.5 to y location of {_loc.loop-player.hit} set {_loc2.loop-player.hit} to location of loop-player add 2 to y location of {_loc2.loop-player.hit} if y location of {location.projectil} is between y location of {_loc.loop-player.hit} and y location of {_loc2.loop-player.hit}: broadcast "C'est un Head-Shot" Voilà, j'espère que ça t'ira ^^ Ça fonctionne ! Le seul problème c'est que comme tu loop tout les joueurs, sa envoie "C'est un Head-Shot" <nombre de joueur sur le serveur> fois de suite. Donc s'il y a 2 joueurs sur le serveur, sa va broadcast 2 fois. Comme je veux pas 'broadcast', je souhaite que sa l'envoie seulement à celui qui a tiré. J'ai rien compris à ton code donc pourrais tu corrigé STP? Kriiista
0 Maxl Posté(e) le 31 mars 2018 Posté(e) le 31 mars 2018 Et bien pour cela faut envoyer un message au shooter comme ceci: on projectile hit: set {location.projectil} to location of projectile loop all players: set {_loc.loop-player.hit} to location of loop-player add 1.5 to y location of {_loc.loop-player.hit} set {_loc2.loop-player.hit} to location of loop-player add 2 to y location of {_loc2.loop-player.hit} if y location of {location.projectil} is between y location of {_loc.loop-player.hit} and y location of {_loc2.loop-player.hit}: if loop-player is not shooter: set {headshoot.projectil} to true if {headshoot.projectil} is set: delete {headshoot.projectil} send "HeadShot" to shooter A la fin du message (send "HeadShot" to shooter), on rajoute "to shooter" pour afficher le message au tireur, et l'on se sert d'une variable pour éviter le spam du message car si l'on met le message à la fin du "loop all players:", il apparaîtra autant de fois qu'il y a de joueur =) Voilà, si tout est Ok n'oublie pas de mettre ton poste en résolue ^^ EDIT: J'ai oublié de mettre "If loop-player is not shooter" pour valider le Head-Shot x) Parce que bon ce serait quand même bizarre de pouvoir s'auto-Head Shot x) 1
0 Kriiista Posté(e) le 1 avril 2018 Auteur Posté(e) le 1 avril 2018 Et bien pour cela faut envoyer un message au shooter comme ceci: on projectile hit: set {location.projectil} to location of projectile loop all players: set {_loc.loop-player.hit} to location of loop-player add 1.5 to y location of {_loc.loop-player.hit} set {_loc2.loop-player.hit} to location of loop-player add 2 to y location of {_loc2.loop-player.hit} if y location of {location.projectil} is between y location of {_loc.loop-player.hit} and y location of {_loc2.loop-player.hit}: if loop-player is not shooter: set {headshoot.projectil} to true if {headshoot.projectil} is set: delete {headshoot.projectil} send "HeadShot" to shooter A la fin du message (send "HeadShot" to shooter), on rajoute "to shooter" pour afficher le message au tireur, et l'on se sert d'une variable pour éviter le spam du message car si l'on met le message à la fin du "loop all players:", il apparaîtra autant de fois qu'il y a de joueur =) Voilà, si tout est Ok n'oublie pas de mettre ton poste en résolue ^^ EDIT: J'ai oublié de mettre "If loop-player is not shooter" pour valider le Head-Shot x) Parce que bon ce serait quand même bizarre de pouvoir s'auto-Head Shot x) Merci sa fonctionne à merveille ! [MESSAGE FUSIONNE] Et bien pour cela faut envoyer un message au shooter comme ceci: on projectile hit: set {location.projectil} to location of projectile loop all players: set {_loc.loop-player.hit} to location of loop-player add 1.5 to y location of {_loc.loop-player.hit} set {_loc2.loop-player.hit} to location of loop-player add 2 to y location of {_loc2.loop-player.hit} if y location of {location.projectil} is between y location of {_loc.loop-player.hit} and y location of {_loc2.loop-player.hit}: if loop-player is not shooter: set {headshoot.projectil} to true if {headshoot.projectil} is set: delete {headshoot.projectil} send "HeadShot" to shooter A la fin du message (send "HeadShot" to shooter), on rajoute "to shooter" pour afficher le message au tireur, et l'on se sert d'une variable pour éviter le spam du message car si l'on met le message à la fin du "loop all players:", il apparaîtra autant de fois qu'il y a de joueur =) Voilà, si tout est Ok n'oublie pas de mettre ton poste en résolue ^^ EDIT: J'ai oublié de mettre "If loop-player is not shooter" pour valider le Head-Shot x) Parce que bon ce serait quand même bizarre de pouvoir s'auto-Head Shot x) Et bein je ne comprend pas, j'ai juste reload les skript et maintenant ça ne marche plus. Il n'y a plus de message.
0 Kriiista Posté(e) le 1 avril 2018 Auteur Posté(e) le 1 avril 2018 Ahalala x) Renvoie le code que tu as =) En faite le skript marche une seul fois comment je peux resoudre?
0 Maxl Posté(e) le 1 avril 2018 Posté(e) le 1 avril 2018 Envoie-moi quand même le code que tu as mis car j'ai re-essayé de mon côté et ça fonctionne bien x)
0 Kriiista Posté(e) le 1 avril 2018 Auteur Posté(e) le 1 avril 2018 on projectile hit: set {location.projectil} to location of projectile loop all players: set {_loc.loop-player.hit} to location of loop-player add 1.5 to y location of {_loc.loop-player.hit} set {_loc2.loop-player.hit} to location of loop-player add 2 to y location of {_loc2.loop-player.hit} if y location of {location.projectil} is between y location of {_loc.loop-player.hit} and y location of {_loc2.loop-player.hit}: if loop-player is not shooter: set {headshoot.projectil} to true if {headshoot.projectil} is set: delete {headshoot.projectil} send "HeadShot" to shooter J'ai mis ce code dans un skript vide (il y a seulement ce code) et j'ai désactivé tout les autres skripts. Quand je fais un HeadShot, les prochaines ne marche pas.
0 Maxl Posté(e) le 1 avril 2018 Posté(e) le 1 avril 2018 Oki alors lorsque quelque chose comme ça ne fonctionne pas, tu rajoute un 'else" derrière chaque condition pour voir d'où vient le problème, ce qui donne: on projectile hit: set {location.projectil} to location of projectile loop all players: set {_loc.loop-player.hit} to location of loop-player add 1.5 to y location of {_loc.loop-player.hit} set {_loc2.loop-player.hit} to location of loop-player add 2 to y location of {_loc2.loop-player.hit} if y location of {location.projectil} is between y location of {_loc.loop-player.hit} and y location of {_loc2.loop-player.hit}: if loop-player is not shooter: set {headshoot.projectil} to true else: send "Else 2 =)" else: send "Else 1 =)" if {headshoot.projectil} is set: delete {headshoot.projectil} send "HeadShot" to shooter else: send "Else 3 =)" Ensuite tu mes des HeadShot et tu regarde ce qu'il te dit dans le chat, si par exemple, le message qui apparaît est "Else 2", alors on sait que le soucis vient du "if loop-player is not shooter", donc mes plusieurs Head-Shot et dis-moi quel message apparaît dans le chat =) 1
0 Kriiista Posté(e) le 1 avril 2018 Auteur Posté(e) le 1 avril 2018 Oki alors lorsque quelque chose comme ça ne fonctionne pas, tu rajoute un 'else" derrière chaque condition pour voir d'où vient le problème, ce qui donne: on projectile hit: set {location.projectil} to location of projectile loop all players: set {_loc.loop-player.hit} to location of loop-player add 1.5 to y location of {_loc.loop-player.hit} set {_loc2.loop-player.hit} to location of loop-player add 2 to y location of {_loc2.loop-player.hit} if y location of {location.projectil} is between y location of {_loc.loop-player.hit} and y location of {_loc2.loop-player.hit}: if loop-player is not shooter: set {headshoot.projectil} to true else: send "Else 2 =)" else: send "Else 1 =)" if {headshoot.projectil} is set: delete {headshoot.projectil} send "HeadShot" to shooter else: send "Else 3 =)" Ensuite tu mes des HeadShot et tu regarde ce qu'il te dit dans le chat, si par exemple, le message qui apparaît est "Else 2", alors on sait que le soucis vient du "if loop-player is not shooter", donc mes plusieurs Head-Shot et dis-moi quel message apparaît dans le chat =) Tout d'abord, rien ne s'affichais, j'ai donc remplasser <send "3"> par <message "3" to shooter> pour les trois nombres. Après le 3 sait afficher ! EDIT: Le 3 ET le 2 sait afficher ! Quand je headshot pas il y a le "3". quand je headshot il y a le "2" "2" "3". Quand je headshot, voici le chat: 2 2 3
Question
Kriiista
Version minecraft: 1.7.10
Version Skript: 2.1.2
Addons: SkQuery - SkRayFall - SkMorkaz
Bonjour,
J'ai fais des recherches mais rien ne correspondait.
Je souhaite detecter quand un joueur ce prend un headshot.
Merci
Kriiista
13 réponses à cette question
Messages recommandés