توضیحات جامع کدها و دستورات MaxScript

Elton John

Member
با سلام

دوستان در این تاپیک توضیحات کوتاه درباره کدها و دستورات مکس اسکریپت داده میشه
متاسفانه منبع کامل و درستی جز هلپ گنگ مکس اسکریپت وجود نداره


دوستان در اینجا درباره نحوه نوشتن اسکریپت و یا شروع اسکریپت نویسی در مکس توضیح داده نمیشه , صرفا فقط کد مربوطه نوشته و توضیح کوتاهی در مورد عملکرد داده خواهد شد مثال هم تا جایی که ممکنه گذاشته خواهد شد

نحوه نوشتن کدها:

عنوان پست به صورت کد1 کد2 کد3 الی آخر تعیین میشه تا کدها راحتر پیدا بشه
کد مربوطه نوشته شده و مثالی در موردش زده میشه در صورت نیاز و سوال توضیحات بیشتر داده میشه


کدهایی که کارایی آنها مشخص است و گنگ نیستند به رنگ آبی :green::evil:

کدهایی که کارایی آنها مشخص است ولی بعضی پارامترهای آن نامشخص است به رنگ
قرمز :idea:
:neutral:

کدهایی که غیر قابل فهم هستند ولی اشاره به موضوعی دارند گذاشته میشن تا دوستانی که چیزی از کد فهمیدن پست مربوطه اصلاح بشه و تغییر رنگ بده رنگ مربوطه مشکی :-?:?:

دوستان دیگر هم اگه میتونن برای پیشبرد این تاپیک کمک کنن تا یک منبع جامع در مورد مکس اسکریپت بشه

با تشکر

 

Elton John

Member
کد 1

کد 1 _آبی

دستور:



کد:
[LEFT][COLOR=Blue][B][FONT=Courier New][SIZE=2]move  name_obj [<x,y,z>][/SIZE][/FONT][/B][/COLOR][/LEFT]


توضیح:
حرکت و جابجا کردن موضوع یا موضوعات در محورهای xyz مقادیر به صورت Relative

مثال:

کد:
move $box001 [0,5,3.5]
 
آخرین ویرایش:

Elton John

Member
کد 2 _آبی

دستور :

کد:
obj.POS = [x,y,z]
حرکت و جابجا کرد موضوع یا موضوعات در حالتی که محور مختصاتی برای تعیین کرده باشیم در واقع حرکت موضوع بر اساس فاصله موضوع از محور مختصات مقادیر absoulote هستند


مثال:
کد:
$box001.pos = [2.586,0.855,42]
 

Elton John

Member
کد3_آبی:

دستور:

کد:
[LEFT]scale  name_obj [<x,y,z>][/LEFT]


توضیح:
اسکیل یا تغییر مقیاس یک موضوع در محورهای xyz این دستور مقادیر را به صورت relative وارد میکند
مقادیری مانند 1 در ویوپورت 100 دیدیه میشود اگه شما یک موضوع را 2 واحد اسکریپتی اسکیل کنید
در ویوپورت 200 دیده میشود

مثال:

کد:
scale $box001 [4.5,2,3]

 

Elton John

Member
کد4_آبی

دستور:

کد:
[SIZE=2]rotate Obj [/SIZE][FONT=Courier New][SIZE=2]eulerangles x y z [/SIZE][/FONT]
توضیح :
چرخش در مکس اسکریپت به سه صورت محاسبه میشه

Euler Angles مقادیر درجه ای
Quaternions مقادیر ناحیهای مربوط به مثلثات
Angleaxis مقادیر درجه ای بر اساس محور از پیش تعیین شده

مقادیر به صورت relative هستند

مثال1:

کد:
rotate $sphere001 (eulerangles 0 30 0)





کد:
[LEFT][SIZE=2][COLOR=Blue][B][FONT=Courier New]rot_box =  eulerangles 0 30 0[/FONT][/B][/COLOR][/SIZE]
[SIZE=2][COLOR=Blue][B][FONT=Courier New]rotate  mybox rot_box[/FONT][/B][/COLOR][/SIZE][/LEFT]









 
آخرین ویرایش:

Elton John

Member
توضیحات اختصاری درباره همه چی_1

وارد کردن اعداد اعشاری در مکس اسکریپت:

کد:
1.5
0.85
85.
1.
1.0
5.
45.23589

وارد کردن اعداد صحیح در مکس اسکریپت:
کد:
1
25
85
45
0
123589

وارد کردن متغیر های عددی در مکس اسکریپت:
کد:
a=10
majidonline = 20
mynum = 2.56589
wowowowo = 14.52
وارد کردن متون یا string در مکس اسکریپت:
کد:
"majidonline is best"
" salam khoobi???"

""
"young animator"

 

Elton John

Member
توضیحات اختصاری درباره همه چی_2

Variable یا متغیر

در واقع مقادیری هستند که در آنها مقادیر دیگر ذخیره میشوند

مثال:

کد:
a=45
mybox1 = box pos:[10,45,25]

b=14
c=58
d=b*c

چرا بهشون میگیم متغیر یا variable ??
چون مقادیر ذخیره شده در آنها هر لحظه ممکنه تغییر کنه و با مقادیر دیگر جایگزین بشن یا ازشون مقادیری کم بشن یا اضافه بشن

مثال:

کد:
a=10
a=10*2
a=50
a="hello"
a=sin 45
a=45.23599*2 * cos 35 

a = box()
 

Elton John

Member
کد5_آبی

دستور:


کد:
--your discription

توضیح:
زمانی که شما اسکریپت نویسی میکنید ممکنه با کدها و خط کدهای زیادی سرو کله بزنید بعضی وقتها یادتون میره
این کدو برای چی نوشتید یا دوست دارید توضیحی در مورد کدها بنویسید تا بهتون یاداوری کنه
برای این کار از فرمول بالا استفاده میکنید

این توضیحات کاری به اجرا و عملکرد کدها ندارند صرفا فقط توضیح هستند

مثال:

کد:
mySphere= 10  [COLOR=Teal]--mySphere  is a radius[/COLOR]


کد:
mybox = box() [COLOR=Green]--this code create a box in viewport[/COLOR]
 

Elton John

Member
مجموع کد 6_آبی

توضیحات:


ابزار مقایسه برای مقایسه بین دو مقدار بکار میروند مقادیر میتوانند عدد باشند یا هر چیز دیگه ای

جواب در این کدها با مقادیر true یا درست و false یا نادرست داده میشن


کد:
<compare_operand>  ==<compare_operand> -- equal

توضیح : آیا این دو مقدار باهم برابرند

مثال:

کد:
10 ==10

جواب:
true


کد:
<compare_operand>!= <compare_operand> -- not equal[FONT=Courier New][SIZE=2]
[/SIZE][/FONT]
توضیح :آیا این دو مقدار باهم برابر نیستند

مثال:

کد:
10 != 5

جواب:
true


کد:
<compare_operand> >  <compare_operand> -- greater than

توضیح :آیا این مقدار از اون یکی بزرگتره

مثال:

کد:
8>125

جواب:
false

کد:
<compare_operand> <  <compare_operand> -- less than






توضیح :آیا این مقدار از اون یکی کوچکتره

مثال:

کد:
8 < 125

جواب:
true



کد:
<compare_operand> >=  <compare_operand> -- greater than or equal
توضیح :آیا این مقدار بزرگتر یا مساوی اون مقداره

مثال:

کد:
35 >= 35

جواب:
true

کد:
<compare_operand> <=  <compare_operand> -- less than or equal

توضیح:آیا ایم مقدار کوچکتر یا مساوی او یکی هست

مثال:

کد:
450 <= 100

جواب:

false
 

Elton John

Member
کد7_آبی

شکل کلی strings رشته ها

کد:
[/B][/COLOR][LEFT][COLOR=Blue][B][FONT=Courier New][SIZE=2]"<characters>"[/SIZE][/FONT][/B][/COLOR][/LEFT]
[COLOR=Blue][B]


توضیح:
مجموعه کاراکترهایی از هر نوع کاراکتر بدون محدودیت طولی در نوشتن استرینگ
مجموعه کاراکترهایی که کاربردهای مختلفی و فراوان دارند

مثال:

کد:
"c:\myfolder\mypicture.jpg"

"i write any thing"

"hello"


 

Elton John

Member
کد8_آبی

دستور :

کد:
[LEFT][FONT=Courier New][SIZE=2]<value> [/SIZE][/FONT][B][FONT=Courier New][SIZE=2]as string[/SIZE][/FONT][/B][/LEFT]

توضیح :
تبدیل مقادیر مختلف به یک string طبق دستور بالا
مقادیر میتوانند هر چیزی باشند تا به string تبدیل بشن
مانند names , مقادیر عددی,خروجی های اجرای دستور,....

مثال:

کد:
a=10
a
a as string

جواب:

کد:
10
10
"10"

مثال2:

کد:
mybox = $box001
mybox as string

جواب:
کد:
$Box:Box001 @ [25.049650,-68.421867,0.000000]

" $Box:Box001 @ [25.049650,-68.421867,0.000000]"
 

Elton John

Member
کد9_آبی

Properties


دستور:

کد:
[LEFT][FONT=Courier New][SIZE=2]<string>.[/SIZE][/FONT][B][FONT=Courier New][SIZE=2]count[/SIZE][/FONT][/B][FONT=Courier New][SIZE=2] :  Integer, read-only[/SIZE][/FONT][/LEFT]


توضیح:
شمارش تعداد کاراکتر ها در یک استرینگ
مقدار خروجی به صورت یک عدد صحیح است
فاصله ها هم جزئ کاراکترها شمرده میشن

مثال :

در این استرینگ 22 کاراکتر موجود است


کد:
MJ_online  = "majid is always online"
"majid is always online"




MJ_online
"majid is always online"


MJ_online.count
22
 
آخرین ویرایش:

Elton John

Member
کد10_آبی

Operators

دستور:

کد:
[LEFT][FONT=Courier New][SIZE=2]<string> + <string>[/SIZE][/FONT][/LEFT]



توضیح:

اضافه کردن یک استرینگ به استرینگ دیگر
و یا همان جمع کردن دو یا چند استرینگ با هم که خروجی یک string خواهد بود


مثال:

کد:
a = "hello"
"hello"


b = " how are "
" how are "


c= "you"
"you"



D = a+b+c
"hello how are you"
 

Elton John

Member
مجموع کد 11_ آبی

دستورات:

کد:
[LEFT][FONT=Courier New][SIZE=2]<string> == <string>[/SIZE][/FONT][/LEFT]
 [LEFT][FONT=Courier New][SIZE=2]<string> != <string>[/SIZE][/FONT][/LEFT]
 [LEFT][FONT=Courier New][SIZE=2]<string> > <string>[/SIZE][/FONT][/LEFT]
 [LEFT][FONT=Courier New][SIZE=2]<string> < <string>[/SIZE][/FONT][/LEFT]
 [LEFT][FONT=Courier New][SIZE=2]<string> >= <string>[/SIZE][/FONT][/LEFT]
 [LEFT][FONT=Courier New][SIZE=2]<string> <= <string>[/SIZE][/FONT][/LEFT]

توضیح:
مقایسه حرفی بین string ها که نتیجه true یا false خواهد شد
حساس به حروف کوچک و بزرگ
اگه نمیخواهید به حروف کوچک یا بزرگ حساس باشد به یک مقدار اسمی تبدیل شود

مثال 1:

کد:
"ab" == "AB"
 false

مثال2:

کد:
" a" == "a"
false

مثال3:

کد:
"mystring" <"mystring  "
true
 

Elton John

Member
کد12_آِّبی

دستور:


کد:
[LEFT][FONT=Courier New][SIZE=2]<string>[/SIZE][/FONT][B][FONT=Courier New][SIZE=2][[/SIZE][/FONT][/B][FONT=Courier New][SIZE=2]<index_number>[/SIZE][/FONT][B][FONT=Courier New][SIZE=2]][/SIZE][/FONT][/B][/LEFT]

توضیح:
کاراکتر مورد نظر رو براساس index یا شماره وارده بیان میکنه

مثال:
کاراکتر پنجم ما g است


کد:
a = "young animator"
"young animator"

b = a[5]
"g"
 

Elton John

Member
کد13_آبی

دستور:

کد:
[LEFT][FONT=Courier New][SIZE=2]<string>[/SIZE][/FONT][B][FONT=Courier New][SIZE=2][[/SIZE][/FONT][/B][FONT=Courier New][SIZE=2]<index_number>[/SIZE][/FONT][B][FONT=Courier New][SIZE=2]][/SIZE][/FONT][/B][FONT=Courier New][SIZE=2] =  <single_character_string>[/SIZE][/FONT][/LEFT]

توضیح:
جایگزین کردن یک کاراکتر با کارکتر دیگر در یک رشته یا string

مثال:

کد:
a = "yoong animator"
"yoong animator"

b = (a[3] = "u")
"u"

a
"young animator"
 

جدیدترین ارسال ها

بالا