Login: Pass:
Tatav



Inscrit le: 04 Oct 2006
Messages: 79
Message Posté le: 11/12/2006 14:42 Sujet du message: [résolu]Forcer l'affichage du journal des quêtes
Je souhaite donc faire apparaître le journal des quêtes sur l'écran de mon joueur automatiquement. Pour cela j'exécute le script suivant:


Code:
void main()
{
    DisplayGuiScreen(GetEnteringObject(),"SCREEN_JOURNAL",TRUE);

}


Je suis allé récupérer le "SCREEN_JOURNAL" dans le ingamegui.ini et journal.xml donc le nom doit être correct, cependant rien ne s'affiche, que la fenêtre soit modale ou non...

Si quelqu'un sait comment gérer ceci, merci d'avance Wink


Dernière édition par Tatav le 14/12/2006 18:12; édité 2 fois
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Amo



Inscrit le: 06 Juil 2006
Messages: 37
Localisation: Paris (pas loin)
Message Posté le: 11/12/2006 14:44 Sujet du message:
Tu veux la faire apparaitre a quel moment? Lorsqu'une quete est donnée? Lorsqu'un joueur entre dans une certaine zone?
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger
Tatav



Inscrit le: 04 Oct 2006
Messages: 79
Message Posté le: 11/12/2006 14:59 Sujet du message:
Quand le joueur entre dans un zone,

Le code est réduit là, je fais d'autres traitements avant, le paramètre du joueur n'est pas en cause, il recoit bien les traitements précédant cet affichage. J'ai même tenté avec un delay voir si ca ne s'affichait pas pendant le chargement puis à la fin du chargement cela se réinitialise et le résultat est le même... rien ne s'affiche.
Enfin ca ne marche pas plus si on tente de l'afficher en ativant un objet.
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Amo



Inscrit le: 06 Juil 2006
Messages: 37
Localisation: Paris (pas loin)
Message Posté le: 11/12/2006 15:22 Sujet du message:
Etrange, t'as essayer de le placer ailleur?

*laisse le truc ci dessous pour d'autres qui pourraient avoir une solution*
Code:
//RWT-OEI 12/08/05
//This function allows the script to display a GUI on the player's client.
//The first parameter is the object ID owned by the player you wish to
//display the GUI on.
//The second parameter is the name of the GUI screen to display. Note
//that only screens located in the [GuiScreen] section of ingamegui.ini
//will be accessible.
//The 3rd parameter indicates if the displayed GUI should be modal when
//it pops up.
void DisplayGuiScreen( object oPlayer, string sScreenName, int bModal );
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger
Tatav



Inscrit le: 04 Oct 2006
Messages: 79
Message Posté le: 11/12/2006 15:40 Sujet du message:
Oui j'ai tenté en entrant dans une zone, en activant un objet, et pendant un dialogue ( en récupérant le joueur avec le bon appel bien entendu) ,
avec ou sans DelayCommand, en le placeant dans une autre fonction et en retardant l'appel de cette nouvelle fonction, en passant le paramètre modal à vrai ou faux (je dois dire que je ne sait pas trop à quoi sert ce paramètre).

Voila le genre de test que j'ai fait à chaque fois.

Pour l'utilisation d'un objet,
Code:

void test(object oPC)
{
   FloatingTextStringOnCreature("Delayed",oPC);
   DisplayGuiScreen(oPC,"SCREEN_JOURNAL",TRUE);
   DisplayGuiScreen(oPC,"SCREEN_JOURNAL",FALSE);
   DisplayGuiScreen(oPC,"screen_journal",FALSE);
   DisplayGuiScreen(oPC,"screen_journal",TRUE);
}

void main()
{
   object oPC=GetLastUsedBy();
   FloatingTextStringOnCreature("Activated",oPC);
   DisplayGuiScreen(oPC,"SCREEN_JOURNAL",TRUE);
   DisplayGuiScreen(oPC,"SCREEN_JOURNAL",FALSE);
   
   DisplayGuiScreen(oPC,"screen_journal",TRUE);
   DisplayGuiScreen(oPC,"screen_journal",FALSE);
   DelayCommand(10.2,test(oPC));


}

Les textes flottants apparaissents mais pas le journal...

Code:
SetGUIObjectDisabled(oPC,"SCREEN_JOURNAL","SCREEN_JOURNAL",FALSE);
SetGUIObjectHidden(oPC,"SCREEN_JOURNAL","SCREEN_JOURNAL",FALSE);


Ceci ne donne aucun résultat non plus placé avant ou après l'appel du DispalyGuiScreen...
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Amo



Inscrit le: 06 Juil 2006
Messages: 37
Localisation: Paris (pas loin)
Message Posté le: 13/12/2006 5:49 Sujet du message:
Citation
Note that only screens located in the [GuiScreen] section of ingamegui.ini will be accessible.

(Notez que seulement les écrans situés dans la section [GuiScreen] d'ingamegui.ini seront accessibles.)

Problème : y'a pas [GuiScreen] dans ce fichier...

\Neverwinter Nights2\UI\default\ingamegui.ini
[MandatoryGUI]
SCRIPT_SCREEN_PARTYSELECT=partyselect.xml
SCREEN_ACTIONQUEUE=actionqueue.xml
SCREEN_AREAMAP=areamap.xml
SCREEN_BARTER=barter.xml
SCREEN_CHARACTER=characterscreen.xml
SCREEN_CONTAINER_DEFAULT=container.xml
SCREEN_CUTSCENE=cutscene.xml
SCREEN_CONTEXTMENU=contextmenu.xml
SCREEN_HIDDEN_DEATH=hidden_death.xml
SCREEN_FADE=fade.xml
SCREEN_GFX=gfx_options.xml
SCREEN_HOTBAR=hotbar.xml
SCREEN_INVENTORY=inventoryscreen.xml
SCREEN_JOURNAL=journal.xml
SCREEN_LETTERBOX=letterbox.xml
SCREEN_LOADGAME=loadgamescreen.xml
SCREEN_LOADING=loadingscreen.xml
SCREEN_MINIMAP=minimap.xml
SCREEN_MODEBAR=modebar.xml
SCREEN_MENU_OPTIONS=optionsmenu.xml
SCREEN_OPTIONS=optionscreen.xml
SCREEN_PARTY_BAR=partybar.xml
SCREEN_PARTY_DEATH=partydeath.xml
SCREEN_PARTYINVITE=partyinvite.xml
SCREEN_PARTYSELECT=partyselect.xml
SCREEN_PLAYERLIST=playerlist.xml
SCREEN_PLAYERMENU=playermenu.xml
SCREEN_PLAYERMENU_POPUP=playermenu_popup.xml
SCREEN_QUICKCHAT=quickchat.xml
SCREEN_SAVEGAME=savegamescreen.xml
SCREEN_SAVEGAMENAME=savegamename.xml
SCREEN_SPELLS_QUICK=quickspell.xml
SCREEN_SPELLS_KNOWN=spells_known.xml
SCREEN_SPELLS_MEMORIZED=spells_memorized.xml
SCREEN_SPLITGOLD=splitgold.xml
SCREEN_STORE=store.xml
SCREEN_TARGETED_OBJECT=target_object.xml
SCREEN_TARGETED_ENEMY=target_enemy.xml
SCREEN_TIMINGBAR=timingscreen.xml
SCREEN_TOOLTIP_1=tooltip1.xml
SCREEN_TOOLTIP_2=tooltip2.xml
SCREEN_TOOLTIP_3=tooltip3.xml
SCREEN_WORLDMAP=worldmap.xml
SCREEN_MODULESAVE=saving_module.xml
SCREEN_POPUP_MESSAGE=message_popup.xml

[ExamineGUI]
SCREEN_EXAMINE=examine.xml

[LevelUpGUI]
SCREEN_LEVELUP_ABILITIES=levelup_abilities.xml
SCREEN_LEVELUP_ANIMAL=levelup_animal.xml
SCREEN_LEVELUP_BONUS_FEATS=levelup_bfeats.xml
SCREEN_LEVELUP_CLASS=levelup_class.xml
SCREEN_LEVELUP_DEITY=levelup_deity.xml
SCREEN_LEVELUP_DOMAIN=levelup_domain.xml
SCREEN_LEVELUP_FAMILIAR=levelup_familiar.xml
SCREEN_LEVELUP_FINISH=levelup_summary.xml
SCREEN_LEVELUP_NORMAL_FEATS=levelup_nfeats.xml
SCREEN_LEVELUP_RANGER=levelup_ranger.xml
SCREEN_LEVELUP_SCHOOL=levelup_school.xml
SCREEN_LEVELUP_SKILLS=levelup_skills.xml
SCREEN_LEVELUP_SPELLS=levelup_spells.xml

[ChatWindowGUI]
SCREEN_MESSAGE_1=defaultchat.xml
SCREEN_PAUSED=paused.xml

[ChatMPWindowGUI]
SCREEN_MESSAGEMP_1=defaultmpchat1.xml
SCREEN_MESSAGEMP_2=defaultmpchat2.xml


[MessageBoxGUI]
SCREEN_MESSAGEBOX_DEFAULT=messageboxdefault.xml
SCREEN_MESSAGEBOX_INFORMATION=messageboxinfo.xml
SCREEN_MESSAGEBOX_SPLITSTACK=splitstack.xml
SCREEN_MESSAGEBOX_SPLITSTACKSTORE=splitstackstore.xml
SCREEN_MESSAGEBOX_TUTORIAL=messageboxtutorial.xml
SCREEN_MESSAGEBOX_INFORMATIONLARGE=messageboxinfolarge.xml
SCREEN_STRINGINPUT_MESSAGEBOX=stringinputmessagebox.xml
SCREEN_MESSAGEBOX_MOTD=messageboxmotd.xml
SCREEN_MESSAGEBOX_REPORT=messageboxreport.xml
SCREEN_MESSAGEBOX_LEFTALIGNED=messageboxleftaligned.xml

[OptionalGUI]
SCREEN_CONTAINER_BAG=container.xml
SCREEN_CONTAINER_CHEST=container.xml
SCREEN_CONTAINER_SILVERSHARD=container.xml

[DungeonMasterGUI]
SCREEN_DMC_TOOLBAR=dmctoolbar.xml
SCREEN_DMC_DIFFICULTY=dmcdifficulty.xml
SCREEN_DMC_CREATOR=dmccreator.xml
SCREEN_DMC_CHOOSER=dmcchooser.xml
SCREEN_DMC_SEARCH=dmcsearch.xml
SCREEN_DMC_CASTER=dmccaster.xml
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger
Tatav



Inscrit le: 04 Oct 2006
Messages: 79
Message Posté le: 14/12/2006 14:33 Sujet du message:
Bonne piste ca Very Happy mais sans succès Crying or Very sad

Je l'avais vu mais j'en avais fait fi au début, puis je l'ai oublié Rolling Eyes
Enfin j'ai donc créé le groupe [GuiScreen] dans le ini et rajouté la ligne SCREEN_JOURNAL=journal.xml sans succès,
je me suis dit c'est peut être à cause du doublon ( même si techniquement cela ne devrait pas ) car j'ai laissé cette entrée dans sa catégorie initiale tout de même, donc j'ai créé une nouvelle entrée
SCREEN_JOURNAL2 = journal2.xml
ou dans le xml, j'ai bien pris soin de renommer le nom de la fenêtre en SCREEN_JOURNAL2 aussi. Enfin dans les 2 cas rien de plus...
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Gloirin



Inscrit le: 22 Juin 2005
Messages: 251
Message Posté le: 14/12/2006 17:37 Sujet du message:
j'ai une autre piste ..
en fait je suis en train de bosser sur les UI et là je raconte ma vie pour te faire saliver un coup ..
et à part ça la vie ?
bref, pour que ça marche il faut que dans le fichier xml, il y ait l'attribut scriptloadable=true dans l'élément UIScene .

Regarde si ça y est .. (j'ai déjà réussi à faire apparaitre des écrans donc y a pas de soucis normalement)
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Tatav



Inscrit le: 04 Oct 2006
Messages: 79
Message Posté le: 14/12/2006 18:11 Sujet du message:
Dans le mille Very Happy , fallait le connaitre celui la ...

Effectivement, en rajoutant cela, tout fonctionne convenablement,
juste un truc étrange, contrairement à ceux que dit le descriptif de la fonction,
si "SCREEN_JOURNAL = journal.xml" est dans la section [GuiScreen] rien ne se passe alors que si on le laisse dans sa section initiale, tout marche correctement.
Il en est de même si l'on test avec "SCREEN_JOURNAL2 = journal2.xml",
le journal n'apparait que si ce paramètre est dans la section [MandatoryGUI].

Enfin, il y'a peut être encore un paramètre dans les xml qui font que ca se comporte ainsi.
En tout cas, un grand merci Very Happy , je n'aurais surement jamais pensé à farfouiller plus que ca dans les xml.
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Gloirin



Inscrit le: 22 Juin 2005
Messages: 251
Message Posté le: 14/12/2006 18:28 Sujet du message:
c'est pas si étrange, en fait ils ont foiré leur doc ..
le fait de mettre l'attribut le rajoute si tu veux dans les écrans appelables depuis script, sinon non
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Tatav



Inscrit le: 04 Oct 2006
Messages: 79
Message Posté le: 15/12/2006 15:20 Sujet du message:
Oui la doc à quelques lacunes effectivemement Rolling Eyes . Enfin je vois pas trop la raison qu'ils ont eu à "verrouiller" ainsi le journal des quêtes, ils auraient pu, via une option dans le jeu, laisser le joueur choisir si il souhaite ou non, qu'à la mise à jour des quêtes, cette fenêtre apparaisse automatiquement ou non.
Mais de là à être obligé de rajouter un paramètre dans leur fenêtre même... Je ne pense pas que laisser "trainer" ce paramètre soit très génant.
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Garrath



Inscrit le: 21 Oct 2005
Messages: 150
Message Posté le: 17/12/2006 12:43 Sujet du message:
c'est le meme pb que pour faire apparaitre ou disparaitre les minimap etc...

Alors apres est ce que le fonctionnement est le meme en multi?
Si il faut modifier les fichiers des joueurs en multi cette solution n'est pas viable.
Car le hic du system c'est que si l'on veut que le comportement soit identique en multi il faut que les joueurs aient des fichiers de leur UI modifiés...
et vu que la modif est relativement simple a faire, meme si on fournis les fichiers d'interfaces aux joueurs j'ai peur que certain aillent enlever l'attribut scriptloadable des fichiers...

Sinon oui la doc est tout plein de lacunes... et si y avait que la doc...
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Tatav



Inscrit le: 04 Oct 2006
Messages: 79
Message Posté le: 17/12/2006 14:32 Sujet du message:
En placeant les xml modifiés dans l'override cela fonctionne aussi en multi, ceux avec le xml dedans ont l'apparition automatique du journal alors que ceux sans n'ont pas d'affichage.

Dans ce cas si ils s'amusent à modifier le xml ce n'est pas trop grave mais c'est sur que pour ton système de désactivation des cartes, là ca devient une faille...

Il faudrait avoir des haks verrouillables ou l'on ne puisse ni extraire ni modifier son contenu ou avoir un moyen de vérifier l'intégrité d'un hak dans le jeu via son CRC ou quelquechose du genre. Si il a été modifié, on empêche son chargement...

Sinon une question niveau priorité, entre un fichier contenu dans un hak et un dans l'override, il choisit lequel en premier ? (je penche pour le hak mais je préfère être sur...)
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Garrath



Inscrit le: 21 Oct 2005
Messages: 150
Message Posté le: 18/12/2006 23:52 Sujet du message:
Normalement il est cense prendre l'override en priorite... enfin c'etait comme cela dans le 1.

Par contre tout ne peut pas etre dans un hak, il faudrait voir si on peut rajouter les elements d'interface dans un hak (ca c sur qu'on peut Wink ) et si c gere par le jeu.
Répondre en citant
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   

Page 1 sur 1
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

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