Difference between revisions of "User:ANSI Soderstrom/Misc useful functions"

From Second Life Wiki
Jump to navigation Jump to search
Line 24: Line 24:
         return sentence;
         return sentence;
     }  
     }  
     return "Error, i miss some \"" + modifier + "\" or the list is empty for sentence: " + sentence;
     return "Error, i miss some \"" + modifier + "\" or the insertation list is empty!\n(sentence: " + sentence + ")";
}
}



Revision as of 04:38, 12 February 2011

Leave a comment

Misc useful functions

Some are useful, some not...

<lsl>

// modify a string in ANSI-C style // returns a string with all replacements for "modifier".... based on the equivalent positions in the list-content string printf(string sentence, list insertation) {

   string modifier = "%s";
   if(llGetListLength(insertation)) {
       integer i;
       integer match;
       for(i=0;i<llGetListLength(insertation);++i) {
           match = llSubStringIndex(sentence,modifier);
           if(~match) {
               sentence = llDeleteSubString(sentence,match,match+llStringLength(modifier)-1);
               sentence = llInsertString(sentence,match,llList2String(insertation,i));
           }
       }
       return sentence;
   } 
   return "Error, i miss some \"" + modifier + "\" or the insertation list is empty!\n(sentence: " + sentence + ")";

}

default {

   state_entry() {
       llOwnerSay(printf("Hello %s, How %s you?\n%s is a number.",["Avatar","are",3]));
       // Output:
       // Hello Avatar, How are you? 
       // 3 is a number.
   }

} </lsl>