Problème de script

Après un cours, il lui fallait bien un forum.
Avatar de l’utilisateur
Arthurluth
 
Messages: 41
Inscription: 02 Jan 2010, 10:49

Problème de script

Messagede Arthurluth » 11 Fév 2010, 10:49

Bonjour les copaing forumeurs,

me revoilà avec mes questions... c'est moi qu'on devrait appelé le chieur ;) (je n'oserai pas prendre la place du Calif)

Voilà : j'ai téléchargé des scripts, que vous connaissez certainement, qui nous viennent de Arda kutlu (dont voici le lien : http://www.ardakutlu.com/scripts.html )

Il se trouve que quand je les exécute, ils ne fonctionnent pas . Pour rappel, j'utilise "Max 2010". Je pense que ça vient de là. Mais peut être auriez vous une astuce, car je suis très intéressé par le "tik book rigger" pour faire mon fameux livre.

merci

Avatar de l’utilisateur
zexpert
Addict
Addict
 
Messages: 463
Inscription: 29 Juin 2009, 13:16

Re: Problème de script

Messagede zexpert » 11 Fév 2010, 11:03

Tu as max en français?

Avatar de l’utilisateur
Arthurluth
 
Messages: 41
Inscription: 02 Jan 2010, 10:49

Re: Problème de script

Messagede Arthurluth » 11 Fév 2010, 11:30

oui

Avatar de l’utilisateur
zexpert
Addict
Addict
 
Messages: 463
Inscription: 29 Juin 2009, 13:16

Re: Problème de script

Messagede zexpert » 11 Fév 2010, 12:46

corrige le nom des variable dans la script alors.

oui...

maxFR traduit aussi le nom des variables ce qui empêche le fonctionnement de certain script....
Dernière édition par zexpert le 11 Fév 2010, 14:50, édité 1 fois.

Avatar de l’utilisateur
Arthurluth
 
Messages: 41
Inscription: 02 Jan 2010, 10:49

Re: Problème de script

Messagede Arthurluth » 11 Fév 2010, 14:27

ce que tu appelles "variables" sont tout les noms du genre : edges = arêtes etc.. ?
edit : Exemples trouvé dans l'aide 3ds max

pi : 3.14159 Rapport de la circonférence d'un cercle à son diamètre
e : 2.71828 Base des logarithmes naturels
TPS : 4800 Nombre de repères par seconde, unité de temps de base des animations 3ds Max.


F : Numéro d'image. Pour chaque image, F est égal au numéro de l'image courante, en partant de zéro. Cette valeur peut varier en fonction du nombre d'images présentes dans le segment de temps actif.

si c'est ça, comment trouver la version anglaise ?

ou suis-je complètement à coté de la plaque

Avatar de l’utilisateur
zexpert
Addict
Addict
 
Messages: 463
Inscription: 29 Juin 2009, 13:16

Re: Problème de script

Messagede zexpert » 11 Fév 2010, 14:51

oui,

En fait je te propose d'installer la version US du soft, il est beaucoup plus facile que tu explore les scripts avec une version normal de 3ds plutôt que je te fasse un cour complet sur les scripts :)
Dernière édition par zexpert le 11 Fév 2010, 15:30, édité 1 fois.

Avatar de l’utilisateur
Arthurluth
 
Messages: 41
Inscription: 02 Jan 2010, 10:49

Re: Problème de script

Messagede Arthurluth » 11 Fév 2010, 15:15

haha.

donc c'est compliqué...

merci en tout cas

Avatar de l’utilisateur
zexpert
Addict
Addict
 
Messages: 463
Inscription: 29 Juin 2009, 13:16

Re: Problème de script

Messagede zexpert » 11 Fév 2010, 15:36

Pas vraiment mais je te propose une solution rapide pour toi à ton niveau actuel.

Sinon, voila ton script:

Code: Tout sélectionner
macroScript TIK_Book_Rigger
category: "Tik Works"
tooltip: "Book Rigger"
ButtonText: "Book Rigger"

(
undo on
local FrontMaterial
local BackMaterial
local double_mat
local BM
local IFL_File
local p_math = 0
local A_S
local doubleS = false
local backupM
local takeapart=false
local takeRandom=true
local takeRandomVal=50
local apr=2
local takestart=120
local takeend=180

   --MATERIAL FUNCTION--
--Material Function for double sided material
(
fn image_fromIFL Mat =
(

local selected_txt
IFL_file=openFile BM.filename --Loads the IFL file
--Each readline command reads the next line for the loaded ifl
--Run the command until it reaches the desired line
   if p_math >= (bm.numframes - 2) then p_math = (bm.numframes - 2)
      
   for i = 1 to (p_math +=1) do
   (
         (
         Selected_txt=readLine IFL_file
         )
         case of
      (
      (classof Mat.material1==standardmaterial):
         (
         Mat.material1.diffuseMap=bitmaptexture()
         Mat.material1.diffuseMap.filename=((getFilenamePath BM.filename) as string)+(selected_txt as string)
         Mat.material1.diffuseMap.alphaSource=A_S
         
         )
      (classof Mat.material1==Arch___Design__mi):
         (
         Mat.material1.diff_color_map=bitmaptexture()
         Mat.material1.diff_color_map.filename=((getFilenamePath BM.filename) as string)+(selected_txt as string)
         Mat.material1.diff_color_map.alphasource=A_S
         )
      (classof Mat.material1==VRayMtl):
         (
         Mat.material1.texmap_diffuse=bitmaptexture()
         Mat.material1.texmap_diffuse.filename=((getFilenamePath BM.filename) as string)+(selected_txt as string)
         Mat.material1.texmap_diffuse.alphasource=A_S
         )
      )
      
   )
   ------------------------------
IFL_file=openFile BM.filename
   
      for z = 1 to (p_math += 1) do
   (
         (
         Selected_txt=readLine IFL_file
         )
         case of
      (
      (classof Mat.material2==standardmaterial):
         (
         Mat.material2.diffuseMap=bitmaptexture()
         Mat.material2.diffuseMap.filename=((getFilenamePath BM.filename) as string)+(selected_txt as string)
         Mat.material2.diffuseMap.coords.U_Tiling=-1
         Mat.material2.diffuseMap.alphaSource=A_S
         )
      (classof Mat.material2==Arch___Design__mi):
         (
         Mat.material2.diff_color_map=bitmaptexture()
         Mat.material2.diff_color_map.filename=((getFilenamePath BM.filename) as string)+(selected_txt as string)
         Mat.material2.diff_color_map.coords.U_Tiling=-1
         Mat.material2.diff_color_map.alphasource=A_S
         )
      (classof Mat.material2==VRayMtl):
         (
         Mat.material2.texmap_diffuse=bitmaptexture()
         Mat.material2.texmap_diffuse.filename=((getFilenamePath BM.filename) as string)+(selected_txt as string)
         Mat.material2.texmap_diffuse.coords.U_Tiling=-1
         Mat.material2.texmap_diffuse.alphasource=A_S
         )
      )
   )
   
)

)--End of Material Function

--Material Function for single sided material

(
fn image_fromIFL2 Mat numb =
(
local selected_txt
IFL_file=openFile BM.filename --Loads the IFL file


--Each readline command reads the next line for the loaded ifl
--Run the command until it reaches the desired line
   if numb > bm.numframes then numb = bm.numframes
   for i = 1 to numb do
      (
      Selected_txt=readLine IFL_file
      )
      case of
   (
   (classof mat==standardmaterial):
      (
      mat.diffuseMap=bitmaptexture()
      Mat.diffuseMap.filename=((getFilenamePath BM.filename) as string)+(selected_txt as string)
      showtexturemap Mat Mat.diffusemap on
      )
   (classof mat==Arch___Design__mi):
      (
      mat.diff_color_map=bitmaptexture()
      Mat.diff_color_map.filename=((getFilenamePath BM.filename) as string)+(selected_txt as string)
      showtexturemap Mat Mat.diff_color_map on
      )
   (classof mat==VRayMtl):
      (
      mat.texmap_diffuse=bitmaptexture()
      Mat.texmap_diffuse.filename=((getFilenamePath BM.filename) as string)+(selected_txt as string)
      showtexturemap Mat Mat.texmap_diffuse on
      )
   )
)

)--End of singlesided Material Function

   
   --PREVIEW FUNCTION
fn preview_page_rig page_count page_width page_length page_gap length_segs width_segs Flexer_crease_center Flexer_crease_area flexer_max_angle flexer_random turner_crease_center turner_crease_area turner_max_angle lander_crease_center lander_crease_area lander_max_angle ext_rot=
(
if $preview_page != undefined then (delete $preview_page / delete $preview_dups*)
animate off
kacSayfa=page_count
   
page_list_array=#()
temp_plate = plane length:page_length width:page_width lengthsegs:length_segs widthsegs:width_segs
move temp_plate [(page_width/2),0,0]
temp_plate.pivot = [0,0,0]

flexer_a=bend bendaxis:0 fromTo:on bendTo:Flexer_crease_area bendfrom:0
flexer_a.center=[flexer_crease_center,0,0]
turner=bend bendaxis:0 fromTo:on bendTo:Turner_crease_area bendfrom:0
turner.center=[-(page_width/2+turner_crease_center),0,0]
turner.gizmo.rotation=(eulerangles 0 ext_rot 0) -- Rotation for compansation
turner.gizmo.position=[(-((page_width/2) - (cos( (ext_rot))*(page_width/2)))),0,(((abs(sin( (ext_rot)))) * (page_width/2)) + ((abs(sin(radToDeg (0)))) * (page_width/2)))] --Transform fix of the not-pivot-oriented rotation
lander=bend bendaxis:0 fromTo:on bendTo:0 bendFrom:-lander_crease_area
lander.center=[((-page_width)+lander_crease_center),0,0]
temp_plate.wirecolor=green
temp_plate.name = "preview_page"
resettransform temp_plate

for i = 1 to kacSayfa do
(
   t = copy temp_plate
   t.wirecolor=blue
   t.name = uniquename "preview_dups"
   move t [0,0,-((i as float)/(100-page_gap))]
)

    with animate on
    (
      at time 0 turner.bendTo=Turner_crease_area+50
      at time 2 turner.bendangle=0
      at time 0 flexer_a.bendangle=0
      at time 7 flexer_a.bendangle=-(Flexer_max_angle)   
         
      at time 10 lander.bendangle=0
      at time 12 flexer_a.bendangle=(Flexer_max_angle)-(((Flexer_max_angle)/100)*25)
      at time 14 flexer_a.bendangle=0
      at time 12 turner.bendangle=-(Turner_max_angle)
      at time 14 lander.bendangle=-(Lander_max_angle)
      at time 14 turner.bendTo=Turner_crease_area
            
      
      if takeapart==true then
      (
      at time 8 turner.gizmo.position=[0,0,0]
      at time 14 turner.gizmo.position=[-30,0,0]
         setafterORT turner.gizmo.position.controller #linear
      turner.gizmo.position.x_position.keys[3].intangenttype = #linear
      )
      
    )
   addmodifier temp_plate (flexer_a)
   addmodifier temp_plate (turner)
   addmodifier temp_plate (lander)
)

--REAL FUNCTION
fn page_rig page_count page_width page_length page_gap length_segs width_segs Flexer_crease_center Flexer_crease_area flexer_max_angle flexer_random turner_crease_center turner_crease_area turner_max_angle lander_crease_center lander_crease_area lander_max_angle ext_rot=
   
(
animate off

kacSayfa=page_count
   
page_list_array=#()
temp_plate = plane length:page_length width:page_width lengthsegs:length_segs widthsegs:width_segs
move temp_plate [(page_width/2),0,0]
temp_plate.pivot = [0,0,0]

flexer_a=bend bendaxis:0 fromTo:on bendTo:Flexer_crease_area bendfrom:0
flexer_a.center=[flexer_crease_center,0,0]
turner=bend bendaxis:0 fromTo:on bendTo:Turner_crease_area bendfrom:0
turner.center=[-(page_width/2+turner_crease_center),0,0]
turner.gizmo.rotation=(eulerangles 0 ext_rot 0) -- Rotation for compansation
turner.gizmo.position=[(-((page_width/2) - (cos( (ext_rot))*(page_width/2)))),0,(((abs(sin( (ext_rot)))) * (page_width/2)) + ((abs(sin(radToDeg (0)))) * (page_width/2)))] --Transform fix of the not-pivot-oriented rotation
lander=bend bendaxis:0 fromTo:on bendTo:0 bendFrom:-lander_crease_area
lander.center=[(-page_width)+lander_crease_center,0,0]

resettransform temp_plate

    with animate on
    (
      at time 0 turner.bendTo=Turner_crease_area+50
      at time 2 turner.bendangle=0
      at time 0 flexer_a.bendangle=0
      at time 7 flexer_a.bendangle=-(Flexer_max_angle)
      at time 10 lander.bendangle=0
      at time 12 flexer_a.bendangle=(Flexer_max_angle)-(((Flexer_max_angle)/100)*25)
      at time 14 flexer_a.bendangle=0
      at time 12 turner.bendangle=-(Turner_max_angle)
      at time 14 lander.bendangle=-(Lander_max_angle)
      at time 14 turner.bendTo=Turner_crease_area
    )

MasCtrl = point pos:[0,0,0] box:on size:50
MasCtrl.name = "Master_Control"
empt = EmptyModifier ()
addmodifier MasCtrl empt
   
----duplicate planes-----
double_mat=doublesided()
for i = 1 to kacSayfa do
(

   t = copy temp_plate
      --MATERIAL
   if doubleS == false then
   (
      if frontMaterial != undefined then
      (
      t.material = copy frontMaterial
         if bm != undefined then
         (
         image_fromIFL2 t.material i
         )
      )
   )
   
      if doubleS == true then
   (
      if frontMaterial !=undefined and backMaterial != undefined then
      (
         t.material = copy double_mat
         t.material.material1=frontmaterial
         t.material.material2=backmaterial
         if bm != undefined then
         (
         image_fromIFL t.material
         showtexturemap t.material t.material.material1.diffuseMap on
         )
      )
   )

   ------
   t.parent = MasCtrl
   move t [0,0,-((i as float)/(100-page_gap))]
   addmodifier t (copy flexer_a)
   addmodifier t (copy turner)
   addmodifier t (copy lander)
   if Flexer_random = true then
   (
   t.modifiers[3].gizmo.rotation = eulerangles 0 0 (random -25 25) --FLEXER modifier
   )   
   zar=random 1 apr   
   if takeapart == true and zar == 1 then
   (
   
   t.modifiers[2].gizmo.rotation=eulerangles 0 0 (random -takerandomVal takerandomVal)
      with animate on
      (
      at time 8 t.modifiers[2].gizmo.position=[0,0,0]
      at time 12 t.modifiers[2].bendangle=-(random takestart takeend)
      at time 14 t.modifiers[2].gizmo.position=[-30,0,0]
      setafterORT t.modifiers[2].gizmo.position.controller #linear
      t.modifiers[2].gizmo.position.x_position.keys[3].intangenttype = #linear
      setafterORT t.modifiers[3].bendangle.controller #linear
      t.modifiers[3].bendangle.keys[3].outtangenttype = #linear
      )
   )
t.pivot = [0,((i as float)/100),0]
   t.modifiers[2].bendTo+=((i as float)/((100-page_gap)/5)) --TURNER modifier

   movekeys t ((i*14)-14)
   append page_list_array t
)
delete temp_plate

------------------------------------------------------------------------------

ca=attributes FlipControl
(
    parameters Flip rollout:FlipR
    (
        Flip type:#float ui:(Flipsp)
      shuffle type:#float ui:(ShuffleSP)
       
    )
    rollout FlipR "Page"
    (
        local fW = 40, oS = [0,-23]
        spinner Flipsp  "Page" type:#float range: [0,9999,0] fieldwidth:fW
      spinner ShuffleSP "Shuffle" type:#float range:[-9999,9999,0] fieldwidth:fW
    )
)

custAttributes.add MasCtrl.modifiers[1] ca

Flip_exp = Bezier_Float ()
Flip_exp2 = Bezier_Float ()
Flip_exp3 = Bezier_Float ()
Flip_exp4 = Bezier_Float ()
Flip_exp5 = Bezier_Float ()
Flip_exp6 = Bezier_Float ()
Flip_exp7 = Bezier_Float ()
MasCtrl.modifiers[1].FlipControl.flip.controller = Bezier_Float ()

ec=linear_float()
with animate on
(
at time 0 ec.value=0
at time 100 ec.value=100*ticksPerFrame
)
setBeforeORT ec #linear
setAfterORT ec #linear

for i = 1 to page_list_array.count do
   (
   addeasecurve page_list_array[i].modifiers[1].bendAngle.controller Flip_exp
   addeasecurve page_list_array[i].modifiers[1].bendAngle.controller Flip_exp
   page_list_array[i].modifiers[1].bendAngle.controller[1].controller = float_list()
   page_list_array[i].modifiers[1].bendAngle.controller[1].controller[1].controller = ec
   page_list_array[i].modifiers[1].bendAngle.controller[1].available.controller = bezier_float()
      
   addeasecurve page_list_array[i].modifiers[2].gizmo.position.x_position.controller Flip_exp7
   addeasecurve page_list_array[i].modifiers[2].gizmo.position.x_position.controller Flip_exp7
   page_list_array[i].modifiers[2].gizmo.position.x_position.controller[1].controller = float_list()
   page_list_array[i].modifiers[2].gizmo.position.x_position.controller[1].controller[1].controller = ec
   page_list_array[i].modifiers[2].gizmo.position.x_position.controller[1].available.controller = bezier_float()
      
   addeasecurve page_list_array[i].modifiers[3].bendAngle.controller Flip_exp3
   addeasecurve page_list_array[i].modifiers[3].bendAngle.controller Flip_exp3
   page_list_array[i].modifiers[3].bendAngle.controller[1].controller = float_list()
   page_list_array[i].modifiers[3].bendAngle.controller[1].controller[1].controller = ec
   page_list_array[i].modifiers[3].bendAngle.controller[1].available.controller = bezier_float()
      
   addeasecurve page_list_array[i].modifiers[2].bendAngle.controller Flip_exp2
   addeasecurve page_list_array[i].modifiers[2].bendAngle.controller Flip_exp2
   page_list_array[i].modifiers[2].bendAngle.controller[1].controller = float_list()
   page_list_array[i].modifiers[2].bendAngle.controller[1].controller[1].controller = ec
   page_list_array[i].modifiers[2].bendAngle.controller[1].available.controller = bezier_float()
      
   addeasecurve page_list_array[i].modifiers[2].bendTo.controller Flip_exp4
   addeasecurve page_list_array[i].modifiers[2].bendTo.controller Flip_exp4
   page_list_array[i].modifiers[2].bendTo.controller[1].controller = float_list()
   page_list_array[i].modifiers[2].bendTo.controller[1].controller[1].controller = ec
   page_list_array[i].modifiers[2].bendTo.controller[1].available.controller = bezier_float()

   addeasecurve page_list_array[i].rotation.y_rotation.controller Flip_exp5
   
   deger=39.1
   
      
   paramWire.connect MasCtrl.modifiers[1].FlipControl[#flip] page_list_array[i].modifiers[2].bendAngle.controller[2] ("radtodeg flip *"+deger as string)
   paramWire.connect MasCtrl.modifiers[1].FlipControl[#flip] page_list_array[i].modifiers[2].bendTo.controller[2] ("radtodeg flip *"+deger as string)
   paramWire.connect MasCtrl.modifiers[1].FlipControl[#flip] page_list_array[i].modifiers[2].gizmo.position.x_position.controller[2] ("radtodeg flip *"+deger as string)
   paramWire.connect MasCtrl.modifiers[1].FlipControl[#flip] page_list_array[i].modifiers[1].bendAngle.controller[2] ("radtodeg flip *"+deger as string)
   paramWire.connect MasCtrl.modifiers[1].FlipControl[#flip] page_list_array[i].modifiers[3].bendAngle.controller[2] ("radtodeg flip *"+deger as string)
   
   paramWire.connect MasCtrl.modifiers[1].FlipControl[#flip] page_list_array[i].rotation.y_rotation.controller[#Ease_Curve] ("radtodeg flip *"+deger as string)
   
   
   paramWire.connect MasCtrl.modifiers[1].FlipControl[#Shuffle] page_list_array[i].modifiers[2].bendAngle.controller[1].controller[2] (("shuffle*"+(formattedprint i))+("-shuffle"))
   paramWire.connect MasCtrl.modifiers[1].FlipControl[#Shuffle] page_list_array[i].modifiers[2].bendTo.controller[1].controller[2] (("shuffle*"+(formattedprint i))+("-shuffle"))
   paramWire.connect MasCtrl.modifiers[1].FlipControl[#Shuffle] page_list_array[i].modifiers[1].bendAngle.controller[1].controller[2] (("shuffle*"+(formattedprint i))+("-shuffle"))
   paramWire.connect MasCtrl.modifiers[1].FlipControl[#Shuffle] page_list_array[i].modifiers[2].gizmo.position.x_position.controller[1].controller[2] (("shuffle*"+(formattedprint i))+("-shuffle"))
   paramWire.connect MasCtrl.modifiers[1].FlipControl[#Shuffle] page_list_array[i].modifiers[3].bendAngle.controller[1].controller[2] (("shuffle*"+(formattedprint i))+("-shuffle"))

      )

)

-------------------ROLLOUT----------------------------
   (--UI start

   global PRig
   try(destroyDialog PRig )catch()
   

   Fw1=30
   Fw2=30
rollout PRig "Book Rigger V2.21" width:292 height:450
(   
   groupBox grp4 "Page Properties" pos:[8,8] width:136 height:160
   spinner pcount "Page Count" pos:[24,24] width:112 height:16 enabled:true range:[1,9999,50] type:#integer scale:0.1 fieldwidth:fW1
   spinner pwidth "Page Width" pos:[24,48] width:112 height:16 enabled:true range:[1,9999,48] type:#float scale:0.1 fieldwidth:fW1
   spinner plength "Page Length" pos:[24,72] width:112 height:16 enabled:true range:[1.0,9999.0,68] type:#float scale:0.1 fieldwidth:fW1
   spinner pgap "Page Gap" pos:[24,96] width:112 height:16 enabled:true range:[1,99,50] type:#float scale:0.1 fieldwidth:fW1
   spinner lsegments "Length Segments" pos:[24,120] width:112 height:16 enabled:true range:[1,9999,10] type:#float scale:0.1 fieldwidth:fW1
   spinner wsegments "Width Segments" pos:[24,144] width:112 height:16 enabled:true range:[1,9999,50] type:#float scale:0.1 fieldwidth:fW1
   groupBox grp1 "Flexibility" pos:[155,8] width:130 height:112
   spinner F_c_center "Crease Center" pos:[155,24] width:120 height:16 range:[-9999,9999,0] fieldwidth:fW2
   spinner F_c_area "Crease Area" pos:[155,48] width:120 height:16 range:[1,999,54] fieldwidth:fW2
   spinner F_MaxAngle "Max Angle" pos:[155,72] width:120 height:16 range:[-9999,9999,190] fieldwidth:fW2
   checkbox F_Random "Randomize Gizmo" pos:[175,96] width:128 height:16 checked:true
   groupBox grp2 "Turn" pos:[155,122] width:130 height:112
   spinner T_c_center "Crease Center" pos:[155,138] width:120 height:16 range:[-9999,9999,0] fieldwidth:fW2
   spinner T_c_area "Crease Area" pos:[155,162] width:120 height:16 range:[0,999,3] fieldwidth:fW2
   spinner T_MaxAngle "Max Angle" pos:[155,186] width:120 height:16 range:[-9999,9999,185] fieldwidth:fW2
   spinner T_eRot "Crease Level" pos:[155,210] width:120 height:16 range:[-9999,9999,0] fieldwidth:fW2
   groupBox grp3 "Landing" pos:[155,240] width:130 height:88
   spinner L_c_center "Crease Center" pos:[155,256] width:120 height:16 range:[-9999,999,0] fieldwidth:fW2
   spinner L_c_area "Crease Area" pos:[155,280] width:120 height:16 range:[1,999,10] fieldwidth:fW2
   spinner L_MaxAngle "Max Angle" pos:[155,304] width:120 height:16 range:[-9999,9999,5] fieldwidth:fW2
   groupBox grp5 "Material" pos:[8,168] width:136 height:161
   checkbox dblsided "Double Sided" pos:[16,183] checked:false
   checkButton frontMat "Select Front Mat." pos:[16,200] width:120 height:16
   checkButton backMat "Select Back Mat." pos:[16,220] width:120 height:16 enabled:false
   button Dif_txt_but "Select Sequence (Dif)" pos:[16,240] width:120 height:16
   groupBox grp6 "Alpha Source" pos:[16,260] width:120 height:65
   radioButtons alphaSource "" pos:[24,276] width:102 height:62 labels:#("Image Alpha", "RGB Intensity", "None (Opaque)") columns:1
   
   groupBox grp7 "Take Apart" pos:[8,335] width:275 height:100
   checkbox enablethorn "Enable Taking Pages Apart" pos:[16,350] checked:false
   spinner apro "Take apart approximately 1/" range:[1,9999,2] fieldwidth:30 type:#integer pos:[16,370] enabled:false
   label ldef1 "of total pages" pos:[200,370] enabled:false
   checkbox rThornGizmo "Randomize Direction" pos:[16,390] checked:true enabled:false
   
   spinner rdegree "" range:[0,360,50] fieldwidth:40 pos:[142,390] enabled:false   
   label ldef2 "degrees" pos:[200,390] enabled:false
   spinner tstart "Take apart between  " range:[0,360,100] fieldwidth:40 pos:[16,413]  enabled:false   
   spinner tend "" range:[0,360,180] fieldwidth:40 pos:[175,413] enabled:false   
   label ldef3 "degrees" pos:[235,413] enabled:false   

   button help "Help" pos:[8,440] width:80 height:24
   checkButton prev "Preview" pos:[107,440] width:80 height:24
   button goo "Go" pos:[204,440] width:80 height:24
      
--------------------------------------------------------------------------------------------------------------------------------------------
   fn updateAS =
   (
      a_s = case alphaSource.state of
      (
         1: 0
         2: 1
         3: 2
      )
   )

on tstart changed value do
(
   takestart=tstart.value
   if tstart.value >= tend.value then tstart.value=tend.value
)
   
   
on tend changed value do
(
   takeend=tend.value
   if tend.value <= tstart.value then tend.value=tstart.value
)

on rThornGizmo changed state do
(
   takeRandom=state
)

on rdegree changed value do
(takeRandomVal=value)
   
on apro changed value do
(apr=apro.value)
   
on enablethorn changed state do
(
   
   if state == true then
   (
   apro.enabled=true
   ldef1.enabled=true
   rThornGizmo.enabled=true
   rdegree.enabled=true
   ldef2.enabled=true
      takeapart=true
      tstart.enabled=true
      tend.enabled=true
      ldef3.enabled=true
   )
   else
   (
   apro.enabled=false
   ldef1.enabled=false
   rThornGizmo.enabled=false
   rdegree.enabled=false
   ldef2.enabled=false
      takeapart=false
      tstart.enabled=false
      tend.enabled=false
      ldef3.enabled=false
   )
(if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value))

)


on alphaSource changed state do updateAS()
   
on help pressed do
(
   messagebox "
   -Page Properties-
      -Page Count: Defines number of pages
      -Page Width: Defines width of each leaf
      -Page Length: Defines width of each leaf
      -Page Gap: Defines gap between pages
      -Length Segments: Defines vertical resolution
      -Width Segments: Defines horizontal resolution
   -Material
   If no Material and sequence is selected, pages wont have any materials.
      -Double Sided: Check to assign seperate materials to the front
      and back of each page. When a sequence is selected with this option,
      It may take longer to assign materials and consumes more memory.
      -Select Front Mat.: When pressed, it pops up material editor. Use the first
      slot of the material editor to assign materials to the front of each page.
      -Select Back Mat.: When pressed, it pops up material editor. Use the first
      slot of the material editor to assign materials to the back of each page.
      -Select Sequence: This image sequence will be used in materials' diffuse maps
      as bitmap texturemaps. Each page will get the corresponding frame of the
      image sequence.
      -Alpha Source: Select the alpha option of the selected image sequence.
   -Flexibility
      This group controls secondary flexibility of each page.
      -Crease Center: Gives offset to the center of the crease
      -Crease Area: Defines the length of the crease area. Larger numbers means
      smoother creases.
      -Max Angle: Defines the maximum angle of the secondary flexibility.
      -Randomize Gizmo: Randomizes orientation of the corresponding gizmo by 25 degrees
   -Turn
      This group controls main turning animation
      -Crease Center: Gives offset to the center of the crease
      -Crease Area: Defines the length of the crease area. Larger numbers means
      smoother creases.
      -Max Angle: Defines the maximum angle of the page.
   -Landing
      This group controls the smoothness of page when landing to the ground.
      -Crease Center: Gives offset to the center of the crease
      -Crease Area: Defines the length of the crease area. Larger numbers means
      smoother creases.
      -Max Angle: Defines the maximum angle of landing crease.
   
   -Take Apart
      This group controls the pages which will taken apart from the book.
      -Enable Taking Pages Apart checkbox: Check this box to make pages removable.
      -Take apart approximately 1/n of total pages: It will define the percentage of the pages
      which will be effected.
      -Randomize Direction: Pages will get random directions within the given value.
      For example, if it is 10, pages will be send at random directions between -10 and +10 degrees
      -Take apart between n degrees: It will define at what angle pages will be removed from the book.
      
   -Preview
      Use this option to preview creases, landing, page count, page gap etc.
      When pressed, it only simulates one frame, the animation can be checked by
      scrubbing the time slider.
      
   -Go
      Press to rig the Book. You can animate the pages through Master_Control
      point object
   "
)

on dblsided changed state do
            if(state==true) then
      (
         BackMat.enabled = true
         doubleS=true
      )
      else
      (
         BackMat.enabled = false
         doubleS=false
      )
      --------------------------------------------
         on FrontMat changed state do
            (
            if state == on and dblsided.checked == false then
            (
            backMat.enabled = false
            )
            if state == off and dblsided.checked == true then
            (
            backMat.enabled =true
            )
                if(state==true) then
                (
               backupM=meditMaterials[1]
                    MatEditor.Open()
                    medit.setactivemtlslot 1 true
                    if(FrontMaterial==undefined) then
                        meditMaterials[1]=standardMaterial()
                    else
                        meditMaterials[1]=FrontMaterial
                   FrontMat.text="Click When Done"   
                   
                )
                else
                (
                    MatEditor.close()
                    if((classof meditMaterials[1]) == standard or (classof meditMaterials[1]) == Arch___Design__mi or (classof meditMaterials[1]) == VRayMtl) then
                    (
                       FrontMaterial=meditMaterials[1]
                        FrontMat.text=FrontMaterial.name + " ( " +((classof FrontMaterial) as string) +" )"
                  meditMaterials[1]=backupM
                    )
                    else
                    (
                        messagebox "Only Standard, Arch Design (Mental Ray) or Vray Materials!!"
                  FrontMat.text="Select Front Material"
                    )
                )
               
            )
         
         ---------------------------
         
         on FrontMat rightclick do
         (
            if keyboard.shiftPressed == true then
            (
            FrontMaterial = undefined
            FrontMat.text="Select Front Material"
            )
         )
         
         ------------------------------
         
         on BackMat changed state do
            (
            if state == on then
            (
            frontmat.enabled = false
            )
            else
            (
            frontmat.enabled =true
            )

                if(state==true) then
                (
               backupM=meditMaterials[1]
                    MatEditor.Open()
                    medit.setactivemtlslot 1 true
                    if(BackMaterial==undefined) then
                        meditMaterials[1]=standardMaterial()
                    else
                        meditMaterials[1]=BackMaterial
                  BackMat.text="Click When Done"   
                   
                )
                else
                (
                    MatEditor.close()
                    if((classof meditMaterials[1]) == standard or (classof meditMaterials[1]) == Arch___Design__mi or (classof meditMaterials[1]) == VRayMtl) then
                    (
               BackMaterial=meditMaterials[1]
               
               BackMat.text=BackMaterial.name + " ( " +((classof BackMaterial) as string) +" )"
                  meditMaterials[1]=backupM
                    )
                    else
                    (
                        messagebox "Only Standard, Arch Design (Mental Ray) or Vray Materials!!"
                  BackMat.text="Select Front Material"
                    )
                )
               
            )
         
         ------------------------------
         
         on BackMat rightclick do
         (
            if keyboard.shiftPressed == true then
            (
            BackMaterial = undefined
            BackMat.text="Select Back Material"
            )
         )
         
         ------------------------------
         
         on Dif_txt_but pressed do
         (
            BM = selectBitmap ()
            if BM.numframes < 2 then
            (
               messagebox "please select an image sequence"
               BM=undefined
            )
            if BM != undefined then
            (Dif_txt_but.text = BM.filename)
         )
         
         on Dif_txt_but rightclick do
         (
         if keyboard.shiftPressed == true then
         (
         BM = undefined
         Dif_txt_but.text="Select Sequence (Diffuse)"
         )
         )
         


--------------------------------------------------------------------------------------------------------------------------------------------      
      
      label l1 "Book Rigger V2.21" 
      label l2 "Created by Arda Kutlu" 
      HyperLink website "www.ardakutlu.com"  address:"http://www.ardakutlu.com" color:blue hovercolor:orange visitedcolor:blue align:#center across:2
      label l3 "Copyright © 2008" 
      on PRig close do
      (if prev.checked == true then (delete $preview_page / delete $preview_dups*))
      
      on pcount changed value do
      (if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value))

      on pwidth changed value do
      (if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value))
      
      on plength changed value do
      (if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value))
   
      on pgap changed value do
      (if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value))
      
      on lsegments changed value do
      (if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value))

      on wsegments changed value do
      (if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value))

      on F_c_center changed value do
      (if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value))

      on F_c_area changed value do
      (if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value))

      on F_MaxAngle changed value do
      (if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value))
      
      on T_c_center changed value do
      (if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value))
      
      on T_c_area changed value do
      (if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value))

      on T_MaxAngle changed value do
      (if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value))

      on T_eRot changed value do
      (if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value))

      on L_c_center changed value do
      (if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value))

      on L_c_area changed value do
      (if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value))

      on L_MaxAngle changed value do
      (if prev.checked == true then (preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value))


      
      on prev changed state do
      (
         if prev.checked==on then
         (
         preview_page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value
         )
         else
         (
         delete $preview_page
         delete $preview_dups*
         )
      )
      
      on goo pressed do
      (
         if prev.checked==on then
         (
      
            delete $preview_page
            delete $preview_dups*
            prev.checked=off
            p_math=0 -- reset counter for image sequence
            IFL_File=undefined
         )

            
         page_rig pcount.value pwidth.value plength.value pgap.value lsegments.value wsegments.value F_c_center.value F_c_area.value F_MaxAngle.value F_Random.state T_c_center.value T_c_area.value T_MaxAngle.value L_c_center.value L_c_area.value L_MaxAngle.value T_eRot.value
      )
   )

   createDialog PRig 292 525
   )
)


Ouvre le dans un éditeur de texte (notepad? dreamweaver?) et remplace toutes les variables par leurs traductions dans la version de MaxFR.

Avatar de l’utilisateur
Galdon
Administrateur du site
Administrateur du site
 
Messages: 2188
Inscription: 06 Sep 2008, 22:05

Re: Problème de script

Messagede Galdon » 11 Fév 2010, 19:11

C'est la loose ça, les expressions sur After Effects c'est pareil, le nom de certaines fonctions change en fonction de la langue, c'est nawak.

Tu peux utiliser notepad++, il est bien pour chercher-remplacer.
"Si tu veux me parler, envoie-moi un... FAX !" - George Abitbol

Avatar de l’utilisateur
Arthurluth
 
Messages: 41
Inscription: 02 Jan 2010, 10:49

Re: Problème de script

Messagede Arthurluth » 12 Fév 2010, 12:06

Merci pour l'astuce.

En fait j'ai directement contacté Arda, qui est très accessible. J'arrive maintenant à avoir du résultat ; mais je devrai certainement changer des termes. Si j'arrive à quelque chose de nickel, j'en ferai profiter tout le monde ;) (du moins les rois fainéant qui se butent à la version FrANçaise !! Môssieur)

Suivante

Retourner vers 3D Studio Max

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités