1.物件或人物名稱
2.物件或人物位置
3.物件或人物的角度
4.物件或人物的速度
5.物件的擁有者
6.物件的Group
7.物件的創造者
8.物件的敘述
這個method是會回傳一個list屬性,而你必須輸入一個key值的參數和一個list的參數。key值的參數就是一個物件或人物的id,在Second Life裡面每個人事物都有個id,其實也就是老師上課提到的UUID。而另一個list是要輸入什麼呢?就是你想要知道的 資訊,比如說,你想要知道該key值為"00000000-0000-0000-0000-000000000000"的物件名稱,你可以寫:
key id= "00000000-0000-0000-0000-000000000000";
list testList=llGetObjectDetails( id,[OBJECT_NAME]);
他就會把這個key值名稱放入testList了,而想要say出來變成字串,只要多多利用List的llList2String(list src, integer index)(或llList2Key、llList2Rot、llList2Float、llList2Vector、llList2Integer),總之相當於get(index)取LinkedList裡面的東西就是了,只是LSL這個list他裡面能放的東西屬性不唯一。
所有的參數如下表格:
參數 | 變數型態 | 如果key值為物件 | 如果key值為人 |
OBJECT_NAME | string | 回傳物件名稱,有一點像 llKey2Name 這個method。 | 回傳該key值的人物名稱。 |
OBJECT_DESC | string | 回傳該物件敘述 | 回傳空字串 |
OBJECT_POS | vector | 回傳該物件位置 | 回傳該人物位置 |
OBJECT_ROT | rotation | 回傳該物件角度 | 回傳該人物角度 |
OBJECT_VELOCITY | vector | 回傳該物件的速度 | Returns agent velocity. |
OBJECT_OWNER | key | 回傳擁有者的key值 如果該物件被Deed給某Grouo的話,回傳NULL_KEY | 回傳該人的key值 |
OBJECT_GROUP | key | 回傳該物件的Group | 回傳NULL_KEY |
OBJECT_CREATOR | key | 回傳該物件的創造者 | 回傳NULL_KEY |
其實和這個類似的method有:llGetKey、llGetCreator、llGetObjectName……等,但是這些都是只能得知該Script的物件相關訊息而已。 並不像我現在介紹的llGetObjectDetails那麼廣。
而得知這些訊息有什麼用?像是llGetCreator我就認為超有用的,這個在我們專題開發時並沒有這個method,害我們不能百分之百過濾不是我們 的武器打到怪物不會損血(我們是判斷物件名字與物件的Group)。而像是得知一個人的位置,我也可以寫一個一直追你的Robot。
沒有留言:
張貼留言