Aller au contenu
albertboss98

solution partielle ... Protection Loot à la mort d'un joueur

Messages recommandés

Version de Minecraft : 1.8.8
Version de Skript : 2.2-dev25

Type du skript : Anti Steal Loot

Description du script :

Hello ! 

Le skript est : Lorsqu'un joueur ( alpha ) tue un autre joueur ( beta ), le stuff est protégé pendant 15 secondes  néanmoins si alpha prend le stuff au sol et qu'il le rejette tout le monde peut prendre le stuff

( uniquement le stuff jeter au sol tout le monde peut le prendre ) tout le stuff non touché au sol reste protégé !

Merci d'avance

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut, je ne suis pas sur de comprendre, si j'ai bien compris, quand un joueur beta meurt, le joueur alpha doit récupérer son stuff 15 secondes après sa mort pour que tout le monde puisse récupérer le stuff au sol ?

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 15 heures, Locliz_ a dit :

Salut, je ne suis pas sur de comprendre, si j'ai bien compris, quand un joueur beta meurt, le joueur alpha doit récupérer son stuff 15 secondes après sa mort pour que tout le monde puisse récupérer le stuff au sol ?

 

Je suis pas sûr de comprendre mais je te réexplique,

Quand beta meurt , personne peut prendre son stuff seulement 15 secondes après tout le monde peut le prendre.

Partager ce message


Lien à poster
Partager sur d’autres sites
Citation

 

on death:
    set {_loc} to victim's position
    add {_loc}'s location to {dead.list::*}
    wait 15 seconds
    remove {_loc}'s location from {dead.list::*}
    stop

on pick up:
    loop {dead.list::*}:
        set {_x.coord} to x-coordinate of loop-value
        set {_z.coord} to z-coordinate of loop-value
        set {_x.coord-} to {_x.coord} - 5
        set {_x.coord+} to {_x.coord} + 5
        set {_z.coord-} to {_z.coord} - 5
        set {_z.coord+} to {_z.coord} + 5
        if player's x-coordinate is between {_x.coord-} and {_x.coord+}:
            if player's z-coordinate is between {_z.coord-} and {_z.coord+}:
                cancel event

 

Et voilà BG.

Partager ce message


Lien à poster
Partager sur d’autres sites

Haa ok, j'avais mal compris tiens alors :

Citation

on death:
    set {_loc} to victim's position
    add {_loc}'s location to {dead.list::*}
    set {killer.%attacker%.%{_loc}%} to attacker's name
    wait 15 seconds
    delete {killer.%attacker%.%{_loc}%}
    remove {_loc}'s location from {dead.list::*}
    stop

on pick up:
    loop {dead.list::*}:
        set {_x.coord} to x-coordinate of loop-value
        set {_z.coord} to z-coordinate of loop-value
        set {_x.coord-} to {_x.coord} - 5
        set {_x.coord+} to {_x.coord} + 5
        set {_z.coord-} to {_z.coord} - 5
        set {_z.coord+} to {_z.coord} + 5
        if player's x-coordinate is between {_x.coord-} and {_x.coord+}:
            if player's z-coordinate is between {_z.coord-} and {_z.coord+}:
                if {killer.%player%.%loop-value%} is not "%player%":
                    cancel event
        stop

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 3 heures, Locliz_ a dit :

Haa ok, j'avais mal compris tiens alors :

 

J'ai test mais je n'arrive pas à voir si sa fonctionne car quand beta revient avant les 15 secondes il arrive à reprendre son stuff alors que c'est normalement protégé par Alpha

J'avais en tête d'enregistrer dans une variable l'inventaire de victime et lorsque le joueur est différent de attacker alors ça cancel event on pickup 

et après les 15 secondes on clear l'inventaire de victime dans la variable.

Pour bien tester au pire , lorsque BETA est sur le stuff ça fait un décompte avec le nb de sec restant pour qu'ils puissent prendre le stuff

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

Je te propose le script ci-joint pour répondre à ta demande. Pour faire simple: Le stuff de la victime est réservé à l'attaquant lors de la mort de celle-ci, et ce pendant 15 secondes (configurable). Pas de variable globale, tout passe par le lore de l'item au sol. Lorsque tu rammasses un item que j'ai touché via le script, les lignes ajoutées sont supprimées pour laisser l'item d'origine. Il y a un petit décalage d'un tick pour rammasser un item qui a été modifié (voir les annotations `HACK` (bricolage en français)). J'ai testé le script sur PaperMC-1.8.8-445 avec Skript-2.6.2-FORK1.8 et Skript-Reflect-2.3.

Je reste disponible pour toute question subsidiaire.

Contenu masqué

    Réagissez ou répondez à ce message afin de consulter le contenu masqué.

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.

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