Aller au contenu


Récupérer Le Type D'Un Objet


  • Veuillez vous connecter pour répondre
12 réponses à ce sujet

#1 tobast

tobast

Posté 13 mars 2010 - 12:38

Bonjour,
Je cherche à faire un petit mod ajoutant un "autel de désenchantement", au même titre que les autels d'enchantement, mais qui enlèverait l'enchantement d'un objet enchanté. Seulement, pour cela, je dois faire deux choses pour lesquelles je n'ai pas trouvé de fonctions :
- Ouvrir une boite de dialogue genre "enchantement" ou "création de sorts" personnalisée, pour la sélection de l'objet à désenchanter,
- Et, surtout, récupérer le type de l'objet : par exemple, le PJ veut désenchanter une arme appelée "dague surpuissante". Est-ce une cuirasse d'ébène, un arc dwemer ou une dague de fer ? Autrement dit : comment récupérer l'ID de l'objet "de base" ?

Merci à tous !
site web : http://tobast.fr/

#2 Shadow she-wolf

Shadow she-wolf

    Le katana de la GBT


Posté 13 mars 2010 - 14:31

Bonjour et bienvenue sur Wiwiland, :mdr:

Voir le messagetobast, le 13 mars 2010 - 12:38, dit :

- Ouvrir une boite de dialogue genre "enchantement" ou "création de sorts" personnalisée, pour la sélection de l'objet à désenchanter,
Si tu souhaites avoir un menu à la "création d'enchantement", de ce que je sais, ce n'est pas possible avec les fonctions du jeu de base.
C'est peut-être possible avec OBSE, mais après un rapide survol de ses fonctions, je n'ai rien trouvé allant dans ce sens...

Concrètement, les menus de ce genre sont des fichiers .XML externes, avec un mod qui modifie les fichiers d'interface, on peut les lire/modifier dans Oblivion/Data/Menus tout simplement. Ils sont aussi dans l'archive Oblivion - Misc.bsa pour l'interface du jeu de base.

La seule chose qui s'approche de ce que tu comptes faire est la fonction MessageBox, ce n'est pas très personnalisable hélas...

Voir le messagetobast, le 13 mars 2010 - 12:38, dit :

- Et, surtout, récupérer le type de l'objet : par exemple, le PJ veut désenchanter une arme appelée "dague surpuissante". Est-ce une cuirasse d'ébène, un arc dwemer ou une dague de fer ? Autrement dit : comment récupérer l'ID de l'objet "de base" ?
La méthode violente reste le GetIsID, mais cela risque de faire des scripts à rallonge...
Dans le même registre, il y a aussi GetItemCount, qui permet de récupérer le nombre de l'objet spécifié que porte le joueur.

Dans les deux cas, ça fait des scripts à rallonge.
De plus, le script ne fonctionnera pas sur les objets venant d'un mod quelconque...
Mais c'est comme cela qu'a été conçu le script du coffre de l'archimage, avec GetItemCount.
Donc à partir des fonctions du jeu de base, je doute que se soit possible de faire autrement.
Et manifestement, ça n'a pas l'air mieux avec OBSE...


En l'état, c'est tout ce que je vois... :laughing1:

#3 tobast

tobast

Posté 13 mars 2010 - 17:44

Euh... tu veux dire, un script genre "objetChoisi.GetIsId [ID objet]" le tout fois le nombre d'objets à tester ??

Merci de ta réponse précise ! @+, tobast
site web : http://tobast.fr/

#4 Shadow she-wolf

Shadow she-wolf

    Le katana de la GBT


Posté 13 mars 2010 - 18:24

Voir le messagetobast, le 13 mars 2010 - 17:44, dit :

Euh... tu veux dire, un script genre "objetChoisi.GetIsId [ID objet]" le tout fois le nombre d'objets à tester ??
Dans le principe oui.

Mais GetIsID est la fonction générique, lorsque l'on ne connait pas l'objet sur lequel agit le script. (le cas typique, est avec un script de sort)
Parce que bon, MonEpee.GetIsID MonEpee, c'est un peu de la tautologie là. ;)

Cela dépend de la façon dont tu souhaites procéder...

Mais à première vue, comme tu souhaites imiter les autels de création d'enchantement, il vaut mieux tester Player.GetItemCount MonEpée.

L'autre solution simple serait de faire comme avec les autels du nécromancien et les gemmes noires, stocker l'objet dans un conteneur, et le script du conteneur fait un GetItemCount MonEpee puis remplace l'objet en conséquence.

Mais ça fait de beaux scripts à rallonge...
Le script du coffre de l'archimage fait plus de 400 lignes pour tester tous les ingrédients...

#5 tobast

tobast

Posté 13 mars 2010 - 20:57

En fait je compte laisser le joueur choisir l'arme à désenchanter, puis la "transformer" en arme non enchantée (moyennant un peu de PO évidemment)... Si on teste l'ID d'une arme enchantée IG, est-il celui de l'arme non enchantée ? Ou le jeu crée-t-il un nouvel ID pour cette arme ?

EDIT : En fait (oui je suis un boulet je sais je viens d'y penser ;)) je crois que je vais me simplifier un peu la vie en créant un coffre genre "coffre de l'archimage" pour désenchanter... Ça sera beaucoup plus simple ^^ Pour éviter que ça soit trop "cheat", je pense que demander 1/4 du prix de l'arme/l'armure/etc. non enchantée serait une bonne compensation non ?

merci, tobast

Modifié par tobast, 13 mars 2010 - 21:33.

site web : http://tobast.fr/

#6 beeratwork

beeratwork

Posté 24 mars 2010 - 19:33

Je ne vais pas te laisser dans les choux (parce qu'ici, pour les réponses...), alors :

1. Comme Shadow te l'a dit, ce mod ne fonctionnera pas avec les objets des autres mods. Pourquoi ? Si tu installe un mod qui te donne une épée de métal et que tu l'enchante toi-même, il te suffit, pour t'en convaincre, de désinstaller le mod et de rejouer : tu aura toujours ton épée. Ca veut dire que le fait d'enchanter l'épée  a briser le lien avec l'ID d'origine. En gros, tu as créé ingame une nouvelle ID.

2. Si tu veux faire un menu de sélection d'arme, ce n'est pas demain que tu auras fini. Tu va devoir arriver à créer une nouvelle interface et à l'afficher.

3. Pour faire simple : un coffre, un menu
MessageBox "Désenchanter les objets ?","Oui","Non"
Et tu vérifie si les objets présents sont les armes enchantées du jeu ou non. Si un objet à l'id de l'épée de foudre, par exemple, et bien tu le supprime et tu rajoute au coffre l'équivalent non enchanté.
La liste des IDs sera longue, mais au moin, ce sera simple pour commencer. Inspire-toi du coffre.

#7 Angel Eyes Sentenza

Angel Eyes Sentenza

    Cave Canem


Posté 24 mars 2010 - 19:39

Voir le messagebeeratwork, le 24 mars 2010 - 19:33, dit :

(parce qu'ici, pour les réponses...)
Je crois que les gens n'osent pas répondre au génie des scripts que tu es, je crois que tu impressionne tout simplement beaucoup trop les wiwilandais.

Prends ça comme une marque de respect, discrètes attentions a ton égard.
Burro català : "Le caractère catalan semble comporter les vertus de l'âne : ténacité, détermination, ardeur à la tâche et fidélité. "

"J'aime à voir les choses tomber en place."

Kerro Panille

Bloc-notes


#8 beeratwork

beeratwork

Posté 25 mars 2010 - 20:03

Image IPB  Je sais, je sais...
Mais j'ai tenté une petite ruse. Je me suis dit qu'en provoquant un peu, on allait peut-être répondre un peu plus...

#9 Shadow she-wolf

Shadow she-wolf

    Le katana de la GBT


Posté 25 mars 2010 - 20:17

Voir le messagebeeratwork, le 25 mars 2010 - 20:03, dit :

on allait peut-être répondre un peu plus...
Répondre à quoi ?
Parce que j'ai l'impression que le problème de tobast est réglé. Je peux me tromper bien entendu, mais c'est l'impression que j'en ai.


Et puis, ce n'est pas comme si le nombre de moddeurs compétents pour Oblivion sur toute la communauté (donc plus que Wiwiland) tenaient sur les doigts d'une main...

#10 beeratwork

beeratwork

Posté 26 mars 2010 - 11:41

Image IPB Oh bah...
Et puis le fait qu'un sujet n'évolue pas ne veux pas dire qu'il est réglé : la preuve à toute les colles que je poste, soit les solution que l'on propose ne sont pas toujours très claire pour les néophites (moi pas néophite), soit il s'agit de pistes déjà explorée (donc qui ne fonctionnent pas ou qui ne correspondent pas aux attentes), soit on ne répond pas parcequ'on n'en sait pas plus... Et le jour où j'ai posté

Citation

(parce qu'ici, pour les réponses...)
je n'ai pu résister à l'envie de faire un peu de provoc (un petit ra-le-bol de tomber sur des colles).
Image IPB

Citation

Et puis, ce n'est pas comme si le nombre de moddeurs compétents pour Oblivion sur toute la communauté (donc plus que Wiwiland) tenaient sur les doigts d'une main...
Ca je ne sais pas. En tout cas pour les moddeurs francophones on peut peut-être les compter sur 4 ou 5 mains. Moi mon boulot de moddeur ne m'empêche pas de soulager les soupapes en aidant les apprentis moddeurs de temps en temps...Image IPB

Modifié par beeratwork, 26 mars 2010 - 11:47.


#11 Cogite Stibon

Cogite Stibon

    Théoriquement moddeur


Posté 26 mars 2010 - 14:24

La provocation passe en général très mal sur les forums, où le ton de la voix et le contact direct ne sont pas là pour faire passer l'humour.

En l'occurrence, tes interventions dans ce sujets donnent une sensation désagréable au lecteur : tu sembles reprocher aux autres de ne pas avoir donné les informations que tu as apporté, et te placer au dessus d'eux parce que tu l'as fait.

Wiwiland  fonctionne sur le bénévolat et le respect, et chacun apporte de l'aide aux autres dans la mesure de ses moyens. Je ne dis pas que tu as voulu volontairement afficher du mépris vis à vis des autres membres de la communauté, mais c'est le message qui passe dans tes posts. Et ce message-là n'est pas acceptable sur wiwiland.

Si tu as des remarques par rapport à ce que je viens de te dire, merci de le faire par MP, conformément à la Charte. Tout cela n'a rien à voir avec la question de Tobast. Donc on reviens au sujet, et toute intervention sans rapport avec la question finira désormais à la cave.

Cogite

Tout droit vers le non-linéaire !
It's not the engine, it's the writing.
HERMA MORA ALTADOON AE


#12 beeratwork

beeratwork

Posté 03 août 2010 - 08:04

Je n'ai pas encore regardé les scripts de ce mod http://www.invision....automagic-bags/, mais d'après le readme, il ajoute des sac pour ranger des objets automatiquement en fonction de leur type. Donc les clés se rangent toutes seules dans le sac clé, les ingédients dans le sac ingrédient... et les objets des mods aussi. Nécessite OBSE. Attention, je n'ai pas testé !

#13 Shadow she-wolf

Shadow she-wolf

    Le katana de la GBT


Posté 03 août 2010 - 08:43

Quand j'ai répondu au sujet, je ne connaissais pas OBSE.
Mais, avec OBSE, tu fais un bon gros GetObjectType, et plus précisément GetWeaponType dans le cas qui nous interesse, et l'affaire est pliée.

Mais, ce n'est pas avec cette fonction que l'on aurait pu résoudre la demande de tobast puisque lui voulait détecter si l'objet était une dague en fer, au lieu de détecter si c'était une épée à une main.
Au mieux, ça aurait permit construire de filtres pour diminuer la lourdeur des scripts...et c'est tout...




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)