Aller au contenu

[Jeu] MyRig - Cryptomonnaie


Messages recommandés

Posté(e) (modifié)

Version de minecraft / skript : 1.13.1

Type du skript : Jeu via GUI

------------------------------------------------------------------------

Bonjour tout le monde !

J'aurais besoin d'un skripteur motivé pour m'aider à la réalisation d'un jeu déjà présent sur mon serveur (en Java) mais qui ne me correspond plus à cause de certains problème que je ne peux hélas pas résoudre.

Le concept est de faire de gagner de l'argent via la Cryptomonnaie !

Il y aura deux méthodes disponibles :

  • Methode n°1* (simple):
    • Tout simplement acheter & vendre la cryptomonnaie dans la banque selon la valeur actuelle du marché et à conditions qu'il y en ai dans la banque.

 

  • Méthode n°2 (difficile) :
    • Faire du minage de cryptomonnaie via des machines fictives bien évidemment.

*Je précise que la banque de bitcoin est vide à l'installation du plugins et que les bitcoins doivent être créé via le minage pour pouvoir profiter de la méthode n°1. Lorsqu'un joueur mineur vendra ses bitcoins obtenu via le minage, un joueur qui ne mine pas pourra profiter de la méthode n°1.

 

C'est ici que tout se complique ! Voici une image pour présenter l'interface de base et se faire une idée du fonctionnement :

2018-10-24_20-51-26.png

Citation

 

Je vais en profiter pour expliquer le système en étape :

  • La banque de Bitcoin est vide au départ
  • Le portefeuille du joueur est vide au départ
  • Sans logique, la valeur du Bitcoin en Dollars est aléatoire entre deux nombres défini dans la config genre 1-25$/BTC et change toutes les X minutes
  • On peut acheter un RIG pour X montant et il produira XBTC/minutes, heures...
  • On peut améliorer un RIG en achetant divers updagre pré-défini pour augmenter son taux de  XBTC/minutes, heures...
  • On doit upgrade le générateur électrique relatif au nombre de RIG & Upgrade que l'on possède 

Je pense que je n'ai pas besoin d'en dire plus, cela devrait très bien expliquer l'idée. Une fois que l'on a produit du Bitcoin avec un RIG, on se contente de le vendre quand la valeur du marché est au plut haut et ainsi de suite...

Un joueur ne possédant pas de RIG ou n'ayant pas les moyens de s'en offrir peut tout simplement acheter des Bitcoins à la banque si il y en a et si la valeur est faible et revendre quand la valeur est plus élevé pour faire un bénéfice.

Il y a qu'une commande de prévue /myrig

 

Je pourrais éventuellement fournir une contrepartie à la personne qui m'aidera à réaliser ce Skript.

Je précise qu'étant très débutant en Skript, je me rend compte que je ne sais pas vraiment par où commencer quand j'ai fait cette base de GUI et je n'ai pas vraiment le temps de gérer ce Skript, mon serveur ainsi que ma vie privée !

 

Merci de m'avoir lu,
@bientôt
 

Modifié par DKSM
Posté(e)

Quand je l'imagine dans ma tête, ça ne parait pas si compliqué, c'est juste un soucis de manque de connaissance.

Ça fait certes, un peu de contenu, mais il n'y a techniquement rien de complexe comme logique, pas plus qu'un cookie clicker HiTech

Posté(e)
à l’instant, DKSM a dit :

Quand je l'imagine dans ma tête, ça ne parait pas si compliqué, c'est juste un soucis de manque de connaissance.

Ça fait certes, un peu de contenu, mais il n'y a techniquement rien de complexe comme logique, pas plus qu'un cookie clicker HiTech

Mmh okay okay, je manque aussi de conaissance car je n'arrive pas bien à imaginer la chose, bonne chance en tout cas ^^'

Posté(e) (modifié)

Je vais en profiter pour expliquer le système en étape :

  • La banque de Bitcoin est vide au départ
  • Le portefeuille du joueur est vide au départ
  • Sans logique, la valeur du Bitcoin en Dollars est aléatoire entre deux nombres défini dans la config genre 1-25$/BTC et change toutes les X minutes
  • On peut acheter un RIG pour X montant et il produira XBTC/minutes, heures...
  • On peut améliorer un RIG en achetant divers updagre pré-défini pour augmenter son taux de  XBTC/minutes, heures...
  • On doit upgrade le générateur électrique relatif au nombre de RIG & Upgrade que l'on possède 

Je pense que je n'ai pas besoin d'en dire plus, cela devrait très bien expliquer l'idée. Une fois que l'on a produit du Bitcoin avec un RIG, on se contente de le vendre quand la valeur du marché est au plut haut et ainsi de suite...

Un joueur ne possédant pas de RIG ou n'ayant pas les moyens de s'en offrir peut tout simplement acheter des Bitcoins à la banque si il y en a et si la valeur est faible et revendre quand la valeur est plus élevé pour faire un bénéfice.

 

Je suis toujours à la recherche d'une personne pour ce skript, le petit UP en passant ?

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

Je récupère mon pc demain, mais vu que ça fait 4 jours que je suis allongé sur mon canapé comme un clochard, je vais commencer à le développer maintenant.

Par contre j'avais pas vu, mais je sais pas si ce sera bien stable en 1.13 ?, m'enfin je vais tout faire pour !

EDIT: J'ai déjà fait la banque, la valeur du bitcoin (qui change toutes les X minutes), l'achat, la vente et les échanges de bitcoins, les portefeuilles, l'interface qui fonctionne.

Il me reste les RIGs, l'alimentation et leurs améliorations.

Les messages et la plupart des valeurs (comme le temps entre les changements de valeur du BTC, le minimum et le maximum de la valeur, ..), sont directement modifiables dans des fichiers yaml.

Pour l'instant il te faudra les addons TuSKe et skript-yaml, je te conseille de les installer et de me dire le plus vite possible si ils fonctionnent en 1.13.1 ^^

EDIT 2: Finit ! Je le testerais demain avec mon pc pour être sûr et bien rééquilibrer les prix et tout sera bon ^^

Modifié par Razo
Posté(e)

Pour la 1.13 ? J'ai rien pu tester mais voilà :

every 5 minutes:
	set {mr::bank::btc_value} to a random number between 1 and 25

every 5 minutes:
	loop all players:
		if {mr::%loop-player's uuid%::rig::first} is true:
			set {_cpu} to {mr::%loop-player's uuid%::rig::first::cpu}
			set {_gpu} to {mr::%loop-player's uuid%::rig::first::gpu}
			set {_mobo} to {mr::%loop-player's uuid%::rig::first::mobo}
			set {_hdd} to {mr::%loop-player's uuid%::rig::first::hdd}
			set {_os} to {mr::%loop-player's uuid%::rig::first::os}
			add 1 * ((1.5 * {_cpu}) + (1.5 * {_gpu}) + (1.5 * {_mobo}) + (1.5 * {_hdd}) + (1.5 * {_os})) to {mr::%loop-player's uuid%::btc_wallet}
		#-- 2ème RIG
		if {mr::%loop-player's uuid%::rig::second} is true:
			set {_cpu} to {mr::%loop-player's uuid%::rig::second::cpu}
			set {_gpu} to {mr::%loop-player's uuid%::rig::second::gpu}
			set {_mobo} to {mr::%loop-player's uuid%::rig::second::mobo}
			set {_hdd} to {mr::%loop-player's uuid%::rig::second::hdd}
			set {_os} to {mr::%loop-player's uuid%::rig::second::os}
			add 1 * ((1.5 * {_cpu}) + (1.5 * {_gpu}) + (1.5 * {_mobo}) + (1.5 * {_hdd}) + (1.5 * {_os})) to {mr::%loop-player's uuid%::btc_wallet}
		#-- 3ème RIG
		if {mr::%loop-player's uuid%::rig::third} is true:
			set {_cpu} to {mr::%loop-player's uuid%::rig::third::cpu}
			set {_gpu} to {mr::%loop-player's uuid%::rig::third::gpu}
			set {_mobo} to {mr::%loop-player's uuid%::rig::third::mobo}
			set {_hdd} to {mr::%loop-player's uuid%::rig::third::hdd}
			set {_os} to {mr::%loop-player's uuid%::rig::third::os}
			add 1 * ((1.5 * {_cpu}) + (1.5 * {_gpu}) + (1.5 * {_mobo}) + (1.5 * {_hdd}) + (1.5 * {_os})) to {mr::%loop-player's uuid%::btc_wallet}

command /myrig [<text>] [<text>] [<text>]:
	aliases: /mr
	trigger:
		if arg 1 isn't set:
			open virtual chest with 3 rows named "§bMyRig" to player
			set {_i} to redstone lamp named "§7» §8Bitcoin"
			set 1st line of lore of {_i} to "§f1 BTC §7= §f%{mr::bank::btc_value}% $"
			set 2nd line of lore of {_i} to "§f%{mr::bank::btc_balance}% BTC §7en banque"
			format gui slot 4 of player with {_i} to do nothing
			set {_i} to player head named "§7» §8%player%"
			set 1st line of lore of {_i} to "§f%{mr::%player's uuid%::btc_wallet}% BTC §7dans"
			set 2nd line of lore of {_i} to "§7le portefeuille"
			format gui slot 9 of player with {_i} to do nothing
			format gui slot 10 of player with arrow named "§7» §8Transferer des bitcoins" to close then run player command "/myrig pay"
			format gui slot 11 of player with eye of ender named "§7» §8Acheter des bitcoins" to close then run player command "/myrig buy"
			format gui slot 12 of player with ender pearl named "§7» §8Vendre des bitcoins" to close then run player command "/myrig sell"
			# -- 1er RIG
			if {mr::%player's uuid%::rig::third} is false:
				# -- Alimentation
				set {_i} to activator rail named "§7» §8Alimentation"
				set 1st line of lore of {_i} to "§cIndisponible"
				format gui slot 17 of player with {_i} to do nothing

				set {_i} to red wool named "§7» §8RIG ##1"
				set 1st line of lore of {_i} to "§cIndisponible"
				set 2nd line of lore of {_i} to "§fCliquez pour acheter"
				format gui slot 14 of player with {_i} to close then run player command "/myrig buyrig"
			else:
				# -- Alimentation
				set {_i} to activator rail named "§7» §8Alimentation"
				set 1st line of lore of {_i} to "§aCliquez pour améliorer"
				set 2nd line of lore of {_i} to "§fNiveau %{mr::%player's uuid%::rig::power_supply}%"
				format gui slot 17 of player with {_i} to close then run player command "/myrig uppower"


				set {_i} to green wool named "§7» §8RIG ##1"
				set 1st line of lore of {_i} to "§aCliquez pour améliorer"
				format gui slot 14 of player with {_i} to close then run player command "/myrig uprig first"
			# -- 2ème RIG
			if {mr::%player's uuid%::rig::second} is false:
				set {_i} to red wool named "§7» §8RIG ##2"
				set 1st line of lore of {_i} to "§cIndisponible"
				set 2nd line of lore of {_i} to "§fCliquez pour acheter"
				format gui slot 15 of player with {_i} to close then run player command "/myrig buyrig"
			else:
				set {_i} to green wool named "§7» §8RIG ##2"
				set 1st line of lore of {_i} to "§aCliquez pour améliorer"
				format gui slot 15 of player with {_i} to close then run player command "/myrig uprig second"
			# -- 3ème RIG
			if {mr::%player's uuid%::rig::third} is false:
				set {_i} to red wool named "§7» §8RIG ##3"
				set 1st line of lore of {_i} to "§cIndisponible"
				set 2nd line of lore of {_i} to "§fCliquez pour acheter"
				format gui slot 16 of player with {_i} to close then run player command "/myrig buyrig"
			else:
				set {_i} to green wool named "§7» §8RIG ##3"
				set 1st line of lore of {_i} to "§aCliquez pour améliorer"
				format gui slot 16 of player with {_i} to close then run player command "/myrig uprig third"

		else:
			# -- Transferer des bitcoins
			if arg 1 is "pay":
				if arg 2 isn't set:
					send "§bMy§lRig §b» §c/myrig pay <joueur> <montant>"
				else if arg 3 isn't set:
					send "§bMy§lRig §b» §c/myrig pay <joueur> <montant>"
				else:
					set {_arg-2} to arg-2 parsed as player
					set {_arg-3} to arg-3 parsed as number
					if {_w} >= {_arg-3}:
						set (yaml value "bitcoin.wallet" from "mr%player's uuid%") to (yaml value "bitcoin.wallet" from "mr%player's uuid%") - {_arg-3}
						set (yaml value "bitcoin.wallet" from "mr%{_arg-2}'s uuid%") to (yaml value "bitcoin.wallet" from "mr%{_arg-2}'s uuid%") + {_arg-3}
						send "§bMy§lRig §b» §aVotre paiement s'est éffectué avec succès !"
						send "§bMy§lRig §b» §7Quelqu'un vous a envoyé des bitcoins !" to {_arg-2}
					else:
						send "§bMy§lRig §b» §cVous n'avez pas assez de bitcoin !"

			# -- Acheter des bitcoins
			else if arg 1 is "buy":
				if arg 2 isn't set:
					send "§bMy§lRig §b» §c/myrig buy <montant>"
				else:
					set {_arg-2} to arg-2 parsed as number
					if {mr::bank::btc_balance} >= {_arg-2}:
						if player's money >= {_arg-2} * {_v}:
							remove {_arg-2} * {_v} from player's money
							add {_arg-2} to {mr::%player's uuid%::btc_wallet}
							send "§bMy§lRig §b» §aVotre achat s'est éffecté avec succès !"
						else:
							send "§bMy§lRig §b» §cVous n'avez pas assez d'argent !"
					else:
						send "§bMy§lRig §b» §cLa banque ne possède pas assez de bitcoins !"

			# -- Vendre des bitcoins
			else if arg 1 is "sell":
				if arg 2 isn't set:
					send "§bMy§lRig §b» §c/myrig sell <montant>"
				else:
					set {_arg-2} to arg-2 parsed as number
					if {_w} >= {_arg-2}:
						remove {_arg-2} from {mr::%player's uuid%::btc_wallet}
						add {_arg-2} to {mr::bank::btc_balance}
						add {_arg-2} * {_v} to player's money
						send "§bMy§lRig §b» §aVotre vente s'est éffecté avec succès !"
					else:
						send "§bMy§lRig §b» §cVous n'avez pas assez de bitcoin !"


			# -- Acheter des RIGs
			else if arg 1 is "buyrig":
				if arg 2 isn't set:
					if {mr::%player's uuid%::rig::third} is false:
						open virtual chest with 3 rows named "§bMyRig §9» Acheter un RIG" to player
						format gui slot 0 of player with arrow named "§cRetour" to close then run player command "/myrig"
						if {mr::%player's uuid%::rig::first} is false:
							set {_i} to orange wool named "§7» §8RIG ##1"
							set 1st line of lore of {_i} to "§aAcheter pour §8%{_first}%$"
							format gui slot 12 of player with {_i} to close then run player command "/myrig buyrig first"
							set {_i} to red wool named "§7» §8RIG ##2"
							set 1st line of lore of {_i} to "§cIndisponible"
							format gui slot 13 of player with {_i} to do nothing
						else:
							set {_i} to green wool named "§7» §8RIG ##1"
							set 1st line of lore of {_i} to "§cDéjà acheté"
							format gui slot 12 of player with {_i} to do nothing
							set {_i} to green wool named "§7» §8RIG ##2"
							set 1st line of lore of {_i} to "§aAcheter pour §8%{_second}%$"
							format gui slot 13 of player with {_i} to close then run player command "/myrig buyrig second"
						if {mr::%player's uuid%::rig::second} is true:
							set {_i} to green wool named "§7» §8RIG ##2"
							set 1st line of lore of {_i} to "§cDéjà acheté"
							format gui slot 13 of player with {_i} to do nothing
							set {_i} to orange wool named "§7» §8RIG ##3"
							set 1st line of lore of {_i} to "§aAcheter pour §8%{_third}%$"
							format gui slot 14 of player with {_i} to close then run player command "/myrig buyrig third"
						else:
							set {_i} to red wool named "§7» §8RIG ##3"
							set 1st line of lore of {_i} to "§cIndisponible"
							format gui slot 14 of player with {_i} to close then run player command "/myrig buyrig third"

				else if arg 2 is "first" or "second" or "third":
					if player's money >= {_%arg-2%}:
						remove {_%arg-2%} from player's money
						if arg 2 is "first":
							set {mr::%player's uuid%::rig::power_supply} to 0
						set {mr::%player's uuid%::rig::%arg-2%} to true
						send "§bMy§lRig §b» §aVotre achat s'est éffecté avec succès !"
					else:
						send "§bMy§lRig §b» §cVous n'avez pas assez d'argent !"
					make player execute command "/myrig buyrig"

			else if arg 1 is "uprig":
				if arg 2 is "first" or "second" or "third":
					if arg 3 isn't set:
						# -- Menu d'amélioration
						open virtual chest with 3 rows named "§BMyRig §9» Améliorer un RIG" to player
						format gui slot 0 of player with arrow named "§cRetour" to close then run player command "/myrig"
						# -- CPU
						if {mr::%player's uuid%::rig::%arg-2%::cpu} >= 2:
							set {_i} to redstone dust named "§8CPU"
							set 1st line of lore of {_i} to "§cNiveau maximum atteint ! §7(3)"
							format gui slot 11 of player with {_i} to do nothing
						else:
							set {_i} to redstone dust named "§8CPU"
							set 1st line of lore of {_i} to "§aCliquez pour améliorer §7(%{_cpu} + 1%»%{_cpu} + 2%)"
							format gui slot 11 of player with {_i} to close then run player command "/myrig uprig %arg-2% cpu"
						# -- GPU
						if {mr::%player's uuid%::rig::%arg-2%::gpu} >= 2:
							set {_i} to glowstone dust named "§8GPU"
							set 1st line of lore of {_i} to "§cNiveau maximum atteint ! §7(3)"
							format gui slot 12 of player with {_i} to do nothing
						else:
							set {_i} to glowstone dust named "§8GPU"
							set 1st line of lore of {_i} to "§aCliquez pour améliorer §7(%{_gpu} + 1%»%{_gpu} + 2%)"
							format gui slot 12 of player with {_i} to close then run player command "/myrig uprig %arg-2% gpu"
						# -- Carte mère
						if {mr::%player's uuid%::rig::%arg-2%::mobo} >= 2:
							set {_i} to paper named "§8Carte mère"
							set 1st line of lore of {_i} to "§cNiveau maximum atteint ! §7(3)"
							format gui slot 13 of player with {_i} to do nothing
						else:
							set {_i} to paper named "§8Carte mère"
							set 1st line of lore of {_i} to "§aCliquez pour améliorer §7(%{_mobo} + 1%»%{_mobo} + 2%)"
							format gui slot 13 of player with {_i} to close then run player command "/myrig uprig %arg-2% mobo"
						# -- HDD
						if {mr::%player's uuid%::rig::%arg-2%::hdd} >= 2:
							set {_i} to chest named "§8HDD"
							set 1st line of lore of {_i} to "§cNiveau maximum atteint ! §7(3)"
							format gui slot 14 of player with {_i} to do nothing
						else:
							set {_i} to chest named "§8HDD"
							set 1st line of lore of {_i} to "§aCliquez pour améliorer §7(%{_hdd} + 1%»%{_hdd} + 2%)"
							format gui slot 14 of player with {_i} to close then run player command "/myrig uprig %arg-2% hdd"
						# -- OS
						if {mr::%player's uuid%::rig::%arg-2%::os} >= 2:
							set {_i} to music disc 13 named "§8OS"
							set 1st line of lore of {_i} to "§cNiveau maximum atteint ! §7(3)"
							format gui slot 15 of player with {_i} to do nothing
						else:
							set {_i} to music disc 13 named "§8OS"
							set 1st line of lore of {_i} to "§aCliquez pour améliorer §7(%{_os} + 1%»%{_os} + 2%)"
							format gui slot 15 of player with {_i} to close then run player command "/myrig uprig %arg-2% os"
					else if arg 3 is "cpu" or "gpu" or "mobo" or "hdd" or "os":
						# -- Amélioration
						if 2 > {mr::%player's uuid%::rig::%arg-2%::%arg-3%}:
							if player's money >= 500 * ({mr::%player's uuid%::rig::%arg-2%::%arg-3%} * 1.5):
								remove 500 * ({mr::%player's uuid%::rig::%arg-2%::%arg-3%} * 1.5) from player's money
								add 1 to {mr::%player's uuid%::rig::%arg-2%::%arg-3%}
								send "§bMy§lRig §b» §aVotre achat s'est éffecté avec succès !"
							else:
								send "§bMy§lRig §b» §cVous n'avez pas assez d'argent !"
							make player execute command "/myrig uprig %arg-2%"

C'est pas un truc de ouf, j'ai pas fait de fonctions, j'ai pas pu utiliser skript-yaml, le code est assez brouillon enfaite ^^'

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