Skocz do zawartości

Rekomendowane odpowiedzi

Napisano

Witam wszystkich. Mam dziwny problem a dokladnie to zaczolem pisac swoj pierwszy script :D. i narazie wszystko wmiare idzie gdyby nie to ze niewiem co sie dzieje oto co narazie napisalem :

rollout ob_roll \"Obiekt\" width:160 height:184

(

radiobuttons rdo2 pos:[35,20] width:49 height:46 labels:#(\"Poly\", \"Mesh\") default:1

label lb2 \"Create Box, convert to Edit Tablet: \" pos:[10,45]

button b1 \"Do It\" pos:[70,70]

 

on b1 pressed do

(

pot = box length:l.value width:w.value height:h.value

pot.name = \"Box01\"

)

)

rollout rozm_roll \"Dlugosc, Szerokosc, Wysokosc\" width:160 height:184

(

Spinner l \"Length: \"range[0,999,30] type:#float

Spinner w \"Width: \"range[0,999,30] type:#float

Spinner h \"Height: \"range[0,999,30] type:#float

)

rollout opcje_roll \"Opcje\" width:160 height:184

(

)

rollout info_roll \"Info\" width:160 height:64

(

label lbl2 \"Autor: CoRnS\" pos16,32] width:136 height:16

)

mainfloater = newRolloutFloater \"Creator\" 201 240

addrollout ob_roll mainfloater

addrollout rozm_roll mainfloater

addrollout opcje_roll mainfloater

addrollout info_roll mainfloater

 

i problem jest taki, ze jak dam Ctrl+E [Evaluate All] to podswietla mi taka linijke : Spinner l \"Length: \"range[0,999,30] type:#float

[z tego co wiem to oznacza blad]

Dla jasnosci uzywam 3ds max 6.

Pozdrawiam i z gory dzieki za pomoc.:)

  • Odpowiedzi 8
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Top Posters In This Topic

Napisano

To tylko literowki.

W definicji spinerow brakuje dwukropkow po range, powinno byc: Spinner l \"Length: \"range:[0,999,30] type:#float

I dalej jeszcze w labelu lbl2, gdzie powinno byc pos:[16,32] zamiast pos16,32]

Napisano

Dzieki joz poprawilem. Ale znowu cos nie tak bo gdy chce utwozyć boxa [klikam na bbuttona] to wyskakuje mi okienko \"--Unknow property:\"value\" in undefined\" :)

Napisano

Problem leży w zasięgu działania zmiennych.. coś czego nigdy nie lubiłem bo czasem można się przez to dłuugo wpatrywać w monitor ;) po prostu w rollout\'cie z buttonem ta zmienna jest niewidoczna

 

Jeżeli te 3 linie:

Spinner l \"Length: \"range[0,999,30] type:#float

Spinner w \"Width: \"range[0,999,30] type:#float

Spinner h \"Height: \"range[0,999,30] type:#float

 

umieściłbyś w tym samym rollout\'cie co button, wszystko było by ok.

 

Ja rozwiązałbym to tak, że wartości te przenosiłbym poprzez zmienne.

Całość po moich poprawkach wyglądałaby tak:

global wid = 30
global len = 30
global hei = 30
rollout ob_roll \"Obiekt\" width:160 height:184 
( 
radiobuttons rdo2 pos:[35,20] width:49 height:46 labels:#(\"Poly\", \"Mesh\") default:1 
label lb2 \"Create Box, convert to Edit Tablet: \" pos:[10,45] 
button b1 \"Do It\" pos:[70,70] 

on b1 pressed do 
( 
pot = box length:len width:wid height:hei 
pot.name = \"Box01\" 
) 
) 
rollout rozm_roll \"Dlugosc, Szerokosc, Wysokosc\" width:160 height:184 
( 
Spinner l \"Length: \"range:[0,999,30] type:#float 
on l changed val do len = l.value
Spinner w \"Width: \"range:[0,999,30] type:#float 
on w changed val do wid = w.value
Spinner h \"Height: \"range:[0,999,30] type:#float 
on h changed val do hei = h.value
) 
rollout opcje_roll \"Opcje\" width:160 height:184 
( 
) 
rollout info_roll \"Info\" width:160 height:64 
( 
label lbl2 \"Autor: CoRnS\" pos:[16,32] width:136 height:16 
) 
mainfloater = newRolloutFloater \"Creator\" 201 240 
addrollout ob_roll mainfloater 
addrollout rozm_roll mainfloater 
addrollout opcje_roll mainfloater 
addrollout info_roll mainfloater

 

a teraz krótki opis

-zaraz na poczatku zadeklarowalem zmienne przypisujac im wartosci poczatkowe spinnerow

-w pot = box.... odwoluje sie do wartosci zmiennych a nie spinnerów

-dodatkowe linie: on (nazwa) changed do ... sprawia ze przy kazdej zmianie spinnera nowa wartosc od razu ląduje także w zmiennej.

 

Ogólnie rozwiązanie to pewnie prowizorka, ale tyle mogę pomóc :)

 

w odpowiedzi na poniższe rozwiązanie lechoo:

heh, ja przy tym pół godziny dłubałem a to o tyle prostsze było :) no ale człowiek uczy się całe życie

 

Napisano

Mozna to zrobic jeszcze inaczej. Wystarczy odwolac sie do spinera przez nazwe rolloutu czyli np. rozm_roll.l.value. Wtedy wartosc ta powinna byc widoczna w innych rolloutach.

Napisano

Dzieki wielkie nareszcie dziala :). Mam jeszcze pytanie do lechoo: probowalem zrobic tak jak ty pisales ale wyskakuje mi msg \"--Unknow property:\"l\" in undefined\"

Mozesz mi wyjasniec czemu tak sie dzieje [i co to jest to l pomiedzy tymi kropkami ?? :) Jeszcze raz dzieki wielkie :)

Napisano

ja podpowiem, że \"l\" to nazwa twojego spinnera :)

 

a komunikat pojawia się takjakby wciąż ta wartość nie była osiągalna :| ja jeszcze tego nie mialem okazji przetestować, więc bedzie musiał tu lechoo zajrzeć :)

Napisano

Musisz zamienic miejscami rozm_roll i ob_roll. Najpierw ten w ktorym zdefiniowane sa spinnery a potem ten w ktorym sie do nich odwolujesz. Nie wiem czemu tak, max script ma takie rozne fanaberie :)

 

Przerobiony skrypt wyglada tak:

 

rollout rozm_roll \"Dlugosc, Szerokosc, Wysokosc\" width:160 height:184

(

Spinner l \"Length: \"range:[0,999,30] type:#float

Spinner w \"Width: \"range:[0,999,30] type:#float

Spinner h \"Height: \"range:[0,999,30] type:#float

)

 

rollout ob_roll \"Obiekt\" width:160 height:184

(

radiobuttons rdo2 pos:[35,20] width:49 height:46 labels:#(\"Poly\", \"Mesh\") default:1

label lb2 \"Create Box, convert to Edit Tablet: \" pos:[10,45]

button b1 \"Do It\" pos:[70,70]

 

on b1 pressed do

(

pot = box length:rozm_roll.l.value width:rozm_roll.w.value height:rozm_roll.h.value

pot.name = \"Box01\"

)

)

 

rollout opcje_roll \"Opcje\" width:160 height:184

(

)

rollout info_roll \"Info\" width:160 height:64

(

label lbl2 \"Autor: CoRnS\" pos:[16,32] width:136 height:16

)

mainfloater = newRolloutFloater \"Creator\" 201 240

addrollout ob_roll mainfloater

addrollout rozm_roll mainfloater

addrollout opcje_roll mainfloater

addrollout info_roll mainfloater

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności