Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //////////////////////////////////////////////////////////////////////
- ///SmartBots AdminBot for Groups, https://www.mysmartbots.com
- ///Documentation and help: https://www.mysmartbots.com/dev/docs/AdminBot_for_LSL
- //////////////////////////////////////////////////////////////////////
- ///Your group data
- string SB_SETTINGS_GROUPNAME="sCoin";
- string SB_SETTINGS_SECURITYCODE="SECURITY_CODE";
- string SB_SETTINGS_INVITECMD="Role:Miner";///FORCE | Role:<role>
- //////////////////////////////////////////////////////////////////////
- string SB_VERSION="2.0";
- ///Setup and startup
- integer SB_SETUP_SETGROUP=180101;
- integer SB_SETUP_SETGROUPUUID=180102;
- integer SB_SETUP_DEBUG=180103;
- integer SB_STATUS_QUERY=180104;
- integer SB_SETUP_DEVICENAME=180111;
- integer SB_SETUP_BOTNAME=180112;
- integer SB_SETUP_SETOPTIONS=180113;
- ///Group members control
- integer SB_INVITE_SEND=180105;
- integer SB_GROUP_EJECT=180107;
- integer SB_AVATAR_GROUP=180114;
- integer SB_ADJUST_GROUP_ROLE=180120;
- integer SB_GET_GROUP_ROLES=180121;
- ///Group chat
- integer SB_CHAT_SAY=180106;
- integer SB_CHAT_LISTEN=180108;
- integer SB_CHAT_MUTE=180115;
- ///Notices
- integer SB_NOTICE_SEND=180109;
- ///Misc. commands
- integer SB_RESET_ADMINBOT=9996660;
- integer SB_SETUP_SETLINK=180110;
- ///EVENTS
- integer SB_COMMAND_FAILED=180201;
- integer SB_STATUS_REPLY=180202;
- integer SB_CHAT_MESSAGE=180203;
- integer SB_SETUP_SUCCESS=180204;
- integer SB_SETUP_FAILED=180205;
- integer SB_CHAT_SUCCESS=180206;
- integer SB_GROUP_CHECKED=180207;
- integer MODE_TOUCH=10001;
- integer MODE_LAND=10002;
- integer MODE_HIT=10003;
- integer MODE_SIM=10004;
- integer x;integer h;
- integer mode(){
- string g=llGetObjectDesc();
- if(g=="land")return(MODE_LAND);
- if(g=="sim")return(MODE_SIM);
- if(g=="hit")return(MODE_HIT);
- return(MODE_TOUCH);
- }
- integer b;
- list blocked;
- list blocked0;
- send(key id){
- llMessageLinked(LINK_SET,SB_INVITE_SEND,SB_SETTINGS_INVITECMD,id);
- }
- default
- {
- timer(){
- if(++b>=30){
- blocked0=[];
- b=0;
- }
- if(++h>=360){
- blocked=[];
- h=0;
- }
- integer M=mode();
- if(M!=MODE_LAND&&M!=MODE_SIM)return;
- integer P=1;
- if(M==MODE_SIM)P=4;
- list L=llGetAgentList(P,[]);
- integer len=llGetListLength(L);
- if(!len)return;
- for(x=0;x<len;x++){
- key id=llList2Key(L,x);
- if(llListFindList(blocked,[id])==-1){
- blocked+=id;
- send(id);
- }
- }
- }
- state_entry(){
- llVolumeDetect(1);
- llSetTimerEvent(10);
- llMessageLinked(LINK_SET,SB_SETUP_SETGROUP,SB_SETTINGS_GROUPNAME,SB_SETTINGS_SECURITYCODE)
- }
- touch_start(integer a){
- if(mode()!=MODE_TOUCH)return;
- for(x=0;x<a;x++)send(llDetectedKey(x));
- }
- collision_end(integer a){
- if(mode()!=MODE_HIT)return;
- for(x=0;x<a;x++){
- key id=llDetectedKey(x);
- if(llListFindList(blocked0,[id])==-1){
- blocked0+=id;
- send(id);
- }
- }
- }
- link_message(integer sender,integer cmd,string data,key id){
- if(cmd==SB_COMMAND_FAILED)llOwnerSay("AdminBot command failed, error code:\n"+data);else
- if(cmd==SB_SETUP_FAILED)llOwnerSay("AdminBot group setup failed:\n"+data);else
- if(cmd==SB_SETUP_SUCCESS)llOwnerSay("AdminBot group activated: "+data);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment