bdhtrn

prim typewriter2

Sep 2nd, 2012
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. string notename="In>";
  2. integer PowerOn=0;
  3. integer InLn;
  4. key query;
  5. vector printcursor;
  6. integer chan=99987;
  7. float charspace = 0.85;
  8. float newlinespace = 1.34;
  9. integer charsperline = 25;
  10.  
  11. println(string line){
  12.     integer len = llStringLength(line);
  13.     printcursor=<0,0,2>;
  14.     integer i;
  15.     line=llToLower(line);
  16.     if(len>=charsperline){
  17.         integer mult = llCeil(len/charsperline);
  18.         integer j;
  19.         for(j=0;j<=mult;j++){
  20.             printcursor=<0,0,2>;
  21.             printcursor.x -= charspace*(charsperline/2);
  22.             for(i=0;i<charsperline&&i<=len;i++){
  23.                 string char = llGetSubString(line,i,i);
  24.                 if(char!=" "&&llGetInventoryType(char)!=-1)
  25.                     llRezObject(char,llGetPos()+(printcursor*llGetRot()),ZERO_VECTOR,llGetRot(),chan);
  26.                 printcursor.x += charspace;
  27.             }
  28.             line=llDeleteSubString(line,0,charsperline-1);
  29.             len-=charsperline;
  30.             if(len>0){
  31.                 llRezObject("-",llGetPos()+(printcursor*llGetRot()),ZERO_VECTOR,llGetRot(),chan);
  32.                 llRegionSay(chan,"nl");
  33.                 printcursor.x -= charspace*(len/2);
  34.             }
  35.         }
  36.     }
  37.     else{
  38.         printcursor.x -= charspace*(len/2);
  39.         for(i=0;i<len;i++){
  40.             string char = llToLower(llGetSubString(line,i,i));
  41.             if(char!=" "&&llGetInventoryType(char)!=-1)
  42.                 llRezObject(char,llGetPos()+(printcursor*llGetRot()),ZERO_VECTOR,llGetRot(),chan);
  43.             printcursor.x += charspace;
  44.         }
  45.     }
  46.     //llPlaySound("typewriter-ding",10.0);
  47.     if(len>0)
  48.         llSleep(0.8);
  49.     llRegionSay(chan,"nl");
  50. }
  51.  
  52. default{
  53.     on_rez(integer p){
  54.         llResetScript();
  55.     }
  56.     state_entry(){
  57.         llShout(chan,"cleartext");
  58.         InLn=0;
  59.     }
  60.     dataserver(key query_id, string data){
  61.         if (query_id == query){
  62.             llSetTimerEvent(10);
  63.             if(data!=EOF){
  64.                 println(data);
  65.                 InLn++;
  66.                 query = llGetNotecardLine(notename,InLn);
  67.             }
  68.         }
  69.     }
  70.     touch_start(integer num){
  71.         if(llDetectedKey(0)==llGetOwner()){
  72.             if(PowerOn==0){
  73.                 query = llGetNotecardLine(notename, InLn);
  74.                 PowerOn=1;
  75.             }
  76.             else if(PowerOn==1)
  77.                 llResetScript();
  78.         }
  79.     }
  80.     timer(){
  81.         llSay(chan,"cleartext");
  82.         llSleep(3);
  83.         printcursor=<0,0,2>;
  84.         InLn=0;
  85.         query = llGetNotecardLine(notename, InLn);
  86.     }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment