Aller au contenu
  • 0

Impossible d'être murder & policier ensemble


Question

Posté(e)

Bonmatin à tous !

 

Je cherche à faire le fait que si le joueur est {MurderS01} il ne peut pas être {PolicierS01} aussi.

 

Voici mon code actuel qui ne fonctionne pas :

 

command /choicerandom:
   description: Choice random
   trigger:
       if {murder.S01.nochoice} is true:
           loop all players:
               add loop-player to {AllPlayersMurderS01::*}
           set {MurderS01} to random element of {AllPlayersMurderS01::*}
           broadcast "&cAssasin : %{MurderS01}%!"

#CHOIX DU POLICIER SI IL EST PAS MURDER

           if {MurderS01} is set:
               if "%{MurderS01}%" is "%player%":
               else:
                   set {PolicierS01} to random element of {AllPlayersMurderS01::*}
                   broadcast "&9Policier : %{PolicierS01}%!"

command /reset:
   trigger:
       broadcast "&eReset!"
       delete {MurderS01}
       delete {PolicierS01}
       set {murder.S01.nochoice} to true

command /moi:
   trigger:
       if {MurderS01} is set:
           if "%{MurderS01}%" is "%player%":
               message "&aTu es un assassin."
           else:
               message "&aTu n'es pas un assassin ! Ouf .."
       else:
           message "&cLe choix n'a pas été fait !"
       if {PolicierS01} is set:
           if "%{PolicierS01}%" is "%player%":
               message "&aTu es un policier."
           else:
               message "&aTu n'es pas un policier ! Ouf .."
       else:
           message "&cLe choix n'a pas été fait !"  

 

Merci à @TheWinuXs pour le code cité ci-dessus il m'a aider.

Messages recommandés

  • 0
Posté(e)

Utilise les parsed as player si tu veux que skript reconnaisse que la variable est un joueur.

ex : set {YOLOPAYER} to arg 1 parsed as player

Car le code qui ne fonctionne pas c'est command /moi: ?

  • 0
Posté(e)
Utilise les parsed as player si tu veux que skript reconnaisse que la variable est un joueur.

ex : set {YOLOPAYER} to arg 1 parsed as player

Car le code qui ne fonctionne pas c'est command /moi: ?

 

Non, en fait le skript sélectionne quand-même le policier même si il est murder.

Et je souhaite que si le joueur est choisi Murder il ne peut pas être choisi comme policier. ^^

 

Merci de ta réponse :)

  • 0
Posté(e)

if {MurderS01} is set:
               if "%{MurderS01}%" is "%player%":
               else:
                   set {PolicierS01} to random element of {AllPlayersMurderS01::*}
                   broadcast "&9Policier : %{PolicierS01}%!"

 

Hum, normal que y'a if et else a coté ?

Y'a rien dans le if ...

  • 0
Posté(e)
if {MurderS01} is set:
               if "%{MurderS01}%" is "%player%":
               else:
                   set {PolicierS01} to random element of {AllPlayersMurderS01::*}
                   broadcast "&9Policier : %{PolicierS01}%!"

 

Hum, normal que y'a if et else a coté ?

Y'a rien dans le if ...

Oui car pour moi il n'y a rien dans le if car c'est si le joueur est murder, du coup je met rien mais si il est pas alors ça choisis un policier.

Oui je sais c'est incompréhensible '-'

 

Sinon j'avais penser à :

 

if {MurderS01} is set:

if "%{MurderS01}%" is "%player%":

set {PolicierS01} to random element of {AllPlayersMurderS01::*} if is not {MurderS01}

 

J'essaye d'apprendre je suis pas encore super doué en Skript :)

  • 0
Posté(e)

je prendrais le problème a l’envers.

 

plutôt que de chercher si un Murderer est set

je regarderais plutôt si le joueur a déjà un rôle

 

donc je loop tous les joueurs,

au premier je met Policier

au deuxième je vérifie si il a pas un rôle et si il en as pas je le met Murderer

puis au suivant je vérifie si il ont pas un rôle et si c'est le cas je les met Innocent

 

du coup sa permet de sélectionné des joueurs random et si par un mauvais hasard un joueur a été sélectionné deux fois, ba ont peut vérifie si il avais déjà un rôle et dans ce cas, soit lui en mettre un , soit rien lui faire.

 

je sais pas si mon exposé ais claire ^^

  • 0
Posté(e)

lui attribuer une variable

 

set {role.%player%} to "Policier"

set {parti1.role.%player%} to "Policier

 

la première si tu na qu'une partie possible

la deuxième si tu compte créer plusieurs partie en même temps

 

si le joueur sélectionné est par exemple Angelus ( ba voyons ^^ )

set {role.%player%} to "Policier"

donnera

{role.Angelus} = Policier

 

tu comprend ?

  • 0
Posté(e)

Merci mais le truc c'est que je cherche à faire que :

 

Le policier se met random à un joueur si il n a pas le role de murder, comment je peux faire?

if ....

 

Je m souviens plus.

Je dois mettre :

 

set {role.%player%} to "Policier"

 

et pour vérifier:

 

if

  • 0
Posté(e)
il y auras combien de rôle au total ?

histoire que je te fasse un petit bout de code pratique.

3 :

 

Murder (1 perssone), Policier (1 personne), Humain (le reste des personnes non murder et non policier)

 

Merci! :)

  • 0
Posté(e)

Si quelqu'un pourrait juster me donner le if pour détecter si quelqu'un à un rôle je pourrais me débrouiller :)

 

set {role.%player%} to "Policier"

 

if ...... is "Policier"

 

@ProfesseurCraft si vous avez le temps :)

  • 0
Posté(e)

Bon j'ai passer pas mal de temps a cogité sur comment faire

je te propose un bout de code.

j'ai juste tester sur le serveur si le skript ce lancer sans erreur, mais n'ayant pas au moins 3 joueurs sur mon serveur de test,

je ne peut donc pas tester si sa fonctionne.

tien moi au courant si il y as un pb car je t’avouerais que je suis un peut fatiguer, donc j'ai pue faire des erreurs

 

command /randomchoix:
   trigger:

       set {_Playercount} to number of all players
       set {_Murder} to false 
       set {_PlayerList::*} to null
       loop all players:
           add loop-player to {_PlayerList::*}

       set {_randomPolicier} to random integer from 1 to {_Playercount}
       set {_randomMurder} to random integer from 1 to {_Playercount}

       while {_Murder} is false:
           if {_randomMurder} == {_randomPolicier}:
               set {_randomMurder} to random integer from 1 to {_Playercount}
           else:
               set {_Murder} to true

       set {role.%{_PlayerList::%{_randomPolicier}%}%} to "Policier"
       set {role.%{_PlayerList::%{_randomMurder}%}%} to "Murder"

       loop {_PlayerList::*}:
           if {role.%loop-value%} is not set:
               set {role.%loop-value%} to "Humain"

  • 0
Posté(e)
Bon j'ai passer pas mal de temps a cogité sur comment faire

je te propose un bout de code.

j'ai juste tester sur le serveur si le skript ce lancer sans erreur, mais n'ayant pas au moins 3 joueurs sur mon serveur de test,

je ne peut donc pas tester si sa fonctionne.

tien moi au courant si il y as un pb car je t’avouerais que je suis un peut fatiguer, donc j'ai pue faire des erreurs

 

command /randomchoix:
   trigger:

       set {_Playercount} to number of all players
       set {_Murder} to false
       set {_PlayerList::*} to null
       loop all players:
           add loop-player to {_PlayerList::*}

       set {_randomPolicier} to random integer from 1 to {_Playercount}
       set {_randomMurder} to random integer from 1 to {_Playercount}

       while {_Murder} is false:
           if {_randomMurder} == {_randomPolicier}:
               set {_randomMurder} to random integer from 1 to {_Playercount}
           else:
               set {_Murder} to true

       set {role.%{_PlayerList::%{_randomPolicier}%}%} to "Policier"
       set {role.%{_PlayerList::%{_randomMurder}%}%} to "Murder"

       loop {_PlayerList::*}:
           if {role.%loop-value%} is not set:
               set {role.%loop-value%} to "Humain"

 

Merci beaucoup pour le mal que t'as pris pour faire ça je serais vers moi vers 17h30 je te dirais! :)

  • 0
Posté(e)

je dirais qu'il faudrait modifier ces lignes

        loop {_PlayerList::*}:
           if {role.%loop-value%} is not set:
               set {role.%loop-value%} to "Humain"   
               send "Vous ête un Humain" to loop-value parsed as player
           else:
               send "Vous ête un %{role.%loop-value%}%" to loop-value parsed as player   

       broadcast "Tous les joueurs ont eu leur Rôle !"    

  • 0
Posté(e)

et moi je suis pas sure que sa soit le skript puisque comme je t'ai dit

je l'ais tester sur le serveur pour savoir si ily as des erreurs, et il c'est lancé correctement

c'est juste que je n'avais pas de joueurs pour savoir si tous les rôles sont bien attribués

  • 0
Posté(e)

Angélus, est ce que tu pourrais m'envoyer ta version craftbukkit ou spigot et ton dossier plugins en archive s'il te plaît :c ?

J'ai beau essayer d'autre version / add-on ça me fait une erreur

  • 0
Posté(e)

  1. [18:27:11] : Could not load 'plugins/PirateSK-0.4.1.jar' in folder 'plugins'
  2. java.lang.UnsupportedClassVersionError: pl/piratjsk/piratesk/PirateSK : Unsupported major.minor version 52.0
  3. [18:27:14] : [skExtras] LibsDisguise wasn't found, so I'm not going to load it's stuff :3
  4. [18:27:15] : Error occurred while enabling SkSpigotAdditions v1.7.5 (Is it up to date?)
  5. java.lang.ClassNotFoundException: net.minecraft.server.v1_7_R4.Packet
  6. [18:27:17] : [skript] 'set {_Playercount} to number of all players' is not an entry (like 'name : value') (test.sk, line 2: set {_Playercount} to number of all players')
  7. [18:27:17] : [skript] 'set {_Murder} to false' is not an entry (like 'name : value') (test.sk, line 3: set {_Murder} to false')
  8. [18:27:17] : [skript] 'set {_randomPolicier} to random integer from 1 to {_Playercount}' is not an entry (like 'name : value') (test.sk, line 8: set {_randomPolicier} to random integer from 1 to {_Playercount}')
  9. [18:27:17] : [skript] 'set {_randomMurder} to random integer from 1 to {_Playercount}' is not an entry (like 'name : value') (test.sk, line 9: set {_randomMurder} to random integer from 1 to {_Playercount}')
  10. [18:27:17] : [skript] Required entry 'trigger' is missing in 'command /random' (test.sk, starting at line 1) (test.sk, line 1: command /random:')
  11. [18:27:17] : [skript] Unexpected entry 'set {_PlayerList'. Check whether it's spelled correctly or remove it. (test.sk, line 4: set {_PlayerList: :*} to null')
  12. [18:27:17] : [skript] Unexpected entry 'loop all players'. Check whether it's spelled correctly or remove it. (test.sk, line 5: loop all players:')
  13. [18:27:17] : [skript] Unexpected entry 'while {_Murder} is false'. Check whether it's spelled correctly or remove it. (test.sk, line 11: while {_Murder} is false:')

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.