Siguiendo paso a paso max script (NO SALIO)

Cuestiones sobre el Rig de Personajes 3D

Moderadores: David, Tutores

Responder
jefouilloux
Iniciado
Iniciado
Mensajes: 16
Registrado: Lun Abr 08, 2013 5:01 am
Alumno: NO

Siguiendo paso a paso max script (NO SALIO)

Mensaje por jefouilloux »

alo... andaba siguiendo el tutorial de iker para el script de renombrar objetos, pero me sigue saliendo los siguientes errores
line: 4
Syntax error: at rollout, expected while
-- In line: rollout m
line: 46
-- Type error: CreateDialog requires RolloutClass, got: undefined

Despues de checarlo demasiadas veces, SEGUN YO TODO ESTA BIEN!!! A continuacion dejo el codigo (que segun yo es el mismo que el de iker, con la ligera diferencia que este no funciona). Espero alguien pueda ver el M$%#$ error.

if miRenombrador != undefined then do destroyDialog miRenombrador
-- esta linea evita que cada vez que te se llama a la funcion se creen nuevas ventantanas.

rollout miRenombrador "Untitled" width:281 height:133
--clase nombre intereno "nombre del titulo" ancho y alto
(
--functions
fn renombraObj cadena1 cadena2 =
(
if selection.count >0 do
-- checa si algo esta seleccionado y solo si si, ejecuta el codigo
(
for eachObj in selection do
(
myStr = substituteString eachObj.name "cadena1" "cadena2"
eachObj.name = myStr
)
)
else
(
messageBox "Selecciona algo porfavor"
-- si no se cumple la condicion crea un popup con el texto dentro

)
)
comboBox cbx2 "Renombra" pos:[110,51] width:0 height:1
button Renombra "Renombra" pos:[163,94] width:84 height:21
groupBox datos_grp "Datos" pos:[10,11] width:261 height:113
editText in_txt "Original" pos:[26,33] width:220 height:21
editText innew_txt "Nuevo" pos:[26,64] width:220 height:21
on Renombra pressed do
(
renombraObj in_txt.text innew_txt.text

)
/* on in_txt entered text do
(
)
*/


createDialog miRenombrador 285 137

--aqui chilla!

ikerJ
Miembro Vip
Miembro Vip
Mensajes: 212
Registrado: Mar Jun 15, 2010 9:21 pm

Re: Siguiendo paso a paso max script (NO SALIO)

Mensaje por ikerJ »

El problema lo tienes en los condicionales. Una sentencia 'if' puede ir acompaña de 'do', de 'then' o de 'then + else'. En la primera línea tienes 'if + then + do'. Ése es un error.

Más abajo, tienes 'if + do + else', cuando debería ser 'if + then + else'. Y te falta un paréntesis. Éste es el código corregido: compáralo con el tuyo ;-)

Código: Seleccionar todo

if miRenombrador != undefined do destroyDialog miRenombrador
-- esta linea evita que cada vez que te se llama a la funcion se creen nuevas ventantanas.

rollout miRenombrador "Untitled" width:281 height:133
--clase nombre intereno "nombre del titulo" ancho y alto
(
--functions
	fn renombraObj cadena1 cadena2 =
	(
		if selection.count >0 then
		-- checa si algo esta seleccionado y solo si si, ejecuta el codigo
		(
			for eachObj in selection do
			(
				myStr = substituteString eachObj.name "cadena1" "cadena2"
				eachObj.name = myStr
			)
		)
		else
		(
		messageBox "Selecciona algo porfavor"
		-- si no se cumple la condicion crea un popup con el texto dentro
		)
	)
	comboBox cbx2 "Renombra" pos:[110,51] width:0 height:1
	button Renombra "Renombra" pos:[163,94] width:84 height:21
	groupBox datos_grp "Datos" pos:[10,11] width:261 height:113
	editText in_txt "Original" pos:[26,33] width:220 height:21
	editText innew_txt "Nuevo" pos:[26,64] width:220 height:21
	on Renombra pressed do
	(
		renombraObj in_txt.text innew_txt.text

	)
/* on in_txt entered text do
(
)
*/
)

createDialog miRenombrador 285 137

jefouilloux
Iniciado
Iniciado
Mensajes: 16
Registrado: Lun Abr 08, 2013 5:01 am
Alumno: NO

Re: Siguiendo paso a paso max script (NO SALIO)

Mensaje por jefouilloux »

Muchas gracias Iker! ya lo habia encontrado despues de leerlo como 30 mil veces ! jejeje

Responder

Volver a “Rigging de Personajes 3D”