Aller au contenu

Messages recommandés

Posté(e)

Version de Minecraft : 1.8
Version de Skript : Dev25

Type du skript : Drop d'items aléatoire à la mort d'un joueur

Description du script :

Bonjour, je souhaiterais réaliser un script qui lorsque qu'un joueur est tué par un autre joueur seulement 40% du stuff du joueur tué soit drop au sol.

J'ai commencé mes recherches mais je bloque au moment de drop les items de l'inventaire.

Quelqu'un pourrait m'aider s'il vous plait ?

Voici le début de mon code:

on death of player:
    if damage cause is attack:

Je remercie d'avance les personnes qui prendront le temps de m'aider sur ce Skript.

Posté(e)

Bonjour, j'ai pas de serveur de test, donc je te laisse me dire si il y a des erreurs/si ça marche 😉

on death of player:
	if damage cause is attack:
		set {_drops::*} to drops
		clear drops
		set {_total} to size of {_drops::*}
		loop ({_total} * 100 / 40):
			set {_r} to random element of {_drops::*}
			add {_r} to {_true.drops::*}
			remove {_r} from {_drops::*}

		drop {_true.drops::*}

 

  • J'aime 1
Posté(e)
Il y a 7 heures, Yghore a dit :

Bonjour, j'ai pas de serveur de test, donc je te laisse me dire si il y a des erreurs/si ça marche 😉


on death of player:
	if damage cause is attack:
		set {_drops::*} to drops
		clear drops
		set {_total} to size of {_drops::*}
		loop ({_total} * 100 / 40):
			set {_r} to random element of {_drops::*}
			add {_r} to {_true.drops::*}
			remove {_r} from {_drops::*}

		drop {_true.drops::*}

 

Bonjour, merci pour ton aide !
Je viens de tester le code et deux erreurs sont apparus. J'ai essayé de les résoudre mais je n'es pas réussi alors je te les transmet 🙂
 

Citation

1 erreur: {_total} can only be set to one object, not more (dieByPlayer.sk, line 5: set {_total} to size of {_drops::*}')

2 erreur : Can't loop {_total} * 100 / 40 because it's only a single value (dieByPlayer.sk, line 6: loop ({_total} * 100 / 40):')

Encore merci pour l'aide que tu m'apporte !

Posté(e)
il y a 7 minutes, xDioxiDDe a dit :

Bonjour, merci pour ton aide !
Je viens de tester le code et deux erreurs sont apparus. J'ai essayé de les résoudre mais je n'es pas réussi alors je te les transmet 🙂
 

Encore merci pour l'aide que tu m'apporte !

Bonjour,

tu devrais peut être essayer de set la liste en variable, comme ceci :

set {_bidule} to {_drops::*}
set {_total} to size of {_bidule}

je ne pense pas que ça va marcher, mais essaye quand même 🙂

Posté(e)
il y a 14 minutes, JinHead a dit :

Bonjour,

tu devrais peut être essayer de set la liste en variable, comme ceci :


set {_bidule} to {_drops::*}
set {_total} to size of {_bidule}

je ne pense pas que ça va marcher, mais essaye quand même 🙂

Bonjour,

Merci de prendre le temps de m'aider,
Je viens d'essayer et ça ne fonctionne pas avec cette solution 😕
 

Posté(e) (modifié)
on death of player:
	loop drops:
		add loop-value to {_drops::*}
	set {_size} to (size of {_drops::*})
	clear drops
	loop ({_size} * 0.4) times:
		set {_r} to random element of {_drops::*}
		add {_r} to {_dropped::*}
		remove {_r} from {_drops::*}
	drop {_dropped::*} at location of victim

J'ai testé ce code il fonctionne. Néanmoins, si tu as un stack de blocs, rien ne sera drop mais si tu as par exemple 9 stack de blocs, tu aura genre 3 stacks de blocs 

Modifié par Mister_max34
  • J'aime 1
Posté(e)
il y a 28 minutes, Mister_max34 a dit :

on death of player:
	loop drops:
		add loop-value to {_drops::*}
	set {_size} to (size of {_drops::*})
	clear drops
	loop ({_size} * 0.4) times:
		set {_r} to random element of {_drops::*}
		add {_r} to {_dropped::*}
		remove {_r} from {_drops::*}
	drop {_dropped::*} at location of victim

J'ai testé ce code il fonctionne. Néanmoins, si tu as un stack de blocs, rien ne sera drop mais si tu as par exemple 9 stack de blocs, tu aura genre 3 stacks de blocs 

Merci beaucoup ! Le skript fonctionne parfaitement !

Pour ce qui souhaite le même skript que moi, la solution citer dans ce message fonctionne très bien.

Merci Mister_max34 ainsi que les autres personnes aillant pris le tant de m'aider !

Sujet résolu 

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.