Aller au contenu

Messages recommandés

Posté(e) (modifié)

Version de minecraft: 1.14.x (multiversion)
Version de Skript: 2.4-alpha4
Type de Skript: Pierre, Feuille, Ciseaux (jeu)


Bonjour les skripteurs, skripteuses !!
Aujourd'hui je viens avec un peu de regrets puisque je n'arrive pas à compléter seul mon idée ... du coup je viens chercher de l'aide !
C'est vrai j'aurait pu reprendre un design sur Google, chose que je ne voulais pas faire, j'ai quand même fini par regarder d'autres idées mais aucun ne me débloquait pour ce que je cherche.
Voici mon cahier des charges que j'ai imaginé ;

Un joueur en défie un autre par un menu GUI:
image.png.dc1f0ad282d3f996d2623a2fb93678fd.png

Après avoir cliquer sur la tête du joueur "voulu" (j'était seul mais vous allez comprendre).
Le joueur cible doit accepter : /rpc accept <player> (ou /rpc accept) si vous y arrivez ^^'
 image.png.fae987a698b781281ce7184ce3502aff.png

Les deux joueurs sont d'accord pour jouer, le jeu s'ouvre (toujours en menu GUI):
image.png.03370c738e389c27d82ea4ebf11c2cba.pngL'encadré bleu est le décompte en terracotta (voir skript). Et lorsque un joueur selectionne SON item, il soit en Shiny (enchanté) et seulement pour le joueur concerné.

C'est ici que le Skript ne fonctionne plus / n'est pas avancé.

AVANT le décompte, les deux joueurs doivent avoir sélectionné un ITEM (sinon, le jeu se ferme sas gagnant avec un message), ensuite le menu "FINAL" s'ouvre pour montrer le gagnant:
image.png.08e239854e631ac8b255c49d6e8f828f.png Le joueur 1 est toujours à gauche, c'est donc le verre de couleur qui change en fonction du gagnant.

P.S.: Il n'y a pas de récompense c'est un simple jeu / gadget.

Bon, je pense avoir faire le tour sur ce que j'imagine, j'ai presque tout préparé il manque juste la "mécanique".
Si vous avez des questions, je suis là, si vous avez besoin d'un coup de main aussi, mais j'aimerais vraiment finir ce petit projet...

MERCI à ceux qui ajouteront leurs petite touche, leurs aident.
- MisterLogik (en attente des aides, réponses, on même quelqu'un pour finir le skript).

CODE:

options:
	prefix.erreur: &4&l[&cErreur&4&l]: &c
	prefix.rpc: &8&l[&7PFC&8&l]&7: &f

command /rpc [<text>] [<player>]:
	trigger:
		if player is in world "world":
			if arg-1 is set:
				if arg-1 is "search":
					if arg-2 is not set:
						open chest with 6 rows named "&8Les joueurs disponible:" to player
						wait 3 ticks 
						set {_slot} to 0
						loop all players:
							if loop-players is in world "world":
								wait 1 tick
								set {_username} to "%loop-player%"
								make a gui slot {_slot} of player with loop-player's skull named "&f&l%loop-player%" with lore "&f» &7Clique pour lui envoyer une demande." to close:
									make player execute command "/rpc %{_username}%"
								add 1 to {_slot}
								delete {_username}
								
				else if arg-1 is "accept":
					if arg-2 is set:
						if {%arg-2%.rpc-demande.%player%} is true:
							play sound "entity.experience_orb.pickup" with volume 15 to player
							play sound "entity.experience_orb.pickup" with volume 15 to arg-2
							set {%player%.rpc-demande.%arg-2%} to false
							set {rpc.generate-id} to random integer between 1 and 99
							set {rpc.id} to {rpc.%{rpc.generate-id}%}
							open virtual chest inventory with size 3 named "&8PFC &0(&7%{rpc.id}%&0)" to player and arg-2
							make a gui slot 0, 9, 18, 2, 11, 20, 8, 17 and 26 of player and arg-2 with gray stained glass pane named " " to do nothing
							make a gui slot 1 of player and arg-2 with stone with lore "&fLa pierre bat le ciseaux..." named "&7Pierre" to run:
								if player1 clique:
									set {rpc.id.p1} to stone
								else:
									set {rpc.id.p21} to stone
								
							make a gui slot 10 of player and arg-2 with paper with lore "La feuille bat la pierre..."  named "&7Feuille" to run:
								if player1 clique:
									set {rpc.id.p1} to paper
								else:
									set {rpc.id.p21} to paper
									
							make a gui slot 19 of player and arg-2 with shears with lore "Le ciseaux bat la feuille..." named "&7Ciseaux" to run:
								if player1 clique:
									set {rpc.id.p1} to shears
								else:
									set {rpc.id.p21} to shears
								
							wait 1 second
							make a gui slot 13, 14 and 15 of player and arg-2 with red terracotta named "&c&l5 secondes" to do nothing
							wait 2 seconds
							make a gui slot 13, 14 and 15 of player and arg-2 with orange terracotta named "&c&l4 secondes" to do nothing
							wait 2 seconds
							make a gui slot 13, 14 and 15 of player and arg-2 with yellow terracotta named "&c&l3 secondes" to do nothing
							wait 2 seconds
							make a gui slot 13, 14 and 15 of player and arg-2 with green terracotta named "&c&l2 secondes" to do nothing
							wait 2 seconds
							make a gui slot 13, 14 and 15 of player and arg-2 with lime terracotta named "&c&l1 seconde" to do nothing
							wait 2 seconds
							make a gui slot 13, 14 and 15 of player and arg-2 with white terracotta named "" to do nothing
							
							
								
							
							

						else:
							send "{@prefix.erreur} Aucune joueur ne vous à défié au &7Pierre, Feuille, Ciseaux&c."
				else:
					set {%player%.rpc-demande.%arg-1%} to true
					send "{@prefix.rpc} &aVous avez envoyé une demande de &2Pierre, Feuille, Ciseaux&a à &2&l%arg-1%&a."
					set {player-rpc} to arg-1 parsed as an player
					send "{@prefix.rpc} &6Vous avez reçu une demande de &e&l%player% &6pour jouer à &ePierre, Feuille, Ciseaux&6.%nl%{@prefix.rpc} &7Pour accepter la demande: &f&l/rpc accept %player%" to {player-rpc}
					wait 15 seconds
					set {%player%.rpc-demande.%arg-1%} to false
		else:
			send "{@prefix.erreur} Les gadgets ne sont pas disponible dans ce monde."

 

 

 

Modifié par XTReMxLogik
Posté(e) (modifié)

NiSalut, si j'ai bien compris, tu ne sais pas comment terminer ce skript. Pour le terminer, personnellement, lorsque le joueur choisit la pierre je met une variable à 1 quand il choisit la pierre, la feuille 2 et les ciseaux 3.

if {variable.j1} > {variable.j2}:
    if difference between {variable.j1} and {variable.j2} is greater than 1:
        if {variable.j2} is 1:
            J2 gagnant
        else:
            J1 gagnant

    else if difference between {variable.j1} and {variable.j2} is less than 2:

    J2 gagnant

else if {variable.j1} = {variable.j2}:

    Match nul
else if {variable.j1} < {variable.j2}:
    if difference between {variable.j1} and {variable.j2} is greater than 1:
        if {variable.j1} is 1:
            J1 gagnant
        else:
            J2 gagnant

    else if difference between {variable.j1} and {variable.j2} is less than 2:

    J1 gagnant

 

C'est pas complet quand un joueur choisit un papier mais c'est un début!

Je sais pas si j'ai fait de la merde ou pas ^^ en tout cas bonne soirée!

Modifié par Davarck (Codeur Skript)
  • Humm 1
Posté(e)
Le 28/07/2019 à 19:27, Davarck (Codeur Skript) a dit :

NiSalut, si j'ai bien compris, tu ne sais pas comment terminer ce skript. Pour le terminer, personnellement, lorsque le joueur choisit la pierre je met une variable à 1 quand il choisit la pierre, la feuille 2 et les ciseaux 3.


if {variable.j1} > {variable.j2}:
    if difference between {variable.j1} and {variable.j2} is greater than 1:
        if {variable.j2} is 1:
            J2 gagnant
        else:
            J1 gagnant

    else if difference between {variable.j1} and {variable.j2} is less than 2:

    J2 gagnant

else if {variable.j1} = {variable.j2}:

    Match nul
else if {variable.j1} < {variable.j2}:
    if difference between {variable.j1} and {variable.j2} is greater than 1:
        if {variable.j1} is 1:
            J1 gagnant
        else:
            J2 gagnant

    else if difference between {variable.j1} and {variable.j2} is less than 2:

    J1 gagnant

 

C'est pas complet quand un joueur choisit un papier mais c'est un début!

Je sais pas si j'ai fait de la merde ou pas ^^ en tout cas bonne soirée!

Salut salut,
Eh bien, si j'ai bien compris, et j'y ai déjà réfléchi...mais comme tu le fait si un autre joueur lance ce jeu (en même temps) et qu'il choisi la pierre les deux "jeu" vont ce melanger, c'est pr ça que je créer un "id" de jeu (en 3 chiffres au début du code).

Et c'est surtout ce problème qui me dérange, c'est __Si deux groupes de joueurs lance le jeu en même temps il y a conflits__.
D'où l'id de jeu au début 😛

Posté(e)
Il y a 20 heures, XTReMxLogik a dit :

Salut salut,
Eh bien, si j'ai bien compris, et j'y ai déjà réfléchi...mais comme tu le fait si un autre joueur lance ce jeu (en même temps) et qu'il choisi la pierre les deux "jeu" vont ce melanger, c'est pr ça que je créer un "id" de jeu (en 3 chiffres au début du code).

Et c'est surtout ce problème qui me dérange, c'est __Si deux groupes de joueurs lance le jeu en même temps il y a conflits__.
D'où l'id de jeu au début 😛

Avec skript, il existe les listes : https://skript-mc.fr/forum/topic/8055-skript-school-5-les-listes-et-les-boucles/?tab=comments#comment-72480

et pour moi le meilleur moyen serait de set une variable pour chaque joueur qui indique l'autre joueur

#Avec player le joueur et {player2} le 2eme joueur
set {pfs::%player%::ingame} to {player2}
set {pfs::%{player2}%::ingame} to player

#Pour vérifie si un joueur est en game : 
if {pfs::%player%::ingame} is set:

#pour arrêter une partie :
delete {pfs::%{pfs::%player%::ingame}%::ingame} #ici {pfs::%player%::ingame} = player2
delete {pfs::%player%::ingame}

 

Posté(e)
Le 30/07/2019 à 19:46, uiytt a dit :

Avec skript, il existe les listes : https://skript-mc.fr/forum/topic/8055-skript-school-5-les-listes-et-les-boucles/?tab=comments#comment-72480

et pour moi le meilleur moyen serait de set une variable pour chaque joueur qui indique l'autre joueur


#Avec player le joueur et {player2} le 2eme joueur
set {pfs::%player%::ingame} to {player2}
set {pfs::%{player2}%::ingame} to player

#Pour vérifie si un joueur est en game : 
if {pfs::%player%::ingame} is set:

#pour arrêter une partie :
delete {pfs::%{pfs::%player%::ingame}%::ingame} #ici {pfs::%player%::ingame} = player2
delete {pfs::%player%::ingame}

Bonjour,
Pour moi j'ai dû mal avec les listes, j'aimerais bien, si vous avez du temps compléter le skript que j'ai poster au tout début du Post.
Edit: Je n'arrive pas du tout à le compléter, j'aimerais bien que ce skript deviennent communautaire, qu'on s'aide TOUS !

 

  • J'aime pas 1
Posté(e)
il y a une heure, XTReMxLogik a dit :

 

Aider oui, pas faire du spoonfeed et juste compléter ton skript pout toi 😕

Si tu n'es pas prêt à faire des testes et apprendre etc... faut mieux demander dans "demande de skript"

Posté(e)
Il y a 1 heure, uiytt a dit :

Aider oui, pas faire du spoonfeed et juste compléter ton skript pout toi 😕

Si tu n'es pas prêt à faire des testes et apprendre etc... faut mieux demander dans "demande de skript"

Eh bien j'ai essayer de faire déplacer ce post par l'équipe de modération, mais il n'as pas été fait...Donc malheureusement je continu ici..

  • Joriis a verrouillé ce sujet
  • Joriis a déverrouillé ce sujet
  • 5 semaines après...
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.