Worldedit
  Worldedit
Le site sur l'éditeur de warcraft 3 !
 
  FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs   medals.phpMédailles   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 
  FAQFAQ World Editor   UploadUploader une map ou une image    UploadAjouter sa map à l'annuaire   UploadConsulter l'annuaire

Fonction host : Probléme

 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Aide sur les déclencheurs
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 darkill01
Floodeur prématuré


Inscrit le: 25 Juin 2008
Messages: 400
Sujets: 56



MessagePosté le: 08/10/08 13:21    Sujet du message: Fonction host : Probléme Citer

Bonjour, j'ai trouvé une fonction qui permet de trouver le host mais cela ne marche pas tout le temps, donc j'ai fais pour que sa la fasse plusieur fois puis on compare jusque là ok sa marche mais quand je lance le jeu mais je n'est pas les mode de jeu que j'ai donné pour le host tout le temps et quand je fait -host j'ai le bon nom. Cela est bizard je vais vous donner les déclencheur :

Jass:
function GetHost takes nothing returns nothing
    local gamecache g = InitGameCache("Map.w3v")
    call StoreInteger(g, "Map", "Host", GetPlayerId(GetLocalPlayer ())+1)
    call TriggerSyncStart()
    call SyncStoredInteger(g, "Map", "Host" )
    call TriggerSyncReady()
    set udg_HostP = Player( GetStoredInteger(g, "Map", "Host" )-1)
    set udg_PointHost[GetConvertedPlayerId(udg_HostP)] = ( udg_PointHost[GetConvertedPlayerId(udg_HostP)] + 1 )
    call FlushGameCache(g )
    set g = null
endfunction


La fonction que j'ai un peu modifier et le declo

Gui:
Trigger:
Init Copier
Collapse Evénements
Map initialization
Conditions
Collapse Actions
Cache du jeu - Create a game cache from Map.w3v
Collapse For each (Integer A) from 1 to 20, do (Actions)
Collapse Boucle - Actions
Custom script:   call GetHost()
Set Host = Joueur 1 (Rouge)
Set NombreHost = 2
Collapse For each (Integer A) from 1 to 10, do (Actions)
Collapse Boucle - Actions
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
PointHost[(Player number of (Player(NombreHost)))] Supérieur à  PointHost[(Player number of Host)]
Collapse Alors - Actions
Set Host = (Player(NombreHost))
Set NombreHost = (NombreHost + 1)
Collapse Sinon - Actions


Mon déclo pour le nom du host (event ajouté en init )

Gui:
Trigger:
Mode
Evénements
Conditions
Collapse Actions
Partie - Display to (All players) the text: |cFFFF0000Nom du ho...
Partie - Display to (All players) the text: (      + (Name of Host))
Partie - Display to (All players) the text: |cFFFF0000Numéro d...
Partie - Display to (All players) the text: (      + (String((Player number of Host))))


Et mon déclo pour la fenetre de mode de jeu :

Gui:
Trigger:
Mode fenetre
Collapse Evénements
Temps - Elapsed game time is 2.00 seconds
Conditions
Collapse Actions
Dialogue - Change the title of Mode to |cffB5B9FFMode de j...
Dialogue - Create a dialog button for Mode labelled |cff8CFF79Facile 85...
Set BoutonMode[1] = (Last created dialog Button)
Dialogue - Create a dialog button for Mode labelled |cffECFF35Normal 10...
Set BoutonMode[2] = (Last created dialog Button)
Dialogue - Create a dialog button for Mode labelled |cffFF9E00Difficile...
Set BoutonMode[3] = (Last created dialog Button)
Dialogue - Create a dialog button for Mode labelled |cffF43847Pro 150%|...
Set BoutonMode[4] = (Last created dialog Button)
Dialogue - Montrer Mode for Host


Voilà je ne comprend pas ce qui ne va pas si vous avez des question ou si vous ne comprenez pas demander.
Merci.
_________________


Dernière édition par darkill01 le 08/10/08 13:58; édité 1 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Cobrand
Floodeur prématuré


Inscrit le: 06 Juin 2008
Messages: 635
Sujets: 38
Spécialité en worldedit: Manger des pommes à la sauce Jass.


MessagePosté le: 08/10/08 13:29    Sujet du message: Citer

Une question qui n'a pas grand rapport avec ta question :
A quoi ca sert :
Jass:

    call TriggerSyncStart()
    call TriggerSyncReady()

_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail MSN Messenger
 darkill01
Floodeur prématuré


Inscrit le: 25 Juin 2008
Messages: 400
Sujets: 56



MessagePosté le: 08/10/08 13:30    Sujet du message: Citer

Euh .... je sais pas quand j'ai trouvé la fonction c'était dedans.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Ayane
Bot administrateur


Inscrit le: 17 Sep 2007
Messages: 2012
Sujets: 49

Médailles: 2 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1) Ayane (Quantité : 1)

MessagePosté le: 08/10/08 15:33    Sujet du message: Citer

Cela sert à synchroniser les valeurs du gamecache, les valeurs synchronisées sont celles du joueur qui répond le premier et en général c'est l'host.
TriggerSyncStart doit déterminer de quel joueur on prend la valeur, SyncStoredInteger doit envoyer la valeur pour le joueur qui a été désigné, TriggerSyncReady doit attendre que tous les joueurs aient bien reçut la valeur.
Pour ton problème je pense qu'au bout de 2 secondes il n'a pas fini les 20 synchronisations.
Le mieux c'est que tu déclenche Mode fenetre à la fin de Init Copier, et peut être diminuer le nombre de synchronisation.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 darkill01
Floodeur prématuré


Inscrit le: 25 Juin 2008
Messages: 400
Sujets: 56



MessagePosté le: 08/10/08 16:46    Sujet du message: Citer

J'ai fais un declo qui vérifie que il a eu 20 synchros puis aprés fait les actions et maintenant sa marche =) merci Ayane !
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7146
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 08/10/08 18:00    Sujet du message: Citer

Hmm soit j'ai de la <grossièreté> dans les yeux, soit ta méthode est bien foireuse.
Je croyais que tu voulais récupérer le joueur qui revenait le plus de fois.
Mais là c'est un peu tout sauf cela Shocked

Mes excuses anticipées si je suis totalement à côté de la plaque, bien que je ne le pense pas.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 darkill01
Floodeur prématuré


Inscrit le: 25 Juin 2008
Messages: 400
Sujets: 56



MessagePosté le: 08/10/08 18:01    Sujet du message: Citer

Hien par compris la !
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7146
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 08/10/08 18:05    Sujet du message: Citer

Ton but est bien de lancer 20 synchro afin de savoir quel joueur a été synchronisé le plus souvent, ou autrement dit le host ?

Y'a bien 20 synchronisations mais tu ne garde pas les index des joueurs obtenus.
Ca ou pisser dans un violon c'est la même chose.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 darkill01
Floodeur prématuré


Inscrit le: 25 Juin 2008
Messages: 400
Sujets: 56



MessagePosté le: 08/10/08 19:03    Sujet du message: Citer

^^ donc il faut que je fasse quoi pour quoi ça marche ?
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Ayane
Bot administrateur


Inscrit le: 17 Sep 2007
Messages: 2012
Sujets: 49

Médailles: 2 (En savoir plus...)
Ayane (Quantité : 1) Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 08/10/08 19:25    Sujet du message: Citer

Si il enregistre bien dans GetHost avec PointHost.
Ce que tu pourrais améliorer par contre dans ton déclencheur c'est (Player number of (Player(NombreHost))) que tu peux directement remplacer par NombreHost.
Tu aurais dut aussi mettre le set PointHost dans le déclencheur (juste après le GetHost) au lieu de le mettre dans GetHost, cela aurait été plus clair.
Dans ta boucle aussi au lieu d'utiliser NombreHost tu peux utiliser directement Integer A (dans ton code si le joueur 2 n'a pas plus de points alors cela ne fera que tester 10 fois si le joueur 2 a plus de points).
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7146
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 08/10/08 19:48    Sujet du message: Citer

Au temps pour moi Rolling Eyes
Je m'en vais donc me laver les globes oculaires.
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Aide sur les déclencheurs Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1
La question posée dans ce topic a été résolue !

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com