Difference between revisions of "Wizardry and Steamworks"

From Second Life Wiki
Jump to navigation Jump to search
(Removed redirect to Category:Wizardry and Steamworks)
Tag: Removed redirect
 
(39 intermediate revisions by one other user not shown)
Line 1: Line 1:
[[File:WaS-logo-landscape.png|400px|center|Wizardry and Steamworks Logo Landscape]]
{{delete|All Content relating to this has been removed per DMCA}}
 
=Wizardry and Steamworks=
 
Wizardry and Steamworks are a development group to be found in Second Life. The leaders of the group are [[User:Kira Komarov|Kira Komarov]] and [[User:Flax Quirina|Flax Quirina]]. We specialize on scripting in Second Life, however anything that pushes the boundaries of what is currently possible in Second Life is of interest to us.
 
=Member Wiki Mirrors=
 
* [http://eva.comaroski.me/wiki/Wizardry_and_Steamworks WaS-K] - Kira Komarov
 
=FUS (Frequently Used Snippets)=
 
Frequently Used Snippets (FUS) are short snippets that are generic enough to be included in any script. Just as you have generic types, generic functions, these represent an abstraction over Second Life script programming methodologies particular to Wizardry and Steamworks [WaS] and although they aren't delivered in the form of scripts, they can be used in any script by inserting them at the right places.
 
==Private Channel Key-Hash==
 
Extremely useful, taken from [[llDialog]].
 
'''In-Line Usage'''
<lsl>
integer comChannel = ((integer)("0x"+llGetSubString((string) /* llGetOwner(), llGetCreator(), llDetectedKey(0), id */,-8,-1)) & 0x3FFFFFFF) ^ 0xBFFFFFFF;
</lsl>
==Endless Menu with Back and Next==
 
This generates an endless menu with Back and Next buttons by arranging a list dynamically whenever the Back and Next buttons are pressed. It has been used in several scripts with some variations.
 
'''Global Primitives'''
<lsl>
list menu_items = [];
list key_items = [];
integer mitra = 0;
list cList = []
</lsl>
'''Global Functions'''
<lsl>
list mFwd() {
    if(mitra+1>llGetListLength(menu_items)) return cList;
    cList = llListInsertList(llListInsertList(llList2List(menu_items, ++mitra, (mitra+=9)), ["<= Back"], 0), ["Next =>"], 2);
    return cList;
}
list mBwd() {
    if(mitra-19<0) return cList;
    cList = llListInsertList(llListInsertList(llList2List(menu_items, (mitra-=19), (mitra+=9)), ["<= Back"], 0), ["Next =>"], 2);
    return cList;
}
</lsl>
'''In-Line Usage'''
<lsl>
            integer itra;
            for(itra=0, mitra=0, menu_items=[]; itra< llGetListLength(/* list */); ++itra) {
                menu_items += llList2String(/* list */, itra);
            }
            cList = llListInsertList(llListInsertList(llList2List(menu_items, mitra, (mitra+=9)), ["<= Back"], 0), ["Next =>"], 2);
            llDialog(/* Key to prompt */, /* Dialog Text */, cList, /* channel */);
</lsl>
 
==Generic Notecard Reader==
 
This is a generic notecard loader. In this variation, it does not set a timer to check whether the notecard has been loaded.
 
'''Global Primitives'''
<lsl>
key nQuery = NULL_KEY;
integer nLine = 0;
list nList = [];
//pragma inline
string nName = "New Notecard";
</lsl>
'''Reading'''
<lsl>
        integer itra;
        for(itra=0. accessList=[]; itra<llGetInventoryNumber(INVENTORY_NOTECARD); ++itra) {
            if(llGetInventoryName(INVENTORY_NOTECARD, itra) == nName)
                jump found_notecard;
        }
        llInstantMessage(llGetOwner(), "Failed to find notecard.");
        return;
@found_notecard;
        nQuery = llGetNotecardLine(nName, nLine);
</lsl>
'''Dataserver'''
<lsl>
    dataserver(key id, string data) {
        if(id != nQuery) return;
        if(data == EOF) return;
        if(data == "") jump next_line;
        list nList += data;
@next_line;
        nQuery = llGetNotecardLine(nName, ++nLine);
    }
</lsl>
'''Extension: Return if key/name NOT in nList'''
<lsl>
        if(!~llListFindList(nList, (list)/* llDetectedKey(0), llDetectedName(0) */)) return;
</lsl>
 
==RLV Wearables & Attachment Lists as Strings==
 
A pain to type.
 
<lsl>
//pragma inline
list CLOTHES = [ "gloves", "jacket", "pants", "shirt", "shoes", "skirt", "socks", "underpants", "undershirt" ];
//pragma inline
list ATTACHMENTS = [ "none", "chest", "skull", "left shoulder", "right shoulder", "left hand", "right hand",
                    "left foot", "right foot", "spine", "pelvis", "mouth", "chin", "left ear", "right ear",
                    "left eyeball", "right eyeball", "nose", "r upper arm", "r forearm", "l upper arm",
                    "l forearm", "right hip", "r upper leg", "r lower leg", "left hip", "l upper leg",
                    "l lower leg", "stomach", "left pec", "right pec", "center 2", "top right", "top",
                    "top left", "center", "bottom left", "bottom", "bottom right" ];
</lsl>
 
=Resources=
 
All this work should be attributed to the '''Wizardry and Steamworks''' group under the [http://www.gnu.org/copyleft/gpl.html GPLv3 license]. You are free to use these resources and even commercialize the products using them as long as you attribute the components you got from here to the '''Wizardry and Steamworks [WaS]''' group.
 
These resources are originals, in the sense that they have been made, ground-up by Wizardry and Steamworks members.
 
==Animations==
 
{| cellpadding="10" cellspacing="0" border="1"
|- style="background-color:#ffffcc; font-weight:bold;"
|File
|Description
|-
|[http://eva.comaroski.me/wiki/File:WaS_Lighter_-_Two_Hands.bvh WaS Lighter Two_Hands.bvh‎]
|The avatar leans forward and places the left mouth (holding a cigarette) and the right hand over and in front of the left mouth (holding a lighter).
|-
|Bread
|Pie
|-
|Butter
|Ice cream
|}
 
==Sounds==
 
{| cellpadding="10" cellspacing="0" border="1"
|- style="background-color:#ffffcc; font-weight:bold;"
|File
|Length
|Description
|Key
|-
|[http://eva.comaroski.me/wiki/File:WaS_Lighter_-_Two_Hands.bvh WaS Zippo Short Flick Spin Click.wav]
|00:01s
|Zippo cap flicks open, the wheel is spun once, the zippo cap clicks shut.
|bc1b20c7-fc34-6df2-2296-64be51390be2
|-
|Bread
|Pie
|Bread
|Pie
|-
|Butter
|Ice cream
|Bread
|Pie
|}
 
=Projects=
 
* [[Kira Warp Core Drive]]
* [[N2K]]

Latest revision as of 15:13, 23 December 2023

Deletion Requested
The deletion of this article was requested for the following reason:

All Content relating to this has been removed per DMCA

If there is a need to discuss the deletion of this article, please add your comment(s) here.


@Admin: Please read the discussion before deleting the article.