// // SHOP ZERO Tips38 RssReader script v1.0 // // Created by Zero2000 Kid 2009/02/02 // // Title string title="++ ?????? ++"; // YahooPipe URL string pipeURL="http://pipes.yahoo.com/pipes/pipe.run?_id=c890298689189b27880118f7b57b28c7&_render=rss&textinput=item."; // Article Count integer articleCount=5; // Refresha rate float refreshRate=300.0; integer input_ch = -38; integer handle; key http_req; string respons_data; list article_list; integer counter; showInfo () { integer i; string msg=title+"\n"; integer ct = llGetListLength(article_list)/4; for (i = 0; i < ct; i++) msg+=llList2String(article_list,4*i)+"."+llList2String(article_list,4*i+1)+"\n"; llSetText(msg,<0,1,0>,1); } fetchdata(string data) { string tmpstr; counter++; list l1 = llParseString2List(data, ["- "], []); list l2 = llParseString2List(llList2String(l1,1), ["\n"], []); string title = getvalue(llList2String(l2,0),""); string link = getvalue(llList2String(l2,1),""); string description = getvalue(llList2String(l2,2),""); article_list+=[(string)counter,title,link,description]; if (counter
,1); http_req=llHTTPRequest(pipeURL+(string)counter,[HTTP_METHOD,"GET"],""); } default { state_entry() { refresh_article(); llSetTimerEvent(refreshRate); } on_rez(integer param){ llResetScript(); } touch_start(integer t) { handle = llListen(input_ch,"",llDetectedKey(0),""); list menulist=llList2ListStrided(article_list, 0, -1, 4); menulist+=["Refresh"]; llDialog(llDetectedKey(0), "Please select articel.", menulist, input_ch); } listen(integer ch, string name, key id, string message) { if (message=="Refresh") refresh_article(); else { integer index=llListFindList(article_list,[message]); string title=llList2String(article_list,index+1); string link=llList2String(article_list,index+2); string description=llList2String(article_list,index+3); llLoadURL(llGetOwner(), "++++++++++++\n"+title+"\n++++++++++++\n"+description, link); } llListenRemove(handle); } timer(){ refresh_article(); } http_response(key request_id, integer status, list metadata, string body) { if (request_id == http_req) { fetchdata(body); } } }