J'ai écrit le petit script suivant
Prenez par exemple cette scène http://stephlx.free.fr/c4df/TagTest.c4dmain(doc,op) {
var Obj=doc->FindObject("test");
var Tag = Obj->GetFirstTag();
if (!Tag) return;
Tag->Remove();
EventAdd();
}
Renommez l'objet Sphère en test
Mon script va effacer comme prévu les Tags et se stopper une fois qu'il y en a plus, jusque-là tout va bien...
Mais maintenant, créez un nouveau tag sur la sphère. Comme logiquement prévu, mon script supprime le nouveau Tag, mais rapidement suivit par un beau crash de C4D :o
C'est mon C4D qui ne tourne pas rond ? :? Ou je mis prend mal, et je viens d'inventé le 1er virus pour c4d ? :shock:
Si je l'utilise sur un objet polygonal, ça efface même les polys :o
Si ça peut te rassurer ça plante aussi chez moi (pc), par contre je ne peut pas t'aider pour le script désolé :oops:
Pas bien grave pour maintenant, dans le sens où je n'ai pas besoin d'effacer de tag dans mes plug pour le moment, mais c'est bizarre quand même ça :o
Je vais peut etre dire une betise :oops:
mais ton if n'est attibuer que pour le return il me semble.
Donc le reste du script s'execute quoi qu'il arrive.
essai
Mais c'est surement pas ca :coup:Code:if (!Tag) {return; } else {Tag->Remove(); (EventAdd(); ca je sais pas ce que sait alors tu vois si c'est avec ou pas ) }
La vitesse de la lumière étant supérieure à celle du son, il est donc normal que beaucoup de gens paraissent brillants...
jusqu'à ce qu'ils ouvrent leur gueule.
-------------------------------------------------------------------------------------
Cinema 4D 9.6 - Advanced Render 2.5 - Sketch & Toon - Maxwell Render
Intel Core 2 Quad Q8300 | 8Go DDR2 | Nvidia 430GT
Non, mon script est juste, ta pas besoin de mettre les accolades sur une ligne, et return fait quitter le script quoi qu'il arrive ;-)
EventAdd force les expressions de C4D à s'exécuter en permanence, sinon il faudrait cliquer plusieurs fois dans la vue ou lancer la timeline pour que le script efface tous les Tag.
Le plantage doit certainement être dû à l'effacement automatique trop rapide du tag, C4D le créé mais je pense que ton script le supprime avant même que la tag n'aie eu le temps d'être rafraichis (définition des paramètres (container)).
En ce qui concerne l'objet polygonal, c'est logique que l'effacement de ses tag aboutissent à une disparition des polygones puisque la structure de point et de polygone est stockée dans un tag caché (structure Hermite Tag). Même si ce tag est caché, ton script le détecte et donc l'efface.
oui Steph3D tu es bien l'inventeur du 1er virus C4D destructeur de polygone en tout genre ! :mrgreen: :mrgreen: :mrgreen:
ok-------je :arrow:
R9.6 XL BUNDLE + HAIR + S&T<br />les devises Shadok:<br />s'il n'y a pas de solution,c'est qu'il n'y a pas de problème
Ah*!? m'en douter qu'il y avait des Tags cachés dans C4D, vu qu'ont peu en crée normalement, mais j'ai pas encor essayé. Intéressant à savoir pour éviter les conneries imprévues dans les expressions plus complexes et chercher bêtement des heures des bugs incomphensif :roll:
Merci pour les précisions :poucehaut:
Un PluginTag (plugin qui est représenté par un tag) peut être visible ou non en définissant cet état dans la code du plugin où il y a la fonctions DisplayAllowed, dans laquelle on met "return TRUE;" (tag visible) ou "return FALSE;" (tag invisible). :wink: