Aller au contenu
  • 0

Skript de tombe


Question

Posté(e)

Bonjour,

 

J'essaye de faire un script de tombe. Qui est représenté par un panneau et quand on clique dessus ça drop l'équipement de la personne morte. Mais j'ai tous d'abord essayer de sauvegarde l'équipement avec ou sans le keep inventory et puis rien n'est dans la variable. Donc je vous demande votre aide pour trouver une solution pour enregistrer l'équipement dans une variable. Voici mon code:

 

on death of player:
   set {deathstuff.%player%} to the inventory of player
   set {deathpos.%victim%} to location of player
   set block at location of player to sign
   wait 1 tick
   loop all players:
       loop blocks in radius 1 around {deathpos.%victim%}:
           if loop-block is a sign:
               set line 1 of loop-block to "&0&lTombe de"
               set line 2 of loop-block to "&4&l%victim%"
               set line 3 of loop-block to "&3&lRIP"       

command /**:
   trigger:
       give {deathstuff.near67} to the player

on respawn:
   clear inventory of the player

 

Désolé mais il y a des phases de test que je ne voit pas du tous comment les généralisées.

 

Je vous remercie d'avance.

 

Cordialement, Near67

  • J'aime 1

15 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Je pense que tu devrais cancel la mort, puis set la variable puis kill le joueur ;)

Le plus gros défaut de ce système c'est que le message de mort est alors unique :/

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

Je vais essayer ça mais je doute que cela me plaise. Et puis j'ai un autre problème quand il y a la "tombe" du joueurs je voudrai fais une conditions comme: if line 2 is "le pseudo du joueurs morts" je voudrai le généraliser pour tous les joueurs mais je ne c'est le faire. Je te remercie pour ton aide. Bonne journée

  • 0
Posté(e)

Non testé:

on death of player:
   loop drops:
       add loop-item to {deathstuff.%uuid of victim%::*}
   set {deathpos.%uuid of victim%} to location of player
   set block at location of player to sign
   set line 1 of block at player to "&0&lTombe de"
   set line 2 of block at player "&4&l%name of victim%"
   set line 3 of block at player "&3&lRIP"      

command /**:
   trigger:
       loop {deathstuff.near67::*}:
           give loop-value parsed as item to player

on respawn:
   clear inventory of the player

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

Désolé mais après test rien n'est sauvegarder dans la variable ... et pour le panneau le code marche pas mais c'est pas le problème. Et désolé pour le double post.

  • 0
Posté(e)

Normal j'ai mis n'importe quoi, soit tu garde ce système avec les uuid et dans la commande /** tu met la variable {deathstuff.TON UUID::*}, soit tu préfère avoir les variables avec le nom du joueur et tu remplace les 2 %uuid of victim% par %name of victim%

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

... Je reprends le code de @Noa :

on death of player:
   set {deathstuff.%player%} to the player's serialized inventory
   set {deathpos.%victim%} to location of player
   set block at location of player to sign
   wait 1 tick
   loop all players:
       loop blocks in radius 1 around {deathpos.%victim%}:
           if loop-block is a sign:
               set line 1 of loop-block to "&0&lTombe de"
               set line 2 of loop-block to "&4&l%victim%"
               set line 3 of loop-block to "&3&lRIP"      

command /**:
   trigger:
       give {deathstuff.near67} to the player

on respawn:
   clear inventory of the player

  • J'aime 1
  • 0
Posté(e)
... Je reprends le code de @Noa :

on death of player:
   set {deathstuff.%player%} to the player's serialized inventory
   set {deathpos.%victim%} to location of player
   set block at location of player to sign
   wait 1 tick
   loop all players:
       loop blocks in radius 1 around {deathpos.%victim%}:
           if loop-block is a sign:
               set line 1 of loop-block to "&0&lTombe de"
               set line 2 of loop-block to "&4&l%victim%"
               set line 3 of loop-block to "&3&lRIP"     

command /**:
   trigger:
       give {deathstuff.near67} to the player

on respawn:
   clear inventory of the player

Merci du tag lol. laisse le ;) xd

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

Bon je vous remercie, mais j'abandonne aucune de mes tentatives ou de vos codes ne marche ... Je crois tous simplement que c'est pas possible en Skript de sauvegarder le stuff dans une value pendant la mort. Bonne journée et encore merci de votre aide =)

Ps: Je laisse le sujet, au qua où une personne trouve la solution :s

 

Cordialement, Near67

  • 0
Posté(e)

Bah c'est simple si j'ai bien compris ...

 

on death of player:
   set block at {Mort.postion.%player%} to air
   clear {StuffMort.%player%::*}
   loop drops:
       set {StuffMort.%player%::*} to drops
       clear drops
   set {Mort.postion.%player%} to location of player
   set block at {Mort.postion.%player%} to sign
   set line 1 of block at {Mort.postion.%player%} to "&6&lStuff de"
   set line 2 of block at {Mort.postion.%player%} to "&4&l%player%"
   set line 3 of block at {Mort.postion.%player%} to "&6&lMort le"
   set line 4 of block at {Mort.postion.%player%} to "&6&l%now% %time%"


on rightclick on sign:
   if line 2 of the event-block contains player's name:
       drop {StuffMort.%player%::*} at event-block
       clear {StuffMort.%player%::*} 
       set block at {Mort.postion.%player%} to air
       launch flickering trailing ball firework colored orange and white at {Mort.postion.%player%} timed 1

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

Je re-reprends le code de @Noa :

 

on death of player:
   set {deathstuff.%player%} to the victim's serialized inventory
   set {deathpos.%victim%} to location of victim
   set block at location of victim to sign
   wait 1 tick
   loop all players:
       loop blocks in radius 1 around {deathpos.%victim%}:
           if loop-block is a sign:
               set line 1 of loop-block to "&0&lTombe de"
               set line 2 of loop-block to "&4&l%victim%"
               set line 3 of loop-block to "&3&lRIP"     

command /**:
   trigger:
       give {deathstuff.near67} to the player

on respawn:
   clear inventory of the player

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

Je l'ai testé et ce code marche très bien:

on death of player:
   set block at {deathpos.%name of victim%} to air
   clear {deathstuff.%name of victim%::*}
   loop drops:
       add loop-item to {deathstuff.%name of victim%::*}
       remove loop-item from drops
   set block at location of victim to sign
   wait 1 tick
   set line 1 of block at victim to "&lTombe de"
   set line 2 of block at victim to "&4&l%name of victim%"
   set line 3 of block at victim to "&3&lRIP"
   set {deathpos.%name of victim%} to location of block at victim

on click on sign:
   line 1 of clicked block is "&lTombe de"
   line 3 of clicked block is "&3&lRIP"
   set {_name} to line 2 of clicked block
   replace all "&4&l" with "" in {_name}
   {deathpos.%{_name}%} is event-location
   loop {deathstuff.%{_name}%::*}:
       drop loop-value at event-location
   clear {deathstuff.%{_name}%::*}
   set clicked block to air
on break of sign:
   line 1 of event-block is "&lTombe de"
   line 3 of event-block is "&3&lRIP"
   set {_name} to line 2 of event-block
   replace all "&4&l" with "" in {_name}
   {deathpos.%{_name}%} is event-location
   loop {deathstuff.%{_name}%::*}:
       drop loop-value at event-location
   clear {deathstuff.%{_name}%::*}
   set event-block to air

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

Merci mais vraiment merci de toutes votre aides :)

Je vous souhaite une bonne journée.

 

Ps: désolé pour la réponse tardive.

 

Cordialement,Near67

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