Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > CopyObject() ? La panacée
CopyObject() ? La panacée
Par Jedaï le 14/2/2003 à 8:34:50 (#3235235)
- Added CopyObject() scripting command.
// Duplicates the object specified by oSource.
// ONLY creatures and items can be specified.
// If an owner is specified and the object is an item, it will be put into their inventory
// If the object is a creature, they will be created at the location.
// If a new tag is specified, it will be assigned to the new object.
object CopyObject(object oSource, location locLocation, object oOwner = OBJECT_INVALID, string sNewTag = ");
Cette fonction a une grosse limitation, elle ne peut pas copier les placeables.
C'est vraiment dommage parce qu'elle possède le potentiel pour nous permettre de créer sans dommage une multitude d'objets à tag unique donc accessible et repérable par une unique voie.
Ceci signifie que ces objets seront utilisables par un système de persistance... :eek:
Il pourra les recréer sans dommage... puis leur affecter des variables si nécessaire, à chaque lancement du module...:eek:
Reste le problème que cette fonction ne permet pas de copier les placeables ou les triggers....:(
Je pose donc la question : que voyez vous comme usage à cette fonction, pensez vous qu'elle a un gros potentiel, ou la voyez vous comme pratiquement inutile ?:maboule:
Par eMRaistlin le 14/2/2003 Ã 9:29:31 (#3235421)
Imagine un placeable qui prenne comme token un string recupéré grace au patternes, que tu peux faire interagir avec des objet possedants un nouveau tag..
Imagine aussi que tu modifie le tag d'un objet sur un Pj en faisant une copie de l'original, puis en le detruisant. Si (comme je le pense) le tag se garde bien entre 2 modules, l'itemizer va gagner encore plus en interet ^^
Moi, je dis que cette 1.28, si elle apporte tout ce qu'elle promet, va être enorme...
Vivement qu'ils sortent la VF, que je puisse prendre mon patch (argg... c'est trop dur d'avoir une VO et d'attendre la VF...)
Par Iridian le 14/2/2003 Ã 10:30:41 (#3235731)
Par eMRaistlin le 14/2/2003 Ã 10:46:55 (#3235828)
Quand tu tombe, fais gaffe a ce qu'il n'y ait pas déja un gars par terre juste en dessous...
Par Jaha Effect le 14/2/2003 Ã 10:54:52 (#3235891)
Jaha Effect :D
Par Iridian le 14/2/2003 Ã 11:01:43 (#3235953)
Provient du message de Jaha Effect
Moi je suis assez content de voir que Bioware commence enfin à regarder du côté des mondes persistants. Bon y'a encore un max de boulot mais on sens que la position de bioware évolue favorablement vis à vis de la persistance :)
Jaha Effect :D
Beaucoup on montré que c'était possible (même si difficile), je trouve bien que fort de cette constatation ils exploitent ces possibilité en les rendant plus accessibles.
Par contre après avoir lu les info concernant la release sur le site de bioware, je ne trouve pas trace de ces nouvelles fonctions permettant de changer le nom ou le tag (a part celle cité plus haut) es-ce normal ou dois-je changer mes lunettes ?
Par Verchanal le 14/2/2003 Ã 13:50:17 (#3237312)
[edit]
Oh, j sors
Par Iridian le 14/2/2003 Ã 13:56:19 (#3237361)
Provient du message de Iridian
(a part celle cité plus haut)
;)
mais pas de
SetName(object oCible, string sNewName) ?
SetTag(object oCible, string sNewTag) ?
Par eMRaistlin le 14/2/2003 Ã 14:03:41 (#3237413)
SetName(object oCible, string sNewName) ?
SetTag(object oCible, string sNewTag) ?
D'ou :
Custom Palette :
Nom =
OnSpawn : SetCustomToken()...
Et :
object oObject = oObject_a_modifier;
DestroyObject(oObject);
CopyObject(oObject,newtag);
Par Iridian le 14/2/2003 Ã 14:42:35 (#3237704)
Provient du message de eMRaistlin
object oObject = oObject_a_modifier;
DestroyObject(oObject);
CopyObject(oObject,newtag);
Ca ok, j'avais compris tous seul ;) n'empêche qu'une petite fonction aurait été du meilleur goût !Provient du message de eMRaistlin
Custom Palette :
Nom =
OnSpawn : SetCustomToken()...
La par contre, je tique. J'avais cru comprendre que c'était réservé aux placeables ca, hors, je que je recherche surtout dans ce genre de chose, c'est la possibilité de créer dynamiquement des objets aux noms personnalisés (arme, armure, vêtements, etc ....).
Donc ca n'est toujours pas possible ca ? :sanglote:
Par eMRaistlin le 14/2/2003 Ã 14:51:09 (#3237776)
Provient du message de Iridian
Ca ok, j'avais compris tous seul ;) n'empêche qu'une petite fonction aurait été du meilleur goût !
c'est la possibilité de créer dynamiquement des objets aux noms personnalisés (arme, armure, vêtements, etc ....).
Donc ca n'est toujours pas possible ca ? :sanglote:
ah, ca, tu peux pas, c'est vrai...
Mais au moins, tu peut creer des placeable avec un nom géré par token custom... custom que tu va t'empresser de mettre a jour grace au tag, lui même modifié grace a CopyObject...
De toute facon, c'est un peu tordu, c'est vrai, mais bon, faute de mieux...
Par Taern le 14/2/2003 Ã 15:14:20 (#3237944)
C'est exploitable dans le cas d'un placeable qui n'existera qu'en une seule instance dans le module, et encore pour mettre son nom à jour ça sera vraisemblablement nécessaire de supprimer ce placeable puis de le recréer (sinon les joueurs déjà présents dans la zone ne verront aucun changement).
Imaginz qu'on veuille améliorer le système de cadavre des HCR en créant à la mort du PJ un placeable nommé "Cadavre de (nom du joueur)". Alléchant non ?
Alors il va falloir créer sous aurora un placeable nommé "Cadacre de " (par exemple). Mais le problème, c'est que si on assigne une valeur au token n°1000, tous les autres cadavres seront affectés !
On peut envisager une feinte tordue qui consisterait à créer, disons, une dizaine de placeables de cadavre, chacun utilisant un token différent, et de modifier le script de manière à ce qu'il n'y ait jamais le même placeable cadavre sur le module.
Là ça semble à la limite faisable, mais personnellement j'irais jamais m'embêter avec ça, alors que ça n'amène au final que peu de chose et surtout, qu'on est pratiquement sûr d'avoir des fonctions qui permettront de redéfinir noms, tags (voir les propriétés ?) dynamiquement, avec le XP1.
:lit:
Par eMRaistlin le 14/2/2003 Ã 15:17:25 (#3237966)
Par Archamedes_Fr le 14/2/2003 Ã 15:57:47 (#3238275)
Provient du message de eMRaistlin
Moi, je dis que cette 1.28, si elle apporte tout ce qu'elle promet, va être enorme...
* Se remémore les joies en attendant le GetResRef()... Et ce qui en a suivi *
Et pourtant je suis de naturel optimiste, mais avec Bioware...
Par Taern le 14/2/2003 Ã 21:36:30 (#3240676)
Donc oui je suis très optimiste vis à vis du CopyObject :)
curieusement
Par Blam le 17/2/2003 Ã 8:57:50 (#3252303)
cela doit venir du fait que le script et moi.....on s'aime pô !
en tout cas, on l'attends cette version !
JOL Archives 1.0.1
@ JOL / JeuxOnLine