Difference between revisions of "User:Ugleh Ulrik/Vector2List"
Jump to navigation
Jump to search
Ugleh Ulrik (talk | contribs) |
(this is sooooo wrong.) |
||
Line 1: | Line 1: | ||
With many requests on how to easily store a vector to a list, mainly for purposes in storing a [ | With many requests on how to easily store a vector to a list, mainly for purposes in storing a [[llGetPos]]() only to capture the x and y cords, this is a simple way. | ||
For Example | For Example | ||
<lsl>list thislist = Vector2List(llGetPos());</lsl> | |||
As a list, would output | |||
<lsl>list thislist = [x, y, z];</lsl> | |||
'''Function''' | |||
<lsl> | |||
list Vector2List(vector v){ | |||
return [v.x, v.y, v.z]; | |||
} | |||
</lsl> | |||
===A Bad Example=== | |||
'''Do Not Do This''' | |||
<lsl> | |||
list Vector2List(vector v){ | |||
return [v.x, v.y, v.z]; | |||
} | |||
default | |||
{ | |||
touch_start(integer total_number) | |||
{ | |||
vector pos = llGetPos(); | |||
list thislist = Vector2List(pos); | |||
string x = llList2String(thislist,0); | |||
string y = llList2String(thislist,1); | |||
string z = llList2String(thislist,2); | |||
llOwnerSay("X Axis: " + x); | |||
llOwnerSay("Y Axis: " + y); | |||
llOwnerSay("Z Axis: " + z); | |||
} | |||
} | |||
</lsl> | |||
'''Here is the correct way to do this''' | |||
<lsl> | |||
< | |||
list Vector2List(vector v){ | list Vector2List(vector v){ | ||
return [v.x, v.y, v.z]; | |||
} | } | ||
default | |||
< | { | ||
touch_start(integer total_number) | |||
{ | |||
vector pos = llGetPos(); | |||
llOwnerSay("X Axis: " + pos.x); | |||
llOwnerSay("Y Axis: " + pos.y); | |||
llOwnerSay("Z Axis: " + pos.z); | |||
} | |||
} | |||
</lsl> | |||
===A Good Example=== | |||
<lsl> | |||
list Vector2List(vector v){ | list Vector2List(vector v){ | ||
return [v.x, v.y, v.z]; | |||
} | } | ||
default | default | ||
{ | { | ||
Line 28: | Line 69: | ||
touch_start(integer total_number) | touch_start(integer total_number) | ||
{ | { | ||
list size = Vector2List(llGetScale()); | |||
list sorted_size = llListSort(size, 1, 0); | |||
llOwnerSay("<"+llList2CSV(sorted_size)+">"); | |||
llOwnerSay(" | |||
} | } | ||
} | } | ||
</ | </lsl> |
Revision as of 18:36, 21 April 2010
With many requests on how to easily store a vector to a list, mainly for purposes in storing a llGetPos() only to capture the x and y cords, this is a simple way.
For Example <lsl>list thislist = Vector2List(llGetPos());</lsl> As a list, would output <lsl>list thislist = [x, y, z];</lsl>
Function <lsl> list Vector2List(vector v){
return [v.x, v.y, v.z];
} </lsl>
A Bad Example
Do Not Do This <lsl> list Vector2List(vector v){
return [v.x, v.y, v.z];
}
default {
touch_start(integer total_number) { vector pos = llGetPos(); list thislist = Vector2List(pos);
string x = llList2String(thislist,0); string y = llList2String(thislist,1); string z = llList2String(thislist,2); llOwnerSay("X Axis: " + x); llOwnerSay("Y Axis: " + y); llOwnerSay("Z Axis: " + z); }
} </lsl>
Here is the correct way to do this
<lsl> list Vector2List(vector v){
return [v.x, v.y, v.z];
}
default {
touch_start(integer total_number) { vector pos = llGetPos(); llOwnerSay("X Axis: " + pos.x); llOwnerSay("Y Axis: " + pos.y); llOwnerSay("Z Axis: " + pos.z); }
} </lsl>
A Good Example
<lsl> list Vector2List(vector v){
return [v.x, v.y, v.z];
}
default {
touch_start(integer total_number) { list size = Vector2List(llGetScale()); list sorted_size = llListSort(size, 1, 0); llOwnerSay("<"+llList2CSV(sorted_size)+">"); }
} </lsl>