API_RUN_METHOD [2]
REQUIRES API KEY. This task lets you trigger tasks on certain games.
#define API_RUN_METHOD 2
#define METHOD_TABLE "a" // str - Table
#define METHOD_NAME "b" // str - Name
#define METHOD_DATA "c" // var - data
And returns {METHOD_TABLE:(int)game, METHOD_NAME:(int)task, METHOD_DATA:(var)data}
Example: Set your LFP sex to male.
#include "jasx_hud/_core.lsl"
default
{
state_entry()
{
// Set my LFP sex to male
string call = apiTask(
// Task to get data from a table
API_RUN_METHOD,
// This is the data that gets passed along
llList2Json(JSON_OBJECT, [
METHOD_TABLE, "jasx_users",
METHOD_NAME, "sex",
METHOD_DATA, 0x1
]),
"" // Optional callback
);
// Send the API call here. The first value is an API key you can get in the API reference
sendAPI("replaceWithMyAPIKey", [call]);
}
http_response(key id, integer status, list meta, string body){
if(llJsonValueType(body,[]) != JSON_OBJECT)llOwnerSay("Error:\n"+body);
else{
// There were some messages from the server included, let's output them
if(llJsonValueType(body, [API_MESSAGES]) != JSON_INVALID){
list m = llJson2List(llJsonGetValue(body, [API_MESSAGES]));
while(llGetListLength(m)){
llOwnerSay(llList2String(m,0));
m = llDeleteSubList(m,0,0);
}
}
// Let's check what tasks we got back
if(llJsonValueType(body, [API_TASKS]) != JSON_INVALID){
list d = llJson2List(llJsonGetValue(body, [API_TASKS]));
while(llGetListLength(d)){
string data = llList2String(d,0);
d = llDeleteSubList(d, 0,0);
integer task = (integer)llJsonGetValue(data, [API_TASK]);
string taskData = llJsonGetValue(data, [API_DATA]);
string callback = llJsonGetValue(data, [API_CALLBACK]);
integer status = (integer)llJsonGetValue(data, [API_STATUS]);
// Success! The API call worked!
if(status == STATUS_SUCCESS){
llOwnerSay("Task ID: "+(string)task+" was executed successfully!");
if(callback != JSON_INVALID)llOwnerSay("Callback: "+callback);
if(taskData != JSON_INVALID)llOwnerSay("Data returned: "+taskData);
else llOwnerSay("Server returned no data. Perhaps it didn't find anything?");
}
else{ // There was an error
llOwnerSay("Task ID: "+(string)task+" failed:");
if(status == STATUS_FAIL_ACCESS_DENIED)llOwnerSay("Access denied");
else if(status == STATUS_FAIL_DATA_MISSING)llOwnerSay("Data fields missing");
else llOwnerSay("See messages.");
}
}
}
}
}
}
List of available Tasks per view
flags | int - bitfield: FLAG_SHOW_ADULT_ACHIEVEMENTS = 1; FLAG_HIDDEN = 4; Return data: (int)bitfield |
sex | int - Set Sex: SEX_UNDEFINED = 0; penis = 0x1 vagina = 0x2; breasts = 0x4; Return data: (int)sex |
species | str - Species: Alphanumeric only with spaces. Max 20 characters. Return data: (str)species |
lfp_games | array - GameIDs (See jx API.lsl header file) |
lfp_status | (bool)bool - LFP on/off - If you wish to remain active, you need to call LFP on every 30 sec to refresh it. Return data: (int)timeout |
contentserv | str - URL which content-serv requests are sent to. Has to be a valid SL http_request url. |
flist | str - Set your active F-List character |
roleplay_status | int - For LFP. 0 = no RP, 1 = either, 2 = only RP |
Back to Start