CODE
listen( ... , string message )
{
list Arguments;
Arguments = llParseString2List( message, ["-=-"],[] );
string Command;
Command = llList2String( Arguments, 0 );
key Target;
Target = (key)llList2String( Arguments, 1 );
integer SomeInteger;
SomeInteger = (integer)llList2String( Arguments, 2 );
// etc...
}
You can then talk to this script using shout, eg:
llSHout(Channel, "DOTHIS" + "-=-" + (string)llDetectedKey(0) + "-=-" + (string)Damage );
Basically, use something complex and rare like "-=-" as a separator, and use llParseString2List as a deserializer.