Created
November 16, 2017 15:25
-
-
Save Makopo/23e8b9a872b77f929d70ba70f42b2d0e to your computer and use it in GitHub Desktop.
Qiita Corrade入門その2 完成
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
string CORRADE = "XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"; | |
string GROUP = "My Group"; | |
string PASSWORD = "YYYYYYYY"; | |
/////////////////////////////////////////////////////////////////////////// | |
// Copyright (C) 2015 Wizardry and Steamworks - License: GNU GPLv3 // | |
/////////////////////////////////////////////////////////////////////////// | |
string wasKeyValueEncode(list data) { | |
integer i = llGetListLength(data); | |
if (i % 2 != 0 || i == 0) return ""; | |
--i; | |
do { | |
data = llListInsertList( | |
llDeleteSubList( | |
data, | |
i-1, | |
i | |
), | |
[ llList2String(data, i-1) + "=" + llList2String(data, i) ], | |
i-1 | |
); | |
i -= 2; | |
} while(i > 0); | |
return llDumpList2String(data, "&"); | |
} | |
/////////////////////////////////////////////////////////////////////////// | |
// Copyright (C) 2015 Wizardry and Steamworks - License: GNU GPLv3 // | |
/////////////////////////////////////////////////////////////////////////// | |
// escapes a string in conformance with RFC1738 | |
string wasURLEscape(string i) { | |
if(i == "") return ""; | |
string o = llGetSubString(i, 0, 0); | |
i = llDeleteSubString(i, 0, 0); | |
if(o == " ") return "+" + wasURLEscape(i); | |
if(o == "\n") return "%0D%0A" + wasURLEscape(i); | |
return llEscapeURL(o) + wasURLEscape(i); | |
} | |
default | |
{ | |
touch_start(integer num_detected) | |
{ | |
llOwnerSay("ボットアバターを座らせます"); | |
llInstantMessage(CORRADE, | |
wasKeyValueEncode( | |
[ | |
"command", "relax", | |
"group", wasURLEscape(GROUP), | |
"password", wasURLEscape(PASSWORD) | |
] | |
) | |
); | |
state on_the_ground; | |
} | |
} | |
state on_the_ground | |
{ | |
touch_start(integer num_detected) | |
{ | |
llOwnerSay("ボットアバターを立たせます"); | |
llInstantMessage(CORRADE, | |
wasKeyValueEncode( | |
[ | |
"command", "stand", | |
"group", wasURLEscape(GROUP), | |
"password", wasURLEscape(PASSWORD) | |
] | |
) | |
); | |
state default; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment