https://wiki.secondlife.com/w/api.php?action=feedcontributions&user=SharpEdge+Aeon&feedformat=atomSecond Life Wiki - User contributions [en]2024-03-29T00:01:50ZUser contributionsMediaWiki 1.36.1https://wiki.secondlife.com/w/index.php?title=LSL_Alternate_Editors/es&diff=58257LSL Alternate Editors/es2008-03-12T14:43:08Z<p>SharpEdge Aeon: New page: {{LSL Header}}{{Multi-lang}} There are several off-world editors available for free or purchase. Some have syntax highlighting for LSL that will make your code easier to follow. One will...</p>
<hr />
<div>{{LSL Header}}{{Multi-lang}}<br />
There are several off-world editors available for free or purchase. Some have syntax highlighting for LSL that will make your code easier to follow. One will compile and execute a large subset of LSL. Below are some of the more popular editors for use with LSL. <br />
<br />
If you have a favorite that is missing from the list, '''please''' feel free to add it.<br />
<br />
For some of the editors mentioned here, the [http://adammarker.org/shill Shill] project may have more up-to-date syntax files.<br />
<br />
==Off-world syntax checker==<br />
You can build a syntax checker yourself and hook it into whatever editor you fancy if you have the viewer source installed and compiled on your machine. The C++ source to build one yourself is [[User:JB_Kraft#Offline_LSL_Syntax_Checker|here (JB Kraft)]].<br />
<br />
==Off-world edit '''and''' execute==<br />
This is heaven. Not only see if your syntax is correct, but actually execute your scripts in an off-world test environment. See multiple scripts send messages to one another, find concurrency bugs, test your list parsing routines.<br />
<br />
===[[LSL-Editor]]===<br />
<br />
* [http://www.lsleditor.org/ http://www.lsleditor.org/]<br />
<br />
LSL-Editor '''for Windows''' is a standalone LSL script '''editor, compiler and debugger'''. Binary code only (not open source).<br />
<br />
It is the only off-world editor that also has a script execution run-time. <br />
<br />
Its compiler and debugger are already now reasonably accurate, but yet quite totally perfect. Please blog any LSL-Editor bugs you find into such places as our [[LSLEditorBugs|LSL-Editor Bugs]] article.<br />
<br />
==Multi-platform Editors==<br />
===ByronStar SL===<br />
Based on [http://eclipse.org Eclipse], the [http://byronstar-sl.sourceforge.net/ ByronStar SL IDE] includes most modern program editor features. It also includes custom features for LSL, such as variable checking, error markers, and code formatting. Eclipse is available for Macintosh, Linux, Windows, and many UNIX flavors.<br />
<br />
===Emacs===<br />
There's an [[Emacs LSL Mode]] available on this wiki, which provides syntax highlighting and indentation features. If you want some tips on writing LSL in emacs, read [http://xahlee.org/sl/ls-emacs.html Xah Lee's page]. Emacs is available for many Unix flavors, Macintosh and Windows.<br />
<br />
You may come across (and attempt to use) Gary Evan's [http://www.cs.iastate.edu/~leavens/emacs/lsl-mode.el LSL major mode]. It won't work with the Linden Scripting Language, as Gary wrote it for the [http://www.cs.iastate.edu/larch-faq-webboy.html Larch Shared Language].<br />
<br />
===vim===<br />
[http://www.vim.org/ vim:] vi improved. A multi-platform evolution of the most classical of the editors: vi. GPL code.<br />
<br>[http://www.secondlifelab.it/index.php?option=com_remository&Itemid=77&func=select&id=7 Plugins for VIM] for install the syntax, autocompletion, autoident for LSL script into vim<br />
<br />
===SciTE===<br />
Easy to use, features syntax highlighting, folding, auto complete, help that opens the appropriate wiki page, and is setup to use the c preprocessor, and lslint.<br><br />
Windows only [http://sl.sdfjkl.org/secondlife/scite/ SciTE-ez]<br><br />
Files for Linux or Windows [http://forums.secondlife.com/showthread.php?t=209219 Forum thread] [http://dimension128.homelinux.net/scite_lsl.tar.gz scite_lsl.tar.gz]<br />
<br />
===jEdit===<br />
Developed in Java, this mature, cross-platform editor runs on any operating system with a Java 2 version 1.3 or higher virtual machine. It has all the features you'd expect from a full-GUI text editor. Syntax highlighting and tailored editing behavior is supported through "modes." (You can get the LSL 'modes' file [https://webspace.nyu.edu/xythoswfs/webui/_xy-774011_1-t_B0BNqUnE here].) The editor supports a rich plug-in API; many third-party plug-ins exist to facility editing, formatting, communications, etc.<br><br />
You can find jEdit [http://www.jedit.org/ here].<br />
<br />
===Shill - LSL Language Files for a Variety of Editors===<br />
Here is a page listing the various LSL language files for a variety of editors: [http://adammarker.org/shill/index.html Shill]. There could be something here for your editor. Links are provided on the page for all files. (Most of the files there will be updated to 1.18.4.3 keywords in the next week or so. I'll update this note when that's done. --[[AdamMarker]])<br />
<br />
==Windows Editors==<br />
<!-- Add your text editors in the following format --><br />
===Notepad++===<br />
[http://notepad-plus.sourceforge.net/uk/site.htm Notepad++] is probably one of the best Windows editor around. Packed with features, extremely powerful and easy to use for beginners too. Best of all, it is GPL code.<br />
<br />
===ConTEXT===<br />
[http://www.context.cx/component/option,com_frontpage/Itemid,1/ ConTEXT] is a small, fast and powerful freeware text editor, developed mainly to serve as secondary tool for software developers.<br />
<br />
The following syntax files are available for ConTEXT.<br />
* [http://forum.context.cx/index.php?action=dlattach;topic=1775.0;id=359 Shyan Graves] Last updated March 01, 2007.<br />
* [http://adammarker.org/shill/context/lsl.chl Sir.Grelling] Last updated July 10, 2006.<br />
<br />
===Crimson Editor===<br />
[http://www.crimsoneditor.com/ Crimson Editor] is a professional source code editor for Windows.<br />
The following syntax files are available for Crimson Editor.<br />
* [http://www.crimsoneditor.com/english/board/CrazyWWWBoard.cgi?db=file3&mode=read&num=1791 Aakanaar] Last updated September 10, 2006 for Second Life version 1.10.0.<br />
<br />
<br />
<br />
<br />
===[[LSL-Editor]]===<br />
<br />
* [http://www.lsleditor.org/ http://www.lsleditor.org/]<br />
<br />
[[LSL-Editor]] is a standalone Windows LSL '''editor, compiler and debugger'''.<br />
All the usual editing, plus you can compile and execute.<br />
<br />
===TextPad [{{HoverText|''C''|Commercial Software}}]===<br />
[http://www.textpad.com/products/textpad/index.html TextPad] is a powerful, but easy to use general purpose text editor. It is a commercial product, but there is a 30 day trial version available for free on the website.<br />
<br />
The following syntax files are available for TextPad.<br />
* [[LSL_Editor_TextPad_Syntax | Prodigal Maeterlinck & Patrick2 Chama]] Last updated February 20, 2007. Extracted from the Second Life viewer source code.<br />
* [http://www.textpad.com/add-ons/files/syntax/lsl_.zip Ben Gray] Last updated August 23, 2006. As of version 1.12.0, with the deprecated functions in a separate keyword list.<br />
* [http://www.textpad.com/add-ons/files/syntax/lsl.zip Matthias Huber] Last updated September 23, 2004.<br />
* [[LSL_Editor_TextPad_ClipBook_Events | Events ClipBook]] Last updated March 5, 2007. Based on the LSL Portal event entries.<br />
<br />
===UltraEdit-32 [{{HoverText|''C''|Commercial Software}}]===<br />
[http://www.ultraedit.com/ UltraEdit-32] is a powerful text, HTML, and HEX editor. It is a commercial editor with a 30 day trial version available at the website. Important features:<br />
* column/block mode editing<br />
* brackets/braces matching<br />
* code-folding<br />
* configurable syntax highlighting via custom [http://www.ultraedit.com/index.php?name=Content&pa=showpage&pid=40#wordfiles wordfiles]<br />
* autocomplete (using keywords defined in the wordfile)<br />
* bookmarks, incremental searching, CTAG support<br />
* automatic conversion between Unix/Dos/MAC/UTF-8, etc<br />
* built-in FTP/SFTP client<br />
<br />
<br />
The following syntax files are available for UltraEdit.<br />
* [http://podryk.googlepages.com/LSL_Wordfile.txt Podryck Sands] Last updated April 12, 2007.<br />
* [http://stryfe.org/lsl_wordfile.txt Stryfe Lowell] Last updated 2007-04-15. Based on the original [http://www.lslwiki.net LSL Wiki] and updated based on release notes. Currently at LSL 1.14.1.2.<br />
<br />
==Macintosh Editors==<br />
===TextMate [{{HoverText|''C''|Commercial Software}}]===<br />
You can find details about Piero Padar's well-maintained TextMate bundle in the [http://forums.secondlife.com/showthread.php?p=1041958#post1041958 Scripting Tips forum]. TextMate is a commercial Mac OS X text/program editor from [http://macromates.com/ Macromates].<br />
<br />
There is a 30 day trial version available on their website.<br />
<br />
===SubEthaEdit [{{HoverText|''C''|Commercial Software}}]===<br />
This a great text editor with extensible language support. It also happens to be an incredible collaborative editor. Info at: http://www.subethaedit.net/<br />
<br />
There is a contributed LSL mode by Zarf Vantongerloo. The mode is a little out of date and could use some love. But in general works great, doing syntax hilighting of LSL funcitons and adding a pop-up menu of all functions, states and event handlers to the top of the window.<br />
<br />
An updated LSL mode by Mark Lentczner is available now from the SubEthaEditor [http://www.subethaedit.net/modes.html User contributed modes Repository].<br />
<br />
===BBEdit and TextWrangler ===<br />
You can get a LSL language module for BBEdit and TextWrangler at [http://adammarker.org/bbedit.html http://adammarker.org/bbedit.html]<br />
<br />
==Linux Editors==<br />
[http://kate-editor.org/ Kate] is an advanced text editor for KDE. Usually included in all KDE based distributions.<br />
A [[Kate LSL Mode]] is available on this wiki.</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Portal_Translation_Project&diff=58256LSL Portal Translation Project2008-03-12T14:41:46Z<p>SharpEdge Aeon: /* :LSL_Alternate_Editors */</p>
<hr />
<div>{{LSL Header}}<br />
__NOTOC__<br />
Do NOT translate this page. This would result in out-of-sync versions of the master list<br />
== Welcome to the LSL Portal Translation Project! ==<br />
This is a community effort to provide a multi-lingual translation of the LSL Portal. Please feel free to edit and add languages to the set. Only reasonably static pages have been selected for translation. News, bugs and patches, automatically generated pages have been set aside. This way, we intend to keep the original pages and their translations as much similar as possible.<br />
<br />
LSL Scripters can participate in this project by choosing a wiki page from the list below and translating it into the language(s) they speak fluently. This suggestion list will be updated periodically with new pages. Contributors are welcomed to list themselves and discuss language-specific topics on the proper subpage of the [[LSL_Portal_Translation_Team]] page.<br />
<br />
== <span style="color:red;">Please notice</span> ==<br />
<br />
To make coordination easier, I have created an inworld group named '''"LSL portal translation"'''. Please subscribe to it.<br />
<br />
Subjects of discussion might be :<br />
- transition to new language codes<br />
- is the structure of this coordination page adequate ?<br />
- links look ugly in the localized categories<br />
- how to attract more contributors<br />
- etc.<br />
<br />
This group will also provide mutual help, for example with templates localization.<br />
<br />
== <span style="color:red;">Important Changes</span> ==<br />
<br />
There is a discussion afoot to change from ISO 639-1 to ISO 639-3. This means that every page with two letter language codes would be moved to their 3 letter equivalent. The reason for this is that ISO 693-1 limits language codes to two letters, this is problematic for the Chinese dialects. The actual conversion will be automated and will not require the users to do anything new. Old links will redirect to the new article locations. Assuming no issues this will happen January 3rd. Please refer to [[Template_talk:Multi-lang]] for commentary and discussion.<br />
<br />
== Procedure to Create a Translation Page ==<br />
{{Alert Box|This topic is affected by [[#Important Changes]]}}<br />
<br />
* Choose a page from the Suggested Pages to Translate. If the page is followed by the languages list, it is ready for translation.<br />
<br />
* If the page is not ready for translation the <nowiki>{{Multi-lang}}</nowiki> tag should be included in the main page. If you are not are not familiar with this wiki, feel free to ask for assistance.<br />
<br />
* Click the link of the page you have chosen to translate. In the URL bar of your navigator, add a /xx language code. This is how you create the language subpage. Example: LSL_Tutorial/fr to create a french translation of LSL_Tutorial. <br />
<br />
====Language Codes====<br />
{| border="1" cellspacing="0"<br />
!Code!!Language<br />
|-<br />
|de||German<br />
|-<br />
|en||English<br />
|-<br />
|es||Spanish<br />
|-<br />
|fr||French<br />
|-<br />
|it||Italian<br />
|-<br />
|ko||Korean<br />
|-<br />
|ja||Japanese<br />
|-<br />
|nl||Dutch<br />
|-<br />
|pl||Polish<br />
|-<br />
|pt||Portuguese<br />
|-<br />
|zh-Hans||Chinese (Simplified) <!-- Refers to the script/characters, see [[Template_talk:Multi-lang#Chinese]] --><br />
|-<br />
|zh-Hant||Chinese (Traditional) <!-- Refers to the script/characters, see [[Template_talk:Multi-lang#Chinese]] --><br />
|}<br />
<br />
* It is advised to start from a copy of the main page source and insert your translation in place of the original content to achieve the same page layout.<br />
<br />
* Once your translation is finished, add "Done", the date, and your name to the Suggested Pages to Translate. For the date, use the international ISO format YYYY-MM-DD.<br />
<br />
==Suggested Pages to Translate==<br />
<br />
<br />
=== LSL Portal ===<br />
<br />
====[[:LSL_Portal]]====<br />
*Chinese - Done<br />
*Dutch -<br />
*French - Done 2007-12-02 Catherine Pfeffer<br />
*German -<br />
*Italian - Done 2007-12-28 NickTheDeveloper Masatada<br />
*Japanese - Started 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish - Started 2008-02-23 Sebast Forwzy<br />
*Portuguese - Started 2008-01-28 Rui Clary<br />
*Spanish - Done 2008-03-05 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Editing_Primer]]====<br />
* Chinese - Started 2007-12-30 Fuser Aeon<br />
* Dutch -<br />
* French - <br />
* German -<br />
* Italian - Done 2007-12-28 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-05 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Portal_Guidelines]]====<br />
* Chinese - <br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2008-01-03 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2007-01-02 Ashty Kuhn<br />
----<br />
<br />
====[[:LSL_Portal_To-do]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-05 SharpEdge Aeon<br />
<br />
=== Developer Resources ===<br />
<br />
====[[:LSL_Tutorial]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2007-12-29 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-27 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-01-02 Ashty Kuhn<br />
----<br />
<br />
====[[:Category:LSL_Teachers]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:Category:LSL_Mentors]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:Category:LSL_Examples]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:Category:LSL_Library]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:LSL_Protocol]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2007-12-29 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-27 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Useful_Function_WishList]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2007-12-29 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-28 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Style_Guide]]====<br />
*Chinese - Done 2007-12-29 Fuser Aeon <br />
*Dutch -<br />
*French - Done 2007-12-02 Jeff Kelley<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-25 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Script_Efficiency]]====<br />
*Chinese - Done 2007-12-22 Fuser Aeon <br />
*Dutch -<br />
*French - Done 2007-12-04 Jeff Kelley<br />
*German -<br />
*Italian - Done 2008-01-03 NickTheDeveloper Masatada<br />
*Japanese - Done 2007-12-25 Asuka Neely <br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Script_Memory]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Jeff Kelley<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-26 Asuka Neely <br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Write_Once_Debug_Everywhere]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Jeff Kelley<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-26 Asuka Neely <br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish - Done 2008-03-12 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Alternate_Editors]]====<br />
*Chinese - <br />
*Dutch - <br />
*French -<br />
*German - <br />
*Italian - <br />
*Japanese - Done 2007-12-27 Asuka Neely <br />
*Korean - <br />
*Polish - <br />
*Portuguese - <br />
*Spanish - Started 2008-03-12 SharpEdge Aeon<br />
-----<br />
<br />
====[[:LSL_Test_Harness]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-28 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - <br />
----<br />
<br />
====[[:LSL_Benchmarking_Scripts]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-28 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
<br />
=== LSL Language Reference ===<br />
----<br />
====[[:Category:LSL_Constants]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[DEG_TO_RAD]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[NULL_KEY]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[RAD_TO_DEG]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[ZERO_ROTATION]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[ZERO_VECTOR]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[:Category:LSL_Events]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2008-01-10 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[state_entry]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2008-01-10 Alsau Spinotti<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[:Category:LSL_Functions]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[llGetAnimation]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Phli Foxchase<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[llGetAnimationList]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2008-01-09 Gally Young<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[:Category:LSL_Flow_Control]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-05 Coffee Mills<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[For]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Olivier hildyard <br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[If]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-08 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-01-01 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[While]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Forest Klaar<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-13 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Do-while]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-05 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Jump]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-09 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Return]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-09 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[State]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-30 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[LSL_Operators]]====<br />
This article is currently incomplete<br />
*Chinese -<br />
*Dutch -<br />
*French -<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[:Category:LSL_Types]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Integer]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-04 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Float]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Audrey Bisani<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-04 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[String]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2008-01-02 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Key]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[List]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2008-01-02 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Vector]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Ol Obscure<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Rotation]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2008-01-08 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Quaternion]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[LSL_Variables]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-11 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[LSL_Errors]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-11 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 March Korda<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
===Templates===<br />
<br />
====[[Template:LSL_Constants_Conditional]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-04 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL_Conditional]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-04 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL Event]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-10 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL Function]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-30 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL_Generic]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-09 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSLRotGetSet]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-05 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere/es&diff=58255LSL Write Once Debug Everywhere/es2008-03-12T14:40:46Z<p>SharpEdge Aeon: /* Corriendo Sistemas Operativos Alternativos */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Por Qué Eliminar Errores En Todas Partes=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
<br />
=Funciona en Mi Escritorio=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Mensajes de error de tiempo de compilación increíbles==<br />
<br />
El artículo [[LSLEditorBugs]] explica como un error en un compilador LSL puede causar que tu script falle en un lugar mientras corre bien en otro. <br />
<br />
El artículo [[LSL_Errors]] explica como un compilador LSL que presenta un mensaje de error "ERROR : Syntax error" puede ser un error "ERROR : Byte code assembly failed -- out of memory" en otro compilador. Diferentes compiladores LSL proveen diferentes eficiencias. Por ejemplo el cliente de Second Life para Mac OS X del 2007-08 puede compilar 692 comandos en cascada de else-if al mismo tiempo mientras que el cliente de Second Life de Windows no puede compilar 19 comandos en cascada de else-if.<br />
<br />
==Clientes increíblemente diferentes==<br />
<br />
El artículo [[LSL Alternate Editors]] enumera otros lugares en tu sistema operativo donde puedes tratar de correr tu LSL además de el cliente que SecondLife.com provee libre de costo.<br />
<br />
=Corriendo Sistemas Operativos Alternativos=<br />
<br />
Correr otro sistema operativo para probar tu script puede ser más fácil o más difícil de lo que piensas.<br />
<br />
Métodos le te permite reiniciar tu PC or Mac para correr un sistema operativo alternativo incluyen: <br />
# Ingresar un DVD o CD<br />
# Conectar una memoria Flash USB (UFD)<br />
# Reparticionar tu disco duro interno ATA (sin descodificarlo)<br />
# Añadir un disco duro externo FireWire <br />
<br />
La técnica más apropiada para ti depende de tu configuración, particularmente del orden de inicio (boot) de BIOS. <br />
<br />
La técnica más apropiada para ti también cambiará según las restricciones de copia que su proveedor de sistema operativo ha añadido. Por ejemplo, Microsoft Windows muchas veces se niega correr de otro lugar que no sea una partición de tu disco duro interno ATA.<br />
<br />
La herramienta que encuentras en http://www.apple.com/macosx/bootcamp/ de Apple te lleva por el proceso de reparticionar tu disco duro interno ATA sin descodificarlo pero solo si tienes una Mac con procesadores Intel, no la Mac con procesadores de Motorola y no PCs con procesadores de Intel.<br />
<br />
Compañías como [[Parallels|http://www.parallels.com/]] y [[VMware|http://www.vmware.com/]] venden herramientas para correr Windows en paralelo con tu sistema operativo corriente. También puedes correr varias copias de Windows en paralelo para probar diferentes configuraciones sin interrumpir la experiencia normal de Windows.<br />
<br />
<br />
==Corriendo Linux==<br />
<br />
Linux require abilidad y atención para que corra suficientemente bien para apoyar Second Life.<br />
<br />
Aún Linux require demasiada abilidad y atención: no hemos encontrado una guia que nos indique como las personas que no tengan OpenGL 2.0 en Linux puede aprender como correr Second Life en Linux.<br />
<br />
Metodos que hemos tratado pero que no nos permite correr Second Life en Linux incluyen:<br />
<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Una búsqueda en el Internet encuentra un CD-R Knoppix de Linux para Second Life, pero solo una versión que requiere gráficos NVIDIA y no apoya los gráficos de ATI Radeon que se encuentran en Mac.<br />
<br />
==Corriendo Mac OS X==<br />
<br />
Mac OS X funciona si tienes una Mac.<br />
<br />
Mac OS X no funciona si no tienes una Mac.<br />
<br />
==Corriendo Windows==<br />
<br />
Windows require abilidad y atención para que corra suficientemente bien para apoyar Second Life.<br />
<br />
El mensaje del instalador de Windows que indica que necesitas privilegios de administrador para instalar parecen ser falso. Han visto copias de "C:\Program Files\SecondLife\" que parecen trabajar cuando se arrastran al archivo de "%userProfile%\Downloads\" de otras máquinas con Windows sin el privilegio de administrador.<br />
<br />
=Consulte También=<br />
<br />
Consulte también: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Portal_Translation_Project&diff=58254LSL Portal Translation Project2008-03-12T14:35:22Z<p>SharpEdge Aeon: /* :LSL_Write_Once_Debug_Everywhere */</p>
<hr />
<div>{{LSL Header}}<br />
__NOTOC__<br />
Do NOT translate this page. This would result in out-of-sync versions of the master list<br />
== Welcome to the LSL Portal Translation Project! ==<br />
This is a community effort to provide a multi-lingual translation of the LSL Portal. Please feel free to edit and add languages to the set. Only reasonably static pages have been selected for translation. News, bugs and patches, automatically generated pages have been set aside. This way, we intend to keep the original pages and their translations as much similar as possible.<br />
<br />
LSL Scripters can participate in this project by choosing a wiki page from the list below and translating it into the language(s) they speak fluently. This suggestion list will be updated periodically with new pages. Contributors are welcomed to list themselves and discuss language-specific topics on the proper subpage of the [[LSL_Portal_Translation_Team]] page.<br />
<br />
== <span style="color:red;">Please notice</span> ==<br />
<br />
To make coordination easier, I have created an inworld group named '''"LSL portal translation"'''. Please subscribe to it.<br />
<br />
Subjects of discussion might be :<br />
- transition to new language codes<br />
- is the structure of this coordination page adequate ?<br />
- links look ugly in the localized categories<br />
- how to attract more contributors<br />
- etc.<br />
<br />
This group will also provide mutual help, for example with templates localization.<br />
<br />
== <span style="color:red;">Important Changes</span> ==<br />
<br />
There is a discussion afoot to change from ISO 639-1 to ISO 639-3. This means that every page with two letter language codes would be moved to their 3 letter equivalent. The reason for this is that ISO 693-1 limits language codes to two letters, this is problematic for the Chinese dialects. The actual conversion will be automated and will not require the users to do anything new. Old links will redirect to the new article locations. Assuming no issues this will happen January 3rd. Please refer to [[Template_talk:Multi-lang]] for commentary and discussion.<br />
<br />
== Procedure to Create a Translation Page ==<br />
{{Alert Box|This topic is affected by [[#Important Changes]]}}<br />
<br />
* Choose a page from the Suggested Pages to Translate. If the page is followed by the languages list, it is ready for translation.<br />
<br />
* If the page is not ready for translation the <nowiki>{{Multi-lang}}</nowiki> tag should be included in the main page. If you are not are not familiar with this wiki, feel free to ask for assistance.<br />
<br />
* Click the link of the page you have chosen to translate. In the URL bar of your navigator, add a /xx language code. This is how you create the language subpage. Example: LSL_Tutorial/fr to create a french translation of LSL_Tutorial. <br />
<br />
====Language Codes====<br />
{| border="1" cellspacing="0"<br />
!Code!!Language<br />
|-<br />
|de||German<br />
|-<br />
|en||English<br />
|-<br />
|es||Spanish<br />
|-<br />
|fr||French<br />
|-<br />
|it||Italian<br />
|-<br />
|ko||Korean<br />
|-<br />
|ja||Japanese<br />
|-<br />
|nl||Dutch<br />
|-<br />
|pl||Polish<br />
|-<br />
|pt||Portuguese<br />
|-<br />
|zh-Hans||Chinese (Simplified) <!-- Refers to the script/characters, see [[Template_talk:Multi-lang#Chinese]] --><br />
|-<br />
|zh-Hant||Chinese (Traditional) <!-- Refers to the script/characters, see [[Template_talk:Multi-lang#Chinese]] --><br />
|}<br />
<br />
* It is advised to start from a copy of the main page source and insert your translation in place of the original content to achieve the same page layout.<br />
<br />
* Once your translation is finished, add "Done", the date, and your name to the Suggested Pages to Translate. For the date, use the international ISO format YYYY-MM-DD.<br />
<br />
==Suggested Pages to Translate==<br />
<br />
<br />
=== LSL Portal ===<br />
<br />
====[[:LSL_Portal]]====<br />
*Chinese - Done<br />
*Dutch -<br />
*French - Done 2007-12-02 Catherine Pfeffer<br />
*German -<br />
*Italian - Done 2007-12-28 NickTheDeveloper Masatada<br />
*Japanese - Started 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish - Started 2008-02-23 Sebast Forwzy<br />
*Portuguese - Started 2008-01-28 Rui Clary<br />
*Spanish - Done 2008-03-05 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Editing_Primer]]====<br />
* Chinese - Started 2007-12-30 Fuser Aeon<br />
* Dutch -<br />
* French - <br />
* German -<br />
* Italian - Done 2007-12-28 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-05 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Portal_Guidelines]]====<br />
* Chinese - <br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2008-01-03 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2007-01-02 Ashty Kuhn<br />
----<br />
<br />
====[[:LSL_Portal_To-do]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-05 SharpEdge Aeon<br />
<br />
=== Developer Resources ===<br />
<br />
====[[:LSL_Tutorial]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2007-12-29 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-27 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-01-02 Ashty Kuhn<br />
----<br />
<br />
====[[:Category:LSL_Teachers]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:Category:LSL_Mentors]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:Category:LSL_Examples]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:Category:LSL_Library]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:LSL_Protocol]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2007-12-29 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-27 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Useful_Function_WishList]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2007-12-29 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-28 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Style_Guide]]====<br />
*Chinese - Done 2007-12-29 Fuser Aeon <br />
*Dutch -<br />
*French - Done 2007-12-02 Jeff Kelley<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-25 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Script_Efficiency]]====<br />
*Chinese - Done 2007-12-22 Fuser Aeon <br />
*Dutch -<br />
*French - Done 2007-12-04 Jeff Kelley<br />
*German -<br />
*Italian - Done 2008-01-03 NickTheDeveloper Masatada<br />
*Japanese - Done 2007-12-25 Asuka Neely <br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Script_Memory]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Jeff Kelley<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-26 Asuka Neely <br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Write_Once_Debug_Everywhere]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Jeff Kelley<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-26 Asuka Neely <br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish - Done 2008-03-12 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Alternate_Editors]]====<br />
*Chinese - <br />
*Dutch - <br />
*French -<br />
*German - <br />
*Italian - <br />
*Japanese - Done 2007-12-27 Asuka Neely <br />
*Korean - <br />
*Polish - <br />
*Portuguese - <br />
*Spanish - <br />
-----<br />
<br />
====[[:LSL_Test_Harness]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-28 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - <br />
----<br />
<br />
====[[:LSL_Benchmarking_Scripts]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-28 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
<br />
=== LSL Language Reference ===<br />
----<br />
====[[:Category:LSL_Constants]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[DEG_TO_RAD]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[NULL_KEY]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[RAD_TO_DEG]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[ZERO_ROTATION]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[ZERO_VECTOR]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[:Category:LSL_Events]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2008-01-10 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[state_entry]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2008-01-10 Alsau Spinotti<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[:Category:LSL_Functions]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[llGetAnimation]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Phli Foxchase<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[llGetAnimationList]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2008-01-09 Gally Young<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[:Category:LSL_Flow_Control]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-05 Coffee Mills<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[For]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Olivier hildyard <br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[If]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-08 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-01-01 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[While]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Forest Klaar<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-13 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Do-while]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-05 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Jump]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-09 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Return]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-09 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[State]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-30 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[LSL_Operators]]====<br />
This article is currently incomplete<br />
*Chinese -<br />
*Dutch -<br />
*French -<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[:Category:LSL_Types]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Integer]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-04 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Float]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Audrey Bisani<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-04 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[String]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2008-01-02 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Key]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[List]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2008-01-02 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Vector]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Ol Obscure<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Rotation]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2008-01-08 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Quaternion]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[LSL_Variables]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-11 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[LSL_Errors]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-11 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 March Korda<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
===Templates===<br />
<br />
====[[Template:LSL_Constants_Conditional]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-04 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL_Conditional]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-04 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL Event]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-10 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL Function]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-30 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL_Generic]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-09 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSLRotGetSet]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-05 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere/es&diff=58253LSL Write Once Debug Everywhere/es2008-03-12T14:34:50Z<p>SharpEdge Aeon: /* Corriendo Sistemas Operativos Alternativos */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Por Qué Eliminar Errores En Todas Partes=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
<br />
=Funciona en Mi Escritorio=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Mensajes de error de tiempo de compilación increíbles==<br />
<br />
El artículo [[LSLEditorBugs]] explica como un error en un compilador LSL puede causar que tu script falle en un lugar mientras corre bien en otro. <br />
<br />
El artículo [[LSL_Errors]] explica como un compilador LSL que presenta un mensaje de error "ERROR : Syntax error" puede ser un error "ERROR : Byte code assembly failed -- out of memory" en otro compilador. Diferentes compiladores LSL proveen diferentes eficiencias. Por ejemplo el cliente de Second Life para Mac OS X del 2007-08 puede compilar 692 comandos en cascada de else-if al mismo tiempo mientras que el cliente de Second Life de Windows no puede compilar 19 comandos en cascada de else-if.<br />
<br />
==Clientes increíblemente diferentes==<br />
<br />
El artículo [[LSL Alternate Editors]] enumera otros lugares en tu sistema operativo donde puedes tratar de correr tu LSL además de el cliente que SecondLife.com provee libre de costo.<br />
<br />
=Corriendo Sistemas Operativos Alternativos=<br />
<br />
Correr otro sistema operativo para probar tu script puede ser más fácil o más difícil de lo que piensas.<br />
<br />
Métodos le te permite reiniciar tu PC or Mac para correr un sistema operativo alternativo incluyen: <br />
# Ingresar un DVD o CD<br />
# Conectar una memoria Flash USB (UFD)<br />
# Reparticionar tu disco duro interno ATA (sin descodificarlo)<br />
# Añadir un disco duro externo FireWire <br />
<br />
La técnica más apropiada para ti depende de tu configuración, particularmente del orden de inicio (boot) de BIOS. <br />
<br />
La técnica más apropiada para ti también cambiará segun las restricciones de copia que su proveedor de sistema operativo ha añadido. Por ejemplo, Microsoft Windows niega correr de otro lugar que no sea una partición de tu disco duro interno ATA.<br />
<br />
La herramienta que encuentras en http://www.apple.com/macosx/bootcamp/ de Apple te camina por el proceso de reparticionar tu disco duro interno<br />
<br />
tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Corriendo Linux==<br />
<br />
Linux require abilidad y atención para que corra suficientemente bien para apoyar Second Life.<br />
<br />
Aún Linux require demasiada abilidad y atención: no hemos encontrado una guia que nos indique como las personas que no tengan OpenGL 2.0 en Linux puede aprender como correr Second Life en Linux.<br />
<br />
Metodos que hemos tratado pero que no nos permite correr Second Life en Linux incluyen:<br />
<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Una búsqueda en el Internet encuentra un CD-R Knoppix de Linux para Second Life, pero solo una versión que requiere gráficos NVIDIA y no apoya los gráficos de ATI Radeon que se encuentran en Mac.<br />
<br />
==Corriendo Mac OS X==<br />
<br />
Mac OS X funciona si tienes una Mac.<br />
<br />
Mac OS X no funciona si no tienes una Mac.<br />
<br />
==Corriendo Windows==<br />
<br />
Windows require abilidad y atención para que corra suficientemente bien para apoyar Second Life.<br />
<br />
El mensaje del instalador de Windows que indica que necesitas privilegios de administrador para instalar parecen ser falso. Han visto copias de "C:\Program Files\SecondLife\" que parecen trabajar cuando se arrastran al archivo de "%userProfile%\Downloads\" de otras maquinas con Windows sin el privilegio de administrador.<br />
<br />
=Consulte También=<br />
<br />
Consulte también: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere/es&diff=58252LSL Write Once Debug Everywhere/es2008-03-12T14:28:43Z<p>SharpEdge Aeon: /* Corriendo Sistemas Operativos Alternativos */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Por Qué Eliminar Errores En Todas Partes=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
<br />
=Funciona en Mi Escritorio=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Mensajes de error de tiempo de compilación increíbles==<br />
<br />
El artículo [[LSLEditorBugs]] explica como un error en un compilador LSL puede causar que tu script falle en un lugar mientras corre bien en otro. <br />
<br />
El artículo [[LSL_Errors]] explica como un compilador LSL que presenta un mensaje de error "ERROR : Syntax error" puede ser un error "ERROR : Byte code assembly failed -- out of memory" en otro compilador. Diferentes compiladores LSL proveen diferentes eficiencias. Por ejemplo el cliente de Second Life para Mac OS X del 2007-08 puede compilar 692 comandos en cascada de else-if al mismo tiempo mientras que el cliente de Second Life de Windows no puede compilar 19 comandos en cascada de else-if.<br />
<br />
==Clientes increíblemente diferentes==<br />
<br />
El artículo [[LSL Alternate Editors]] enumera otros lugares en tu sistema operativo donde puedes tratar de correr tu LSL además de el cliente que SecondLife.com provee libre de costo.<br />
<br />
=Corriendo Sistemas Operativos Alternativos=<br />
<br />
Correr otro sistema operativo para probar tu script puede ser mas facil o mas dificil de lo que piensas.<br />
<br />
Metodos le te permite reiniciar tu PC or Mac para correr un sistema operativo alternativo incluyen: <br />
# Ingresar un DVD o CD<br />
# Conectar una memoria Flash USB (UFD)<br />
# Reparticionar tu disco duro interno ATA (sin descodificarlo)<br />
# Añadir un disco duro externo FireWire <br />
<br />
La tecnica mas apropiada para ti depende de tu configuracion, particularmente tu Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Corriendo Linux==<br />
<br />
Linux require abilidad y atención para que corra suficientemente bien para apoyar Second Life.<br />
<br />
Aún Linux require demasiada abilidad y atención: no hemos encontrado una guia que nos indique como las personas que no tengan OpenGL 2.0 en Linux puede aprender como correr Second Life en Linux.<br />
<br />
Metodos que hemos tratado pero que no nos permite correr Second Life en Linux incluyen:<br />
<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Una búsqueda en el Internet encuentra un CD-R Knoppix de Linux para Second Life, pero solo una versión que requiere gráficos NVIDIA y no apoya los gráficos de ATI Radeon que se encuentran en Mac.<br />
<br />
==Corriendo Mac OS X==<br />
<br />
Mac OS X funciona si tienes una Mac.<br />
<br />
Mac OS X no funciona si no tienes una Mac.<br />
<br />
==Corriendo Windows==<br />
<br />
Windows require abilidad y atención para que corra suficientemente bien para apoyar Second Life.<br />
<br />
El mensaje del instalador de Windows que indica que necesitas privilegios de administrador para instalar parecen ser falso. Han visto copias de "C:\Program Files\SecondLife\" que parecen trabajar cuando se arrastran al archivo de "%userProfile%\Downloads\" de otras maquinas con Windows sin el privilegio de administrador.<br />
<br />
=Consulte También=<br />
<br />
Consulte también: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere/es&diff=58249LSL Write Once Debug Everywhere/es2008-03-12T14:19:30Z<p>SharpEdge Aeon: /* Corriendo Linux */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Por Qué Eliminar Errores En Todas Partes=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
<br />
=Funciona en Mi Escritorio=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Mensajes de error de tiempo de compilación increíbles==<br />
<br />
El artículo [[LSLEditorBugs]] explica como un error en un compilador LSL puede causar que tu script falle en un lugar mientras corre bien en otro. <br />
<br />
El artículo [[LSL_Errors]] explica como un compilador LSL que presenta un mensaje de error "ERROR : Syntax error" puede ser un error "ERROR : Byte code assembly failed -- out of memory" en otro compilador. Diferentes compiladores LSL proveen diferentes eficiencias. Por ejemplo el cliente de Second Life para Mac OS X del 2007-08 puede compilar 692 comandos en cascada de else-if al mismo tiempo mientras que el cliente de Second Life de Windows no puede compilar 19 comandos en cascada de else-if.<br />
<br />
==Clientes increíblemente diferentes==<br />
<br />
El artículo [[LSL Alternate Editors]] enumera otros lugares en tu sistema operativo donde puedes tratar de correr tu LSL además de el cliente que SecondLife.com provee libre de costo.<br />
<br />
=Corriendo Sistemas Operativos Alternativos=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Corriendo Linux==<br />
<br />
Linux require abilidad y atención para que corra suficientemente bien para apoyar Second Life.<br />
<br />
Aún Linux require demasiada abilidad y atención: no hemos encontrado una guia que nos indique como las personas que no tengan OpenGL 2.0 en Linux puede aprender como correr Second Life en Linux.<br />
<br />
Metodos que hemos tratado pero que no nos permite correr Second Life en Linux incluyen:<br />
<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Una búsqueda en el Internet encuentra un CD-R Knoppix de Linux para Second Life, pero solo una versión que requiere gráficos NVIDIA y no apoya los gráficos de ATI Radeon que se encuentran en Mac.<br />
<br />
==Corriendo Mac OS X==<br />
<br />
Mac OS X funciona si tienes una Mac.<br />
<br />
Mac OS X no funciona si no tienes una Mac.<br />
<br />
==Corriendo Windows==<br />
<br />
Windows require abilidad y atención para que corra suficientemente bien para apoyar Second Life.<br />
<br />
El mensaje del instalador de Windows que indica que necesitas privilegios de administrador para instalar parecen ser falso. Han visto copias de "C:\Program Files\SecondLife\" que parecen trabajar cuando se arrastran al archivo de "%userProfile%\Downloads\" de otras maquinas con Windows sin el privilegio de administrador.<br />
<br />
=Consulte También=<br />
<br />
Consulte también: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere/es&diff=58248LSL Write Once Debug Everywhere/es2008-03-12T14:13:03Z<p>SharpEdge Aeon: /* Corriendo Windows */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Por Qué Eliminar Errores En Todas Partes=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
<br />
=Funciona en Mi Escritorio=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Mensajes de error de tiempo de compilación increíbles==<br />
<br />
El artículo [[LSLEditorBugs]] explica como un error en un compilador LSL puede causar que tu script falle en un lugar mientras corre bien en otro. <br />
<br />
El artículo [[LSL_Errors]] explica como un compilador LSL que presenta un mensaje de error "ERROR : Syntax error" puede ser un error "ERROR : Byte code assembly failed -- out of memory" en otro compilador. Diferentes compiladores LSL proveen diferentes eficiencias. Por ejemplo el cliente de Second Life para Mac OS X del 2007-08 puede compilar 692 comandos en cascada de else-if al mismo tiempo mientras que el cliente de Second Life de Windows no puede compilar 19 comandos en cascada de else-if.<br />
<br />
==Clientes increíblemente diferentes==<br />
<br />
El artículo [[LSL Alternate Editors]] enumera otros lugares en tu sistema operativo donde puedes tratar de correr tu LSL además de el cliente que SecondLife.com provee libre de costo.<br />
<br />
=Corriendo Sistemas Operativos Alternativos=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Corriendo Linux==<br />
<br />
Linux demands skill & attention to run well enough to support Second Life.<br />
<br />
As yet, Linux demands too much skill & attention: we haven't yet found a "how to" guide to tell us how people who don't already run OpenGL 2.0 in Linux can rapidly learn to run Second Life in Linux.<br />
<br />
Techniques we've tried that don't let us run Second Life in Linux include:<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Searching the web finds a Linux CD-R Knoppix for Second Life, but only a version that requires NVIDIA graphics without supporting the ATI Radeon graphics often found in Mac's.<br />
<br />
==Corriendo Mac OS X==<br />
<br />
Mac OS X funciona si tienes una Mac.<br />
<br />
Mac OS X no funciona si no tienes una Mac.<br />
<br />
==Corriendo Windows==<br />
<br />
Windows require abilidad y atención para que corra suficientemente bien para apoyar Second Life.<br />
<br />
El mensaje del instalador de Windows que indica que necesitas privilegios de administrador para instalar parecen ser falso. Han visto copias de "C:\Program Files\SecondLife\" que parecen trabajar cuando se arrastran al archivo de "%userProfile%\Downloads\" de otras maquinas con Windows sin el privilegio de administrador.<br />
<br />
=Consulte También=<br />
<br />
Consulte también: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere/es&diff=58244LSL Write Once Debug Everywhere/es2008-03-12T14:06:56Z<p>SharpEdge Aeon: /* Corriendo Mac OS X */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Por Qué Eliminar Errores En Todas Partes=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
<br />
=Funciona en Mi Escritorio=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Mensajes de error de tiempo de compilación increíbles==<br />
<br />
El artículo [[LSLEditorBugs]] explica como un error en un compilador LSL puede causar que tu script falle en un lugar mientras corre bien en otro. <br />
<br />
El artículo [[LSL_Errors]] explica como un compilador LSL que presenta un mensaje de error "ERROR : Syntax error" puede ser un error "ERROR : Byte code assembly failed -- out of memory" en otro compilador. Diferentes compiladores LSL proveen diferentes eficiencias. Por ejemplo el cliente de Second Life para Mac OS X del 2007-08 puede compilar 692 comandos en cascada de else-if al mismo tiempo mientras que el cliente de Second Life de Windows no puede compilar 19 comandos en cascada de else-if.<br />
<br />
==Clientes increíblemente diferentes==<br />
<br />
El artículo [[LSL Alternate Editors]] enumera otros lugares en tu sistema operativo donde puedes tratar de correr tu LSL además de el cliente que SecondLife.com provee libre de costo.<br />
<br />
=Corriendo Sistemas Operativos Alternativos=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Corriendo Linux==<br />
<br />
Linux demands skill & attention to run well enough to support Second Life.<br />
<br />
As yet, Linux demands too much skill & attention: we haven't yet found a "how to" guide to tell us how people who don't already run OpenGL 2.0 in Linux can rapidly learn to run Second Life in Linux.<br />
<br />
Techniques we've tried that don't let us run Second Life in Linux include:<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Searching the web finds a Linux CD-R Knoppix for Second Life, but only a version that requires NVIDIA graphics without supporting the ATI Radeon graphics often found in Mac's.<br />
<br />
==Corriendo Mac OS X==<br />
<br />
Mac OS X funciona si tienes una Mac.<br />
<br />
Mac OS X no funciona si no tienes una Mac.<br />
<br />
==Corriendo Windows==<br />
<br />
Windows demands skill & attention to run well enough to support Second Life.<br />
<br />
The Windows installer's claim that you need administrator privilege to install appears to be false. People have seen copies of "C:\Program Files\SecondLife\" mostly work when dragged to into the "%userProfile%\Downloads\" of other Windows machines, without administrator privilege.<br />
<br />
=Consulte También=<br />
<br />
Consulte también: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere/es&diff=58232LSL Write Once Debug Everywhere/es2008-03-12T13:47:49Z<p>SharpEdge Aeon: /* Astonishingly different clients */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Por Qué Eliminar Errores En Todas Partes=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
<br />
=Funciona en Mi Escritorio=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Mensajes de error de tiempo de compilación increíbles==<br />
<br />
El artículo [[LSLEditorBugs]] explica como un error en un compilador LSL puede causar que tu script falle en un lugar mientras corre bien en otro. <br />
<br />
El artículo [[LSL_Errors]] explica como un compilador LSL que presenta un mensaje de error "ERROR : Syntax error" puede ser un error "ERROR : Byte code assembly failed -- out of memory" en otro compilador. Diferentes compiladores LSL proveen diferentes eficiencias. Por ejemplo el cliente de Second Life para Mac OS X del 2007-08 puede compilar 692 comandos en cascada de else-if al mismo tiempo mientras que el cliente de Second Life de Windows no puede compilar 19 comandos en cascada de else-if.<br />
<br />
==Clientes increíblemente diferentes==<br />
<br />
El artículo [[LSL Alternate Editors]] enumera otros lugares en tu sistema operativo donde puedes tratar de correr tu LSL además de el cliente que SecondLife.com provee libre de costo.<br />
<br />
=Corriendo Sistemas Operativos Alternativos=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Corriendo Linux==<br />
<br />
Linux demands skill & attention to run well enough to support Second Life.<br />
<br />
As yet, Linux demands too much skill & attention: we haven't yet found a "how to" guide to tell us how people who don't already run OpenGL 2.0 in Linux can rapidly learn to run Second Life in Linux.<br />
<br />
Techniques we've tried that don't let us run Second Life in Linux include:<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Searching the web finds a Linux CD-R Knoppix for Second Life, but only a version that requires NVIDIA graphics without supporting the ATI Radeon graphics often found in Mac's.<br />
<br />
==Corriendo Mac OS X==<br />
<br />
Mac OS X just works, if you have a Mac.<br />
<br />
Mac OS X doesn't work at all if you don't have a Mac.<br />
<br />
==Corriendo Windows==<br />
<br />
Windows demands skill & attention to run well enough to support Second Life.<br />
<br />
The Windows installer's claim that you need administrator privilege to install appears to be false. People have seen copies of "C:\Program Files\SecondLife\" mostly work when dragged to into the "%userProfile%\Downloads\" of other Windows machines, without administrator privilege.<br />
<br />
=Consulte También=<br />
<br />
Consulte también: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere&diff=58230LSL Write Once Debug Everywhere2008-03-12T13:42:57Z<p>SharpEdge Aeon: /* Why Debug Everywhere */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Why Debug Everywhere=<br />
<br />
The LSL scripts that you write once can then run in many places.<br />
<br />
Consequently, copying your LSL script from one place to another can then make your script fail to run well, or even fail to compile.<br />
<br />
The many places you can run your LSL script include the Linux, Mac OS X, and Windows clients from SecondLife.com that connect by broadband Internet to the main grid at Linden Labs. Other compilers and other grids also exist, for such purposes as looping thru the compile, edit, test process while offline.<br />
<br />
This article explains how you can develop LSL scripts that run well and compile without error in all these many places.<br />
<br />
=Works at my Desk=<br />
<br />
Ways in which your script can run fine at your desk while choking at mine include the following.<br />
<br />
==Astonishing Compile-Time Error Messages==<br />
<br />
The [[LSLEditorBugs]] article explains how a bug in an LSL compiler can make your script fail to compile in one place despite compiling and running well in. <br />
<br />
The [[LSL_Errors]] article explains how one LSL compiler reporting "ERROR : Syntax error" can mean what another LSL compiler would describe as "ERROR : Byte code assembly failed -- out of memory". Naturally, different LSL compilers provide different efficiencies. For example, the 2007-08 Mac OS X Second Life client could compile 692 cascaded else-if's at a time when the Windows Second Life client could not compile 19 cascaded else-if's.<br />
<br />
==Astonishingly different clients==<br />
<br />
The [[LSL Alternate Editors]] article lists other places within your own operating system that you can try running your LSL, besides the usual client that SecondLife.com offers free of charge.<br />
<br />
=Running Alternative Operating Systems=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Running Linux==<br />
<br />
Linux demands skill & attention to run well enough to support Second Life.<br />
<br />
As yet, Linux demands too much skill & attention: we haven't yet found a "how to" guide to tell us how people who don't already run OpenGL 2.0 in Linux can rapidly learn to run Second Life in Linux.<br />
<br />
Techniques we've tried that don't let us run Second Life in Linux include:<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Searching the web finds a Linux CD-R Knoppix for Second Life, but only a version that requires NVIDIA graphics without supporting the ATI Radeon graphics often found in Mac's.<br />
<br />
==Running Mac OS X==<br />
<br />
Mac OS X just works, if you have a Mac.<br />
<br />
Mac OS X doesn't work at all if you don't have a Mac.<br />
<br />
==Running Windows==<br />
<br />
Windows demands skill & attention to run well enough to support Second Life.<br />
<br />
The Windows installer's claim that you need administrator privilege to install appears to be false. People have seen copies of "C:\Program Files\SecondLife\" mostly work when dragged to into the "%userProfile%\Downloads\" of other Windows machines, without administrator privilege.<br />
<br />
=Also see=<br />
<br />
Also see: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere&diff=58229LSL Write Once Debug Everywhere2008-03-12T13:42:36Z<p>SharpEdge Aeon: /* Astonishingly different clients */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Why Debug Everywhere=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
=Works at my Desk=<br />
<br />
Ways in which your script can run fine at your desk while choking at mine include the following.<br />
<br />
==Astonishing Compile-Time Error Messages==<br />
<br />
The [[LSLEditorBugs]] article explains how a bug in an LSL compiler can make your script fail to compile in one place despite compiling and running well in. <br />
<br />
The [[LSL_Errors]] article explains how one LSL compiler reporting "ERROR : Syntax error" can mean what another LSL compiler would describe as "ERROR : Byte code assembly failed -- out of memory". Naturally, different LSL compilers provide different efficiencies. For example, the 2007-08 Mac OS X Second Life client could compile 692 cascaded else-if's at a time when the Windows Second Life client could not compile 19 cascaded else-if's.<br />
<br />
==Astonishingly different clients==<br />
<br />
The [[LSL Alternate Editors]] article lists other places within your own operating system that you can try running your LSL, besides the usual client that SecondLife.com offers free of charge.<br />
<br />
=Running Alternative Operating Systems=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Running Linux==<br />
<br />
Linux demands skill & attention to run well enough to support Second Life.<br />
<br />
As yet, Linux demands too much skill & attention: we haven't yet found a "how to" guide to tell us how people who don't already run OpenGL 2.0 in Linux can rapidly learn to run Second Life in Linux.<br />
<br />
Techniques we've tried that don't let us run Second Life in Linux include:<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Searching the web finds a Linux CD-R Knoppix for Second Life, but only a version that requires NVIDIA graphics without supporting the ATI Radeon graphics often found in Mac's.<br />
<br />
==Running Mac OS X==<br />
<br />
Mac OS X just works, if you have a Mac.<br />
<br />
Mac OS X doesn't work at all if you don't have a Mac.<br />
<br />
==Running Windows==<br />
<br />
Windows demands skill & attention to run well enough to support Second Life.<br />
<br />
The Windows installer's claim that you need administrator privilege to install appears to be false. People have seen copies of "C:\Program Files\SecondLife\" mostly work when dragged to into the "%userProfile%\Downloads\" of other Windows machines, without administrator privilege.<br />
<br />
=Also see=<br />
<br />
Also see: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere&diff=58228LSL Write Once Debug Everywhere2008-03-12T13:42:00Z<p>SharpEdge Aeon: /* Works on my Desktop */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Why Debug Everywhere=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
=Works at my Desk=<br />
<br />
Ways in which your script can run fine at your desk while choking at mine include the following.<br />
<br />
==Astonishing Compile-Time Error Messages==<br />
<br />
The [[LSLEditorBugs]] article explains how a bug in an LSL compiler can make your script fail to compile in one place despite compiling and running well in. <br />
<br />
The [[LSL_Errors]] article explains how one LSL compiler reporting "ERROR : Syntax error" can mean what another LSL compiler would describe as "ERROR : Byte code assembly failed -- out of memory". Naturally, different LSL compilers provide different efficiencies. For example, the 2007-08 Mac OS X Second Life client could compile 692 cascaded else-if's at a time when the Windows Second Life client could not compile 19 cascaded else-if's.<br />
<br />
==Astonishingly different clients==<br />
<br />
El artículo [[LSL Alternate Editors]] enumera otros lugares en tu sistema operativo donde puedes tratar de correr tu LSL además de el cliente que SecondLife.com provee libre de costo.<br />
<br />
=Running Alternative Operating Systems=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Running Linux==<br />
<br />
Linux demands skill & attention to run well enough to support Second Life.<br />
<br />
As yet, Linux demands too much skill & attention: we haven't yet found a "how to" guide to tell us how people who don't already run OpenGL 2.0 in Linux can rapidly learn to run Second Life in Linux.<br />
<br />
Techniques we've tried that don't let us run Second Life in Linux include:<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Searching the web finds a Linux CD-R Knoppix for Second Life, but only a version that requires NVIDIA graphics without supporting the ATI Radeon graphics often found in Mac's.<br />
<br />
==Running Mac OS X==<br />
<br />
Mac OS X just works, if you have a Mac.<br />
<br />
Mac OS X doesn't work at all if you don't have a Mac.<br />
<br />
==Running Windows==<br />
<br />
Windows demands skill & attention to run well enough to support Second Life.<br />
<br />
The Windows installer's claim that you need administrator privilege to install appears to be false. People have seen copies of "C:\Program Files\SecondLife\" mostly work when dragged to into the "%userProfile%\Downloads\" of other Windows machines, without administrator privilege.<br />
<br />
=Also see=<br />
<br />
Also see: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere&diff=58227LSL Write Once Debug Everywhere2008-03-12T13:41:22Z<p>SharpEdge Aeon: /* Astonishing Compile-Time Error Messages */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Why Debug Everywhere=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
=Works on my Desktop=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Astonishing Compile-Time Error Messages==<br />
<br />
The [[LSLEditorBugs]] article explains how a bug in an LSL compiler can make your script fail to compile in one place despite compiling and running well in. <br />
<br />
The [[LSL_Errors]] article explains how one LSL compiler reporting "ERROR : Syntax error" can mean what another LSL compiler would describe as "ERROR : Byte code assembly failed -- out of memory". Naturally, different LSL compilers provide different efficiencies. For example, the 2007-08 Mac OS X Second Life client could compile 692 cascaded else-if's at a time when the Windows Second Life client could not compile 19 cascaded else-if's.<br />
<br />
==Astonishingly different clients==<br />
<br />
El artículo [[LSL Alternate Editors]] enumera otros lugares en tu sistema operativo donde puedes tratar de correr tu LSL además de el cliente que SecondLife.com provee libre de costo.<br />
<br />
=Running Alternative Operating Systems=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Running Linux==<br />
<br />
Linux demands skill & attention to run well enough to support Second Life.<br />
<br />
As yet, Linux demands too much skill & attention: we haven't yet found a "how to" guide to tell us how people who don't already run OpenGL 2.0 in Linux can rapidly learn to run Second Life in Linux.<br />
<br />
Techniques we've tried that don't let us run Second Life in Linux include:<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Searching the web finds a Linux CD-R Knoppix for Second Life, but only a version that requires NVIDIA graphics without supporting the ATI Radeon graphics often found in Mac's.<br />
<br />
==Running Mac OS X==<br />
<br />
Mac OS X just works, if you have a Mac.<br />
<br />
Mac OS X doesn't work at all if you don't have a Mac.<br />
<br />
==Running Windows==<br />
<br />
Windows demands skill & attention to run well enough to support Second Life.<br />
<br />
The Windows installer's claim that you need administrator privilege to install appears to be false. People have seen copies of "C:\Program Files\SecondLife\" mostly work when dragged to into the "%userProfile%\Downloads\" of other Windows machines, without administrator privilege.<br />
<br />
=Also see=<br />
<br />
Also see: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere&diff=58226LSL Write Once Debug Everywhere2008-03-12T13:37:54Z<p>SharpEdge Aeon: /* Mensajes de error de tiempo de compilación increíbles */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Why Debug Everywhere=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
=Works on my Desktop=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Astonishing Compile-Time Error Messages==<br />
<br />
El artículo [[LSLEditorBugs]] explica como un error en un compilador LSL puede causar que tu script falle en un lugar mientras corre bien en otro. <br />
<br />
El artículo [[LSL_Errors]] explica como un compilador LSL que presenta un mensaje de error "ERROR : Syntax error" puede ser un error "ERROR : Byte code assembly failed -- out of memory" en otro compilador. Diferentes compiladores LSL proveen diferentes eficiencias. Por ejemplo el cliente de Second Life para Mac OS X del 2007-08 puede compilar 692 comandos en cascada de else-if al mismo tiempo mientras que el cliente de Second Life de Windows no puede compilar 19 comandos en cascada de else-if.<br />
<br />
==Astonishingly different clients==<br />
<br />
El artículo [[LSL Alternate Editors]] enumera otros lugares en tu sistema operativo donde puedes tratar de correr tu LSL además de el cliente que SecondLife.com provee libre de costo.<br />
<br />
=Running Alternative Operating Systems=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Running Linux==<br />
<br />
Linux demands skill & attention to run well enough to support Second Life.<br />
<br />
As yet, Linux demands too much skill & attention: we haven't yet found a "how to" guide to tell us how people who don't already run OpenGL 2.0 in Linux can rapidly learn to run Second Life in Linux.<br />
<br />
Techniques we've tried that don't let us run Second Life in Linux include:<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Searching the web finds a Linux CD-R Knoppix for Second Life, but only a version that requires NVIDIA graphics without supporting the ATI Radeon graphics often found in Mac's.<br />
<br />
==Running Mac OS X==<br />
<br />
Mac OS X just works, if you have a Mac.<br />
<br />
Mac OS X doesn't work at all if you don't have a Mac.<br />
<br />
==Running Windows==<br />
<br />
Windows demands skill & attention to run well enough to support Second Life.<br />
<br />
The Windows installer's claim that you need administrator privilege to install appears to be false. People have seen copies of "C:\Program Files\SecondLife\" mostly work when dragged to into the "%userProfile%\Downloads\" of other Windows machines, without administrator privilege.<br />
<br />
=Also see=<br />
<br />
Also see: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere&diff=58225LSL Write Once Debug Everywhere2008-03-12T13:37:06Z<p>SharpEdge Aeon: /* Por Qué Eliminar Errores En Todas Partes */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Why Debug Everywhere=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
=Works on my Desktop=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Mensajes de error de tiempo de compilación increíbles==<br />
<br />
El artículo [[LSLEditorBugs]] explica como un error en un compilador LSL puede causar que tu script falle en un lugar mientras corre bien en otro. <br />
<br />
El artículo [[LSL_Errors]] explica como un compilador LSL que presenta un mensaje de error "ERROR : Syntax error" puede ser un error "ERROR : Byte code assembly failed -- out of memory" en otro compilador. Diferentes compiladores LSL proveen diferentes eficiencias. Por ejemplo el cliente de Second Life para Mac OS X del 2007-08 puede compilar 692 comandos en cascada de else-if al mismo tiempo mientras que el cliente de Second Life de Windows no puede compilar 19 comandos en cascada de else-if.<br />
<br />
==Astonishingly different clients==<br />
<br />
El artículo [[LSL Alternate Editors]] enumera otros lugares en tu sistema operativo donde puedes tratar de correr tu LSL además de el cliente que SecondLife.com provee libre de costo.<br />
<br />
=Running Alternative Operating Systems=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Running Linux==<br />
<br />
Linux demands skill & attention to run well enough to support Second Life.<br />
<br />
As yet, Linux demands too much skill & attention: we haven't yet found a "how to" guide to tell us how people who don't already run OpenGL 2.0 in Linux can rapidly learn to run Second Life in Linux.<br />
<br />
Techniques we've tried that don't let us run Second Life in Linux include:<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Searching the web finds a Linux CD-R Knoppix for Second Life, but only a version that requires NVIDIA graphics without supporting the ATI Radeon graphics often found in Mac's.<br />
<br />
==Running Mac OS X==<br />
<br />
Mac OS X just works, if you have a Mac.<br />
<br />
Mac OS X doesn't work at all if you don't have a Mac.<br />
<br />
==Running Windows==<br />
<br />
Windows demands skill & attention to run well enough to support Second Life.<br />
<br />
The Windows installer's claim that you need administrator privilege to install appears to be false. People have seen copies of "C:\Program Files\SecondLife\" mostly work when dragged to into the "%userProfile%\Downloads\" of other Windows machines, without administrator privilege.<br />
<br />
=Also see=<br />
<br />
Also see: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere&diff=58223LSL Write Once Debug Everywhere2008-03-12T13:36:13Z<p>SharpEdge Aeon: /* Corriendo Sistemas Operativos Alternativos */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Por Qué Eliminar Errores En Todas Partes=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
<br />
=Works on my Desktop=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Mensajes de error de tiempo de compilación increíbles==<br />
<br />
El artículo [[LSLEditorBugs]] explica como un error en un compilador LSL puede causar que tu script falle en un lugar mientras corre bien en otro. <br />
<br />
El artículo [[LSL_Errors]] explica como un compilador LSL que presenta un mensaje de error "ERROR : Syntax error" puede ser un error "ERROR : Byte code assembly failed -- out of memory" en otro compilador. Diferentes compiladores LSL proveen diferentes eficiencias. Por ejemplo el cliente de Second Life para Mac OS X del 2007-08 puede compilar 692 comandos en cascada de else-if al mismo tiempo mientras que el cliente de Second Life de Windows no puede compilar 19 comandos en cascada de else-if.<br />
<br />
==Astonishingly different clients==<br />
<br />
El artículo [[LSL Alternate Editors]] enumera otros lugares en tu sistema operativo donde puedes tratar de correr tu LSL además de el cliente que SecondLife.com provee libre de costo.<br />
<br />
=Running Alternative Operating Systems=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Running Linux==<br />
<br />
Linux demands skill & attention to run well enough to support Second Life.<br />
<br />
As yet, Linux demands too much skill & attention: we haven't yet found a "how to" guide to tell us how people who don't already run OpenGL 2.0 in Linux can rapidly learn to run Second Life in Linux.<br />
<br />
Techniques we've tried that don't let us run Second Life in Linux include:<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Searching the web finds a Linux CD-R Knoppix for Second Life, but only a version that requires NVIDIA graphics without supporting the ATI Radeon graphics often found in Mac's.<br />
<br />
==Running Mac OS X==<br />
<br />
Mac OS X just works, if you have a Mac.<br />
<br />
Mac OS X doesn't work at all if you don't have a Mac.<br />
<br />
==Running Windows==<br />
<br />
Windows demands skill & attention to run well enough to support Second Life.<br />
<br />
The Windows installer's claim that you need administrator privilege to install appears to be false. People have seen copies of "C:\Program Files\SecondLife\" mostly work when dragged to into the "%userProfile%\Downloads\" of other Windows machines, without administrator privilege.<br />
<br />
=Also see=<br />
<br />
Also see: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere&diff=58222LSL Write Once Debug Everywhere2008-03-12T13:35:25Z<p>SharpEdge Aeon: /* Funciona en Mi Escritorio */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Por Qué Eliminar Errores En Todas Partes=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
<br />
=Works on my Desktop=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Mensajes de error de tiempo de compilación increíbles==<br />
<br />
El artículo [[LSLEditorBugs]] explica como un error en un compilador LSL puede causar que tu script falle en un lugar mientras corre bien en otro. <br />
<br />
El artículo [[LSL_Errors]] explica como un compilador LSL que presenta un mensaje de error "ERROR : Syntax error" puede ser un error "ERROR : Byte code assembly failed -- out of memory" en otro compilador. Diferentes compiladores LSL proveen diferentes eficiencias. Por ejemplo el cliente de Second Life para Mac OS X del 2007-08 puede compilar 692 comandos en cascada de else-if al mismo tiempo mientras que el cliente de Second Life de Windows no puede compilar 19 comandos en cascada de else-if.<br />
<br />
==Astonishingly different clients==<br />
<br />
El artículo [[LSL Alternate Editors]] enumera otros lugares en tu sistema operativo donde puedes tratar de correr tu LSL además de el cliente que SecondLife.com provee libre de costo.<br />
<br />
=Corriendo Sistemas Operativos Alternativos=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Running Linux==<br />
<br />
Linux demands skill & attention to run well enough to support Second Life.<br />
<br />
As yet, Linux demands too much skill & attention: we haven't yet found a "how to" guide to tell us how people who don't already run OpenGL 2.0 in Linux can rapidly learn to run Second Life in Linux.<br />
<br />
Techniques we've tried that don't let us run Second Life in Linux include:<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Searching the web finds a Linux CD-R Knoppix for Second Life, but only a version that requires NVIDIA graphics without supporting the ATI Radeon graphics often found in Mac's.<br />
<br />
==Running Mac OS X==<br />
<br />
Mac OS X just works, if you have a Mac.<br />
<br />
Mac OS X doesn't work at all if you don't have a Mac.<br />
<br />
==Running Windows==<br />
<br />
Windows demands skill & attention to run well enough to support Second Life.<br />
<br />
The Windows installer's claim that you need administrator privilege to install appears to be false. People have seen copies of "C:\Program Files\SecondLife\" mostly work when dragged to into the "%userProfile%\Downloads\" of other Windows machines, without administrator privilege.<br />
<br />
=Also see=<br />
<br />
Also see: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere&diff=58220LSL Write Once Debug Everywhere2008-03-12T13:34:03Z<p>SharpEdge Aeon: /* Corriendo Linux */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Por Qué Eliminar Errores En Todas Partes=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
<br />
=Funciona en Mi Escritorio=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Mensajes de error de tiempo de compilación increíbles==<br />
<br />
El artículo [[LSLEditorBugs]] explica como un error en un compilador LSL puede causar que tu script falle en un lugar mientras corre bien en otro. <br />
<br />
El artículo [[LSL_Errors]] explica como un compilador LSL que presenta un mensaje de error "ERROR : Syntax error" puede ser un error "ERROR : Byte code assembly failed -- out of memory" en otro compilador. Diferentes compiladores LSL proveen diferentes eficiencias. Por ejemplo el cliente de Second Life para Mac OS X del 2007-08 puede compilar 692 comandos en cascada de else-if al mismo tiempo mientras que el cliente de Second Life de Windows no puede compilar 19 comandos en cascada de else-if.<br />
<br />
==Astonishingly different clients==<br />
<br />
El artículo [[LSL Alternate Editors]] enumera otros lugares en tu sistema operativo donde puedes tratar de correr tu LSL además de el cliente que SecondLife.com provee libre de costo.<br />
<br />
=Corriendo Sistemas Operativos Alternativos=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Running Linux==<br />
<br />
Linux demands skill & attention to run well enough to support Second Life.<br />
<br />
As yet, Linux demands too much skill & attention: we haven't yet found a "how to" guide to tell us how people who don't already run OpenGL 2.0 in Linux can rapidly learn to run Second Life in Linux.<br />
<br />
Techniques we've tried that don't let us run Second Life in Linux include:<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Searching the web finds a Linux CD-R Knoppix for Second Life, but only a version that requires NVIDIA graphics without supporting the ATI Radeon graphics often found in Mac's.<br />
<br />
==Running Mac OS X==<br />
<br />
Mac OS X just works, if you have a Mac.<br />
<br />
Mac OS X doesn't work at all if you don't have a Mac.<br />
<br />
==Running Windows==<br />
<br />
Windows demands skill & attention to run well enough to support Second Life.<br />
<br />
The Windows installer's claim that you need administrator privilege to install appears to be false. People have seen copies of "C:\Program Files\SecondLife\" mostly work when dragged to into the "%userProfile%\Downloads\" of other Windows machines, without administrator privilege.<br />
<br />
=Also see=<br />
<br />
Also see: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere&diff=58219LSL Write Once Debug Everywhere2008-03-12T13:33:33Z<p>SharpEdge Aeon: /* Corriendo Mac OS X */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Por Qué Eliminar Errores En Todas Partes=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
<br />
=Funciona en Mi Escritorio=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Mensajes de error de tiempo de compilación increíbles==<br />
<br />
El artículo [[LSLEditorBugs]] explica como un error en un compilador LSL puede causar que tu script falle en un lugar mientras corre bien en otro. <br />
<br />
El artículo [[LSL_Errors]] explica como un compilador LSL que presenta un mensaje de error "ERROR : Syntax error" puede ser un error "ERROR : Byte code assembly failed -- out of memory" en otro compilador. Diferentes compiladores LSL proveen diferentes eficiencias. Por ejemplo el cliente de Second Life para Mac OS X del 2007-08 puede compilar 692 comandos en cascada de else-if al mismo tiempo mientras que el cliente de Second Life de Windows no puede compilar 19 comandos en cascada de else-if.<br />
<br />
==Astonishingly different clients==<br />
<br />
El artículo [[LSL Alternate Editors]] enumera otros lugares en tu sistema operativo donde puedes tratar de correr tu LSL además de el cliente que SecondLife.com provee libre de costo.<br />
<br />
=Corriendo Sistemas Operativos Alternativos=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Corriendo Linux==<br />
<br />
Linux demands skill & attention to run well enough to support Second Life.<br />
<br />
As yet, Linux demands too much skill & attention: we haven't yet found a "how to" guide to tell us how people who don't already run OpenGL 2.0 in Linux can rapidly learn to run Second Life in Linux.<br />
<br />
Techniques we've tried that don't let us run Second Life in Linux include:<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Searching the web finds a Linux CD-R Knoppix for Second Life, but only a version that requires NVIDIA graphics without supporting the ATI Radeon graphics often found in Mac's.<br />
<br />
==Running Mac OS X==<br />
<br />
Mac OS X just works, if you have a Mac.<br />
<br />
Mac OS X doesn't work at all if you don't have a Mac.<br />
<br />
==Running Windows==<br />
<br />
Windows demands skill & attention to run well enough to support Second Life.<br />
<br />
The Windows installer's claim that you need administrator privilege to install appears to be false. People have seen copies of "C:\Program Files\SecondLife\" mostly work when dragged to into the "%userProfile%\Downloads\" of other Windows machines, without administrator privilege.<br />
<br />
=Also see=<br />
<br />
Also see: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere&diff=58218LSL Write Once Debug Everywhere2008-03-12T13:33:03Z<p>SharpEdge Aeon: /* Consulte También */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Por Qué Eliminar Errores En Todas Partes=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
<br />
=Funciona en Mi Escritorio=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Mensajes de error de tiempo de compilación increíbles==<br />
<br />
El artículo [[LSLEditorBugs]] explica como un error en un compilador LSL puede causar que tu script falle en un lugar mientras corre bien en otro. <br />
<br />
El artículo [[LSL_Errors]] explica como un compilador LSL que presenta un mensaje de error "ERROR : Syntax error" puede ser un error "ERROR : Byte code assembly failed -- out of memory" en otro compilador. Diferentes compiladores LSL proveen diferentes eficiencias. Por ejemplo el cliente de Second Life para Mac OS X del 2007-08 puede compilar 692 comandos en cascada de else-if al mismo tiempo mientras que el cliente de Second Life de Windows no puede compilar 19 comandos en cascada de else-if.<br />
<br />
==Astonishingly different clients==<br />
<br />
El artículo [[LSL Alternate Editors]] enumera otros lugares en tu sistema operativo donde puedes tratar de correr tu LSL además de el cliente que SecondLife.com provee libre de costo.<br />
<br />
=Corriendo Sistemas Operativos Alternativos=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Corriendo Linux==<br />
<br />
Linux demands skill & attention to run well enough to support Second Life.<br />
<br />
As yet, Linux demands too much skill & attention: we haven't yet found a "how to" guide to tell us how people who don't already run OpenGL 2.0 in Linux can rapidly learn to run Second Life in Linux.<br />
<br />
Techniques we've tried that don't let us run Second Life in Linux include:<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Searching the web finds a Linux CD-R Knoppix for Second Life, but only a version that requires NVIDIA graphics without supporting the ATI Radeon graphics often found in Mac's.<br />
<br />
==Corriendo Mac OS X==<br />
<br />
Mac OS X just works, if you have a Mac.<br />
<br />
Mac OS X doesn't work at all if you don't have a Mac.<br />
<br />
==Running Windows==<br />
<br />
Windows demands skill & attention to run well enough to support Second Life.<br />
<br />
The Windows installer's claim that you need administrator privilege to install appears to be false. People have seen copies of "C:\Program Files\SecondLife\" mostly work when dragged to into the "%userProfile%\Downloads\" of other Windows machines, without administrator privilege.<br />
<br />
=Also see=<br />
<br />
Also see: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere&diff=58217LSL Write Once Debug Everywhere2008-03-12T13:32:28Z<p>SharpEdge Aeon: /* Corriendo Windows */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Por Qué Eliminar Errores En Todas Partes=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
<br />
=Funciona en Mi Escritorio=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Mensajes de error de tiempo de compilación increíbles==<br />
<br />
El artículo [[LSLEditorBugs]] explica como un error en un compilador LSL puede causar que tu script falle en un lugar mientras corre bien en otro. <br />
<br />
El artículo [[LSL_Errors]] explica como un compilador LSL que presenta un mensaje de error "ERROR : Syntax error" puede ser un error "ERROR : Byte code assembly failed -- out of memory" en otro compilador. Diferentes compiladores LSL proveen diferentes eficiencias. Por ejemplo el cliente de Second Life para Mac OS X del 2007-08 puede compilar 692 comandos en cascada de else-if al mismo tiempo mientras que el cliente de Second Life de Windows no puede compilar 19 comandos en cascada de else-if.<br />
<br />
==Astonishingly different clients==<br />
<br />
El artículo [[LSL Alternate Editors]] enumera otros lugares en tu sistema operativo donde puedes tratar de correr tu LSL además de el cliente que SecondLife.com provee libre de costo.<br />
<br />
=Corriendo Sistemas Operativos Alternativos=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Corriendo Linux==<br />
<br />
Linux demands skill & attention to run well enough to support Second Life.<br />
<br />
As yet, Linux demands too much skill & attention: we haven't yet found a "how to" guide to tell us how people who don't already run OpenGL 2.0 in Linux can rapidly learn to run Second Life in Linux.<br />
<br />
Techniques we've tried that don't let us run Second Life in Linux include:<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Searching the web finds a Linux CD-R Knoppix for Second Life, but only a version that requires NVIDIA graphics without supporting the ATI Radeon graphics often found in Mac's.<br />
<br />
==Corriendo Mac OS X==<br />
<br />
Mac OS X just works, if you have a Mac.<br />
<br />
Mac OS X doesn't work at all if you don't have a Mac.<br />
<br />
==Running Windows==<br />
<br />
Windows demands skill & attention to run well enough to support Second Life.<br />
<br />
The Windows installer's claim that you need administrator privilege to install appears to be false. People have seen copies of "C:\Program Files\SecondLife\" mostly work when dragged to into the "%userProfile%\Downloads\" of other Windows machines, without administrator privilege.<br />
<br />
=Consulte También=<br />
<br />
Consulte también: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere/es&diff=58216LSL Write Once Debug Everywhere/es2008-03-12T13:30:42Z<p>SharpEdge Aeon: New page: {{Multi-lang}}{{LSL Header}}{{RightToc}} =Por Qué Eliminar Errores En Todas Partes= Los scripts LSL que escribes una vez pueden corren en varias plataformas. Por consiguiente, copiar ...</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Por Qué Eliminar Errores En Todas Partes=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
<br />
=Funciona en Mi Escritorio=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Mensajes de error de tiempo de compilación increíbles==<br />
<br />
El artículo [[LSLEditorBugs]] explica como un error en un compilador LSL puede causar que tu script falle en un lugar mientras corre bien en otro. <br />
<br />
El artículo [[LSL_Errors]] explica como un compilador LSL que presenta un mensaje de error "ERROR : Syntax error" puede ser un error "ERROR : Byte code assembly failed -- out of memory" en otro compilador. Diferentes compiladores LSL proveen diferentes eficiencias. Por ejemplo el cliente de Second Life para Mac OS X del 2007-08 puede compilar 692 comandos en cascada de else-if al mismo tiempo mientras que el cliente de Second Life de Windows no puede compilar 19 comandos en cascada de else-if.<br />
<br />
==Astonishingly different clients==<br />
<br />
El artículo [[LSL Alternate Editors]] enumera otros lugares en tu sistema operativo donde puedes tratar de correr tu LSL además de el cliente que SecondLife.com provee libre de costo.<br />
<br />
=Corriendo Sistemas Operativos Alternativos=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Corriendo Linux==<br />
<br />
Linux demands skill & attention to run well enough to support Second Life.<br />
<br />
As yet, Linux demands too much skill & attention: we haven't yet found a "how to" guide to tell us how people who don't already run OpenGL 2.0 in Linux can rapidly learn to run Second Life in Linux.<br />
<br />
Techniques we've tried that don't let us run Second Life in Linux include:<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Searching the web finds a Linux CD-R Knoppix for Second Life, but only a version that requires NVIDIA graphics without supporting the ATI Radeon graphics often found in Mac's.<br />
<br />
==Corriendo Mac OS X==<br />
<br />
Mac OS X just works, if you have a Mac.<br />
<br />
Mac OS X doesn't work at all if you don't have a Mac.<br />
<br />
==Corriendo Windows==<br />
<br />
Windows demands skill & attention to run well enough to support Second Life.<br />
<br />
The Windows installer's claim that you need administrator privilege to install appears to be false. People have seen copies of "C:\Program Files\SecondLife\" mostly work when dragged to into the "%userProfile%\Downloads\" of other Windows machines, without administrator privilege.<br />
<br />
=Consulte También=<br />
<br />
Consulte también: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere&diff=58092LSL Write Once Debug Everywhere2008-03-11T14:05:49Z<p>SharpEdge Aeon: /* Astonishingly different clients */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Por Qué Eliminar Errores En Todas Partes=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
<br />
=Funciona en Mi Escritorio=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Mensajes de error de tiempo de compilación increíbles==<br />
<br />
El artículo [[LSLEditorBugs]] explica como un error en un compilador LSL puede causar que tu script falle en un lugar mientras corre bien en otro. <br />
<br />
El artículo [[LSL_Errors]] explica como un compilador LSL que presenta un mensaje de error "ERROR : Syntax error" puede ser un error "ERROR : Byte code assembly failed -- out of memory" en otro compilador. Diferentes compiladores LSL proveen diferentes eficiencias. Por ejemplo el cliente de Second Life para Mac OS X del 2007-08 puede compilar 692 comandos en cascada de else-if al mismo tiempo mientras que el cliente de Second Life de Windows no puede compilar 19 comandos en cascada de else-if.<br />
<br />
==Astonishingly different clients==<br />
<br />
El artículo [[LSL Alternate Editors]] enumera otros lugares en tu sistema operativo donde puedes tratar de correr tu LSL además de el cliente que SecondLife.com provee libre de costo.<br />
<br />
=Corriendo Sistemas Operativos Alternativos=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Corriendo Linux==<br />
<br />
Linux demands skill & attention to run well enough to support Second Life.<br />
<br />
As yet, Linux demands too much skill & attention: we haven't yet found a "how to" guide to tell us how people who don't already run OpenGL 2.0 in Linux can rapidly learn to run Second Life in Linux.<br />
<br />
Techniques we've tried that don't let us run Second Life in Linux include:<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Searching the web finds a Linux CD-R Knoppix for Second Life, but only a version that requires NVIDIA graphics without supporting the ATI Radeon graphics often found in Mac's.<br />
<br />
==Corriendo Mac OS X==<br />
<br />
Mac OS X just works, if you have a Mac.<br />
<br />
Mac OS X doesn't work at all if you don't have a Mac.<br />
<br />
==Corriendo Windows==<br />
<br />
Windows demands skill & attention to run well enough to support Second Life.<br />
<br />
The Windows installer's claim that you need administrator privilege to install appears to be false. People have seen copies of "C:\Program Files\SecondLife\" mostly work when dragged to into the "%userProfile%\Downloads\" of other Windows machines, without administrator privilege.<br />
<br />
=Consulte También=<br />
<br />
Consulte también: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere&diff=58090LSL Write Once Debug Everywhere2008-03-11T13:46:01Z<p>SharpEdge Aeon: /* Mensajes de error de tiempo de compilación increíbles */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Por Qué Eliminar Errores En Todas Partes=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
<br />
=Funciona en Mi Escritorio=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Mensajes de error de tiempo de compilación increíbles==<br />
<br />
El artículo [[LSLEditorBugs]] explica como un error en un compilador LSL puede causar que tu script falle en un lugar mientras corre bien en otro. <br />
<br />
El artículo [[LSL_Errors]] explica como un compilador LSL que presenta un mensaje de error "ERROR : Syntax error" puede ser un error "ERROR : Byte code assembly failed -- out of memory" en otro compilador. Diferentes compiladores LSL proveen diferentes eficiencias. Por ejemplo el cliente de Second Life para Mac OS X del 2007-08 puede compilar 692 comandos en cascada de else-if al mismo tiempo mientras que el cliente de Second Life de Windows no puede compilar 19 comandos en cascada de else-if.<br />
<br />
==Astonishingly different clients==<br />
<br />
The [[LSL Alternate Editors]] article lists other places within your own operating system that you can try running your LSL, besides the usual client that SecondLife.com offers free of charge.<br />
<br />
=Corriendo Sistemas Operativos Alternativos=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Corriendo Linux==<br />
<br />
Linux demands skill & attention to run well enough to support Second Life.<br />
<br />
As yet, Linux demands too much skill & attention: we haven't yet found a "how to" guide to tell us how people who don't already run OpenGL 2.0 in Linux can rapidly learn to run Second Life in Linux.<br />
<br />
Techniques we've tried that don't let us run Second Life in Linux include:<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Searching the web finds a Linux CD-R Knoppix for Second Life, but only a version that requires NVIDIA graphics without supporting the ATI Radeon graphics often found in Mac's.<br />
<br />
==Corriendo Mac OS X==<br />
<br />
Mac OS X just works, if you have a Mac.<br />
<br />
Mac OS X doesn't work at all if you don't have a Mac.<br />
<br />
==Corriendo Windows==<br />
<br />
Windows demands skill & attention to run well enough to support Second Life.<br />
<br />
The Windows installer's claim that you need administrator privilege to install appears to be false. People have seen copies of "C:\Program Files\SecondLife\" mostly work when dragged to into the "%userProfile%\Downloads\" of other Windows machines, without administrator privilege.<br />
<br />
=Consulte También=<br />
<br />
Consulte también: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere&diff=58089LSL Write Once Debug Everywhere2008-03-11T13:37:13Z<p>SharpEdge Aeon: /* Astonishing compile-time error messages */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Por Qué Eliminar Errores En Todas Partes=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
<br />
=Funciona en Mi Escritorio=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Mensajes de error de tiempo de compilación increíbles==<br />
<br />
El artículo [[LSLEditorBugs]] explica como un error en un compilador LSL puede causar que tu script falle en un lugar mientras corre bien en otro. <br />
<br />
El artículo [[LSL_Errors]] explica como un <br />
<br />
article explains how one LSL compiler reporting "ERROR : Syntax error" can mean what another LSL compiler would describe as "ERROR : Byte code assembly failed -- out of memory". Naturally, different LSL compilers provide different efficiencies. For example, the 2007-08 Mac OS X Second Life client could compile 692 cascaded else-if's at a time when the Windows Second Life client could not compile 19 cascaded else-if's.<br />
<br />
==Astonishingly different clients==<br />
<br />
The [[LSL Alternate Editors]] article lists other places within your own operating system that you can try running your LSL, besides the usual client that SecondLife.com offers free of charge.<br />
<br />
=Corriendo Sistemas Operativos Alternativos=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Corriendo Linux==<br />
<br />
Linux demands skill & attention to run well enough to support Second Life.<br />
<br />
As yet, Linux demands too much skill & attention: we haven't yet found a "how to" guide to tell us how people who don't already run OpenGL 2.0 in Linux can rapidly learn to run Second Life in Linux.<br />
<br />
Techniques we've tried that don't let us run Second Life in Linux include:<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Searching the web finds a Linux CD-R Knoppix for Second Life, but only a version that requires NVIDIA graphics without supporting the ATI Radeon graphics often found in Mac's.<br />
<br />
==Corriendo Mac OS X==<br />
<br />
Mac OS X just works, if you have a Mac.<br />
<br />
Mac OS X doesn't work at all if you don't have a Mac.<br />
<br />
==Corriendo Windows==<br />
<br />
Windows demands skill & attention to run well enough to support Second Life.<br />
<br />
The Windows installer's claim that you need administrator privilege to install appears to be false. People have seen copies of "C:\Program Files\SecondLife\" mostly work when dragged to into the "%userProfile%\Downloads\" of other Windows machines, without administrator privilege.<br />
<br />
=Consulte También=<br />
<br />
Consulte también: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Write_Once_Debug_Everywhere&diff=58088LSL Write Once Debug Everywhere2008-03-11T13:28:16Z<p>SharpEdge Aeon: </p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Por Qué Eliminar Errores En Todas Partes=<br />
<br />
Los scripts LSL que escribes una vez pueden corren en varias plataformas. <br />
<br />
Por consiguiente, copiar tu script LSL de un lugar a otro puede causar que falle o que no <br />
compile. <br />
<br />
Entre los lugares que puedes correr tus scripts LSL incluyen Linux, Mac OS X y clientes de Windowsde SecondLife.com que conectan atraves de una conexion de banda ancha de Internet a la red central en Linden labs. También existen otros compiladores y otras redes como compilar, editar y probar procesos fuera de línea.<br />
<br />
Este artículo explica como puedes desarollar scripts LSL que corren bien y compila sin errores en todos estas plataformas.<br />
<br />
<br />
=Funciona en Mi Escritorio=<br />
<br />
Las maneras en que el script puede correr bien en tu escritorio pero no el mío incluyen:<br />
<br />
==Astonishing compile-time error messages==<br />
<br />
The [[LSLEditorBugs]] article explains how a bug in an LSL compiler can make your script fail to compile in one place despite compiling and running well in another.<br />
<br />
The [[LSL_Errors]] article explains how one LSL compiler reporting "ERROR : Syntax error" can mean what another LSL compiler would describe as "ERROR : Byte code assembly failed -- out of memory". Naturally, different LSL compilers provide different efficiencies. For example, the 2007-08 Mac OS X Second Life client could compile 692 cascaded else-if's at a time when the Windows Second Life client could not compile 19 cascaded else-if's.<br />
<br />
==Astonishingly different clients==<br />
<br />
The [[LSL Alternate Editors]] article lists other places within your own operating system that you can try running your LSL, besides the usual client that SecondLife.com offers free of charge.<br />
<br />
=Corriendo Sistemas Operativos Alternativos=<br />
<br />
Running another operating system to test your script may be easier or harder than you think.<br />
<br />
Techniques that can let you restart your PC or Mac to run an alternate operating system include:<br />
# Inserting a DVD or CD disc<br />
# Plugging in a USB Flash Drive (UFD)<br />
# Repartitioning your internal ATA hard drive (without scrambling it)<br />
# Adding an external FireWire hard drive<br />
<br />
Which technique works best for you varies according to your setup, in particular your boot BIOS.<br />
<br />
Which technique works best for you will also vary bizarrely in accord with the copy restrictions added for you by the operating system vendor. For example, Microsoft Windows will often refuse to run from anywhere except from a partition of your internal ATA hard drive.<br />
<br />
The http://www.apple.com/macosx/bootcamp/ tool from Apple walks you thru the process of repartitioning your internal ATA hard drive without scrambling it, but only if you have an Intel-based Mac, not a Motorola-based Mac and not an Intel-based PC.<br />
<br />
Companies like [[Parallels|http://www.parallels.com/]] and [[VMware|http://www.vmware.com/]] sell you tools for running Windows in parallel with your usual operating system. You can even run Windows in parallel with itself, just to test different configurations without disrupting your normal Windows experience.<br />
<br />
==Corriendo Linux==<br />
<br />
Linux demands skill & attention to run well enough to support Second Life.<br />
<br />
As yet, Linux demands too much skill & attention: we haven't yet found a "how to" guide to tell us how people who don't already run OpenGL 2.0 in Linux can rapidly learn to run Second Life in Linux.<br />
<br />
Techniques we've tried that don't let us run Second Life in Linux include:<br />
# Linux CD-R Ubuntu Feisty 7.04 - ACPI vs. recent Apple hardware<br />
# Linux CD-R Knoppix 2007-01-04 - "Window creation error"<br />
# Linux DVD-R Knoppix 2007-01-04 - "Window creation error"<br />
<br />
Searching the web finds a Linux CD-R Knoppix for Second Life, but only a version that requires NVIDIA graphics without supporting the ATI Radeon graphics often found in Mac's.<br />
<br />
==Corriendo Mac OS X==<br />
<br />
Mac OS X just works, if you have a Mac.<br />
<br />
Mac OS X doesn't work at all if you don't have a Mac.<br />
<br />
==Corriendo Windows==<br />
<br />
Windows demands skill & attention to run well enough to support Second Life.<br />
<br />
The Windows installer's claim that you need administrator privilege to install appears to be false. People have seen copies of "C:\Program Files\SecondLife\" mostly work when dragged to into the "%userProfile%\Downloads\" of other Windows machines, without administrator privilege.<br />
<br />
=Consulte También=<br />
<br />
Consulte también: [[LSL Alternate Editors]], [[LSLEditorBugs]]</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Script_Memory/es&diff=57531LSL Script Memory/es2008-03-06T20:40:14Z<p>SharpEdge Aeon: /* Estados */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Memoria de Script=<br />
Todos los scripts en LSL comienzan con 16 kilobytes de memoria y esa memoria se usa rápidamente. Abajo está una lista de código y uso de memoria. <br />
<br />
Todos los datos a continuación fueron compilados usando [[llGetFreeMemory]](). Como el compilador de LSL no es un programa simple, los datos abajo pueden no ser 100% correctos. De hecho, parte de los datos son incorrectos y necesitan correciones. <br />
<br />
Todavía quedan partes que pueden mejorarse y muchas más que necesitan detalles adicionales. Si alguien tiene tiempo y no sabe que hacer, juege con el uso de memoria para diferentes funciones. Una lista de actualizaciones necesarias se encuentra al final de la página.<br />
<br />
=Variables=<br />
==Declarando variables como globales==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 10<br />
float 10<br />
string 18 + 1 por carácter<br />
key 18 + 1 por carácter<br />
vector 18<br />
rotation 22<br />
list 21 + lista de uso de memoria<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 15<br />
float 15<br />
string 12 + 1 por carácter<br />
key 12 + 1 por carácter<br />
vector 23<br />
rotation 27<br />
list Las Listas no pueden contener otras listas<br />
</pre><br />
==Declarando variables dentro del estado predeterminado==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 15<br />
float 15<br />
string 12 + 1 por carácter<br />
key 12 + 1 por carácter<br />
vector 31<br />
rotation 39<br />
list 15 + lista de uso de memoria<br />
</pre><br />
<br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 7<br />
float 7<br />
string 4 + 1 por carácter<br />
key 4 + 1 por carácter<br />
vector 23<br />
rotation 30<br />
list Las Listas no pueden contener otras listas<br />
</pre><br />
==Simplemente declarando valores==<br />
===Colocando un Valor en la Pila (Stack)===<br />
<pre><br />
Integers 1 + 4 bytes para el valor<br />
Float 1 + 4 bytes para el valor<br />
String 1 + bytes por carácter + 1 byte para nulo<br />
Key 1 + bytes por carácter + 1 byte para nulo<br />
Vector 1 + 3 * float cost<br />
Rotation 1 + 4 * float cost<br />
List 1 + 4 para la longitud de la lista + uso de lista de memoria<br />
</pre><br />
Remover un valor de una pila cuesta 1 byte.<br />
<br />
===Lista de Uso de Memoria===<br />
<pre><br />
Integers 7<br />
Float 7<br />
String 4 + 1 por carácter<br />
Key 4 + 1 por carácter<br />
Vector 23<br />
Rotation 30<br />
list Las listas no pueden contener listas<br />
</pre><br />
==Constantes==<br />
Todas las contantes de número entero usan 6 bytes de memoria.<br />
===Otras Constantes===<br />
<pre><br />
ZERO_VECTOR 16<br />
ZERO_ROTATION 21<br />
NULL_KEY 39<br />
</pre><br />
<br />
==Extras==<br />
6 bytes para variables de referencia<br />
==Ejemplos==<br />
<pre><br />
integer i; //10 bytes<br />
<br />
default {<br />
state_entry() {<br />
list l = ["Testing", "This"] //15 (list) + 15 (string) + 8 (string)<br />
}<br />
}<br />
</pre><br />
=Funciones=<br />
==Declarando funciones==<br />
Las funciones requieren 16 bytes para crearse con 3 bytes por parámetro, además del tipo de retorno. <br />
===Tipos de retorno===<br />
<pre><br />
integer 4<br />
float 4<br />
string 4<br />
key 4<br />
vector 20<br />
rotation 27<br />
list 4<br />
</pre><br />
==Declarando variables en funciones==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 11<br />
float 11<br />
string 8 + 1 por carácter<br />
key 8 + 1 por carácter<br />
vector 19<br />
rotation 23<br />
list 11 + lista de uso de memoria<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 7<br />
float 7<br />
string 4 + 1 por carácter<br />
key 4 + 1 por carácter<br />
vector 23<br />
rotation 30<br />
list Las listas no pueden contener listas<br />
</pre><br />
<br />
==Llamando funciones==<br />
21 bytes para llamar a una función sin retorno<br><br />
21 bytes para llamar a una función con cualquier retorno + tipo de retorno <br><br />
Reste el número de parámetros ingresados<br />
===Tipos de Retorno===<br />
integer 2<br />
float 2<br />
string 10 + 1 por carácter devuelto<br />
key 10 + 1 por carácter devuelto<br />
vector 2<br />
rotation 2<br />
list 18 + lista de uso de memoria<br />
<br />
==Ejemplos==<br />
<pre><br />
list f() { //16 (function) + 4 (return)<br />
list ret = [0]; //11 (list) + 7 (integer)<br />
return ret; 6 (list)<br />
} <br />
</pre><br />
<pre><br />
string f() {<br />
return "";<br />
}<br />
<br />
default {<br />
state_entry() {<br />
f(); //21 (call to f) + 10 (returns string)<br />
}<br />
}<br />
</pre><br />
=Operadores=<br />
==Lista de Operadores== <br />
<pre><br />
+ 1<br />
- 1<br />
* 1<br />
/ 1<br />
% 1<br />
& 0<br />
| 0<br />
^ 0<br />
! 0<br />
>> 0<br />
<< 0<br />
~ 1<br />
== 1<br />
<= 1<br />
< 1<br />
>= 1<br />
> 1<br />
!= 1<br />
</pre><br />
==Asignación==<br />
Asignar valores a variables toma muchos bytes menos uno.<br />
===Ejemplos===<br />
<pre><br />
string s; //12 bytes<br />
s; //6 bytes<br />
""; //3 bytes (vea a continuación)<br />
s = ""; //8 (6 (string) + 3 (null string) - 1) bytes<br />
</pre><br />
Pero...<br />
<pre><br />
string s = ""; //12 bytes<br />
</pre><br />
<pre><br />
integer i; //15 bytes<br />
i = i + 1 // 6 bytes (integer) + 6 bytes (integer) + 6 bytes (1) + 1 byte (addition) - 1 byte (assignment)<br />
</pre><br />
<br />
==Declaraciones==<br />
<pre><br />
if 6<br />
while 11<br />
for 11<br />
do 6<br />
jump 5<br />
@ 0<br />
state 5<br />
</pre><br />
===Ejemplos===<br />
<pre><br />
if (5 < 10) { // 6 (if) + 6 (integer) + 6 (integer) + 1 (compare)<br />
//Haz algo aquí<br />
}<br />
</pre><br />
<pre><br />
while (1 < 2 & 3 < 4) { // 11 (while) + 4*6 (4 integers) + 2 (2 compares)<br />
//Haz algo aquí<br />
}<br />
</pre><br />
==Moldeado de Tipos (Typecasting)==<br />
<pre><br />
integer 10<br />
float 10<br />
string 10<br />
key 10<br />
vector 10<br />
rotation 10<br />
list 25<br />
</pre><br />
==Estados==<br />
14 bytes por cualquier evento en un estado + 1 por cada parámetro<br />
17 bytes para crear un estado nuevo<br />
<br />
=Actualizaciones Necesarias=<br />
Se necesitan varias actualizaciones para esta página. Las más urgentes se encuentran a continuación: <br />
* Verificar todos los datos<br />
* Aclaración de explicaciones<br />
* Investigar como trabajan las funciones<br />
** Llamar funciones<br />
** Como los tipos de retorno afectan los valores devueltos<br />
* En el código a continuación, la llamada llGetFreeMemory() regresa un valor diferente. ¿Cómo se afecta? ¿Por qué?<br />
<pre><br />
default {<br />
state_entry() {<br />
llOwnerSay((string)llGetFreeMemory());<br />
list l = ["", "", "", ""];<br />
llOwnerSay((string)llGetFreeMemory());<br />
}<br />
}</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Script_Memory/es&diff=57529LSL Script Memory/es2008-03-06T20:38:29Z<p>SharpEdge Aeon: /* Asignación */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Memoria de Script=<br />
Todos los scripts en LSL comienzan con 16 kilobytes de memoria y esa memoria se usa rápidamente. Abajo está una lista de código y uso de memoria. <br />
<br />
Todos los datos a continuación fueron compilados usando [[llGetFreeMemory]](). Como el compilador de LSL no es un programa simple, los datos abajo pueden no ser 100% correctos. De hecho, parte de los datos son incorrectos y necesitan correciones. <br />
<br />
Todavía quedan partes que pueden mejorarse y muchas más que necesitan detalles adicionales. Si alguien tiene tiempo y no sabe que hacer, juege con el uso de memoria para diferentes funciones. Una lista de actualizaciones necesarias se encuentra al final de la página.<br />
<br />
=Variables=<br />
==Declarando variables como globales==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 10<br />
float 10<br />
string 18 + 1 por carácter<br />
key 18 + 1 por carácter<br />
vector 18<br />
rotation 22<br />
list 21 + lista de uso de memoria<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 15<br />
float 15<br />
string 12 + 1 por carácter<br />
key 12 + 1 por carácter<br />
vector 23<br />
rotation 27<br />
list Las Listas no pueden contener otras listas<br />
</pre><br />
==Declarando variables dentro del estado predeterminado==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 15<br />
float 15<br />
string 12 + 1 por carácter<br />
key 12 + 1 por carácter<br />
vector 31<br />
rotation 39<br />
list 15 + lista de uso de memoria<br />
</pre><br />
<br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 7<br />
float 7<br />
string 4 + 1 por carácter<br />
key 4 + 1 por carácter<br />
vector 23<br />
rotation 30<br />
list Las Listas no pueden contener otras listas<br />
</pre><br />
==Simplemente declarando valores==<br />
===Colocando un Valor en la Pila (Stack)===<br />
<pre><br />
Integers 1 + 4 bytes para el valor<br />
Float 1 + 4 bytes para el valor<br />
String 1 + bytes por carácter + 1 byte para nulo<br />
Key 1 + bytes por carácter + 1 byte para nulo<br />
Vector 1 + 3 * float cost<br />
Rotation 1 + 4 * float cost<br />
List 1 + 4 para la longitud de la lista + uso de lista de memoria<br />
</pre><br />
Remover un valor de una pila cuesta 1 byte.<br />
<br />
===Lista de Uso de Memoria===<br />
<pre><br />
Integers 7<br />
Float 7<br />
String 4 + 1 por carácter<br />
Key 4 + 1 por carácter<br />
Vector 23<br />
Rotation 30<br />
list Las listas no pueden contener listas<br />
</pre><br />
==Constantes==<br />
Todas las contantes de número entero usan 6 bytes de memoria.<br />
===Otras Constantes===<br />
<pre><br />
ZERO_VECTOR 16<br />
ZERO_ROTATION 21<br />
NULL_KEY 39<br />
</pre><br />
<br />
==Extras==<br />
6 bytes para variables de referencia<br />
==Ejemplos==<br />
<pre><br />
integer i; //10 bytes<br />
<br />
default {<br />
state_entry() {<br />
list l = ["Testing", "This"] //15 (list) + 15 (string) + 8 (string)<br />
}<br />
}<br />
</pre><br />
=Funciones=<br />
==Declarando funciones==<br />
Las funciones requieren 16 bytes para crearse con 3 bytes por parámetro, además del tipo de retorno. <br />
===Tipos de retorno===<br />
<pre><br />
integer 4<br />
float 4<br />
string 4<br />
key 4<br />
vector 20<br />
rotation 27<br />
list 4<br />
</pre><br />
==Declarando variables en funciones==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 11<br />
float 11<br />
string 8 + 1 por carácter<br />
key 8 + 1 por carácter<br />
vector 19<br />
rotation 23<br />
list 11 + lista de uso de memoria<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 7<br />
float 7<br />
string 4 + 1 por carácter<br />
key 4 + 1 por carácter<br />
vector 23<br />
rotation 30<br />
list Las listas no pueden contener listas<br />
</pre><br />
<br />
==Llamando funciones==<br />
21 bytes para llamar a una función sin retorno<br><br />
21 bytes para llamar a una función con cualquier retorno + tipo de retorno <br><br />
Reste el número de parámetros ingresados<br />
===Tipos de Retorno===<br />
integer 2<br />
float 2<br />
string 10 + 1 por carácter devuelto<br />
key 10 + 1 por carácter devuelto<br />
vector 2<br />
rotation 2<br />
list 18 + lista de uso de memoria<br />
<br />
==Ejemplos==<br />
<pre><br />
list f() { //16 (function) + 4 (return)<br />
list ret = [0]; //11 (list) + 7 (integer)<br />
return ret; 6 (list)<br />
} <br />
</pre><br />
<pre><br />
string f() {<br />
return "";<br />
}<br />
<br />
default {<br />
state_entry() {<br />
f(); //21 (call to f) + 10 (returns string)<br />
}<br />
}<br />
</pre><br />
=Operadores=<br />
==Lista de Operadores== <br />
<pre><br />
+ 1<br />
- 1<br />
* 1<br />
/ 1<br />
% 1<br />
& 0<br />
| 0<br />
^ 0<br />
! 0<br />
>> 0<br />
<< 0<br />
~ 1<br />
== 1<br />
<= 1<br />
< 1<br />
>= 1<br />
> 1<br />
!= 1<br />
</pre><br />
==Asignación==<br />
Asignar valores a variables toma muchos bytes menos uno.<br />
===Ejemplos===<br />
<pre><br />
string s; //12 bytes<br />
s; //6 bytes<br />
""; //3 bytes (vea a continuación)<br />
s = ""; //8 (6 (string) + 3 (null string) - 1) bytes<br />
</pre><br />
Pero...<br />
<pre><br />
string s = ""; //12 bytes<br />
</pre><br />
<pre><br />
integer i; //15 bytes<br />
i = i + 1 // 6 bytes (integer) + 6 bytes (integer) + 6 bytes (1) + 1 byte (addition) - 1 byte (assignment)<br />
</pre><br />
<br />
==Declaraciones==<br />
<pre><br />
if 6<br />
while 11<br />
for 11<br />
do 6<br />
jump 5<br />
@ 0<br />
state 5<br />
</pre><br />
===Ejemplos===<br />
<pre><br />
if (5 < 10) { // 6 (if) + 6 (integer) + 6 (integer) + 1 (compare)<br />
//Haz algo aquí<br />
}<br />
</pre><br />
<pre><br />
while (1 < 2 & 3 < 4) { // 11 (while) + 4*6 (4 integers) + 2 (2 compares)<br />
//Haz algo aquí<br />
}<br />
</pre><br />
==Moldeado de Tipos (Typecasting)==<br />
<pre><br />
integer 10<br />
float 10<br />
string 10<br />
key 10<br />
vector 10<br />
rotation 10<br />
list 25<br />
</pre><br />
==Estados==<br />
14 bytes por cualquier event en un estado + 1 por cada parámetro<br />
17 bytes para crear un estado nuevo<br />
=Actualizaciones Necesarias=<br />
Se necesitan varias actualizaciones para esta página. Las más urgentes se encuentran a continuación: <br />
* Verificar todos los datos<br />
* Aclaración de explicaciones<br />
* Investigar como trabajan las funciones<br />
** Llamar funciones<br />
** Como los tipos de retorno afectan los valores devueltos<br />
* En el código a continuación, la llamada llGetFreeMemory() regresa un valor diferente. ¿Cómo se afecta? ¿Por qué?<br />
<pre><br />
default {<br />
state_entry() {<br />
llOwnerSay((string)llGetFreeMemory());<br />
list l = ["", "", "", ""];<br />
llOwnerSay((string)llGetFreeMemory());<br />
}<br />
}</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Portal_Translation_Project&diff=57528LSL Portal Translation Project2008-03-06T20:36:11Z<p>SharpEdge Aeon: /* :LSL_Write_Once_Debug_Everywhere */</p>
<hr />
<div>{{LSL Header}}<br />
__NOTOC__<br />
Do NOT translate this page. This would result in out-of-sync versions of the master list<br />
== Welcome to the LSL Portal Translation Project! ==<br />
This is a community effort to provide a multi-lingual translation of the LSL Portal. Please feel free to edit and add languages to the set. Only reasonably static pages have been selected for translation. News, bugs and patches, automatically generated pages have been set aside. This way, we intend to keep the original pages and their translations as much similar as possible.<br />
<br />
LSL Scripters can participate in this project by choosing a wiki page from the list below and translating it into the language(s) they speak fluently. This suggestion list will be updated periodically with new pages. Contributors are welcomed to list themselves and discuss language-specific topics on the proper subpage of the [[LSL_Portal_Translation_Team]] page.<br />
<br />
== <span style="color:red;">Please notice</span> ==<br />
<br />
To make coordination easier, I have created an inworld group named '''"LSL portal translation"'''. Please subscribe to it.<br />
<br />
Subjects of discussion might be :<br />
- transition to new language codes<br />
- is the structure of this coordination page adequate ?<br />
- links look ugly in the localized categories<br />
- how to attract more contributors<br />
- etc.<br />
<br />
This group will also provide mutual help, for example with templates localization.<br />
<br />
== <span style="color:red;">Important Changes</span> ==<br />
<br />
There is a discussion afoot to change from ISO 639-1 to ISO 639-3. This means that every page with two letter language codes would be moved to their 3 letter equivalent. The reason for this is that ISO 693-1 limits language codes to two letters, this is problematic for the Chinese dialects. The actual conversion will be automated and will not require the users to do anything new. Old links will redirect to the new article locations. Assuming no issues this will happen January 3rd. Please refer to [[Template_talk:Multi-lang]] for commentary and discussion.<br />
<br />
== Procedure to Create a Translation Page ==<br />
{{Alert Box|This topic is affected by [[#Important Changes]]}}<br />
<br />
* Choose a page from the Suggested Pages to Translate. If the page is followed by the languages list, it is ready for translation.<br />
<br />
* If the page is not ready for translation the <nowiki>{{Multi-lang}}</nowiki> tag should be included in the main page. If you are not are not familiar with this wiki, feel free to ask for assistance.<br />
<br />
* Click the link of the page you have chosen to translate. In the URL bar of your navigator, add a /xx language code. This is how you create the language subpage. Example: LSL_Tutorial/fr to create a french translation of LSL_Tutorial. <br />
<br />
====Language Codes====<br />
{| border="1" cellspacing="0"<br />
!Code!!Language<br />
|-<br />
|de||German<br />
|-<br />
|en||English<br />
|-<br />
|es||Spanish<br />
|-<br />
|fr||French<br />
|-<br />
|it||Italian<br />
|-<br />
|ko||Korean<br />
|-<br />
|ja||Japanese<br />
|-<br />
|nl||Dutch<br />
|-<br />
|pl||Polish<br />
|-<br />
|pt||Portuguese<br />
|-<br />
|zh-Hans||Chinese (Simplified) <!-- Refers to the script/characters, see [[Template_talk:Multi-lang#Chinese]] --><br />
|-<br />
|zh-Hant||Chinese (Traditional) <!-- Refers to the script/characters, see [[Template_talk:Multi-lang#Chinese]] --><br />
|}<br />
<br />
* It is advised to start from a copy of the main page source and insert your translation in place of the original content to achieve the same page layout.<br />
<br />
* Once your translation is finished, add "Done", the date, and your name to the Suggested Pages to Translate. For the date, use the international ISO format YYYY-MM-DD.<br />
<br />
==Suggested Pages to Translate==<br />
<br />
<br />
=== LSL Portal ===<br />
<br />
====[[:LSL_Portal]]====<br />
*Chinese - Done<br />
*Dutch -<br />
*French - Done 2007-12-02 Catherine Pfeffer<br />
*German -<br />
*Italian - Done 2007-12-28 NickTheDeveloper Masatada<br />
*Japanese - Started 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish - Started 2008-02-23 Sebast Forwzy<br />
*Portuguese - Started 2008-01-28 Rui Clary<br />
*Spanish - Done 2008-03-05 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Editing_Primer]]====<br />
* Chinese - Started 2007-12-30 Fuser Aeon<br />
* Dutch -<br />
* French - <br />
* German -<br />
* Italian - Done 2007-12-28 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-05 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Portal_Guidelines]]====<br />
* Chinese - <br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2008-01-03 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2007-01-02 Ashty Kuhn<br />
----<br />
<br />
====[[:LSL_Portal_To-do]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-05 SharpEdge Aeon<br />
<br />
=== Developer Resources ===<br />
<br />
====[[:LSL_Tutorial]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2007-12-29 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-27 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-01-02 Ashty Kuhn<br />
----<br />
<br />
====[[:Category:LSL_Teachers]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:Category:LSL_Mentors]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:Category:LSL_Examples]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:Category:LSL_Library]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:LSL_Protocol]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2007-12-29 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-27 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Useful_Function_WishList]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2007-12-29 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-28 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Style_Guide]]====<br />
*Chinese - Done 2007-12-29 Fuser Aeon <br />
*Dutch -<br />
*French - Done 2007-12-02 Jeff Kelley<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-25 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Script_Efficiency]]====<br />
*Chinese - Done 2007-12-22 Fuser Aeon <br />
*Dutch -<br />
*French - Done 2007-12-04 Jeff Kelley<br />
*German -<br />
*Italian - Done 2008-01-03 NickTheDeveloper Masatada<br />
*Japanese - Done 2007-12-25 Asuka Neely <br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Script_Memory]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Jeff Kelley<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-26 Asuka Neely <br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Write_Once_Debug_Everywhere]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Jeff Kelley<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-26 Asuka Neely <br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish - Started 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Alternate_Editors]]====<br />
*Chinese - <br />
*Dutch - <br />
*French -<br />
*German - <br />
*Italian - <br />
*Japanese - Done 2007-12-27 Asuka Neely <br />
*Korean - <br />
*Polish - <br />
*Portuguese - <br />
*Spanish - <br />
-----<br />
<br />
====[[:LSL_Test_Harness]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-28 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - <br />
----<br />
<br />
====[[:LSL_Benchmarking_Scripts]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-28 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
<br />
=== LSL Language Reference ===<br />
----<br />
====[[:Category:LSL_Constants]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[DEG_TO_RAD]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[NULL_KEY]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[RAD_TO_DEG]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[ZERO_ROTATION]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[ZERO_VECTOR]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[:Category:LSL_Events]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2008-01-10 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[state_entry]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2008-01-10 Alsau Spinotti<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[:Category:LSL_Functions]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[llGetAnimation]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Phli Foxchase<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[llGetAnimationList]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2008-01-09 Gally Young<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[:Category:LSL_Flow_Control]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-05 Coffee Mills<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[For]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Olivier hildyard <br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[If]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-08 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-01-01 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[While]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Forest Klaar<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-13 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Do-while]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-05 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Jump]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-09 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Return]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-09 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[State]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-30 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[LSL_Operators]]====<br />
This article is currently incomplete<br />
*Chinese -<br />
*Dutch -<br />
*French -<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[:Category:LSL_Types]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Integer]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-04 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Float]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Audrey Bisani<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-04 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[String]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2008-01-02 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Key]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[List]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2008-01-02 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Vector]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Ol Obscure<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Rotation]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2008-01-08 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Quaternion]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[LSL_Variables]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-11 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[LSL_Errors]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-11 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 March Korda<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
===Templates===<br />
<br />
====[[Template:LSL_Constants_Conditional]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-04 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL_Conditional]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-04 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL Event]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-10 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL Function]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-30 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL_Generic]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-09 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSLRotGetSet]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-05 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Script_Memory/es&diff=57527LSL Script Memory/es2008-03-06T20:35:27Z<p>SharpEdge Aeon: /* Uso de Memoria de Variables */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Memoria de Script=<br />
Todos los scripts en LSL comienzan con 16 kilobytes de memoria y esa memoria se usa rápidamente. Abajo está una lista de código y uso de memoria. <br />
<br />
Todos los datos a continuación fueron compilados usando [[llGetFreeMemory]](). Como el compilador de LSL no es un programa simple, los datos abajo pueden no ser 100% correctos. De hecho, parte de los datos son incorrectos y necesitan correciones. <br />
<br />
Todavía quedan partes que pueden mejorarse y muchas más que necesitan detalles adicionales. Si alguien tiene tiempo y no sabe que hacer, juege con el uso de memoria para diferentes funciones. Una lista de actualizaciones necesarias se encuentra al final de la página.<br />
<br />
=Variables=<br />
==Declarando variables como globales==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 10<br />
float 10<br />
string 18 + 1 por carácter<br />
key 18 + 1 por carácter<br />
vector 18<br />
rotation 22<br />
list 21 + lista de uso de memoria<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 15<br />
float 15<br />
string 12 + 1 por carácter<br />
key 12 + 1 por carácter<br />
vector 23<br />
rotation 27<br />
list Las Listas no pueden contener otras listas<br />
</pre><br />
==Declarando variables dentro del estado predeterminado==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 15<br />
float 15<br />
string 12 + 1 por carácter<br />
key 12 + 1 por carácter<br />
vector 31<br />
rotation 39<br />
list 15 + lista de uso de memoria<br />
</pre><br />
<br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 7<br />
float 7<br />
string 4 + 1 por carácter<br />
key 4 + 1 por carácter<br />
vector 23<br />
rotation 30<br />
list Las Listas no pueden contener otras listas<br />
</pre><br />
==Simplemente declarando valores==<br />
===Colocando un Valor en la Pila (Stack)===<br />
<pre><br />
Integers 1 + 4 bytes para el valor<br />
Float 1 + 4 bytes para el valor<br />
String 1 + bytes por carácter + 1 byte para nulo<br />
Key 1 + bytes por carácter + 1 byte para nulo<br />
Vector 1 + 3 * float cost<br />
Rotation 1 + 4 * float cost<br />
List 1 + 4 para la longitud de la lista + uso de lista de memoria<br />
</pre><br />
Remover un valor de una pila cuesta 1 byte.<br />
<br />
===Lista de Uso de Memoria===<br />
<pre><br />
Integers 7<br />
Float 7<br />
String 4 + 1 por carácter<br />
Key 4 + 1 por carácter<br />
Vector 23<br />
Rotation 30<br />
list Las listas no pueden contener listas<br />
</pre><br />
==Constantes==<br />
Todas las contantes de número entero usan 6 bytes de memoria.<br />
===Otras Constantes===<br />
<pre><br />
ZERO_VECTOR 16<br />
ZERO_ROTATION 21<br />
NULL_KEY 39<br />
</pre><br />
<br />
==Extras==<br />
6 bytes para variables de referencia<br />
==Ejemplos==<br />
<pre><br />
integer i; //10 bytes<br />
<br />
default {<br />
state_entry() {<br />
list l = ["Testing", "This"] //15 (list) + 15 (string) + 8 (string)<br />
}<br />
}<br />
</pre><br />
=Funciones=<br />
==Declarando funciones==<br />
Las funciones requieren 16 bytes para crearse con 3 bytes por parámetro, además del tipo de retorno. <br />
===Tipos de retorno===<br />
<pre><br />
integer 4<br />
float 4<br />
string 4<br />
key 4<br />
vector 20<br />
rotation 27<br />
list 4<br />
</pre><br />
==Declarando variables en funciones==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 11<br />
float 11<br />
string 8 + 1 por carácter<br />
key 8 + 1 por carácter<br />
vector 19<br />
rotation 23<br />
list 11 + lista de uso de memoria<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 7<br />
float 7<br />
string 4 + 1 por carácter<br />
key 4 + 1 por carácter<br />
vector 23<br />
rotation 30<br />
list Las listas no pueden contener listas<br />
</pre><br />
<br />
==Llamando funciones==<br />
21 bytes para llamar a una función sin retorno<br><br />
21 bytes para llamar a una función con cualquier retorno + tipo de retorno <br><br />
Reste el número de parámetros ingresados<br />
===Tipos de Retorno===<br />
integer 2<br />
float 2<br />
string 10 + 1 por carácter devuelto<br />
key 10 + 1 por carácter devuelto<br />
vector 2<br />
rotation 2<br />
list 18 + lista de uso de memoria<br />
<br />
==Ejemplos==<br />
<pre><br />
list f() { //16 (function) + 4 (return)<br />
list ret = [0]; //11 (list) + 7 (integer)<br />
return ret; 6 (list)<br />
} <br />
</pre><br />
<pre><br />
string f() {<br />
return "";<br />
}<br />
<br />
default {<br />
state_entry() {<br />
f(); //21 (call to f) + 10 (returns string)<br />
}<br />
}<br />
</pre><br />
=Operadores=<br />
==Lista de Operadores== <br />
<pre><br />
+ 1<br />
- 1<br />
* 1<br />
/ 1<br />
% 1<br />
& 0<br />
| 0<br />
^ 0<br />
! 0<br />
>> 0<br />
<< 0<br />
~ 1<br />
== 1<br />
<= 1<br />
< 1<br />
>= 1<br />
> 1<br />
!= 1<br />
</pre><br />
==Asignación==<br />
Asignar valores a variables toma muchos bytes como son menos uno.<br />
===Examples===<br />
<pre><br />
string s; //12 bytes<br />
s; //6 bytes<br />
""; //3 bytes (vea a continuación)<br />
s = ""; //8 (6 (string) + 3 (null string) - 1) bytes<br />
</pre><br />
Pero...<br />
<pre><br />
string s = ""; //12 bytes<br />
</pre><br />
<pre><br />
integer i; //15 bytes<br />
i = i + 1 // 6 bytes (integer) + 6 bytes (integer) + 6 bytes (1) + 1 byte (addition) - 1 byte (assignment)<br />
</pre><br />
==Declaraciones==<br />
<pre><br />
if 6<br />
while 11<br />
for 11<br />
do 6<br />
jump 5<br />
@ 0<br />
state 5<br />
</pre><br />
===Ejemplos===<br />
<pre><br />
if (5 < 10) { // 6 (if) + 6 (integer) + 6 (integer) + 1 (compare)<br />
//Haz algo aquí<br />
}<br />
</pre><br />
<pre><br />
while (1 < 2 & 3 < 4) { // 11 (while) + 4*6 (4 integers) + 2 (2 compares)<br />
//Haz algo aquí<br />
}<br />
</pre><br />
==Moldeado de Tipos (Typecasting)==<br />
<pre><br />
integer 10<br />
float 10<br />
string 10<br />
key 10<br />
vector 10<br />
rotation 10<br />
list 25<br />
</pre><br />
==Estados==<br />
14 bytes por cualquier event en un estado + 1 por cada parámetro<br />
17 bytes para crear un estado nuevo<br />
=Actualizaciones Necesarias=<br />
Se necesitan varias actualizaciones para esta página. Las más urgentes se encuentran a continuación: <br />
* Verificar todos los datos<br />
* Aclaración de explicaciones<br />
* Investigar como trabajan las funciones<br />
** Llamar funciones<br />
** Como los tipos de retorno afectan los valores devueltos<br />
* En el código a continuación, la llamada llGetFreeMemory() regresa un valor diferente. ¿Cómo se afecta? ¿Por qué?<br />
<pre><br />
default {<br />
state_entry() {<br />
llOwnerSay((string)llGetFreeMemory());<br />
list l = ["", "", "", ""];<br />
llOwnerSay((string)llGetFreeMemory());<br />
}<br />
}</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Script_Memory/es&diff=57526LSL Script Memory/es2008-03-06T20:33:29Z<p>SharpEdge Aeon: /* Memoria de Script */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Memoria de Script=<br />
Todos los scripts en LSL comienzan con 16 kilobytes de memoria y esa memoria se usa rápidamente. Abajo está una lista de código y uso de memoria. <br />
<br />
Todos los datos a continuación fueron compilados usando [[llGetFreeMemory]](). Como el compilador de LSL no es un programa simple, los datos abajo pueden no ser 100% correctos. De hecho, parte de los datos son incorrectos y necesitan correciones. <br />
<br />
Todavía quedan partes que pueden mejorarse y muchas más que necesitan detalles adicionales. Si alguien tiene tiempo y no sabe que hacer, juege con el uso de memoria para diferentes funciones. Una lista de actualizaciones necesarias se encuentra al final de la página.<br />
<br />
=Variables=<br />
==Declarando variables como globales==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 10<br />
float 10<br />
string 18 + 1 por carácter<br />
key 18 + 1 por carácter<br />
vector 18<br />
rotation 22<br />
list 21 + lista de uso de memoria<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 15<br />
float 15<br />
string 12 + 1 por carácter<br />
key 12 + 1 por carácter<br />
vector 23<br />
rotation 27<br />
list Las Listas no pueden contener otras listas<br />
</pre><br />
==Declarando variables dentro del estado predeterminado==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 15<br />
float 15<br />
string 12 + 1 por carácter<br />
key 12 + 1 por carácter<br />
vector 31<br />
rotation 39<br />
list 15 + list memory usage<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 7<br />
float 7<br />
string 4 + 1 por carácter<br />
key 4 + 1 por carácter<br />
vector 23<br />
rotation 30<br />
list Las Listas no pueden contener otras listas<br />
</pre><br />
==Simplemente declarando valores==<br />
===Colocando un Valor en la Pila (Stack)===<br />
<pre><br />
Integers 1 + 4 bytes para el valor<br />
Float 1 + 4 bytes para el valor<br />
String 1 + bytes por carácter + 1 byte para nulo<br />
Key 1 + bytes por carácter + 1 byte para nulo<br />
Vector 1 + 3 * float cost<br />
Rotation 1 + 4 * float cost<br />
List 1 + 4 para la longitud de la lista + uso de lista de memoria<br />
</pre><br />
Remover un valor de una pila cuesta 1 byte.<br />
<br />
===Lista de Uso de Memoria===<br />
<pre><br />
Integers 7<br />
Float 7<br />
String 4 + 1 por carácter<br />
Key 4 + 1 por carácter<br />
Vector 23<br />
Rotation 30<br />
list Las listas no pueden contener listas<br />
</pre><br />
==Constantes==<br />
Todas las contantes de número entero usan 6 bytes de memoria.<br />
===Otras Constantes===<br />
<pre><br />
ZERO_VECTOR 16<br />
ZERO_ROTATION 21<br />
NULL_KEY 39<br />
</pre><br />
<br />
==Extras==<br />
6 bytes para variables de referencia<br />
==Ejemplos==<br />
<pre><br />
integer i; //10 bytes<br />
<br />
default {<br />
state_entry() {<br />
list l = ["Testing", "This"] //15 (list) + 15 (string) + 8 (string)<br />
}<br />
}<br />
</pre><br />
=Funciones=<br />
==Declarando funciones==<br />
Las funciones requieren 16 bytes para crearse con 3 bytes por parámetro, además del tipo de retorno. <br />
===Tipos de retorno===<br />
<pre><br />
integer 4<br />
float 4<br />
string 4<br />
key 4<br />
vector 20<br />
rotation 27<br />
list 4<br />
</pre><br />
==Declarando variables en funciones==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 11<br />
float 11<br />
string 8 + 1 por carácter<br />
key 8 + 1 por carácter<br />
vector 19<br />
rotation 23<br />
list 11 + lista de uso de memoria<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 7<br />
float 7<br />
string 4 + 1 por carácter<br />
key 4 + 1 por carácter<br />
vector 23<br />
rotation 30<br />
list Las listas no pueden contener listas<br />
</pre><br />
<br />
==Llamando funciones==<br />
21 bytes para llamar a una función sin retorno<br><br />
21 bytes para llamar a una función con cualquier retorno + tipo de retorno <br><br />
Reste el número de parámetros ingresados<br />
===Tipos de Retorno===<br />
integer 2<br />
float 2<br />
string 10 + 1 por carácter devuelto<br />
key 10 + 1 por carácter devuelto<br />
vector 2<br />
rotation 2<br />
list 18 + lista de uso de memoria<br />
<br />
==Ejemplos==<br />
<pre><br />
list f() { //16 (function) + 4 (return)<br />
list ret = [0]; //11 (list) + 7 (integer)<br />
return ret; 6 (list)<br />
} <br />
</pre><br />
<pre><br />
string f() {<br />
return "";<br />
}<br />
<br />
default {<br />
state_entry() {<br />
f(); //21 (call to f) + 10 (returns string)<br />
}<br />
}<br />
</pre><br />
=Operadores=<br />
==Lista de Operadores== <br />
<pre><br />
+ 1<br />
- 1<br />
* 1<br />
/ 1<br />
% 1<br />
& 0<br />
| 0<br />
^ 0<br />
! 0<br />
>> 0<br />
<< 0<br />
~ 1<br />
== 1<br />
<= 1<br />
< 1<br />
>= 1<br />
> 1<br />
!= 1<br />
</pre><br />
==Asignación==<br />
Asignar valores a variables toma muchos bytes como son menos uno.<br />
===Examples===<br />
<pre><br />
string s; //12 bytes<br />
s; //6 bytes<br />
""; //3 bytes (vea a continuación)<br />
s = ""; //8 (6 (string) + 3 (null string) - 1) bytes<br />
</pre><br />
Pero...<br />
<pre><br />
string s = ""; //12 bytes<br />
</pre><br />
<pre><br />
integer i; //15 bytes<br />
i = i + 1 // 6 bytes (integer) + 6 bytes (integer) + 6 bytes (1) + 1 byte (addition) - 1 byte (assignment)<br />
</pre><br />
==Declaraciones==<br />
<pre><br />
if 6<br />
while 11<br />
for 11<br />
do 6<br />
jump 5<br />
@ 0<br />
state 5<br />
</pre><br />
===Ejemplos===<br />
<pre><br />
if (5 < 10) { // 6 (if) + 6 (integer) + 6 (integer) + 1 (compare)<br />
//Haz algo aquí<br />
}<br />
</pre><br />
<pre><br />
while (1 < 2 & 3 < 4) { // 11 (while) + 4*6 (4 integers) + 2 (2 compares)<br />
//Haz algo aquí<br />
}<br />
</pre><br />
==Moldeado de Tipos (Typecasting)==<br />
<pre><br />
integer 10<br />
float 10<br />
string 10<br />
key 10<br />
vector 10<br />
rotation 10<br />
list 25<br />
</pre><br />
==Estados==<br />
14 bytes por cualquier event en un estado + 1 por cada parámetro<br />
17 bytes para crear un estado nuevo<br />
=Actualizaciones Necesarias=<br />
Se necesitan varias actualizaciones para esta página. Las más urgentes se encuentran a continuación: <br />
* Verificar todos los datos<br />
* Aclaración de explicaciones<br />
* Investigar como trabajan las funciones<br />
** Llamar funciones<br />
** Como los tipos de retorno afectan los valores devueltos<br />
* En el código a continuación, la llamada llGetFreeMemory() regresa un valor diferente. ¿Cómo se afecta? ¿Por qué?<br />
<pre><br />
default {<br />
state_entry() {<br />
llOwnerSay((string)llGetFreeMemory());<br />
list l = ["", "", "", ""];<br />
llOwnerSay((string)llGetFreeMemory());<br />
}<br />
}</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Portal_Translation_Project&diff=57525LSL Portal Translation Project2008-03-06T20:29:49Z<p>SharpEdge Aeon: /* :LSL_Script_Memory */</p>
<hr />
<div>{{LSL Header}}<br />
__NOTOC__<br />
Do NOT translate this page. This would result in out-of-sync versions of the master list<br />
== Welcome to the LSL Portal Translation Project! ==<br />
This is a community effort to provide a multi-lingual translation of the LSL Portal. Please feel free to edit and add languages to the set. Only reasonably static pages have been selected for translation. News, bugs and patches, automatically generated pages have been set aside. This way, we intend to keep the original pages and their translations as much similar as possible.<br />
<br />
LSL Scripters can participate in this project by choosing a wiki page from the list below and translating it into the language(s) they speak fluently. This suggestion list will be updated periodically with new pages. Contributors are welcomed to list themselves and discuss language-specific topics on the proper subpage of the [[LSL_Portal_Translation_Team]] page.<br />
<br />
== <span style="color:red;">Please notice</span> ==<br />
<br />
To make coordination easier, I have created an inworld group named '''"LSL portal translation"'''. Please subscribe to it.<br />
<br />
Subjects of discussion might be :<br />
- transition to new language codes<br />
- is the structure of this coordination page adequate ?<br />
- links look ugly in the localized categories<br />
- how to attract more contributors<br />
- etc.<br />
<br />
This group will also provide mutual help, for example with templates localization.<br />
<br />
== <span style="color:red;">Important Changes</span> ==<br />
<br />
There is a discussion afoot to change from ISO 639-1 to ISO 639-3. This means that every page with two letter language codes would be moved to their 3 letter equivalent. The reason for this is that ISO 693-1 limits language codes to two letters, this is problematic for the Chinese dialects. The actual conversion will be automated and will not require the users to do anything new. Old links will redirect to the new article locations. Assuming no issues this will happen January 3rd. Please refer to [[Template_talk:Multi-lang]] for commentary and discussion.<br />
<br />
== Procedure to Create a Translation Page ==<br />
{{Alert Box|This topic is affected by [[#Important Changes]]}}<br />
<br />
* Choose a page from the Suggested Pages to Translate. If the page is followed by the languages list, it is ready for translation.<br />
<br />
* If the page is not ready for translation the <nowiki>{{Multi-lang}}</nowiki> tag should be included in the main page. If you are not are not familiar with this wiki, feel free to ask for assistance.<br />
<br />
* Click the link of the page you have chosen to translate. In the URL bar of your navigator, add a /xx language code. This is how you create the language subpage. Example: LSL_Tutorial/fr to create a french translation of LSL_Tutorial. <br />
<br />
====Language Codes====<br />
{| border="1" cellspacing="0"<br />
!Code!!Language<br />
|-<br />
|de||German<br />
|-<br />
|en||English<br />
|-<br />
|es||Spanish<br />
|-<br />
|fr||French<br />
|-<br />
|it||Italian<br />
|-<br />
|ko||Korean<br />
|-<br />
|ja||Japanese<br />
|-<br />
|nl||Dutch<br />
|-<br />
|pl||Polish<br />
|-<br />
|pt||Portuguese<br />
|-<br />
|zh-Hans||Chinese (Simplified) <!-- Refers to the script/characters, see [[Template_talk:Multi-lang#Chinese]] --><br />
|-<br />
|zh-Hant||Chinese (Traditional) <!-- Refers to the script/characters, see [[Template_talk:Multi-lang#Chinese]] --><br />
|}<br />
<br />
* It is advised to start from a copy of the main page source and insert your translation in place of the original content to achieve the same page layout.<br />
<br />
* Once your translation is finished, add "Done", the date, and your name to the Suggested Pages to Translate. For the date, use the international ISO format YYYY-MM-DD.<br />
<br />
==Suggested Pages to Translate==<br />
<br />
<br />
=== LSL Portal ===<br />
<br />
====[[:LSL_Portal]]====<br />
*Chinese - Done<br />
*Dutch -<br />
*French - Done 2007-12-02 Catherine Pfeffer<br />
*German -<br />
*Italian - Done 2007-12-28 NickTheDeveloper Masatada<br />
*Japanese - Started 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish - Started 2008-02-23 Sebast Forwzy<br />
*Portuguese - Started 2008-01-28 Rui Clary<br />
*Spanish - Done 2008-03-05 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Editing_Primer]]====<br />
* Chinese - Started 2007-12-30 Fuser Aeon<br />
* Dutch -<br />
* French - <br />
* German -<br />
* Italian - Done 2007-12-28 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-05 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Portal_Guidelines]]====<br />
* Chinese - <br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2008-01-03 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2007-01-02 Ashty Kuhn<br />
----<br />
<br />
====[[:LSL_Portal_To-do]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-05 SharpEdge Aeon<br />
<br />
=== Developer Resources ===<br />
<br />
====[[:LSL_Tutorial]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2007-12-29 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-27 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-01-02 Ashty Kuhn<br />
----<br />
<br />
====[[:Category:LSL_Teachers]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:Category:LSL_Mentors]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:Category:LSL_Examples]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:Category:LSL_Library]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:LSL_Protocol]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2007-12-29 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-27 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Useful_Function_WishList]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2007-12-29 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-28 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Style_Guide]]====<br />
*Chinese - Done 2007-12-29 Fuser Aeon <br />
*Dutch -<br />
*French - Done 2007-12-02 Jeff Kelley<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-25 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Script_Efficiency]]====<br />
*Chinese - Done 2007-12-22 Fuser Aeon <br />
*Dutch -<br />
*French - Done 2007-12-04 Jeff Kelley<br />
*German -<br />
*Italian - Done 2008-01-03 NickTheDeveloper Masatada<br />
*Japanese - Done 2007-12-25 Asuka Neely <br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Script_Memory]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Jeff Kelley<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-26 Asuka Neely <br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Write_Once_Debug_Everywhere]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Jeff Kelley<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-26 Asuka Neely <br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[:LSL_Alternate_Editors]]====<br />
*Chinese - <br />
*Dutch - <br />
*French -<br />
*German - <br />
*Italian - <br />
*Japanese - Done 2007-12-27 Asuka Neely <br />
*Korean - <br />
*Polish - <br />
*Portuguese - <br />
*Spanish - <br />
-----<br />
<br />
====[[:LSL_Test_Harness]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-28 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - <br />
----<br />
<br />
====[[:LSL_Benchmarking_Scripts]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-28 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
<br />
=== LSL Language Reference ===<br />
----<br />
====[[:Category:LSL_Constants]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[DEG_TO_RAD]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[NULL_KEY]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[RAD_TO_DEG]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[ZERO_ROTATION]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[ZERO_VECTOR]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[:Category:LSL_Events]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2008-01-10 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[state_entry]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2008-01-10 Alsau Spinotti<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[:Category:LSL_Functions]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[llGetAnimation]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Phli Foxchase<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[llGetAnimationList]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2008-01-09 Gally Young<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[:Category:LSL_Flow_Control]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-05 Coffee Mills<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[For]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Olivier hildyard <br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[If]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-08 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-01-01 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[While]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Forest Klaar<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-13 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Do-while]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-05 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Jump]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-09 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Return]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-09 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[State]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-30 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[LSL_Operators]]====<br />
This article is currently incomplete<br />
*Chinese -<br />
*Dutch -<br />
*French -<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[:Category:LSL_Types]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Integer]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-04 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Float]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Audrey Bisani<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-04 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[String]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2008-01-02 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Key]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[List]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2008-01-02 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Vector]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Ol Obscure<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Rotation]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2008-01-08 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Quaternion]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[LSL_Variables]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-11 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[LSL_Errors]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-11 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 March Korda<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
===Templates===<br />
<br />
====[[Template:LSL_Constants_Conditional]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-04 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL_Conditional]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-04 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL Event]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-10 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL Function]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-30 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL_Generic]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-09 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSLRotGetSet]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-05 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Script_Memory/es&diff=57524LSL Script Memory/es2008-03-06T20:29:25Z<p>SharpEdge Aeon: </p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Memoria de Script=<br />
Todos los scripts en LSL comienzan con 16 kilobytes de memoria y esa memoria se usa rápidamente. Abajo esta una lista de código y uso de memoria. <br />
<br />
Todos los datos a continuación fueron compilados usando [[llGetFreeMemory]](). Como el compilador de LSL no es un programa simple, los datos abajo pueden no ser 100% correctos. De hecho, parte de el es incorrecto y necesita correciones. <br />
<br />
Todavía quedan partes que pueden mejorarse y muchas más que necesitan más detalles. Si alguien tiene tiempo y no sabe que hacer, juege con el uso de memoria para diferentes funciones. Una lista de actualizaciones necesarias se encuentra al final de la página. <br />
<br />
=Variables=<br />
==Declarando variables como globales==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 10<br />
float 10<br />
string 18 + 1 por carácter<br />
key 18 + 1 por carácter<br />
vector 18<br />
rotation 22<br />
list 21 + lista de uso de memoria<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 15<br />
float 15<br />
string 12 + 1 por carácter<br />
key 12 + 1 por carácter<br />
vector 23<br />
rotation 27<br />
list Las Listas no pueden contener otras listas<br />
</pre><br />
==Declarando variables dentro del estado predeterminado==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 15<br />
float 15<br />
string 12 + 1 por carácter<br />
key 12 + 1 por carácter<br />
vector 31<br />
rotation 39<br />
list 15 + list memory usage<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 7<br />
float 7<br />
string 4 + 1 por carácter<br />
key 4 + 1 por carácter<br />
vector 23<br />
rotation 30<br />
list Las Listas no pueden contener otras listas<br />
</pre><br />
==Simplemente declarando valores==<br />
===Colocando un Valor en la Pila (Stack)===<br />
<pre><br />
Integers 1 + 4 bytes para el valor<br />
Float 1 + 4 bytes para el valor<br />
String 1 + bytes por carácter + 1 byte para nulo<br />
Key 1 + bytes por carácter + 1 byte para nulo<br />
Vector 1 + 3 * float cost<br />
Rotation 1 + 4 * float cost<br />
List 1 + 4 para la longitud de la lista + uso de lista de memoria<br />
</pre><br />
Remover un valor de una pila cuesta 1 byte.<br />
<br />
===Lista de Uso de Memoria===<br />
<pre><br />
Integers 7<br />
Float 7<br />
String 4 + 1 por carácter<br />
Key 4 + 1 por carácter<br />
Vector 23<br />
Rotation 30<br />
list Las listas no pueden contener listas<br />
</pre><br />
==Constantes==<br />
Todas las contantes de número entero usan 6 bytes de memoria.<br />
===Otras Constantes===<br />
<pre><br />
ZERO_VECTOR 16<br />
ZERO_ROTATION 21<br />
NULL_KEY 39<br />
</pre><br />
<br />
==Extras==<br />
6 bytes para variables de referencia<br />
==Ejemplos==<br />
<pre><br />
integer i; //10 bytes<br />
<br />
default {<br />
state_entry() {<br />
list l = ["Testing", "This"] //15 (list) + 15 (string) + 8 (string)<br />
}<br />
}<br />
</pre><br />
=Funciones=<br />
==Declarando funciones==<br />
Las funciones requieren 16 bytes para crearse con 3 bytes por parámetro, además del tipo de retorno. <br />
===Tipos de retorno===<br />
<pre><br />
integer 4<br />
float 4<br />
string 4<br />
key 4<br />
vector 20<br />
rotation 27<br />
list 4<br />
</pre><br />
==Declarando variables en funciones==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 11<br />
float 11<br />
string 8 + 1 por carácter<br />
key 8 + 1 por carácter<br />
vector 19<br />
rotation 23<br />
list 11 + lista de uso de memoria<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 7<br />
float 7<br />
string 4 + 1 por carácter<br />
key 4 + 1 por carácter<br />
vector 23<br />
rotation 30<br />
list Las listas no pueden contener listas<br />
</pre><br />
<br />
==Llamando funciones==<br />
21 bytes para llamar a una función sin retorno<br><br />
21 bytes para llamar a una función con cualquier retorno + tipo de retorno <br><br />
Reste el número de parámetros ingresados<br />
===Tipos de Retorno===<br />
integer 2<br />
float 2<br />
string 10 + 1 por carácter devuelto<br />
key 10 + 1 por carácter devuelto<br />
vector 2<br />
rotation 2<br />
list 18 + lista de uso de memoria<br />
<br />
==Ejemplos==<br />
<pre><br />
list f() { //16 (function) + 4 (return)<br />
list ret = [0]; //11 (list) + 7 (integer)<br />
return ret; 6 (list)<br />
} <br />
</pre><br />
<pre><br />
string f() {<br />
return "";<br />
}<br />
<br />
default {<br />
state_entry() {<br />
f(); //21 (call to f) + 10 (returns string)<br />
}<br />
}<br />
</pre><br />
=Operadores=<br />
==Lista de Operadores== <br />
<pre><br />
+ 1<br />
- 1<br />
* 1<br />
/ 1<br />
% 1<br />
& 0<br />
| 0<br />
^ 0<br />
! 0<br />
>> 0<br />
<< 0<br />
~ 1<br />
== 1<br />
<= 1<br />
< 1<br />
>= 1<br />
> 1<br />
!= 1<br />
</pre><br />
==Asignación==<br />
Asignar valores a variables toma muchos bytes como son menos uno.<br />
===Examples===<br />
<pre><br />
string s; //12 bytes<br />
s; //6 bytes<br />
""; //3 bytes (vea a continuación)<br />
s = ""; //8 (6 (string) + 3 (null string) - 1) bytes<br />
</pre><br />
Pero...<br />
<pre><br />
string s = ""; //12 bytes<br />
</pre><br />
<pre><br />
integer i; //15 bytes<br />
i = i + 1 // 6 bytes (integer) + 6 bytes (integer) + 6 bytes (1) + 1 byte (addition) - 1 byte (assignment)<br />
</pre><br />
==Declaraciones==<br />
<pre><br />
if 6<br />
while 11<br />
for 11<br />
do 6<br />
jump 5<br />
@ 0<br />
state 5<br />
</pre><br />
===Ejemplos===<br />
<pre><br />
if (5 < 10) { // 6 (if) + 6 (integer) + 6 (integer) + 1 (compare)<br />
//Haz algo aquí<br />
}<br />
</pre><br />
<pre><br />
while (1 < 2 & 3 < 4) { // 11 (while) + 4*6 (4 integers) + 2 (2 compares)<br />
//Haz algo aquí<br />
}<br />
</pre><br />
==Moldeado de Tipos (Typecasting)==<br />
<pre><br />
integer 10<br />
float 10<br />
string 10<br />
key 10<br />
vector 10<br />
rotation 10<br />
list 25<br />
</pre><br />
==Estados==<br />
14 bytes por cualquier event en un estado + 1 por cada parámetro<br />
17 bytes para crear un estado nuevo<br />
=Actualizaciones Necesarias=<br />
Se necesitan varias actualizaciones para esta página. Las más urgentes se encuentran a continuación: <br />
* Verificar todos los datos<br />
* Aclaración de explicaciones<br />
* Investigar como trabajan las funciones<br />
** Llamar funciones<br />
** Como los tipos de retorno afectan los valores devueltos<br />
* En el código a continuación, la llamada llGetFreeMemory() regresa un valor diferente. ¿Cómo se afecta? ¿Por qué?<br />
<pre><br />
default {<br />
state_entry() {<br />
llOwnerSay((string)llGetFreeMemory());<br />
list l = ["", "", "", ""];<br />
llOwnerSay((string)llGetFreeMemory());<br />
}<br />
}</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Script_Memory/es&diff=57515LSL Script Memory/es2008-03-06T19:57:31Z<p>SharpEdge Aeon: /* Otras Constantes */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Memoria de Script=<br />
Todos los scripts en LSL comienzan con 16 kilobytes de memoria y esa memoria se usa rápidamente. Abajo esta una lista de código y uso de memoria. <br />
<br />
Todos los datos a continuación fueron compilados usando [[llGetFreeMemory]](). Como el compilador de LSL no es un programa simple, los datos abajo pueden no ser 100% correctos. De hecho, parte de el es incorrecto y necesita correciones. <br />
<br />
There are still many bits that can be improved upon, and many more that can be taken into more detail. If anyone has any free time and doesn't know what to do, play around with the memory usage for different functions. A list of needed updates can be seen at the end of the page.<br />
<br />
=Variables=<br />
==Declarando variables como globales==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 10<br />
float 10<br />
string 18 + 1 por carácter<br />
key 18 + 1 por carácter<br />
vector 18<br />
rotation 22<br />
list 21 + lista de uso de memoria<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 15<br />
float 15<br />
string 12 + 1 por carácter<br />
key 12 + 1 por carácter<br />
vector 23<br />
rotation 27<br />
list Las Listas no pueden contener otras listas<br />
</pre><br />
==Declarando variables dentro del estado predeterminado==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 15<br />
float 15<br />
string 12 + 1 por carácter<br />
key 12 + 1 por carácter<br />
vector 31<br />
rotation 39<br />
list 15 + list memory usage<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 7<br />
float 7<br />
string 4 + 1 por carácter<br />
key 4 + 1 por carácter<br />
vector 23<br />
rotation 30<br />
list Las Listas no pueden contener otras listas<br />
</pre><br />
==Simplemente declarando valores==<br />
===Colocando un Valor en la Pila (Stack)===<br />
<pre><br />
Integers 1 + 4 bytes para el valor<br />
Float 1 + 4 bytes para el valor<br />
String 1 + bytes por carácter + 1 byte para nulo<br />
Key 1 + bytes por carácter + 1 byte para nulo<br />
Vector 1 + 3 * float cost<br />
Rotation 1 + 4 * float cost<br />
List 1 + 4 para la longitud de la lista + uso de lista de memoria<br />
</pre><br />
Remover un valor de una pila cuesta 1 byte.<br />
<br />
===Lista de Uso de Memoria===<br />
<pre><br />
Integers 7<br />
Float 7<br />
String 4 + 1 por carácter<br />
Key 4 + 1 por carácter<br />
Vector 23<br />
Rotation 30<br />
list Las listas no pueden contener listas<br />
</pre><br />
==Constantes==<br />
Todas las contantes de numero entero usan 6 bytes de memoria.<br />
===Otras Constantes===<br />
<pre><br />
ZERO_VECTOR 16<br />
ZERO_ROTATION 21<br />
NULL_KEY 39<br />
</pre><br />
<br />
==Extras==<br />
6 bytes para variables de referencia<br />
==Ejemplos==<br />
<pre><br />
integer i; //10 bytes<br />
<br />
default {<br />
state_entry() {<br />
list l = ["Testing", "This"] //15 (list) + 15 (string) + 8 (string)<br />
}<br />
}<br />
</pre><br />
=Funciones=<br />
==Declarando funciones==<br />
Las funciones requieren 16 bytes para crearse con 3 bytes por parámetro, además del tipo de retorno. <br />
===Tipos de retorno===<br />
<pre><br />
integer 4<br />
float 4<br />
string 4<br />
key 4<br />
vector 20<br />
rotation 27<br />
list 4<br />
</pre><br />
==Declarando variables en funciones==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 11<br />
float 11<br />
string 8 + 1 por carácter<br />
key 8 + 1 por carácter<br />
vector 19<br />
rotation 23<br />
list 11 + lista de uso de memoria<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 7<br />
float 7<br />
string 4 + 1 por carácter<br />
key 4 + 1 por carácter<br />
vector 23<br />
rotation 30<br />
list Las listas no pueden contener listas<br />
</pre><br />
<br />
==Llamando funciones==<br />
21 bytes para llamar a una función sin retorno<br><br />
21 bytes para llamar a una función con cualquier retorno + tipo de retorno <br><br />
Reste el número de parámetros ingresados<br />
===Tipos de Retorno===<br />
integer 2<br />
float 2<br />
string 10 + 1 por carácter devuelto<br />
key 10 + 1 por carácter devuelto<br />
vector 2<br />
rotation 2<br />
list 18 + lista de uso de memoria<br />
<br />
==Ejemplos==<br />
<pre><br />
list f() { //16 (function) + 4 (return)<br />
list ret = [0]; //11 (list) + 7 (integer)<br />
return ret; 6 (list)<br />
} <br />
</pre><br />
<pre><br />
string f() {<br />
return "";<br />
}<br />
<br />
default {<br />
state_entry() {<br />
f(); //21 (call to f) + 10 (returns string)<br />
}<br />
}<br />
</pre><br />
=Operators=<br />
==List of Operators== <br />
<pre><br />
+ 1<br />
- 1<br />
* 1<br />
/ 1<br />
% 1<br />
& 0<br />
| 0<br />
^ 0<br />
! 0<br />
>> 0<br />
<< 0<br />
~ 1<br />
== 1<br />
<= 1<br />
< 1<br />
>= 1<br />
> 1<br />
!= 1<br />
</pre><br />
==Assignment==<br />
Assigning values to variables takes as many bytes as used minus one.<br />
===Examples===<br />
<pre><br />
string s; //12 bytes<br />
s; //6 bytes<br />
""; //3 bytes (see below)<br />
s = ""; //8 (6 (string) + 3 (null string) - 1) bytes<br />
</pre><br />
However...<br />
<pre><br />
string s = ""; //12 bytes<br />
</pre><br />
<pre><br />
integer i; //15 bytes<br />
i = i + 1 // 6 bytes (integer) + 6 bytes (integer) + 6 bytes (1) + 1 byte (addition) - 1 byte (assignment)<br />
</pre><br />
==Statements==<br />
<pre><br />
if 6<br />
while 11<br />
for 11<br />
do 6<br />
jump 5<br />
@ 0<br />
state 5<br />
</pre><br />
===Examples===<br />
<pre><br />
if (5 < 10) { // 6 (if) + 6 (integer) + 6 (integer) + 1 (compare)<br />
//Do something here<br />
}<br />
</pre><br />
<pre><br />
while (1 < 2 & 3 < 4) { // 11 (while) + 4*6 (4 integers) + 2 (2 compares)<br />
//Do something here<br />
}<br />
</pre><br />
==Typecasting==<br />
<pre><br />
integer 10<br />
float 10<br />
string 10<br />
key 10<br />
vector 10<br />
rotation 10<br />
list 25<br />
</pre><br />
==Estados==<br />
14 bytes for any event in a state + 1 for each parameter<br />
17 bytes to create a new state<br />
=Needed Updates=<br />
Several updates are needed for this page, the most needed are listed below:<br />
* Verification of all data<br />
* Clarification of explanations<br />
* Investigations into how the functions work<br />
** Calling of functions<br />
** How return types effect the return<br />
* In the following code, the call to llGetFreeMemory() returns a different value. How is it affected? Why?<br />
<pre><br />
default {<br />
state_entry() {<br />
llOwnerSay((string)llGetFreeMemory());<br />
list l = ["", "", "", ""];<br />
llOwnerSay((string)llGetFreeMemory());<br />
}<br />
}</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Script_Memory/es&diff=57514LSL Script Memory/es2008-03-06T19:56:26Z<p>SharpEdge Aeon: /* Llamando funciones */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Memoria de Script=<br />
Todos los scripts en LSL comienzan con 16 kilobytes de memoria y esa memoria se usa rápidamente. Abajo esta una lista de código y uso de memoria. <br />
<br />
Todos los datos a continuación fueron compilados usando [[llGetFreeMemory]](). Como el compilador de LSL no es un programa simple, los datos abajo pueden no ser 100% correctos. De hecho, parte de el es incorrecto y necesita correciones. <br />
<br />
There are still many bits that can be improved upon, and many more that can be taken into more detail. If anyone has any free time and doesn't know what to do, play around with the memory usage for different functions. A list of needed updates can be seen at the end of the page.<br />
<br />
=Variables=<br />
==Declarando variables como globales==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 10<br />
float 10<br />
string 18 + 1 por carácter<br />
key 18 + 1 por carácter<br />
vector 18<br />
rotation 22<br />
list 21 + lista de uso de memoria<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 15<br />
float 15<br />
string 12 + 1 por carácter<br />
key 12 + 1 por carácter<br />
vector 23<br />
rotation 27<br />
list Las Listas no pueden contener otras listas<br />
</pre><br />
==Declarando variables dentro del estado predeterminado==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 15<br />
float 15<br />
string 12 + 1 por carácter<br />
key 12 + 1 por carácter<br />
vector 31<br />
rotation 39<br />
list 15 + list memory usage<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 7<br />
float 7<br />
string 4 + 1 por carácter<br />
key 4 + 1 por carácter<br />
vector 23<br />
rotation 30<br />
list Las Listas no pueden contener otras listas<br />
</pre><br />
==Simplemente declarando valores==<br />
===Colocando un Valor en la Pila (Stack)===<br />
<pre><br />
Integers 1 + 4 bytes para el valor<br />
Float 1 + 4 bytes para el valor<br />
String 1 + bytes por carácter + 1 byte para nulo<br />
Key 1 + bytes por carácter + 1 byte para nulo<br />
Vector 1 + 3 * float cost<br />
Rotation 1 + 4 * float cost<br />
List 1 + 4 para la longitud de la lista + uso de lista de memoria<br />
</pre><br />
Remover un valor de una pila cuesta 1 byte.<br />
<br />
===Lista de Uso de Memoria===<br />
<pre><br />
Integers 7<br />
Float 7<br />
String 4 + 1 por carácter<br />
Key 4 + 1 por carácter<br />
Vector 23<br />
Rotation 30<br />
list Las listas no pueden contener listas<br />
</pre><br />
==Constantes==<br />
Todas las contantes de numero entero usan 6 bytes de memoria.<br />
===Otras Constantes===<br />
<pre><br />
ZERO_VECTOR 16<br />
ZERO_ROTATION 21<br />
NULL_KEY 39<br />
</pre><br />
==Extras==<br />
6 bytes para variables de referencia<br />
==Ejemplos==<br />
<pre><br />
integer i; //10 bytes<br />
<br />
default {<br />
state_entry() {<br />
list l = ["Testing", "This"] //15 (list) + 15 (string) + 8 (string)<br />
}<br />
}<br />
</pre><br />
=Funciones=<br />
==Declarando funciones==<br />
Las funciones requieren 16 bytes para crearse con 3 bytes por parámetro, además del tipo de retorno. <br />
===Tipos de retorno===<br />
<pre><br />
integer 4<br />
float 4<br />
string 4<br />
key 4<br />
vector 20<br />
rotation 27<br />
list 4<br />
</pre><br />
==Declarando variables en funciones==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 11<br />
float 11<br />
string 8 + 1 por carácter<br />
key 8 + 1 por carácter<br />
vector 19<br />
rotation 23<br />
list 11 + lista de uso de memoria<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 7<br />
float 7<br />
string 4 + 1 por carácter<br />
key 4 + 1 por carácter<br />
vector 23<br />
rotation 30<br />
list Las listas no pueden contener listas<br />
</pre><br />
<br />
==Llamando funciones==<br />
21 bytes para llamar a una función sin retorno<br><br />
21 bytes para llamar a una función con cualquier retorno + tipo de retorno <br><br />
Reste el número de parámetros ingresados<br />
===Tipos de Retorno===<br />
integer 2<br />
float 2<br />
string 10 + 1 por carácter devuelto<br />
key 10 + 1 por carácter devuelto<br />
vector 2<br />
rotation 2<br />
list 18 + lista de uso de memoria<br />
<br />
==Ejemplos==<br />
<pre><br />
list f() { //16 (function) + 4 (return)<br />
list ret = [0]; //11 (list) + 7 (integer)<br />
return ret; 6 (list)<br />
} <br />
</pre><br />
<pre><br />
string f() {<br />
return "";<br />
}<br />
<br />
default {<br />
state_entry() {<br />
f(); //21 (call to f) + 10 (returns string)<br />
}<br />
}<br />
</pre><br />
=Operators=<br />
==List of Operators== <br />
<pre><br />
+ 1<br />
- 1<br />
* 1<br />
/ 1<br />
% 1<br />
& 0<br />
| 0<br />
^ 0<br />
! 0<br />
>> 0<br />
<< 0<br />
~ 1<br />
== 1<br />
<= 1<br />
< 1<br />
>= 1<br />
> 1<br />
!= 1<br />
</pre><br />
==Assignment==<br />
Assigning values to variables takes as many bytes as used minus one.<br />
===Examples===<br />
<pre><br />
string s; //12 bytes<br />
s; //6 bytes<br />
""; //3 bytes (see below)<br />
s = ""; //8 (6 (string) + 3 (null string) - 1) bytes<br />
</pre><br />
However...<br />
<pre><br />
string s = ""; //12 bytes<br />
</pre><br />
<pre><br />
integer i; //15 bytes<br />
i = i + 1 // 6 bytes (integer) + 6 bytes (integer) + 6 bytes (1) + 1 byte (addition) - 1 byte (assignment)<br />
</pre><br />
==Statements==<br />
<pre><br />
if 6<br />
while 11<br />
for 11<br />
do 6<br />
jump 5<br />
@ 0<br />
state 5<br />
</pre><br />
===Examples===<br />
<pre><br />
if (5 < 10) { // 6 (if) + 6 (integer) + 6 (integer) + 1 (compare)<br />
//Do something here<br />
}<br />
</pre><br />
<pre><br />
while (1 < 2 & 3 < 4) { // 11 (while) + 4*6 (4 integers) + 2 (2 compares)<br />
//Do something here<br />
}<br />
</pre><br />
==Typecasting==<br />
<pre><br />
integer 10<br />
float 10<br />
string 10<br />
key 10<br />
vector 10<br />
rotation 10<br />
list 25<br />
</pre><br />
==Estados==<br />
14 bytes for any event in a state + 1 for each parameter<br />
17 bytes to create a new state<br />
=Needed Updates=<br />
Several updates are needed for this page, the most needed are listed below:<br />
* Verification of all data<br />
* Clarification of explanations<br />
* Investigations into how the functions work<br />
** Calling of functions<br />
** How return types effect the return<br />
* In the following code, the call to llGetFreeMemory() returns a different value. How is it affected? Why?<br />
<pre><br />
default {<br />
state_entry() {<br />
llOwnerSay((string)llGetFreeMemory());<br />
list l = ["", "", "", ""];<br />
llOwnerSay((string)llGetFreeMemory());<br />
}<br />
}</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Script_Memory/es&diff=57513LSL Script Memory/es2008-03-06T19:52:09Z<p>SharpEdge Aeon: /* List Memory Usage */</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Memoria de Script=<br />
Todos los scripts en LSL comienzan con 16 kilobytes de memoria y esa memoria se usa rápidamente. Abajo esta una lista de código y uso de memoria. <br />
<br />
Todos los datos a continuación fueron compilados usando [[llGetFreeMemory]](). Como el compilador de LSL no es un programa simple, los datos abajo pueden no ser 100% correctos. De hecho, parte de el es incorrecto y necesita correciones. <br />
<br />
There are still many bits that can be improved upon, and many more that can be taken into more detail. If anyone has any free time and doesn't know what to do, play around with the memory usage for different functions. A list of needed updates can be seen at the end of the page.<br />
<br />
=Variables=<br />
==Declarando variables como globales==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 10<br />
float 10<br />
string 18 + 1 por carácter<br />
key 18 + 1 por carácter<br />
vector 18<br />
rotation 22<br />
list 21 + lista de uso de memoria<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 15<br />
float 15<br />
string 12 + 1 por carácter<br />
key 12 + 1 por carácter<br />
vector 23<br />
rotation 27<br />
list Las Listas no pueden contener otras listas<br />
</pre><br />
==Declarando variables dentro del estado predeterminado==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 15<br />
float 15<br />
string 12 + 1 por carácter<br />
key 12 + 1 por carácter<br />
vector 31<br />
rotation 39<br />
list 15 + list memory usage<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 7<br />
float 7<br />
string 4 + 1 por carácter<br />
key 4 + 1 por carácter<br />
vector 23<br />
rotation 30<br />
list Las Listas no pueden contener otras listas<br />
</pre><br />
==Simplemente declarando valores==<br />
===Colocando un Valor en la Pila (Stack)===<br />
<pre><br />
Integers 1 + 4 bytes para el valor<br />
Float 1 + 4 bytes para el valor<br />
String 1 + bytes por carácter + 1 byte para nulo<br />
Key 1 + bytes por carácter + 1 byte para nulo<br />
Vector 1 + 3 * float cost<br />
Rotation 1 + 4 * float cost<br />
List 1 + 4 para la longitud de la lista + uso de lista de memoria<br />
</pre><br />
Remover un valor de una pila cuesta 1 byte.<br />
<br />
===Lista de Uso de Memoria===<br />
<pre><br />
Integers 7<br />
Float 7<br />
String 4 + 1 por carácter<br />
Key 4 + 1 por carácter<br />
Vector 23<br />
Rotation 30<br />
list Las listas no pueden contener listas<br />
</pre><br />
==Constantes==<br />
Todas las contantes de numero entero usan 6 bytes de memoria.<br />
===Otras Constantes===<br />
<pre><br />
ZERO_VECTOR 16<br />
ZERO_ROTATION 21<br />
NULL_KEY 39<br />
</pre><br />
==Extras==<br />
6 bytes para variables de referencia<br />
==Ejemplos==<br />
<pre><br />
integer i; //10 bytes<br />
<br />
default {<br />
state_entry() {<br />
list l = ["Testing", "This"] //15 (list) + 15 (string) + 8 (string)<br />
}<br />
}<br />
</pre><br />
=Funciones=<br />
==Declarando funciones==<br />
Las funciones requieren 16 bytes para crearse con 3 bytes por parámetro, además del tipo de retorno. <br />
===Tipos de retorno===<br />
<pre><br />
integer 4<br />
float 4<br />
string 4<br />
key 4<br />
vector 20<br />
rotation 27<br />
list 4<br />
</pre><br />
==Declarando variables en funciones==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 11<br />
float 11<br />
string 8 + 1 por carácter<br />
key 8 + 1 por carácter<br />
vector 19<br />
rotation 23<br />
list 11 + lista de uso de memoria<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 7<br />
float 7<br />
string 4 + 1 por carácter<br />
key 4 + 1 por carácter<br />
vector 23<br />
rotation 30<br />
list Las listas no pueden contener listas<br />
</pre><br />
<br />
==Llamando funciones==<br />
21 bytes to call a function with no return<br><br />
21 bytes to call a function with any return + type of return<br><br />
Subtract number of parameters entered<br />
===Tipos de Retorno===<br />
integer 2<br />
float 2<br />
string 10 + 1 por carácter devuelto<br />
key 10 + 1 por carácter devuelto<br />
vector 2<br />
rotation 2<br />
list 18 + lista de uso de memoria<br />
==Ejemplos==<br />
<pre><br />
list f() { //16 (function) + 4 (return)<br />
list ret = [0]; //11 (list) + 7 (integer)<br />
return ret; 6 (list)<br />
} <br />
</pre><br />
<pre><br />
string f() {<br />
return "";<br />
}<br />
<br />
default {<br />
state_entry() {<br />
f(); //21 (call to f) + 10 (returns string)<br />
}<br />
}<br />
</pre><br />
=Operators=<br />
==List of Operators== <br />
<pre><br />
+ 1<br />
- 1<br />
* 1<br />
/ 1<br />
% 1<br />
& 0<br />
| 0<br />
^ 0<br />
! 0<br />
>> 0<br />
<< 0<br />
~ 1<br />
== 1<br />
<= 1<br />
< 1<br />
>= 1<br />
> 1<br />
!= 1<br />
</pre><br />
==Assignment==<br />
Assigning values to variables takes as many bytes as used minus one.<br />
===Examples===<br />
<pre><br />
string s; //12 bytes<br />
s; //6 bytes<br />
""; //3 bytes (see below)<br />
s = ""; //8 (6 (string) + 3 (null string) - 1) bytes<br />
</pre><br />
However...<br />
<pre><br />
string s = ""; //12 bytes<br />
</pre><br />
<pre><br />
integer i; //15 bytes<br />
i = i + 1 // 6 bytes (integer) + 6 bytes (integer) + 6 bytes (1) + 1 byte (addition) - 1 byte (assignment)<br />
</pre><br />
==Statements==<br />
<pre><br />
if 6<br />
while 11<br />
for 11<br />
do 6<br />
jump 5<br />
@ 0<br />
state 5<br />
</pre><br />
===Examples===<br />
<pre><br />
if (5 < 10) { // 6 (if) + 6 (integer) + 6 (integer) + 1 (compare)<br />
//Do something here<br />
}<br />
</pre><br />
<pre><br />
while (1 < 2 & 3 < 4) { // 11 (while) + 4*6 (4 integers) + 2 (2 compares)<br />
//Do something here<br />
}<br />
</pre><br />
==Typecasting==<br />
<pre><br />
integer 10<br />
float 10<br />
string 10<br />
key 10<br />
vector 10<br />
rotation 10<br />
list 25<br />
</pre><br />
==Estados==<br />
14 bytes for any event in a state + 1 for each parameter<br />
17 bytes to create a new state<br />
=Needed Updates=<br />
Several updates are needed for this page, the most needed are listed below:<br />
* Verification of all data<br />
* Clarification of explanations<br />
* Investigations into how the functions work<br />
** Calling of functions<br />
** How return types effect the return<br />
* In the following code, the call to llGetFreeMemory() returns a different value. How is it affected? Why?<br />
<pre><br />
default {<br />
state_entry() {<br />
llOwnerSay((string)llGetFreeMemory());<br />
list l = ["", "", "", ""];<br />
llOwnerSay((string)llGetFreeMemory());<br />
}<br />
}</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Script_Memory/es&diff=57511LSL Script Memory/es2008-03-06T19:46:22Z<p>SharpEdge Aeon: New page: {{Multi-lang}}{{LSL Header}}{{RightToc}} =Memoria de Script= Todos los scripts en LSL comienzan con 16 kilobytes de memoria y esa memoria se usa rápidamente. Abajo esta una lista de có...</p>
<hr />
<div>{{Multi-lang}}{{LSL Header}}{{RightToc}}<br />
<br />
=Memoria de Script=<br />
Todos los scripts en LSL comienzan con 16 kilobytes de memoria y esa memoria se usa rápidamente. Abajo esta una lista de código y uso de memoria. <br />
<br />
Todos los datos a continuación fueron compilados usando [[llGetFreeMemory]](). Como el compilador de LSL no es un programa simple, los datos abajo pueden no ser 100% correctos. De hecho, parte de el es incorrecto y necesita correciones. <br />
<br />
There are still many bits that can be improved upon, and many more that can be taken into more detail. If anyone has any free time and doesn't know what to do, play around with the memory usage for different functions. A list of needed updates can be seen at the end of the page.<br />
<br />
=Variables=<br />
==Declarando variables como globales==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 10<br />
float 10<br />
string 18 + 1 por carácter<br />
key 18 + 1 por carácter<br />
vector 18<br />
rotation 22<br />
list 21 + lista de uso de memoria<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 15<br />
float 15<br />
string 12 + 1 por carácter<br />
key 12 + 1 por carácter<br />
vector 23<br />
rotation 27<br />
list Las Listas no pueden contener otras listas<br />
</pre><br />
==Declarando variables dentro del estado predeterminado==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 15<br />
float 15<br />
string 12 + 1 por carácter<br />
key 12 + 1 por carácter<br />
vector 31<br />
rotation 39<br />
list 15 + list memory usage<br />
</pre><br />
===Lista de Uso de Memoria===<br />
<pre><br />
integer 7<br />
float 7<br />
string 4 + 1 por carácter<br />
key 4 + 1 por carácter<br />
vector 23<br />
rotation 30<br />
list Las Listas no pueden contener otras listas<br />
</pre><br />
==Simplemente declarando valores==<br />
===Colocando un Valor en la Pila (Stack)===<br />
<pre><br />
Integers 1 + 4 bytes para el valor<br />
Float 1 + 4 bytes para el valor<br />
String 1 + bytes por carácter + 1 byte para nulo<br />
Key 1 + bytes por carácter + 1 byte para nulo<br />
Vector 1 + 3 * float cost<br />
Rotation 1 + 4 * float cost<br />
List 1 + 4 para la longitud de la lista + uso de lista de memoria<br />
</pre><br />
Remover un valor de una pila cuesta 1 byte.<br />
<br />
===Lista de Uso de Memoria===<br />
<pre><br />
Integers 7<br />
Float 7<br />
String 4 + 1 por carácter<br />
Key 4 + 1 por carácter<br />
Vector 23<br />
Rotation 30<br />
list Las listas no pueden contener listas<br />
</pre><br />
==Constantes==<br />
Todas las contantes de numero entero usan 6 bytes de memoria.<br />
===Otras Constantes===<br />
<pre><br />
ZERO_VECTOR 16<br />
ZERO_ROTATION 21<br />
NULL_KEY 39<br />
</pre><br />
==Extras==<br />
6 bytes para variables de referencia<br />
==Ejemplos==<br />
<pre><br />
integer i; //10 bytes<br />
<br />
default {<br />
state_entry() {<br />
list l = ["Testing", "This"] //15 (list) + 15 (string) + 8 (string)<br />
}<br />
}<br />
</pre><br />
=Funciones=<br />
==Declarando funciones==<br />
Las funciones requieren 16 bytes para crearse con 3 bytes por parámetro, además del tipo de retorno. <br />
===Tipos de retorno===<br />
<pre><br />
integer 4<br />
float 4<br />
string 4<br />
key 4<br />
vector 20<br />
rotation 27<br />
list 4<br />
</pre><br />
==Declarando variables en funciones==<br />
===Uso de Memoria de Variables===<br />
<pre><br />
integer 11<br />
float 11<br />
string 8 + 1 por carácter<br />
key 8 + 1 por carácter<br />
vector 19<br />
rotation 23<br />
list 11 + lista de uso de memoria<br />
</pre><br />
===List Memory Usage===<br />
<pre><br />
integer 7<br />
float 7<br />
string 4 + 1 por carácter<br />
key 4 + 1 por carácter<br />
vector 23<br />
rotation 30<br />
list Las listas no pueden contener listas<br />
</pre><br />
==Llamando funciones==<br />
21 bytes to call a function with no return<br><br />
21 bytes to call a function with any return + type of return<br><br />
Subtract number of parameters entered<br />
===Tipos de Retorno===<br />
integer 2<br />
float 2<br />
string 10 + 1 por carácter devuelto<br />
key 10 + 1 por carácter devuelto<br />
vector 2<br />
rotation 2<br />
list 18 + lista de uso de memoria<br />
==Ejemplos==<br />
<pre><br />
list f() { //16 (function) + 4 (return)<br />
list ret = [0]; //11 (list) + 7 (integer)<br />
return ret; 6 (list)<br />
} <br />
</pre><br />
<pre><br />
string f() {<br />
return "";<br />
}<br />
<br />
default {<br />
state_entry() {<br />
f(); //21 (call to f) + 10 (returns string)<br />
}<br />
}<br />
</pre><br />
=Operators=<br />
==List of Operators== <br />
<pre><br />
+ 1<br />
- 1<br />
* 1<br />
/ 1<br />
% 1<br />
& 0<br />
| 0<br />
^ 0<br />
! 0<br />
>> 0<br />
<< 0<br />
~ 1<br />
== 1<br />
<= 1<br />
< 1<br />
>= 1<br />
> 1<br />
!= 1<br />
</pre><br />
==Assignment==<br />
Assigning values to variables takes as many bytes as used minus one.<br />
===Examples===<br />
<pre><br />
string s; //12 bytes<br />
s; //6 bytes<br />
""; //3 bytes (see below)<br />
s = ""; //8 (6 (string) + 3 (null string) - 1) bytes<br />
</pre><br />
However...<br />
<pre><br />
string s = ""; //12 bytes<br />
</pre><br />
<pre><br />
integer i; //15 bytes<br />
i = i + 1 // 6 bytes (integer) + 6 bytes (integer) + 6 bytes (1) + 1 byte (addition) - 1 byte (assignment)<br />
</pre><br />
==Statements==<br />
<pre><br />
if 6<br />
while 11<br />
for 11<br />
do 6<br />
jump 5<br />
@ 0<br />
state 5<br />
</pre><br />
===Examples===<br />
<pre><br />
if (5 < 10) { // 6 (if) + 6 (integer) + 6 (integer) + 1 (compare)<br />
//Do something here<br />
}<br />
</pre><br />
<pre><br />
while (1 < 2 & 3 < 4) { // 11 (while) + 4*6 (4 integers) + 2 (2 compares)<br />
//Do something here<br />
}<br />
</pre><br />
==Typecasting==<br />
<pre><br />
integer 10<br />
float 10<br />
string 10<br />
key 10<br />
vector 10<br />
rotation 10<br />
list 25<br />
</pre><br />
==Estados==<br />
14 bytes for any event in a state + 1 for each parameter<br />
17 bytes to create a new state<br />
=Needed Updates=<br />
Several updates are needed for this page, the most needed are listed below:<br />
* Verification of all data<br />
* Clarification of explanations<br />
* Investigations into how the functions work<br />
** Calling of functions<br />
** How return types effect the return<br />
* In the following code, the call to llGetFreeMemory() returns a different value. How is it affected? Why?<br />
<pre><br />
default {<br />
state_entry() {<br />
llOwnerSay((string)llGetFreeMemory());<br />
list l = ["", "", "", ""];<br />
llOwnerSay((string)llGetFreeMemory());<br />
}<br />
}</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Portal_Translation_Project&diff=57507LSL Portal Translation Project2008-03-06T19:17:40Z<p>SharpEdge Aeon: /* :LSL_Script_Memory */</p>
<hr />
<div>{{LSL Header}}<br />
__NOTOC__<br />
Do NOT translate this page. This would result in out-of-sync versions of the master list<br />
== Welcome to the LSL Portal Translation Project! ==<br />
This is a community effort to provide a multi-lingual translation of the LSL Portal. Please feel free to edit and add languages to the set. Only reasonably static pages have been selected for translation. News, bugs and patches, automatically generated pages have been set aside. This way, we intend to keep the original pages and their translations as much similar as possible.<br />
<br />
LSL Scripters can participate in this project by choosing a wiki page from the list below and translating it into the language(s) they speak fluently. This suggestion list will be updated periodically with new pages. Contributors are welcomed to list themselves and discuss language-specific topics on the proper subpage of the [[LSL_Portal_Translation_Team]] page.<br />
<br />
== <span style="color:red;">Please notice</span> ==<br />
<br />
To make coordination easier, I have created an inworld group named '''"LSL portal translation"'''. Please subscribe to it.<br />
<br />
Subjects of discussion might be :<br />
- transition to new language codes<br />
- is the structure of this coordination page adequate ?<br />
- links look ugly in the localized categories<br />
- how to attract more contributors<br />
- etc.<br />
<br />
This group will also provide mutual help, for example with templates localization.<br />
<br />
== <span style="color:red;">Important Changes</span> ==<br />
<br />
There is a discussion afoot to change from ISO 639-1 to ISO 639-3. This means that every page with two letter language codes would be moved to their 3 letter equivalent. The reason for this is that ISO 693-1 limits language codes to two letters, this is problematic for the Chinese dialects. The actual conversion will be automated and will not require the users to do anything new. Old links will redirect to the new article locations. Assuming no issues this will happen January 3rd. Please refer to [[Template_talk:Multi-lang]] for commentary and discussion.<br />
<br />
== Procedure to Create a Translation Page ==<br />
{{Alert Box|This topic is affected by [[#Important Changes]]}}<br />
<br />
* Choose a page from the Suggested Pages to Translate. If the page is followed by the languages list, it is ready for translation.<br />
<br />
* If the page is not ready for translation the <nowiki>{{Multi-lang}}</nowiki> tag should be included in the main page. If you are not are not familiar with this wiki, feel free to ask for assistance.<br />
<br />
* Click the link of the page you have chosen to translate. In the URL bar of your navigator, add a /xx language code. This is how you create the language subpage. Example: LSL_Tutorial/fr to create a french translation of LSL_Tutorial. <br />
<br />
====Language Codes====<br />
{| border="1" cellspacing="0"<br />
!Code!!Language<br />
|-<br />
|de||German<br />
|-<br />
|en||English<br />
|-<br />
|es||Spanish<br />
|-<br />
|fr||French<br />
|-<br />
|it||Italian<br />
|-<br />
|ko||Korean<br />
|-<br />
|ja||Japanese<br />
|-<br />
|nl||Dutch<br />
|-<br />
|pl||Polish<br />
|-<br />
|pt||Portuguese<br />
|-<br />
|zh-Hans||Chinese (Simplified) <!-- Refers to the script/characters, see [[Template_talk:Multi-lang#Chinese]] --><br />
|-<br />
|zh-Hant||Chinese (Traditional) <!-- Refers to the script/characters, see [[Template_talk:Multi-lang#Chinese]] --><br />
|}<br />
<br />
* It is advised to start from a copy of the main page source and insert your translation in place of the original content to achieve the same page layout.<br />
<br />
* Once your translation is finished, add "Done", the date, and your name to the Suggested Pages to Translate. For the date, use the international ISO format YYYY-MM-DD.<br />
<br />
==Suggested Pages to Translate==<br />
<br />
<br />
=== LSL Portal ===<br />
<br />
====[[:LSL_Portal]]====<br />
*Chinese - Done<br />
*Dutch -<br />
*French - Done 2007-12-02 Catherine Pfeffer<br />
*German -<br />
*Italian - Done 2007-12-28 NickTheDeveloper Masatada<br />
*Japanese - Started 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish - Started 2008-02-23 Sebast Forwzy<br />
*Portuguese - Started 2008-01-28 Rui Clary<br />
*Spanish - Done 2008-03-05 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Editing_Primer]]====<br />
* Chinese - Started 2007-12-30 Fuser Aeon<br />
* Dutch -<br />
* French - <br />
* German -<br />
* Italian - Done 2007-12-28 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-05 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Portal_Guidelines]]====<br />
* Chinese - <br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2008-01-03 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2007-01-02 Ashty Kuhn<br />
----<br />
<br />
====[[:LSL_Portal_To-do]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-05 SharpEdge Aeon<br />
<br />
=== Developer Resources ===<br />
<br />
====[[:LSL_Tutorial]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2007-12-29 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-27 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-01-02 Ashty Kuhn<br />
----<br />
<br />
====[[:Category:LSL_Teachers]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:Category:LSL_Mentors]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:Category:LSL_Examples]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:Category:LSL_Library]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:LSL_Protocol]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2007-12-29 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-27 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Useful_Function_WishList]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2007-12-29 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-28 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Style_Guide]]====<br />
*Chinese - Done 2007-12-29 Fuser Aeon <br />
*Dutch -<br />
*French - Done 2007-12-02 Jeff Kelley<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-25 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Script_Efficiency]]====<br />
*Chinese - Done 2007-12-22 Fuser Aeon <br />
*Dutch -<br />
*French - Done 2007-12-04 Jeff Kelley<br />
*German -<br />
*Italian - Done 2008-01-03 NickTheDeveloper Masatada<br />
*Japanese - Done 2007-12-25 Asuka Neely <br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Script_Memory]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Jeff Kelley<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-26 Asuka Neely <br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish - Started 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Write_Once_Debug_Everywhere]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Jeff Kelley<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-26 Asuka Neely <br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[:LSL_Alternate_Editors]]====<br />
*Chinese - <br />
*Dutch - <br />
*French -<br />
*German - <br />
*Italian - <br />
*Japanese - Done 2007-12-27 Asuka Neely <br />
*Korean - <br />
*Polish - <br />
*Portuguese - <br />
*Spanish - <br />
-----<br />
<br />
====[[:LSL_Test_Harness]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-28 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - <br />
----<br />
<br />
====[[:LSL_Benchmarking_Scripts]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-28 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
<br />
=== LSL Language Reference ===<br />
----<br />
====[[:Category:LSL_Constants]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[DEG_TO_RAD]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[NULL_KEY]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[RAD_TO_DEG]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[ZERO_ROTATION]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[ZERO_VECTOR]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[:Category:LSL_Events]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2008-01-10 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[state_entry]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2008-01-10 Alsau Spinotti<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[:Category:LSL_Functions]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[llGetAnimation]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Phli Foxchase<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[llGetAnimationList]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2008-01-09 Gally Young<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[:Category:LSL_Flow_Control]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-05 Coffee Mills<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[For]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Olivier hildyard <br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[If]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-08 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-01-01 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[While]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Forest Klaar<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-13 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Do-while]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-05 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Jump]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-09 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Return]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-09 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[State]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-30 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[LSL_Operators]]====<br />
This article is currently incomplete<br />
*Chinese -<br />
*Dutch -<br />
*French -<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[:Category:LSL_Types]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Integer]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-04 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Float]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Audrey Bisani<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-04 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[String]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2008-01-02 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Key]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[List]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2008-01-02 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Vector]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Ol Obscure<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Rotation]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2008-01-08 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Quaternion]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[LSL_Variables]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-11 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[LSL_Errors]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-11 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 March Korda<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
===Templates===<br />
<br />
====[[Template:LSL_Constants_Conditional]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-04 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL_Conditional]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-04 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL Event]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-10 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL Function]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-30 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL_Generic]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-09 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSLRotGetSet]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-05 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Portal_Translation_Project&diff=57505LSL Portal Translation Project2008-03-06T19:13:02Z<p>SharpEdge Aeon: /* :LSL_Script_Efficiency */</p>
<hr />
<div>{{LSL Header}}<br />
__NOTOC__<br />
Do NOT translate this page. This would result in out-of-sync versions of the master list<br />
== Welcome to the LSL Portal Translation Project! ==<br />
This is a community effort to provide a multi-lingual translation of the LSL Portal. Please feel free to edit and add languages to the set. Only reasonably static pages have been selected for translation. News, bugs and patches, automatically generated pages have been set aside. This way, we intend to keep the original pages and their translations as much similar as possible.<br />
<br />
LSL Scripters can participate in this project by choosing a wiki page from the list below and translating it into the language(s) they speak fluently. This suggestion list will be updated periodically with new pages. Contributors are welcomed to list themselves and discuss language-specific topics on the proper subpage of the [[LSL_Portal_Translation_Team]] page.<br />
<br />
== <span style="color:red;">Please notice</span> ==<br />
<br />
To make coordination easier, I have created an inworld group named '''"LSL portal translation"'''. Please subscribe to it.<br />
<br />
Subjects of discussion might be :<br />
- transition to new language codes<br />
- is the structure of this coordination page adequate ?<br />
- links look ugly in the localized categories<br />
- how to attract more contributors<br />
- etc.<br />
<br />
This group will also provide mutual help, for example with templates localization.<br />
<br />
== <span style="color:red;">Important Changes</span> ==<br />
<br />
There is a discussion afoot to change from ISO 639-1 to ISO 639-3. This means that every page with two letter language codes would be moved to their 3 letter equivalent. The reason for this is that ISO 693-1 limits language codes to two letters, this is problematic for the Chinese dialects. The actual conversion will be automated and will not require the users to do anything new. Old links will redirect to the new article locations. Assuming no issues this will happen January 3rd. Please refer to [[Template_talk:Multi-lang]] for commentary and discussion.<br />
<br />
== Procedure to Create a Translation Page ==<br />
{{Alert Box|This topic is affected by [[#Important Changes]]}}<br />
<br />
* Choose a page from the Suggested Pages to Translate. If the page is followed by the languages list, it is ready for translation.<br />
<br />
* If the page is not ready for translation the <nowiki>{{Multi-lang}}</nowiki> tag should be included in the main page. If you are not are not familiar with this wiki, feel free to ask for assistance.<br />
<br />
* Click the link of the page you have chosen to translate. In the URL bar of your navigator, add a /xx language code. This is how you create the language subpage. Example: LSL_Tutorial/fr to create a french translation of LSL_Tutorial. <br />
<br />
====Language Codes====<br />
{| border="1" cellspacing="0"<br />
!Code!!Language<br />
|-<br />
|de||German<br />
|-<br />
|en||English<br />
|-<br />
|es||Spanish<br />
|-<br />
|fr||French<br />
|-<br />
|it||Italian<br />
|-<br />
|ko||Korean<br />
|-<br />
|ja||Japanese<br />
|-<br />
|nl||Dutch<br />
|-<br />
|pl||Polish<br />
|-<br />
|pt||Portuguese<br />
|-<br />
|zh-Hans||Chinese (Simplified) <!-- Refers to the script/characters, see [[Template_talk:Multi-lang#Chinese]] --><br />
|-<br />
|zh-Hant||Chinese (Traditional) <!-- Refers to the script/characters, see [[Template_talk:Multi-lang#Chinese]] --><br />
|}<br />
<br />
* It is advised to start from a copy of the main page source and insert your translation in place of the original content to achieve the same page layout.<br />
<br />
* Once your translation is finished, add "Done", the date, and your name to the Suggested Pages to Translate. For the date, use the international ISO format YYYY-MM-DD.<br />
<br />
==Suggested Pages to Translate==<br />
<br />
<br />
=== LSL Portal ===<br />
<br />
====[[:LSL_Portal]]====<br />
*Chinese - Done<br />
*Dutch -<br />
*French - Done 2007-12-02 Catherine Pfeffer<br />
*German -<br />
*Italian - Done 2007-12-28 NickTheDeveloper Masatada<br />
*Japanese - Started 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish - Started 2008-02-23 Sebast Forwzy<br />
*Portuguese - Started 2008-01-28 Rui Clary<br />
*Spanish - Done 2008-03-05 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Editing_Primer]]====<br />
* Chinese - Started 2007-12-30 Fuser Aeon<br />
* Dutch -<br />
* French - <br />
* German -<br />
* Italian - Done 2007-12-28 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-05 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Portal_Guidelines]]====<br />
* Chinese - <br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2008-01-03 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2007-01-02 Ashty Kuhn<br />
----<br />
<br />
====[[:LSL_Portal_To-do]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-05 SharpEdge Aeon<br />
<br />
=== Developer Resources ===<br />
<br />
====[[:LSL_Tutorial]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2007-12-29 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-27 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-01-02 Ashty Kuhn<br />
----<br />
<br />
====[[:Category:LSL_Teachers]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:Category:LSL_Mentors]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:Category:LSL_Examples]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:Category:LSL_Library]]====<br />
This is a :Category; page and doesn't need translation<br />
----<br />
====[[:LSL_Protocol]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2007-12-29 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-27 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Useful_Function_WishList]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian - Done 2007-12-29 NickTheDeveloper Masatada<br />
* Japanese - Done 2007-12-28 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Style_Guide]]====<br />
*Chinese - Done 2007-12-29 Fuser Aeon <br />
*Dutch -<br />
*French - Done 2007-12-02 Jeff Kelley<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-25 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Script_Efficiency]]====<br />
*Chinese - Done 2007-12-22 Fuser Aeon <br />
*Dutch -<br />
*French - Done 2007-12-04 Jeff Kelley<br />
*German -<br />
*Italian - Done 2008-01-03 NickTheDeveloper Masatada<br />
*Japanese - Done 2007-12-25 Asuka Neely <br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish - Done 2008-03-06 SharpEdge Aeon<br />
----<br />
<br />
====[[:LSL_Script_Memory]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Jeff Kelley<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-26 Asuka Neely <br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[:LSL_Write_Once_Debug_Everywhere]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Jeff Kelley<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-26 Asuka Neely <br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[:LSL_Alternate_Editors]]====<br />
*Chinese - <br />
*Dutch - <br />
*French -<br />
*German - <br />
*Italian - <br />
*Japanese - Done 2007-12-27 Asuka Neely <br />
*Korean - <br />
*Polish - <br />
*Portuguese - <br />
*Spanish - <br />
-----<br />
<br />
====[[:LSL_Test_Harness]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-28 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish - <br />
----<br />
<br />
====[[:LSL_Benchmarking_Scripts]]====<br />
* Chinese -<br />
* Dutch -<br />
* French -<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-28 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
<br />
=== LSL Language Reference ===<br />
----<br />
====[[:Category:LSL_Constants]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-30 Asuka Neely<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[DEG_TO_RAD]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[NULL_KEY]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[RAD_TO_DEG]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[ZERO_ROTATION]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[ZERO_VECTOR]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[:Category:LSL_Events]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2008-01-10 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[state_entry]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2008-01-10 Alsau Spinotti<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[:Category:LSL_Functions]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[llGetAnimation]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Phli Foxchase<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[llGetAnimationList]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2008-01-09 Gally Young<br />
* German -<br />
* Italian -<br />
* Japanese -<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[:Category:LSL_Flow_Control]]====<br />
* Chinese -<br />
* Dutch -<br />
* French - Done 2007-12-30 Catherine Pfeffer<br />
* German -<br />
* Italian -<br />
* Japanese - Done 2007-12-05 Coffee Mills<br />
* Korean -<br />
* Polish -<br />
* Portuguese -<br />
* Spanish -<br />
----<br />
<br />
====[[For]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Olivier hildyard <br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[If]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-08 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-01-01 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[While]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Forest Klaar<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-13 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Do-while]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-05 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Jump]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-09 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Return]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-09 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[State]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-30 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-1-1 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[LSL_Operators]]====<br />
This article is currently incomplete<br />
*Chinese -<br />
*Dutch -<br />
*French -<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[:Category:LSL_Types]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Integer]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-04 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Float]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Audrey Bisani<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-04 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[String]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2008-01-02 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Key]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-02 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[List]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2008-01-02 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Vector]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Ol Obscure<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Rotation]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2008-01-08 Asuka Neely<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[Quaternion]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-03 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[LSL_Variables]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-11 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 Coffee Mills<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
====[[LSL_Errors]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-11 Samia Bechir<br />
*German -<br />
*Italian -<br />
*Japanese - Done 2007-12-05 March Korda<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
<br />
===Templates===<br />
<br />
====[[Template:LSL_Constants_Conditional]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-04 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL_Conditional]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-04 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL Event]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-10 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL Function]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-30 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSL_Generic]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2008-01-09 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----<br />
====[[Template:LSLRotGetSet]]====<br />
*Chinese -<br />
*Dutch -<br />
*French - Done 2007-12-05 Catherine Pfeffer<br />
*German -<br />
*Italian -<br />
*Japanese -<br />
*Korean -<br />
*Polish -<br />
*Portuguese -<br />
*Spanish -<br />
----</div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Script_Efficiency/es&diff=57504LSL Script Efficiency/es2008-03-06T19:12:21Z<p>SharpEdge Aeon: /* Cuán Rápido Corre el Código */</p>
<hr />
<div>{{Multi-lang}}<br />
<div style="float:right;">__TOC__</div>{{LSL Header}}<br />
<br />
<div id="box"><br />
== Qué es la eficiencia ==<br />
<div style="padding: 0.5em;"><br />
<br />
La eficiencia es la cantidad de recursos que un script específico usa para obtener un objetivo. La eficiencia va de la mano con la velocidad de ejecución, pero no siempre.<br />
<br />
Este atento de los siguientes puntos, en orden de importancia aproximado:<br />
<br />
* Usar muchos scripts para lograr algo. Consulte Diseño Eficiente.<br />
* [[llSleep]] - Esta función usa de 0.2 a 0.3 ms por marco mientras que el script duerme, los temporizadores son mejores.<br />
* Temporizador de frequecia corta (<5 sec)<br />
* Escuchar - especialmente al canal 0 <br />
* Cambiar texturas con frecuencia (Otros tienen que descargarlos)<br />
* Uso poco apropiado de rotaciones físicas/de servidor en vez de omega<br />
* Manejadores de eventos que no son necesarios (tocar, colisión, ...)<br />
* Cantidad grande de correo electrónico o mensajes instantáneos<br />
* Algoritmos ineficaces (como la búsqueda lineal)<br />
* Bucles de llamadas selectivas ocupadas<br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Diseño eficiente ==<br />
<div style="padding: 0.5em;"><br />
<br />
Cada script inactivo en un objecto añade de 0.001 a 0.003 milisegundos por marco de uso de tiempo de script. Menos scripts son mejor.<br />
<br />
* Si necesita tener varios "botones" no ponga un script en cada prim. En su lugar use [[llDetectedLinkNumber]] para detectar cual botón se tocó en su script principal. <br />
* Si necesita cambiar el color, alpha o textura de un prim hijo no ponga un script en cada prim. En su lugar use [[llSetLinkAlpha]], [[llSetLinkColor]], [[llSetLinkTexture]], o [[llSetLinkPrimitiveParams]].<br />
* '''Nunca''' ponga un script en cada prim (de un conjunto de enlaces grande) que escuche en el canal 0 (o cualquier otro canal). Esto es lo peor que puede hacer para la eficiencia. Desafortunadamente es muy común.<br />
* Considera usar [[XyzzyText]] en vez de [[XyText]].<br />
<br />
Lo más importante es que si te encuentras tentado de poner un script en cada prim, que pares y analizes como puedes hacerlo de otra manera con menos scripts. Casi siempre hay una alternativa. Está en tus manos decidir si la alternativa es viable para tu aplicación.<br />
<br />
<br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Micro-optimización ==<br />
<br />
Hay muchas maneras de acelerar los scripts, como usar ++a en vez de a++. Sin embargo, muchas de estas micro-optimizaciones no serán ciertas en el futuro.<br />
<br />
== Cuán Rápido Corre el Código ==<br />
<div style="padding: 0.5em;"><br />
<br />
El código siguiente obtendrá el tiempo de cada función llamada en millis. <br />
<br />
Primero proponga cambios en la pestaña [[Talk:LSL_Script_Efficiency|discussion]]. No cambie el código aqui sin discutirlo, ya que cualquier cambio pequeño puede reducir la exactitud de las medidas. Sírvase notar que este código y sus comentarios deben igualar exactamente el código y comentarios en la página [[Efficiency Tester]].<br />
<br />
Gracias a {{User|Xaviar Czervik}} por el código original, gracias a {{User|Strife Onizuka}} por optimar el código para producir medidas correctas, y gracias a los otros contribudores mencionados en la historia de este artículo.<br />
<br />
<pre><br />
//IMPORTANT: Solo haga pruebas en una región vacía. <br />
// Para reducir la contaminación asegure no tener accesorios puestos. <br />
// Haga las pruebas preferiblemente en un sim privado con uno en él.<br />
// No se mueva mientras hace la prueba.<br />
// Hay un margen de error así que corra varias pruebas para determinarlo. <br />
<br />
integer time() { // cuenta milisegundos desde que comenzó el día<br />
string stamp = llGetTimestamp(); // "YYYY-MM-DDThh:mm:ss.ff..fZ"<br />
return (integer) llGetSubString(stamp, 11, 12) * 3600000 + // hh<br />
(integer) llGetSubString(stamp, 14, 15) * 60000 + // mm<br />
llRound((float)llGetSubString(stamp, 17, -2) * 1000000.0)/1000; // ss.ff..f<br />
}<br />
<br />
default {<br />
state_entry() {<br />
llOwnerSay((string) llGetFreeMemory());<br />
<br />
//variables de prueba<br />
float counter;<br />
<br />
//variables de marco de trabajo<br />
float i = 0;<br />
float j = 0;<br />
float max = 10000; // 2ms de trabajo toma 20 segundos para repetir 10,000 veces, más coste en tiempo <br />
float t0 = time();<br />
do {<br />
<br />
//test<br />
counter += 1;<br />
<br />
}while (++i < max);<br />
float t1 = time();<br />
do ; while (++j < max);<br />
float t2 = time();//remueve el tiempo requerido por el marco de trabajo<br />
float elapsed = ((t1 - t0) - (t2 - t1))/max;<br />
llOwnerSay("The function in the loop took a total of " + (string)elapsed + " milliseconds.");<br />
}<br />
}<br />
</pre><br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Eficiencia ==<br />
<div style="padding: 0.5em;"><br />
<br />
Los siguientes datos fue compilada usando la función arriba en un sim vacío recientemente lanzado (aunque no privado) con solo un script corriendo un accesorio HUD. 20 pruebas de cada uno se corrieron y promediaron.<br />
++a: 0.173780 ms Desviación típica: 0.003393 ms<br />
a += 1: 0.181720 ms Desviación típica: 0.013267 ms<br />
a++: 0.243500 ms Desviación típica: 0.013816 ms<br />
Así que a++ toma 40% más tiempo para ejecutar que ++a (estimación aproximada).<br />
<br />
A pesar que los datos siguientes son correctos, no se usó la funcion mencionada anteriormente. Se usó una versión menos optimada escrita por {{User|Xaviar Czervik}}. Sírvase alguien repetir las pruebas de la función arriba.<br />
<br />
++a: 0.364700 millis<br />
a += 1: 0.346900 millis<br />
a++: 0.413700 millis<br />
<br />
Probando la misma función en bucles for (for loops):<br />
++a: 0.358370 millis<br />
a += 1: 0.351200 millis<br />
a++: 0.424600 millis<br />
<br />
[[llOwnerSay]] v. [[llSay]] v. [[llShout]] v. [[llWhisper]] (Canal 0 donde corresponda):<br />
llOwnerSay(): 4.359000 millis<br />
llWhisper(): 5.201000 millis<br />
llSay(): 5.226000 millis<br />
llShout(): 14.877000 millis<br />
<br />
Diferentes Canales ([[llSay]]() Usado para todo):<br />
-100000000: 1.226400 millis<br />
-100000: 1.254300 millis<br />
-100: 1.296100 millis<br />
-1: 1.292400 millis<br />
0: 5.226000 millis<br />
1: 1.242300 millis<br />
100: 1.249100 millis<br />
100000: 1.219700 millis<br />
100000000: 1.228700 millis<br />
<br />
Cantidad de texto ([[llSay]]() y Canal 1 usado para todo):<br />
<pre><br />
1 Character: 1.242300 millis<br />
10 Characters: 1.309700 millis<br />
100 Characters: 1.965600 millis<br />
</pre></div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Script_Efficiency/es&diff=57497LSL Script Efficiency/es2008-03-06T19:03:13Z<p>SharpEdge Aeon: /* Diseño eficiente */</p>
<hr />
<div>{{Multi-lang}}<br />
<div style="float:right;">__TOC__</div>{{LSL Header}}<br />
<br />
<div id="box"><br />
== Qué es la eficiencia ==<br />
<div style="padding: 0.5em;"><br />
<br />
La eficiencia es la cantidad de recursos que un script específico usa para obtener un objetivo. La eficiencia va de la mano con la velocidad de ejecución, pero no siempre.<br />
<br />
Este atento de los siguientes puntos, en orden de importancia aproximado:<br />
<br />
* Usar muchos scripts para lograr algo. Consulte Diseño Eficiente.<br />
* [[llSleep]] - Esta función usa de 0.2 a 0.3 ms por marco mientras que el script duerme, los temporizadores son mejores.<br />
* Temporizador de frequecia corta (<5 sec)<br />
* Escuchar - especialmente al canal 0 <br />
* Cambiar texturas con frecuencia (Otros tienen que descargarlos)<br />
* Uso poco apropiado de rotaciones físicas/de servidor en vez de omega<br />
* Manejadores de eventos que no son necesarios (tocar, colisión, ...)<br />
* Cantidad grande de correo electrónico o mensajes instantáneos<br />
* Algoritmos ineficaces (como la búsqueda lineal)<br />
* Bucles de llamadas selectivas ocupadas<br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Diseño eficiente ==<br />
<div style="padding: 0.5em;"><br />
<br />
Cada script inactivo en un objecto añade de 0.001 a 0.003 milisegundos por marco de uso de tiempo de script. Menos scripts son mejor.<br />
<br />
* Si necesita tener varios "botones" no ponga un script en cada prim. En su lugar use [[llDetectedLinkNumber]] para detectar cual botón se tocó en su script principal. <br />
* Si necesita cambiar el color, alpha o textura de un prim hijo no ponga un script en cada prim. En su lugar use [[llSetLinkAlpha]], [[llSetLinkColor]], [[llSetLinkTexture]], o [[llSetLinkPrimitiveParams]].<br />
* '''Nunca''' ponga un script en cada prim (de un conjunto de enlaces grande) que escuche en el canal 0 (o cualquier otro canal). Esto es lo peor que puede hacer para la eficiencia. Desafortunadamente es muy común.<br />
* Considera usar [[XyzzyText]] en vez de [[XyText]].<br />
<br />
Lo más importante es que si te encuentras tentado de poner un script en cada prim, que pares y analizes como puedes hacerlo de otra manera con menos scripts. Casi siempre hay una alternativa. Está en tus manos decidir si la alternativa es viable para tu aplicación.<br />
<br />
<br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Micro-optimización ==<br />
<br />
Hay muchas maneras de acelerar los scripts, como usar ++a en vez de a++. Sin embargo, muchas de estas micro-optimizaciones no serán ciertas en el futuro.<br />
<br />
== Cuán Rápido Corre el Código ==<br />
<div style="padding: 0.5em;"><br />
<br />
El código siguiente obtendrá el tiempo de cada función llamada en millis. <br />
<br />
Please first propose changes to the [[Talk:LSL_Script_Efficiency|discussion]] tab. Please do not change the code here without discussion, as any small change could reduce the accuracy of measurements. Please note this code and its comments should exactly match the code and comments presented by the [[Efficiency Tester]] page.<br />
<br />
Gracias a {{User|Xaviar Czervik}} por el código original, gracias a {{User|Strife Onizuka}} por optimar el código para producir medidas correctas, y gracias a los otros contribudores mencionados en la historia de este artículo.<br />
<br />
<pre><br />
//IMPORTANT: Solo haga pruebas en una región vacía. <br />
// Para reducir la contaminación asegure no tener accesorios puestos. <br />
// Haga las pruebas preferiblemente en un sim privado con uno en él.<br />
// No se mueva mientras hace la prueba.<br />
// Hay un margen de error así que corra varias pruebas para determinarlo. <br />
<br />
integer time() { // cuenta milisegundos desde que comenzó el día<br />
string stamp = llGetTimestamp(); // "YYYY-MM-DDThh:mm:ss.ff..fZ"<br />
return (integer) llGetSubString(stamp, 11, 12) * 3600000 + // hh<br />
(integer) llGetSubString(stamp, 14, 15) * 60000 + // mm<br />
llRound((float)llGetSubString(stamp, 17, -2) * 1000000.0)/1000; // ss.ff..f<br />
}<br />
<br />
default {<br />
state_entry() {<br />
llOwnerSay((string) llGetFreeMemory());<br />
<br />
//variables de prueba<br />
float counter;<br />
<br />
//variables de marco de trabajo<br />
float i = 0;<br />
float j = 0;<br />
float max = 10000; // 2ms de trabajo toma 20 segundos para repetir 10,000 veces, más coste en tiempo <br />
float t0 = time();<br />
do {<br />
<br />
//test<br />
counter += 1;<br />
<br />
}while (++i < max);<br />
float t1 = time();<br />
do ; while (++j < max);<br />
float t2 = time();//remueve el tiempo requerido por el marco de trabajo<br />
float elapsed = ((t1 - t0) - (t2 - t1))/max;<br />
llOwnerSay("The function in the loop took a total of " + (string)elapsed + " milliseconds.");<br />
}<br />
}<br />
</pre><br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Eficiencia ==<br />
<div style="padding: 0.5em;"><br />
<br />
Los siguientes datos fue compilada usando la función arriba en un sim vacío recientemente lanzado (aunque no privado) con solo un script corriendo un accesorio HUD. 20 pruebas de cada uno se corrieron y promediaron.<br />
++a: 0.173780 ms Desviación típica: 0.003393 ms<br />
a += 1: 0.181720 ms Desviación típica: 0.013267 ms<br />
a++: 0.243500 ms Desviación típica: 0.013816 ms<br />
Así que a++ toma 40% más tiempo para ejecutar que ++a (estimación aproximada).<br />
<br />
A pesar que los datos siguientes son correctos, no se usó la funcion mencionada anteriormente. Se usó una versión menos optimada escrita por {{User|Xaviar Czervik}}. Sírvase alguien repetir las pruebas de la función arriba.<br />
<br />
++a: 0.364700 millis<br />
a += 1: 0.346900 millis<br />
a++: 0.413700 millis<br />
<br />
Probando la misma función en bucles for (for loops):<br />
++a: 0.358370 millis<br />
a += 1: 0.351200 millis<br />
a++: 0.424600 millis<br />
<br />
[[llOwnerSay]] v. [[llSay]] v. [[llShout]] v. [[llWhisper]] (Canal 0 donde corresponda):<br />
llOwnerSay(): 4.359000 millis<br />
llWhisper(): 5.201000 millis<br />
llSay(): 5.226000 millis<br />
llShout(): 14.877000 millis<br />
<br />
Diferentes Canales ([[llSay]]() Usado para todo):<br />
-100000000: 1.226400 millis<br />
-100000: 1.254300 millis<br />
-100: 1.296100 millis<br />
-1: 1.292400 millis<br />
0: 5.226000 millis<br />
1: 1.242300 millis<br />
100: 1.249100 millis<br />
100000: 1.219700 millis<br />
100000000: 1.228700 millis<br />
<br />
Cantidad de texto ([[llSay]]() y Canal 1 usado para todo):<br />
<pre><br />
1 Character: 1.242300 millis<br />
10 Characters: 1.309700 millis<br />
100 Characters: 1.965600 millis<br />
</pre></div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Script_Efficiency/es&diff=57496LSL Script Efficiency/es2008-03-06T18:58:27Z<p>SharpEdge Aeon: /* Qué es la eficiencia */</p>
<hr />
<div>{{Multi-lang}}<br />
<div style="float:right;">__TOC__</div>{{LSL Header}}<br />
<br />
<div id="box"><br />
== Qué es la eficiencia ==<br />
<div style="padding: 0.5em;"><br />
<br />
La eficiencia es la cantidad de recursos que un script específico usa para obtener un objetivo. La eficiencia va de la mano con la velocidad de ejecución, pero no siempre.<br />
<br />
Este atento de los siguientes puntos, en orden de importancia aproximado:<br />
<br />
* Usar muchos scripts para lograr algo. Consulte Diseño Eficiente.<br />
* [[llSleep]] - Esta función usa de 0.2 a 0.3 ms por marco mientras que el script duerme, los temporizadores son mejores.<br />
* Temporizador de frequecia corta (<5 sec)<br />
* Escuchar - especialmente al canal 0 <br />
* Cambiar texturas con frecuencia (Otros tienen que descargarlos)<br />
* Uso poco apropiado de rotaciones físicas/de servidor en vez de omega<br />
* Manejadores de eventos que no son necesarios (tocar, colisión, ...)<br />
* Cantidad grande de correo electrónico o mensajes instantáneos<br />
* Algoritmos ineficaces (como la búsqueda lineal)<br />
* Bucles de llamadas selectivas ocupadas<br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Diseño eficiente ==<br />
<div style="padding: 0.5em;"><br />
<br />
Cada script inactivo en un objecto añade de 0.001 a 0.003 milisegundos per marco de uso de tiempo de script. Menos scripts son mejor.<br />
<br />
* Si necesita tener varios "botones" no ponga un script en cada prim. En su lugar use [[llDetectedLinkNumber]] para detectar cual botón se tocó en su script principal. <br />
* Si necesita cambiar el color, alpha o textura de un prim hijo no ponga un script en cada prim. En su lugar use[[llSetLinkAlpha]], [[llSetLinkColor]], [[llSetLinkTexture]], o [[llSetLinkPrimitiveParams]].<br />
* '''Nunca''' ponga un script en cada prim (de un conjunto de enlaces grande) que escuche en el canal 0 (o cualquier otro canal). Esto es lo peor que puede hacer para la eficiencia. Desafortunadamente es muy común.<br />
* Considera usar [[XyzzyText]] en vez de [[XyText]].<br />
<br />
Lo más importante es que si te encuentras tentado de poner un script en cada prim, que pares y analizes como puedes hacerlo de otra manera con menos scripts. Casi siempre hay una alternativa. Está en tus manos decidir si la alternativa es viable para tu aplicación.<br />
<br />
<br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Micro-optimización ==<br />
<br />
Hay muchas maneras de acelerar los scripts, como usar ++a en vez de a++. Sin embargo, muchas de estas micro-optimizaciones no serán ciertas en el futuro.<br />
<br />
== Cuán Rápido Corre el Código ==<br />
<div style="padding: 0.5em;"><br />
<br />
El código siguiente obtendrá el tiempo de cada función llamada en millis. <br />
<br />
Please first propose changes to the [[Talk:LSL_Script_Efficiency|discussion]] tab. Please do not change the code here without discussion, as any small change could reduce the accuracy of measurements. Please note this code and its comments should exactly match the code and comments presented by the [[Efficiency Tester]] page.<br />
<br />
Gracias a {{User|Xaviar Czervik}} por el código original, gracias a {{User|Strife Onizuka}} por optimar el código para producir medidas correctas, y gracias a los otros contribudores mencionados en la historia de este artículo.<br />
<br />
<pre><br />
//IMPORTANT: Solo haga pruebas en una región vacía. <br />
// Para reducir la contaminación asegure no tener accesorios puestos. <br />
// Haga las pruebas preferiblemente en un sim privado con uno en él.<br />
// No se mueva mientras hace la prueba.<br />
// Hay un margen de error así que corra varias pruebas para determinarlo. <br />
<br />
integer time() { // cuenta milisegundos desde que comenzó el día<br />
string stamp = llGetTimestamp(); // "YYYY-MM-DDThh:mm:ss.ff..fZ"<br />
return (integer) llGetSubString(stamp, 11, 12) * 3600000 + // hh<br />
(integer) llGetSubString(stamp, 14, 15) * 60000 + // mm<br />
llRound((float)llGetSubString(stamp, 17, -2) * 1000000.0)/1000; // ss.ff..f<br />
}<br />
<br />
default {<br />
state_entry() {<br />
llOwnerSay((string) llGetFreeMemory());<br />
<br />
//variables de prueba<br />
float counter;<br />
<br />
//variables de marco de trabajo<br />
float i = 0;<br />
float j = 0;<br />
float max = 10000; // 2ms de trabajo toma 20 segundos para repetir 10,000 veces, más coste en tiempo <br />
float t0 = time();<br />
do {<br />
<br />
//test<br />
counter += 1;<br />
<br />
}while (++i < max);<br />
float t1 = time();<br />
do ; while (++j < max);<br />
float t2 = time();//remueve el tiempo requerido por el marco de trabajo<br />
float elapsed = ((t1 - t0) - (t2 - t1))/max;<br />
llOwnerSay("The function in the loop took a total of " + (string)elapsed + " milliseconds.");<br />
}<br />
}<br />
</pre><br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Eficiencia ==<br />
<div style="padding: 0.5em;"><br />
<br />
Los siguientes datos fue compilada usando la función arriba en un sim vacío recientemente lanzado (aunque no privado) con solo un script corriendo un accesorio HUD. 20 pruebas de cada uno se corrieron y promediaron.<br />
++a: 0.173780 ms Desviación típica: 0.003393 ms<br />
a += 1: 0.181720 ms Desviación típica: 0.013267 ms<br />
a++: 0.243500 ms Desviación típica: 0.013816 ms<br />
Así que a++ toma 40% más tiempo para ejecutar que ++a (estimación aproximada).<br />
<br />
A pesar que los datos siguientes son correctos, no se usó la funcion mencionada anteriormente. Se usó una versión menos optimada escrita por {{User|Xaviar Czervik}}. Sírvase alguien repetir las pruebas de la función arriba.<br />
<br />
++a: 0.364700 millis<br />
a += 1: 0.346900 millis<br />
a++: 0.413700 millis<br />
<br />
Probando la misma función en bucles for (for loops):<br />
++a: 0.358370 millis<br />
a += 1: 0.351200 millis<br />
a++: 0.424600 millis<br />
<br />
[[llOwnerSay]] v. [[llSay]] v. [[llShout]] v. [[llWhisper]] (Canal 0 donde corresponda):<br />
llOwnerSay(): 4.359000 millis<br />
llWhisper(): 5.201000 millis<br />
llSay(): 5.226000 millis<br />
llShout(): 14.877000 millis<br />
<br />
Diferentes Canales ([[llSay]]() Usado para todo):<br />
-100000000: 1.226400 millis<br />
-100000: 1.254300 millis<br />
-100: 1.296100 millis<br />
-1: 1.292400 millis<br />
0: 5.226000 millis<br />
1: 1.242300 millis<br />
100: 1.249100 millis<br />
100000: 1.219700 millis<br />
100000000: 1.228700 millis<br />
<br />
Cantidad de texto ([[llSay]]() y Canal 1 usado para todo):<br />
<pre><br />
1 Character: 1.242300 millis<br />
10 Characters: 1.309700 millis<br />
100 Characters: 1.965600 millis<br />
</pre></div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Script_Efficiency/es&diff=57490LSL Script Efficiency/es2008-03-06T18:30:42Z<p>SharpEdge Aeon: /* Cuán Rápido Corre el Código */</p>
<hr />
<div>{{Multi-lang}}<br />
<div style="float:right;">__TOC__</div>{{LSL Header}}<br />
<br />
<div id="box"><br />
== Qué es la eficiencia ==<br />
<div style="padding: 0.5em;"><br />
<br />
La eficiencia es la cantidad de recursos que un script específico usa para conseguir una meta. La eficiencia va de la mano con la velocidad de ejecución pero no siempre.<br />
<br />
Este atento de los siguientes puntos, en orden de importancia aproximado:<br />
<br />
* Usar muchos scripts para lograr algo. Consulte Diseño Eficiente.<br />
* [[llSleep]] - Esta función usa de 0.2 a 0.3 ms por marco mientras que el script duerme, los temporizadores son mejores.<br />
* Temporizador de frequecia corta (<5 sec)<br />
* Escuchar - especialmente al canal 0 <br />
* Cambiar texturas con frecuencia (Otros tienen que descargarlos)<br />
* Uso poco apropiado de rotaciones físicas/de servidor en vez de omega<br />
* Manejadores de eventos que no son necesarios (tocar, colisión, ...)<br />
* Cantidad grande de correo electrónico o mensajes instantáneos<br />
* Algoritmos ineficaces (como la búsqueda lineal)<br />
* Bucles de llamada selectiva ocupadas<br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Diseño eficiente ==<br />
<div style="padding: 0.5em;"><br />
<br />
Cada script inactivo en un objecto añade de 0.001 a 0.003 milisegundos per marco de uso de tiempo de script. Menos scripts son mejor.<br />
<br />
* Si necesita tener varios "botones" no ponga un script en cada prim. En su lugar use [[llDetectedLinkNumber]] para detectar cual botón se tocó en su script principal. <br />
* Si necesita cambiar el color, alpha o textura de un prim hijo no ponga un script en cada prim. En su lugar use[[llSetLinkAlpha]], [[llSetLinkColor]], [[llSetLinkTexture]], o [[llSetLinkPrimitiveParams]].<br />
* '''Nunca''' ponga un script en cada prim (de un conjunto de enlaces grande) que escuche en el canal 0 (o cualquier otro canal). Esto es lo peor que puede hacer para la eficiencia. Desafortunadamente es muy común.<br />
* Considera usar [[XyzzyText]] en vez de [[XyText]].<br />
<br />
Lo más importante es que si te encuentras tentado de poner un script en cada prim, que pares y analizes como puedes hacerlo de otra manera con menos scripts. Casi siempre hay una alternativa. Está en tus manos decidir si la alternativa es viable para tu aplicación.<br />
<br />
<br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Micro-optimización ==<br />
<br />
Hay muchas maneras de acelerar los scripts, como usar ++a en vez de a++. Sin embargo, muchas de estas micro-optimizaciones no serán ciertas en el futuro.<br />
<br />
== Cuán Rápido Corre el Código ==<br />
<div style="padding: 0.5em;"><br />
<br />
El código siguiente obtendrá el tiempo de cada función llamada en millis. <br />
<br />
Please first propose changes to the [[Talk:LSL_Script_Efficiency|discussion]] tab. Please do not change the code here without discussion, as any small change could reduce the accuracy of measurements. Please note this code and its comments should exactly match the code and comments presented by the [[Efficiency Tester]] page.<br />
<br />
Gracias a {{User|Xaviar Czervik}} por el código original, gracias a {{User|Strife Onizuka}} por optimar el código para producir medidas correctas, y gracias a los otros contribudores mencionados en la historia de este artículo.<br />
<br />
<pre><br />
//IMPORTANT: Solo haga pruebas en una región vacía. <br />
// Para reducir la contaminación asegure no tener accesorios puestos. <br />
// Haga las pruebas preferiblemente en un sim privado con uno en él.<br />
// No se mueva mientras hace la prueba.<br />
// Hay un margen de error así que corra varias pruebas para determinarlo. <br />
<br />
integer time() { // cuenta milisegundos desde que comenzó el día<br />
string stamp = llGetTimestamp(); // "YYYY-MM-DDThh:mm:ss.ff..fZ"<br />
return (integer) llGetSubString(stamp, 11, 12) * 3600000 + // hh<br />
(integer) llGetSubString(stamp, 14, 15) * 60000 + // mm<br />
llRound((float)llGetSubString(stamp, 17, -2) * 1000000.0)/1000; // ss.ff..f<br />
}<br />
<br />
default {<br />
state_entry() {<br />
llOwnerSay((string) llGetFreeMemory());<br />
<br />
//variables de prueba<br />
float counter;<br />
<br />
//variables de marco de trabajo<br />
float i = 0;<br />
float j = 0;<br />
float max = 10000; // 2ms de trabajo toma 20 segundos para repetir 10,000 veces, más coste en tiempo <br />
float t0 = time();<br />
do {<br />
<br />
//test<br />
counter += 1;<br />
<br />
}while (++i < max);<br />
float t1 = time();<br />
do ; while (++j < max);<br />
float t2 = time();//remueve el tiempo requerido por el marco de trabajo<br />
float elapsed = ((t1 - t0) - (t2 - t1))/max;<br />
llOwnerSay("The function in the loop took a total of " + (string)elapsed + " milliseconds.");<br />
}<br />
}<br />
</pre><br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Eficiencia ==<br />
<div style="padding: 0.5em;"><br />
<br />
Los siguientes datos fue compilada usando la función arriba en un sim vacío recientemente lanzado (aunque no privado) con solo un script corriendo un accesorio HUD. 20 pruebas de cada uno se corrieron y promediaron.<br />
++a: 0.173780 ms Desviación típica: 0.003393 ms<br />
a += 1: 0.181720 ms Desviación típica: 0.013267 ms<br />
a++: 0.243500 ms Desviación típica: 0.013816 ms<br />
Así que a++ toma 40% más tiempo para ejecutar que ++a (estimación aproximada).<br />
<br />
A pesar que los datos siguientes son correctos, no se usó la funcion mencionada anteriormente. Se usó una versión menos optimada escrita por {{User|Xaviar Czervik}}. Sírvase alguien repetir las pruebas de la función arriba.<br />
<br />
++a: 0.364700 millis<br />
a += 1: 0.346900 millis<br />
a++: 0.413700 millis<br />
<br />
Probando la misma función en bucles for (for loops):<br />
++a: 0.358370 millis<br />
a += 1: 0.351200 millis<br />
a++: 0.424600 millis<br />
<br />
[[llOwnerSay]] v. [[llSay]] v. [[llShout]] v. [[llWhisper]] (Canal 0 donde corresponda):<br />
llOwnerSay(): 4.359000 millis<br />
llWhisper(): 5.201000 millis<br />
llSay(): 5.226000 millis<br />
llShout(): 14.877000 millis<br />
<br />
Diferentes Canales ([[llSay]]() Usado para todo):<br />
-100000000: 1.226400 millis<br />
-100000: 1.254300 millis<br />
-100: 1.296100 millis<br />
-1: 1.292400 millis<br />
0: 5.226000 millis<br />
1: 1.242300 millis<br />
100: 1.249100 millis<br />
100000: 1.219700 millis<br />
100000000: 1.228700 millis<br />
<br />
Cantidad de texto ([[llSay]]() y Canal 1 usado para todo):<br />
<pre><br />
1 Character: 1.242300 millis<br />
10 Characters: 1.309700 millis<br />
100 Characters: 1.965600 millis<br />
</pre></div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Script_Efficiency/es&diff=57488LSL Script Efficiency/es2008-03-06T18:15:31Z<p>SharpEdge Aeon: /* Eficiencia */</p>
<hr />
<div>{{Multi-lang}}<br />
<div style="float:right;">__TOC__</div>{{LSL Header}}<br />
<br />
<div id="box"><br />
== Qué es la eficiencia ==<br />
<div style="padding: 0.5em;"><br />
<br />
La eficiencia es la cantidad de recursos que un script específico usa para conseguir una meta. La eficiencia va de la mano con la velocidad de ejecución pero no siempre.<br />
<br />
Este atento de los siguientes puntos, en orden de importancia aproximado:<br />
<br />
* Usar muchos scripts para lograr algo. Consulte Diseño Eficiente.<br />
* [[llSleep]] - Esta función usa de 0.2 a 0.3 ms por marco mientras que el script duerme, los temporizadores son mejores.<br />
* Temporizador de frequecia corta (<5 sec)<br />
* Escuchar - especialmente al canal 0 <br />
* Cambiar texturas con frecuencia (Otros tienen que descargarlos)<br />
* Uso poco apropiado de rotaciones físicas/de servidor en vez de omega<br />
* Manejadores de eventos que no son necesarios (tocar, colisión, ...)<br />
* Cantidad grande de correo electrónico o mensajes instantáneos<br />
* Algoritmos ineficaces (como la búsqueda lineal)<br />
* Bucles de llamada selectiva ocupadas<br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Diseño eficiente ==<br />
<div style="padding: 0.5em;"><br />
<br />
Cada script inactivo en un objecto añade de 0.001 a 0.003 milisegundos per marco de uso de tiempo de script. Menos scripts son mejor.<br />
<br />
* Si necesita tener varios "botones" no ponga un script en cada prim. En su lugar use [[llDetectedLinkNumber]] para detectar cual botón se tocó en su script principal. <br />
* Si necesita cambiar el color, alpha o textura de un prim hijo no ponga un script en cada prim. En su lugar use[[llSetLinkAlpha]], [[llSetLinkColor]], [[llSetLinkTexture]], o [[llSetLinkPrimitiveParams]].<br />
* '''Nunca''' ponga un script en cada prim (de un conjunto de enlaces grande) que escuche en el canal 0 (o cualquier otro canal). Esto es lo peor que puede hacer para la eficiencia. Desafortunadamente es muy común.<br />
* Considera usar [[XyzzyText]] en vez de [[XyText]].<br />
<br />
Lo más importante es que si te encuentras tentado de poner un script en cada prim, que pares y analizes como puedes hacerlo de otra manera con menos scripts. Casi siempre hay una alternativa. Está en tus manos decidir si la alternativa es viable para tu aplicación.<br />
<br />
<br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Micro-optimización ==<br />
<br />
Hay muchas maneras de acelerar los scripts, como usar ++a en vez de a++. Sin embargo, muchas de estas micro-optimizaciones no serán ciertas en el futuro.<br />
<br />
== Cuán Rápido Corre el Código ==<br />
<div style="padding: 0.5em;"><br />
<br />
The following code will get the time for each function call in millis.<br />
<br />
Please first propose changes to the [[Talk:LSL_Script_Efficiency|discussion]] tab. Please do not change the code here without discussion, as any small change could reduce the accuracy of measurements. Please note this code and its comments should exactly match the code and comments presented by the [[Efficiency Tester]] page.<br />
<br />
Thanks to {{User|Xaviar Czervik}} for the original code, thanks to {{User|Strife Onizuka}} for tuning the code to produce more accurate measurements, and thanks to the other contributors listed in the history of this article.<br />
<br />
<pre><br />
//IMPORTANT: Only perform tests in an empty region.<br />
// To reduce contamination and be sure to wearing no attachments.<br />
// Preferably do tests in a private sim with one on it.<br />
// Don't move while performing the test.<br />
// There is a margin of error so run the tests multiple times to determine it.<br />
<br />
integer time() { // count milliseconds since the day began<br />
string stamp = llGetTimestamp(); // "YYYY-MM-DDThh:mm:ss.ff..fZ"<br />
return (integer) llGetSubString(stamp, 11, 12) * 3600000 + // hh<br />
(integer) llGetSubString(stamp, 14, 15) * 60000 + // mm<br />
llRound((float)llGetSubString(stamp, 17, -2) * 1000000.0)/1000; // ss.ff..f<br />
}<br />
<br />
default {<br />
state_entry() {<br />
llOwnerSay((string) llGetFreeMemory());<br />
<br />
//test variables<br />
float counter;<br />
<br />
//framework variables<br />
float i = 0;<br />
float j = 0;<br />
float max = 10000; // 2ms of work takes 20 seconds to repeat 10,000 times, plus overhead<br />
<br />
float t0 = time();<br />
do {<br />
<br />
//test<br />
counter += 1;<br />
<br />
}while (++i < max);<br />
float t1 = time();<br />
do ; while (++j < max);<br />
float t2 = time();//remove the time required by the framework<br />
float elapsed = ((t1 - t0) - (t2 - t1))/max;<br />
llOwnerSay("The function in the loop took a total of " + (string)elapsed + " milliseconds.");<br />
}<br />
}<br />
</pre><br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Eficiencia ==<br />
<div style="padding: 0.5em;"><br />
<br />
Los siguientes datos fue compilada usando la función arriba en un sim vacío recientemente lanzado (aunque no privado) con solo un script corriendo un accesorio HUD. 20 pruebas de cada uno se corrieron y promediaron.<br />
++a: 0.173780 ms Desviación típica: 0.003393 ms<br />
a += 1: 0.181720 ms Desviación típica: 0.013267 ms<br />
a++: 0.243500 ms Desviación típica: 0.013816 ms<br />
Así que a++ toma 40% más tiempo para ejecutar que ++a (estimación aproximada).<br />
<br />
A pesar que los datos siguientes son correctos, no se usó la funcion mencionada anteriormente. Se usó una versión menos optimada escrita por {{User|Xaviar Czervik}}. Sírvase alguien repetir las pruebas de la función arriba.<br />
<br />
++a: 0.364700 millis<br />
a += 1: 0.346900 millis<br />
a++: 0.413700 millis<br />
<br />
Probando la misma función en bucles for (for loops):<br />
++a: 0.358370 millis<br />
a += 1: 0.351200 millis<br />
a++: 0.424600 millis<br />
<br />
[[llOwnerSay]] v. [[llSay]] v. [[llShout]] v. [[llWhisper]] (Canal 0 donde corresponda):<br />
llOwnerSay(): 4.359000 millis<br />
llWhisper(): 5.201000 millis<br />
llSay(): 5.226000 millis<br />
llShout(): 14.877000 millis<br />
<br />
Diferentes Canales ([[llSay]]() Usado para todo):<br />
-100000000: 1.226400 millis<br />
-100000: 1.254300 millis<br />
-100: 1.296100 millis<br />
-1: 1.292400 millis<br />
0: 5.226000 millis<br />
1: 1.242300 millis<br />
100: 1.249100 millis<br />
100000: 1.219700 millis<br />
100000000: 1.228700 millis<br />
<br />
Cantidad de texto ([[llSay]]() y Canal 1 usado para todo):<br />
<pre><br />
1 Character: 1.242300 millis<br />
10 Characters: 1.309700 millis<br />
100 Characters: 1.965600 millis<br />
</pre></div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Script_Efficiency/es&diff=57483LSL Script Efficiency/es2008-03-06T18:02:14Z<p>SharpEdge Aeon: /* Micro-optimización */</p>
<hr />
<div>{{Multi-lang}}<br />
<div style="float:right;">__TOC__</div>{{LSL Header}}<br />
<br />
<div id="box"><br />
== Qué es la eficiencia ==<br />
<div style="padding: 0.5em;"><br />
<br />
La eficiencia es la cantidad de recursos que un script específico usa para conseguir una meta. La eficiencia va de la mano con la velocidad de ejecución pero no siempre.<br />
<br />
Este atento de los siguientes puntos, en orden de importancia aproximado:<br />
<br />
* Usar muchos scripts para lograr algo. Consulte Diseño Eficiente.<br />
* [[llSleep]] - Esta función usa de 0.2 a 0.3 ms por marco mientras que el script duerme, los temporizadores son mejores.<br />
* Temporizador de frequecia corta (<5 sec)<br />
* Escuchar - especialmente al canal 0 <br />
* Cambiar texturas con frecuencia (Otros tienen que descargarlos)<br />
* Uso poco apropiado de rotaciones físicas/de servidor en vez de omega<br />
* Manejadores de eventos que no son necesarios (tocar, colisión, ...)<br />
* Cantidad grande de correo electrónico o mensajes instantáneos<br />
* Algoritmos ineficaces (como la búsqueda lineal)<br />
* Bucles de llamada selectiva ocupadas<br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Diseño eficiente ==<br />
<div style="padding: 0.5em;"><br />
<br />
Cada script inactivo en un objecto añade de 0.001 a 0.003 milisegundos per marco de uso de tiempo de script. Menos scripts son mejor.<br />
<br />
* Si necesita tener varios "botones" no ponga un script en cada prim. En su lugar use [[llDetectedLinkNumber]] para detectar cual botón se tocó en su script principal. <br />
* Si necesita cambiar el color, alpha o textura de un prim hijo no ponga un script en cada prim. En su lugar use[[llSetLinkAlpha]], [[llSetLinkColor]], [[llSetLinkTexture]], o [[llSetLinkPrimitiveParams]].<br />
* '''Nunca''' ponga un script en cada prim (de un conjunto de enlaces grande) que escuche en el canal 0 (o cualquier otro canal). Esto es lo peor que puede hacer para la eficiencia. Desafortunadamente es muy común.<br />
* Considera usar [[XyzzyText]] en vez de [[XyText]].<br />
<br />
Lo más importante es que si te encuentras tentado de poner un script en cada prim, que pares y analizes como puedes hacerlo de otra manera con menos scripts. Casi siempre hay una alternativa. Está en tus manos decidir si la alternativa es viable para tu aplicación.<br />
<br />
<br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Micro-optimización ==<br />
<br />
Hay muchas maneras de acelerar los scripts, como usar ++a en vez de a++. Sin embargo, muchas de estas micro-optimizaciones no serán ciertas en el futuro.<br />
<br />
== Cuán Rápido Corre el Código ==<br />
<div style="padding: 0.5em;"><br />
<br />
The following code will get the time for each function call in millis.<br />
<br />
Please first propose changes to the [[Talk:LSL_Script_Efficiency|discussion]] tab. Please do not change the code here without discussion, as any small change could reduce the accuracy of measurements. Please note this code and its comments should exactly match the code and comments presented by the [[Efficiency Tester]] page.<br />
<br />
Thanks to {{User|Xaviar Czervik}} for the original code, thanks to {{User|Strife Onizuka}} for tuning the code to produce more accurate measurements, and thanks to the other contributors listed in the history of this article.<br />
<br />
<pre><br />
//IMPORTANT: Only perform tests in an empty region.<br />
// To reduce contamination and be sure to wearing no attachments.<br />
// Preferably do tests in a private sim with one on it.<br />
// Don't move while performing the test.<br />
// There is a margin of error so run the tests multiple times to determine it.<br />
<br />
integer time() { // count milliseconds since the day began<br />
string stamp = llGetTimestamp(); // "YYYY-MM-DDThh:mm:ss.ff..fZ"<br />
return (integer) llGetSubString(stamp, 11, 12) * 3600000 + // hh<br />
(integer) llGetSubString(stamp, 14, 15) * 60000 + // mm<br />
llRound((float)llGetSubString(stamp, 17, -2) * 1000000.0)/1000; // ss.ff..f<br />
}<br />
<br />
default {<br />
state_entry() {<br />
llOwnerSay((string) llGetFreeMemory());<br />
<br />
//test variables<br />
float counter;<br />
<br />
//framework variables<br />
float i = 0;<br />
float j = 0;<br />
float max = 10000; // 2ms of work takes 20 seconds to repeat 10,000 times, plus overhead<br />
<br />
float t0 = time();<br />
do {<br />
<br />
//test<br />
counter += 1;<br />
<br />
}while (++i < max);<br />
float t1 = time();<br />
do ; while (++j < max);<br />
float t2 = time();//remove the time required by the framework<br />
float elapsed = ((t1 - t0) - (t2 - t1))/max;<br />
llOwnerSay("The function in the loop took a total of " + (string)elapsed + " milliseconds.");<br />
}<br />
}<br />
</pre><br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Eficiencia ==<br />
<div style="padding: 0.5em;"><br />
<br />
The following data was collected using the above function in a recently deployed empty (though not private) sim, with only that one script running in a HUD attachment. 20 tests of each were run and averaged.<br />
++a: 0.173780 ms std. dev.: 0.003393 ms<br />
a += 1: 0.181720 ms std. dev.: 0.013267 ms<br />
a++: 0.243500 ms std. dev.: 0.013816 ms<br />
Thus a++ takes 40% longer to execute than ++a (rough estimate).<br />
<br />
While the following data is correct, the function above was not used. A slightly less optimized version written by {{User|Xaviar Czervik}} was used. If someone could please repeat the tests with the function above.<br />
<br />
++a: 0.364700 millis<br />
a += 1: 0.346900 millis<br />
a++: 0.413700 millis<br />
<br />
Probando la misma funcion en bucles for (for loops):<br />
++a: 0.358370 millis<br />
a += 1: 0.351200 millis<br />
a++: 0.424600 millis<br />
<br />
[[llOwnerSay]] v. [[llSay]] v. [[llShout]] v. [[llWhisper]] (Canal 0 donde corresponda):<br />
llOwnerSay(): 4.359000 millis<br />
llWhisper(): 5.201000 millis<br />
llSay(): 5.226000 millis<br />
llShout(): 14.877000 millis<br />
<br />
Diferentes Canales ([[llSay]]() Usado para todo):<br />
-100000000: 1.226400 millis<br />
-100000: 1.254300 millis<br />
-100: 1.296100 millis<br />
-1: 1.292400 millis<br />
0: 5.226000 millis<br />
1: 1.242300 millis<br />
100: 1.249100 millis<br />
100000: 1.219700 millis<br />
100000000: 1.228700 millis<br />
<br />
Cantidad de texto ([[llSay]]() y Canal 1 usado para todo):<br />
<pre><br />
1 Character: 1.242300 millis<br />
10 Characters: 1.309700 millis<br />
100 Characters: 1.965600 millis<br />
</pre></div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Script_Efficiency/es&diff=57482LSL Script Efficiency/es2008-03-06T17:58:55Z<p>SharpEdge Aeon: /* Diseño eficiente */</p>
<hr />
<div>{{Multi-lang}}<br />
<div style="float:right;">__TOC__</div>{{LSL Header}}<br />
<br />
<div id="box"><br />
== Qué es la eficiencia ==<br />
<div style="padding: 0.5em;"><br />
<br />
La eficiencia es la cantidad de recursos que un script específico usa para conseguir una meta. La eficiencia va de la mano con la velocidad de ejecución pero no siempre.<br />
<br />
Este atento de los siguientes puntos, en orden de importancia aproximado:<br />
<br />
* Usar muchos scripts para lograr algo. Consulte Diseño Eficiente.<br />
* [[llSleep]] - Esta función usa de 0.2 a 0.3 ms por marco mientras que el script duerme, los temporizadores son mejores.<br />
* Temporizador de frequecia corta (<5 sec)<br />
* Escuchar - especialmente al canal 0 <br />
* Cambiar texturas con frecuencia (Otros tienen que descargarlos)<br />
* Uso poco apropiado de rotaciones físicas/de servidor en vez de omega<br />
* Manejadores de eventos que no son necesarios (tocar, colisión, ...)<br />
* Cantidad grande de correo electrónico o mensajes instantáneos<br />
* Algoritmos ineficaces (como la búsqueda lineal)<br />
* Bucles de llamada selectiva ocupadas<br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Diseño eficiente ==<br />
<div style="padding: 0.5em;"><br />
<br />
Cada script inactivo en un objecto añade de 0.001 a 0.003 milisegundos per marco de uso de tiempo de script. Menos scripts son mejor.<br />
<br />
* Si necesita tener varios "botones" no ponga un script en cada prim. En su lugar use [[llDetectedLinkNumber]] para detectar cual botón se tocó en su script principal. <br />
* Si necesita cambiar el color, alpha o textura de un prim hijo no ponga un script en cada prim. En su lugar use[[llSetLinkAlpha]], [[llSetLinkColor]], [[llSetLinkTexture]], o [[llSetLinkPrimitiveParams]].<br />
* '''Nunca''' ponga un script en cada prim (de un conjunto de enlaces grande) que escuche en el canal 0 (o cualquier otro canal). Esto es lo peor que puede hacer para la eficiencia. Desafortunadamente es muy común.<br />
* Considera usar [[XyzzyText]] en vez de [[XyText]].<br />
<br />
Lo más importante es que si te encuentras tentado de poner un script en cada prim, que pares y analizes como puedes hacerlo de otra manera con menos scripts. Casi siempre hay una alternativa. Está en tus manos decidir si la alternativa es viable para tu aplicación.<br />
<br />
<br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Micro-optimización ==<br />
<br />
There are many ways to speed up scripts, such as using ++a instead of a++, however, most of these micro optimizations might not hold true in the future.<br />
<br />
<br />
== Cuán Rápido Corre el Código ==<br />
<div style="padding: 0.5em;"><br />
<br />
The following code will get the time for each function call in millis.<br />
<br />
Please first propose changes to the [[Talk:LSL_Script_Efficiency|discussion]] tab. Please do not change the code here without discussion, as any small change could reduce the accuracy of measurements. Please note this code and its comments should exactly match the code and comments presented by the [[Efficiency Tester]] page.<br />
<br />
Thanks to {{User|Xaviar Czervik}} for the original code, thanks to {{User|Strife Onizuka}} for tuning the code to produce more accurate measurements, and thanks to the other contributors listed in the history of this article.<br />
<br />
<pre><br />
//IMPORTANT: Only perform tests in an empty region.<br />
// To reduce contamination and be sure to wearing no attachments.<br />
// Preferably do tests in a private sim with one on it.<br />
// Don't move while performing the test.<br />
// There is a margin of error so run the tests multiple times to determine it.<br />
<br />
integer time() { // count milliseconds since the day began<br />
string stamp = llGetTimestamp(); // "YYYY-MM-DDThh:mm:ss.ff..fZ"<br />
return (integer) llGetSubString(stamp, 11, 12) * 3600000 + // hh<br />
(integer) llGetSubString(stamp, 14, 15) * 60000 + // mm<br />
llRound((float)llGetSubString(stamp, 17, -2) * 1000000.0)/1000; // ss.ff..f<br />
}<br />
<br />
default {<br />
state_entry() {<br />
llOwnerSay((string) llGetFreeMemory());<br />
<br />
//test variables<br />
float counter;<br />
<br />
//framework variables<br />
float i = 0;<br />
float j = 0;<br />
float max = 10000; // 2ms of work takes 20 seconds to repeat 10,000 times, plus overhead<br />
<br />
float t0 = time();<br />
do {<br />
<br />
//test<br />
counter += 1;<br />
<br />
}while (++i < max);<br />
float t1 = time();<br />
do ; while (++j < max);<br />
float t2 = time();//remove the time required by the framework<br />
float elapsed = ((t1 - t0) - (t2 - t1))/max;<br />
llOwnerSay("The function in the loop took a total of " + (string)elapsed + " milliseconds.");<br />
}<br />
}<br />
</pre><br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Eficiencia ==<br />
<div style="padding: 0.5em;"><br />
<br />
The following data was collected using the above function in a recently deployed empty (though not private) sim, with only that one script running in a HUD attachment. 20 tests of each were run and averaged.<br />
++a: 0.173780 ms std. dev.: 0.003393 ms<br />
a += 1: 0.181720 ms std. dev.: 0.013267 ms<br />
a++: 0.243500 ms std. dev.: 0.013816 ms<br />
Thus a++ takes 40% longer to execute than ++a (rough estimate).<br />
<br />
While the following data is correct, the function above was not used. A slightly less optimized version written by {{User|Xaviar Czervik}} was used. If someone could please repeat the tests with the function above.<br />
<br />
++a: 0.364700 millis<br />
a += 1: 0.346900 millis<br />
a++: 0.413700 millis<br />
<br />
Probando la misma funcion en bucles for (for loops):<br />
++a: 0.358370 millis<br />
a += 1: 0.351200 millis<br />
a++: 0.424600 millis<br />
<br />
[[llOwnerSay]] v. [[llSay]] v. [[llShout]] v. [[llWhisper]] (Canal 0 donde corresponda):<br />
llOwnerSay(): 4.359000 millis<br />
llWhisper(): 5.201000 millis<br />
llSay(): 5.226000 millis<br />
llShout(): 14.877000 millis<br />
<br />
Diferentes Canales ([[llSay]]() Usado para todo):<br />
-100000000: 1.226400 millis<br />
-100000: 1.254300 millis<br />
-100: 1.296100 millis<br />
-1: 1.292400 millis<br />
0: 5.226000 millis<br />
1: 1.242300 millis<br />
100: 1.249100 millis<br />
100000: 1.219700 millis<br />
100000000: 1.228700 millis<br />
<br />
Cantidad de texto ([[llSay]]() y Canal 1 usado para todo):<br />
<pre><br />
1 Character: 1.242300 millis<br />
10 Characters: 1.309700 millis<br />
100 Characters: 1.965600 millis<br />
</pre></div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Script_Efficiency/es&diff=57481LSL Script Efficiency/es2008-03-06T17:57:54Z<p>SharpEdge Aeon: /* Diseño eficiente */</p>
<hr />
<div>{{Multi-lang}}<br />
<div style="float:right;">__TOC__</div>{{LSL Header}}<br />
<br />
<div id="box"><br />
== Qué es la eficiencia ==<br />
<div style="padding: 0.5em;"><br />
<br />
La eficiencia es la cantidad de recursos que un script específico usa para conseguir una meta. La eficiencia va de la mano con la velocidad de ejecución pero no siempre.<br />
<br />
Este atento de los siguientes puntos, en orden de importancia aproximado:<br />
<br />
* Usar muchos scripts para lograr algo. Consulte Diseño Eficiente.<br />
* [[llSleep]] - Esta función usa de 0.2 a 0.3 ms por marco mientras que el script duerme, los temporizadores son mejores.<br />
* Temporizador de frequecia corta (<5 sec)<br />
* Escuchar - especialmente al canal 0 <br />
* Cambiar texturas con frecuencia (Otros tienen que descargarlos)<br />
* Uso poco apropiado de rotaciones físicas/de servidor en vez de omega<br />
* Manejadores de eventos que no son necesarios (tocar, colisión, ...)<br />
* Cantidad grande de correo electrónico o mensajes instantáneos<br />
* Algoritmos ineficaces (como la búsqueda lineal)<br />
* Bucles de llamada selectiva ocupadas<br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Diseño eficiente ==<br />
<div style="padding: 0.5em;"><br />
<br />
Cada script inactivo en un objecto añade de 0.001 a 0.003 milisegundos per marco de uso de tiempo de script. Menos scripts son mejor.<br />
<br />
* Si necesita tener varios "botones" no ponga un script en cada prim. En su lugar use [[llDetectedLinkNumber]] para detectar cual botón se tocó en su script principal. <br />
* Si necesita cambiar el color, alpha o textura de un prim hijo no ponga un script en cada prim.<br />
En su lugar use[[llSetLinkAlpha]], [[llSetLinkColor]], [[llSetLinkTexture]], o [[llSetLinkPrimitiveParams]].<br />
* '''Nunca''' ponga un script en cada prim (de un conjunto de enlaces grande) que escuche en el canal 0 (o cualquier otro canal). Esto es lo peor que puede hacer para la eficiencia. Desafortunadamente es muy común.<br />
* Considera usar [[XyzzyText]] en vez de [[XyText]].<br />
<br />
Lo más importante es que si te encuentras tentado de poner un script en cada prim, que pares y analizes como puedes hacerlo de otra manera con menos scripts. Casi siempre hay una alternativa. Está en tus manos decidir si la alternativa es viable para tu aplicación.<br />
<br />
<br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Micro-optimización ==<br />
<br />
There are many ways to speed up scripts, such as using ++a instead of a++, however, most of these micro optimizations might not hold true in the future.<br />
<br />
<br />
== Cuán Rápido Corre el Código ==<br />
<div style="padding: 0.5em;"><br />
<br />
The following code will get the time for each function call in millis.<br />
<br />
Please first propose changes to the [[Talk:LSL_Script_Efficiency|discussion]] tab. Please do not change the code here without discussion, as any small change could reduce the accuracy of measurements. Please note this code and its comments should exactly match the code and comments presented by the [[Efficiency Tester]] page.<br />
<br />
Thanks to {{User|Xaviar Czervik}} for the original code, thanks to {{User|Strife Onizuka}} for tuning the code to produce more accurate measurements, and thanks to the other contributors listed in the history of this article.<br />
<br />
<pre><br />
//IMPORTANT: Only perform tests in an empty region.<br />
// To reduce contamination and be sure to wearing no attachments.<br />
// Preferably do tests in a private sim with one on it.<br />
// Don't move while performing the test.<br />
// There is a margin of error so run the tests multiple times to determine it.<br />
<br />
integer time() { // count milliseconds since the day began<br />
string stamp = llGetTimestamp(); // "YYYY-MM-DDThh:mm:ss.ff..fZ"<br />
return (integer) llGetSubString(stamp, 11, 12) * 3600000 + // hh<br />
(integer) llGetSubString(stamp, 14, 15) * 60000 + // mm<br />
llRound((float)llGetSubString(stamp, 17, -2) * 1000000.0)/1000; // ss.ff..f<br />
}<br />
<br />
default {<br />
state_entry() {<br />
llOwnerSay((string) llGetFreeMemory());<br />
<br />
//test variables<br />
float counter;<br />
<br />
//framework variables<br />
float i = 0;<br />
float j = 0;<br />
float max = 10000; // 2ms of work takes 20 seconds to repeat 10,000 times, plus overhead<br />
<br />
float t0 = time();<br />
do {<br />
<br />
//test<br />
counter += 1;<br />
<br />
}while (++i < max);<br />
float t1 = time();<br />
do ; while (++j < max);<br />
float t2 = time();//remove the time required by the framework<br />
float elapsed = ((t1 - t0) - (t2 - t1))/max;<br />
llOwnerSay("The function in the loop took a total of " + (string)elapsed + " milliseconds.");<br />
}<br />
}<br />
</pre><br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Eficiencia ==<br />
<div style="padding: 0.5em;"><br />
<br />
The following data was collected using the above function in a recently deployed empty (though not private) sim, with only that one script running in a HUD attachment. 20 tests of each were run and averaged.<br />
++a: 0.173780 ms std. dev.: 0.003393 ms<br />
a += 1: 0.181720 ms std. dev.: 0.013267 ms<br />
a++: 0.243500 ms std. dev.: 0.013816 ms<br />
Thus a++ takes 40% longer to execute than ++a (rough estimate).<br />
<br />
While the following data is correct, the function above was not used. A slightly less optimized version written by {{User|Xaviar Czervik}} was used. If someone could please repeat the tests with the function above.<br />
<br />
++a: 0.364700 millis<br />
a += 1: 0.346900 millis<br />
a++: 0.413700 millis<br />
<br />
Probando la misma funcion en bucles for (for loops):<br />
++a: 0.358370 millis<br />
a += 1: 0.351200 millis<br />
a++: 0.424600 millis<br />
<br />
[[llOwnerSay]] v. [[llSay]] v. [[llShout]] v. [[llWhisper]] (Canal 0 donde corresponda):<br />
llOwnerSay(): 4.359000 millis<br />
llWhisper(): 5.201000 millis<br />
llSay(): 5.226000 millis<br />
llShout(): 14.877000 millis<br />
<br />
Diferentes Canales ([[llSay]]() Usado para todo):<br />
-100000000: 1.226400 millis<br />
-100000: 1.254300 millis<br />
-100: 1.296100 millis<br />
-1: 1.292400 millis<br />
0: 5.226000 millis<br />
1: 1.242300 millis<br />
100: 1.249100 millis<br />
100000: 1.219700 millis<br />
100000000: 1.228700 millis<br />
<br />
Cantidad de texto ([[llSay]]() y Canal 1 usado para todo):<br />
<pre><br />
1 Character: 1.242300 millis<br />
10 Characters: 1.309700 millis<br />
100 Characters: 1.965600 millis<br />
</pre></div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Script_Efficiency/es&diff=57480LSL Script Efficiency/es2008-03-06T17:56:54Z<p>SharpEdge Aeon: /* Diseño eficiente */</p>
<hr />
<div>{{Multi-lang}}<br />
<div style="float:right;">__TOC__</div>{{LSL Header}}<br />
<br />
<div id="box"><br />
== Qué es la eficiencia ==<br />
<div style="padding: 0.5em;"><br />
<br />
La eficiencia es la cantidad de recursos que un script específico usa para conseguir una meta. La eficiencia va de la mano con la velocidad de ejecución pero no siempre.<br />
<br />
Este atento de los siguientes puntos, en orden de importancia aproximado:<br />
<br />
* Usar muchos scripts para lograr algo. Consulte Diseño Eficiente.<br />
* [[llSleep]] - Esta función usa de 0.2 a 0.3 ms por marco mientras que el script duerme, los temporizadores son mejores.<br />
* Temporizador de frequecia corta (<5 sec)<br />
* Escuchar - especialmente al canal 0 <br />
* Cambiar texturas con frecuencia (Otros tienen que descargarlos)<br />
* Uso poco apropiado de rotaciones físicas/de servidor en vez de omega<br />
* Manejadores de eventos que no son necesarios (tocar, colisión, ...)<br />
* Cantidad grande de correo electrónico o mensajes instantáneos<br />
* Algoritmos ineficaces (como la búsqueda lineal)<br />
* Bucles de llamada selectiva ocupadas<br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Diseño eficiente ==<br />
<div style="padding: 0.5em;"><br />
<br />
Cada script inactivo en un objecto añade de 0.001 a 0.003 milisegundos per marco de uso de tiempo de script. Menos scripts son mejor.<br />
<br />
* Si necesita tener varios "botones" no ponga un script en cada prim. En su lugar use [[llDetectedLinkNumber]] para detectar cual botón se tocó en su script principal. <br />
* Si necesita cambiar el color, alpha o textura de un prim hijo no ponga un script en cada prim.<br />
En su lugar use[[llSetLinkAlpha]], [[llSetLinkColor]], [[llSetLinkTexture]], o [[llSetLinkPrimitiveParams]].<br />
* '''Nunca''' ponga un script en cada prim (de un conjunto de enlaces grande) que escuche en el canal 0 (o cualquier otro canal). Esto es lo peor que puede hacer para la eficiencia. Desafortunadamente es muy común.<br />
* Considere usar [[XyzzyText]] en vez de[[XyText]].<br />
<br />
Lo más importante es que si te encuentras tentado de poner un script en cada prim, que pares y analizes como puedes hacerlo de otra manera con menos scripts. Casi siempre hay una alternativa. Está en tus manos decidir si la alternativa es viable para tu aplicación.<br />
<br />
<br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Micro-optimización ==<br />
<br />
There are many ways to speed up scripts, such as using ++a instead of a++, however, most of these micro optimizations might not hold true in the future.<br />
<br />
<br />
== Cuán Rápido Corre el Código ==<br />
<div style="padding: 0.5em;"><br />
<br />
The following code will get the time for each function call in millis.<br />
<br />
Please first propose changes to the [[Talk:LSL_Script_Efficiency|discussion]] tab. Please do not change the code here without discussion, as any small change could reduce the accuracy of measurements. Please note this code and its comments should exactly match the code and comments presented by the [[Efficiency Tester]] page.<br />
<br />
Thanks to {{User|Xaviar Czervik}} for the original code, thanks to {{User|Strife Onizuka}} for tuning the code to produce more accurate measurements, and thanks to the other contributors listed in the history of this article.<br />
<br />
<pre><br />
//IMPORTANT: Only perform tests in an empty region.<br />
// To reduce contamination and be sure to wearing no attachments.<br />
// Preferably do tests in a private sim with one on it.<br />
// Don't move while performing the test.<br />
// There is a margin of error so run the tests multiple times to determine it.<br />
<br />
integer time() { // count milliseconds since the day began<br />
string stamp = llGetTimestamp(); // "YYYY-MM-DDThh:mm:ss.ff..fZ"<br />
return (integer) llGetSubString(stamp, 11, 12) * 3600000 + // hh<br />
(integer) llGetSubString(stamp, 14, 15) * 60000 + // mm<br />
llRound((float)llGetSubString(stamp, 17, -2) * 1000000.0)/1000; // ss.ff..f<br />
}<br />
<br />
default {<br />
state_entry() {<br />
llOwnerSay((string) llGetFreeMemory());<br />
<br />
//test variables<br />
float counter;<br />
<br />
//framework variables<br />
float i = 0;<br />
float j = 0;<br />
float max = 10000; // 2ms of work takes 20 seconds to repeat 10,000 times, plus overhead<br />
<br />
float t0 = time();<br />
do {<br />
<br />
//test<br />
counter += 1;<br />
<br />
}while (++i < max);<br />
float t1 = time();<br />
do ; while (++j < max);<br />
float t2 = time();//remove the time required by the framework<br />
float elapsed = ((t1 - t0) - (t2 - t1))/max;<br />
llOwnerSay("The function in the loop took a total of " + (string)elapsed + " milliseconds.");<br />
}<br />
}<br />
</pre><br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Eficiencia ==<br />
<div style="padding: 0.5em;"><br />
<br />
The following data was collected using the above function in a recently deployed empty (though not private) sim, with only that one script running in a HUD attachment. 20 tests of each were run and averaged.<br />
++a: 0.173780 ms std. dev.: 0.003393 ms<br />
a += 1: 0.181720 ms std. dev.: 0.013267 ms<br />
a++: 0.243500 ms std. dev.: 0.013816 ms<br />
Thus a++ takes 40% longer to execute than ++a (rough estimate).<br />
<br />
While the following data is correct, the function above was not used. A slightly less optimized version written by {{User|Xaviar Czervik}} was used. If someone could please repeat the tests with the function above.<br />
<br />
++a: 0.364700 millis<br />
a += 1: 0.346900 millis<br />
a++: 0.413700 millis<br />
<br />
Probando la misma funcion en bucles for (for loops):<br />
++a: 0.358370 millis<br />
a += 1: 0.351200 millis<br />
a++: 0.424600 millis<br />
<br />
[[llOwnerSay]] v. [[llSay]] v. [[llShout]] v. [[llWhisper]] (Canal 0 donde corresponda):<br />
llOwnerSay(): 4.359000 millis<br />
llWhisper(): 5.201000 millis<br />
llSay(): 5.226000 millis<br />
llShout(): 14.877000 millis<br />
<br />
Diferentes Canales ([[llSay]]() Usado para todo):<br />
-100000000: 1.226400 millis<br />
-100000: 1.254300 millis<br />
-100: 1.296100 millis<br />
-1: 1.292400 millis<br />
0: 5.226000 millis<br />
1: 1.242300 millis<br />
100: 1.249100 millis<br />
100000: 1.219700 millis<br />
100000000: 1.228700 millis<br />
<br />
Cantidad de texto ([[llSay]]() y Canal 1 usado para todo):<br />
<pre><br />
1 Character: 1.242300 millis<br />
10 Characters: 1.309700 millis<br />
100 Characters: 1.965600 millis<br />
</pre></div>SharpEdge Aeonhttps://wiki.secondlife.com/w/index.php?title=LSL_Script_Efficiency/es&diff=57468LSL Script Efficiency/es2008-03-06T17:16:57Z<p>SharpEdge Aeon: /* Diseño eficaz */</p>
<hr />
<div>{{Multi-lang}}<br />
<div style="float:right;">__TOC__</div>{{LSL Header}}<br />
<br />
<div id="box"><br />
== Qué es la eficiencia ==<br />
<div style="padding: 0.5em;"><br />
<br />
La eficiencia es la cantidad de recursos que un script específico usa para conseguir una meta. La eficiencia va de la mano con la velocidad de ejecución pero no siempre.<br />
<br />
Este atento de los siguientes puntos, en orden de importancia aproximado:<br />
<br />
* Usar muchos scripts para lograr algo. Consulte Diseño Eficiente.<br />
* [[llSleep]] - Esta función usa de 0.2 a 0.3 ms por marco mientras que el script duerme, los temporizadores son mejores.<br />
* Temporizador de frequecia corta (<5 sec)<br />
* Escuchar - especialmente al canal 0 <br />
* Cambiar texturas con frecuencia (Otros tienen que descargarlos)<br />
* Uso poco apropiado de rotaciones físicas/de servidor en vez de omega<br />
* Manejadores de eventos que no son necesarios (tocar, colisión, ...)<br />
* Cantidad grande de correo electrónico o mensajes instantáneos<br />
* Algoritmos ineficaces (como la búsqueda lineal)<br />
* Bucles de llamada selectiva ocupadas<br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Diseño eficiente ==<br />
<div style="padding: 0.5em;"><br />
<br />
Cada script inactivo en un objecto anade de 0.001 a 0.003 milliseconds per frame of script time usage. Fewer scripts is better.<br />
<br />
* If you need to have a bunch of "buttons", don't put a script in each prim. Use [[llDetectedLinkNumber]] to detect which button was touched from your main script instead. <br />
* If you need to change color, alpha, or texture of child prims, do not put a script in each prim. Instead use [[llSetLinkAlpha]], [[llSetLinkColor]], [[llSetLinkTexture]], or [[llSetLinkPrimitiveParams]].<br />
* '''Never''' put a script in each prim (of a large linkset) that listens on channel 0 (or any other channel). This is probably the worst thing you can do for efficiency. Unfortunately it is all too common.<br />
* Consider using [[XyzzyText]] instead of [[XyText]].<br />
<br />
The bottom line is, if you find yourself tempted to put a script in each prim, stop and think about how you could do it differently with fewer scripts. There is almost always an alternative. It is up to you to decide whether the alternative is a viable one for your application.<br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Micro-optimización ==<br />
<br />
There are many ways to speed up scripts, such as using ++a instead of a++, however, most of these micro optimizations might not hold true in the future.<br />
<br />
<br />
== Cuán Rápido Corre el Código ==<br />
<div style="padding: 0.5em;"><br />
<br />
The following code will get the time for each function call in millis.<br />
<br />
Please first propose changes to the [[Talk:LSL_Script_Efficiency|discussion]] tab. Please do not change the code here without discussion, as any small change could reduce the accuracy of measurements. Please note this code and its comments should exactly match the code and comments presented by the [[Efficiency Tester]] page.<br />
<br />
Thanks to {{User|Xaviar Czervik}} for the original code, thanks to {{User|Strife Onizuka}} for tuning the code to produce more accurate measurements, and thanks to the other contributors listed in the history of this article.<br />
<br />
<pre><br />
//IMPORTANT: Only perform tests in an empty region.<br />
// To reduce contamination and be sure to wearing no attachments.<br />
// Preferably do tests in a private sim with one on it.<br />
// Don't move while performing the test.<br />
// There is a margin of error so run the tests multiple times to determine it.<br />
<br />
integer time() { // count milliseconds since the day began<br />
string stamp = llGetTimestamp(); // "YYYY-MM-DDThh:mm:ss.ff..fZ"<br />
return (integer) llGetSubString(stamp, 11, 12) * 3600000 + // hh<br />
(integer) llGetSubString(stamp, 14, 15) * 60000 + // mm<br />
llRound((float)llGetSubString(stamp, 17, -2) * 1000000.0)/1000; // ss.ff..f<br />
}<br />
<br />
default {<br />
state_entry() {<br />
llOwnerSay((string) llGetFreeMemory());<br />
<br />
//test variables<br />
float counter;<br />
<br />
//framework variables<br />
float i = 0;<br />
float j = 0;<br />
float max = 10000; // 2ms of work takes 20 seconds to repeat 10,000 times, plus overhead<br />
<br />
float t0 = time();<br />
do {<br />
<br />
//test<br />
counter += 1;<br />
<br />
}while (++i < max);<br />
float t1 = time();<br />
do ; while (++j < max);<br />
float t2 = time();//remove the time required by the framework<br />
float elapsed = ((t1 - t0) - (t2 - t1))/max;<br />
llOwnerSay("The function in the loop took a total of " + (string)elapsed + " milliseconds.");<br />
}<br />
}<br />
</pre><br />
<br />
</div></div><br />
<div id="box"><br />
<br />
== Eficiencia ==<br />
<div style="padding: 0.5em;"><br />
<br />
The following data was collected using the above function in a recently deployed empty (though not private) sim, with only that one script running in a HUD attachment. 20 tests of each were run and averaged.<br />
++a: 0.173780 ms std. dev.: 0.003393 ms<br />
a += 1: 0.181720 ms std. dev.: 0.013267 ms<br />
a++: 0.243500 ms std. dev.: 0.013816 ms<br />
Thus a++ takes 40% longer to execute than ++a (rough estimate).<br />
<br />
While the following data is correct, the function above was not used. A slightly less optimized version written by {{User|Xaviar Czervik}} was used. If someone could please repeat the tests with the function above.<br />
<br />
++a: 0.364700 millis<br />
a += 1: 0.346900 millis<br />
a++: 0.413700 millis<br />
<br />
Probando la misma funcion en bucles for (for loops):<br />
++a: 0.358370 millis<br />
a += 1: 0.351200 millis<br />
a++: 0.424600 millis<br />
<br />
[[llOwnerSay]] v. [[llSay]] v. [[llShout]] v. [[llWhisper]] (Canal 0 donde corresponda):<br />
llOwnerSay(): 4.359000 millis<br />
llWhisper(): 5.201000 millis<br />
llSay(): 5.226000 millis<br />
llShout(): 14.877000 millis<br />
<br />
Diferentes Canales ([[llSay]]() Usado para todo):<br />
-100000000: 1.226400 millis<br />
-100000: 1.254300 millis<br />
-100: 1.296100 millis<br />
-1: 1.292400 millis<br />
0: 5.226000 millis<br />
1: 1.242300 millis<br />
100: 1.249100 millis<br />
100000: 1.219700 millis<br />
100000000: 1.228700 millis<br />
<br />
Cantidad de texto ([[llSay]]() y Canal 1 usado para todo):<br />
<pre><br />
1 Character: 1.242300 millis<br />
10 Characters: 1.309700 millis<br />
100 Characters: 1.965600 millis<br />
</pre></div>SharpEdge Aeon