Aller au contenu
  • 0

Aide pour une Erreur introuvable (Débutant)


Question

Posté(e)

Bonjour à tous c'est ma première fois sur ce site et en skript donc soyez indulgent ^^.

 

Je voulais développer pour mon premier Skript un systéme qui permet que lorsque qu'une feuille disparaise on trouve du magenta dye qui donne de l'argent est un texte pour signaler l'argent donné, problème le premier magenta dye qu'on ramasse ne fait strictement pas le skript et ce n'est qu'au bout du deuxiéme dans l'inventaire que le code fonctionne. (Donc il y'a perma un magenta dye)

 

Voici le code:

 

On leaves decay:

chance of 50%

drop 1 magenta dye at event-location

 

On pick up:

if player's inventory contains magenta dye:

remove 1 magenta dye from the player

make console execute command "/money give %player% 1000"

broadcast "&7-&eChance&7- &a&o %player% as trouvé une &5gemme &a&oil recoit donc 1000$"

 

 

ça serait vraiment sympa si vous connaisez la solution car je compte mettre le magenta dye en très rare genre 2% donc si il faut que le joueur en est 2 c'est un peu chiant. ^^ Merci bien.

12 réponses à cette question

Messages recommandés

  • 0
Posté(e)

Salut !

J'ai bien regarder et il n'y a aucune erreur dans ton skript !

Mais il y a une "faille" pour ma part !

Je te conseille fortement de remplacer ton on pick up: par : on any movement

Il n'y aura aucune "faille" cette fois si (pour moi) .

Si il y a des erreurs installe les addons suivants:

WildSkript

SkQuery

SkRayFall

Sinon voici le code:

On leaves decay:
   chance of 100%
   drop 1 magenta dye at event-location
on any movement:
   if player's inventory contains magenta dye:
       remove 1 magenta dye from the player
       make console execute command "/money give %player% 1000"
       broadcast "&7-&eChance&7- &a&o %player% as trouvé une &5gemme &a&oil recoit donc 1000$"

Si je t'ai aider lâche un like ! Sa fait toujours plaisir !

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

Si sa marche passe en résolut dans se cas la ! :p Et un conseille pour que se soit plus simple mes tes codes dans des balises de codes c'est 10 fois plus pratique pour tout le monde pour résoudre ton/tes probleme ! :)

Et si besoin d'aide envoie moi un message privée ! ou refait une demande d'aide !

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

Bon les mecs je vous mets le code bon parceque vous galérez...Déjà faut savoir que le "chance of 100%" est une CONDITION, donc il faut mettre ":". Mais je comprends pas le but de mettre une chance de 100%

Code :

On leaves decay:
      drop 1 magenta dye at event-location
on any movement:
   if player's inventory contains magenta dye:
       remove 1 magenta dye from player's inventory
       make console execute command "money give %player% 1000"
       broadcast "&7-&eChance&7- &a&o %player% a
trouvé une &5gemme &a&oil reçoit donc 1000$"

  • 0
Posté(e)
Bon les mecs je vous mets le code bon parceque vous galérez...Déjà faut savoir que le "chance of 100%" est une CONDITION, donc il faut mettre ":". Mais je comprends pas le but de mettre une chance de 100%

Code :

On leaves decay:
      drop 1 magenta dye at event-location
on any movement:
   if player's inventory contains magenta dye:
       remove 1 magenta dye from player's inventory
       make console execute command "money give %player% 1000"
       broadcast "&7-&eChance&7- &a&o %player% a
trouvé une &5gemme &a&oil reçoit donc 1000$"

PulsePvP

Il veut un taux de chance que sa drop un magenda donc 20% de chance il veut j'ai oublier de le modifier dans mon code ! :/ mais bref voila !

  • 0
Posté(e)

Je sais que le sujet est résolu mais bon je dis quand même la solution du problème initial (à titre informatif)

 

On leaves decay:
   chance of 50%
   drop 1 magenta dye at event-location
on pick up:
   wait 1 tick
   if player's inventory contains magenta dye:
       remove 1 magenta dye from the player
       make console execute command "/money give %player% 1000"
       broadcast "&7-&eChance&7- &a&o %player% as trouvé une &5gemme &a&oil recoit donc 1000$"

 

il suffit de rajouter "wait 1 tick" car l'événement "On pick up" verifie le skript avant de recevoir l'item dans l'inventaire ce qui fait que lorsque le skript s’exécute l'item n'est pas encore dans l'inventaire et donc la condition "if player's inventory contains magenta dye:" est forcement foce et ça explique ton problème de ça marche pour le deuxième et + mais pas pour le premier.

 

Le fait de rajouter wait 1 tick fait que l'item sera déjà ramassé et donc la condition sera vrai cette fois ci.

 

Tous les événements qui peuvent avoir l'effet "cancel event" vérifie le code avant de subir l'event. Ansi il n'est pas possible de placer un "cancel event" juste APRES un "wait 1 tick"

 

 

 

j’espère avoir été assez compréhensible :/

  • 0
Posté(e)

Merci beaucoup pour vos réponses ! Comme je l'ai dis c'est ma première fois sur Skript et on va dire je fonces un peu tête baisé, la logique et moi ça fait pas deux. Du coup pour vous répondre ce skript n'était qu'un test mais merci de vos réponses car elles mon mieux aidés à comprendre les conditions et autre. ^^

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