Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /****************************************************************************
- **===========================================================================
- ** Typer Script by bayjoo
- ** 25fae92c-d1a8-48fe-bacd-36c5539bb435
- ** Mon Nov 26 14:10:12 2018
- **===========================================================================
- ** LSLEdit++ v0.1
- **===========================================================================
- ****************************************************************************/
- integer g_iSoundNumb;
- integer g_iAnimNumb;
- string g_sSoundPlaying;
- string g_sAnimPlaying;
- integer g_bHasPerm;
- integer g_bTyping;
- integer g_iAtt;
- key g_kOwner = NULL_KEY;
- init(){
- g_kOwner = llGetOwner();
- g_iAtt = llGetAttached();
- float fTime;
- list lParams;
- if(g_iAtt){
- llRequestPermissions(g_kOwner, PERMISSION_TRIGGER_ANIMATION);
- fTime = 0.5;
- g_bHasPerm = FALSE;
- // Comment/delete the next line if you use in anything else than newly build prim
- lParams = [PRIM_SIZE, ZERO_VECTOR, PRIM_COLOR, ALL_SIDES, ZERO_VECTOR, 0];
- }
- // Comment/delete the next line if you use in anything else than newly build prim
- else lParams = [PRIM_SIZE, <0.5, 0.5, 0.5>, PRIM_COLOR, ALL_SIDES, ZERO_VECTOR, 1];
- if(lParams) llSetLinkPrimitiveParamsFast(LINK_SET, lParams);
- llSetTimerEvent(fTime);
- g_bTyping = FALSE;
- g_iAnimNumb = llGetInventoryNumber(INVENTORY_ANIMATION);
- g_iSoundNumb = llGetInventoryNumber(INVENTORY_SOUND);
- }
- default{
- state_entry(){
- llSetObjectName("Tiky's Typer");
- init();
- }
- on_rez(integer in_iSp){ init(); }
- attach(key in_kId){
- if(in_kId == NULL_KEY){
- if(g_sAnimPlaying) if(g_bHasPerm) llStopAnimation(((g_sAnimPlaying="")+g_sAnimPlaying));
- if(g_sSoundPlaying){ llStopSound(); g_sSoundPlaying = ""; }
- g_bHasPerm = FALSE;
- }
- }
- run_time_permissions(integer in_iPerm){ g_bHasPerm = !!(in_iPerm&PERMISSION_TRIGGER_ANIMATION);}
- timer(){
- integer bTyping = !!(llGetAgentInfo(g_kOwner)&AGENT_TYPING);
- if(bTyping != g_bTyping){
- if(g_iSoundNumb){
- if(bTyping){
- g_sSoundPlaying = llGetInventoryName(INVENTORY_SOUND, llFloor(llFrand(g_iSoundNumb)));
- llLoopSound(g_sSoundPlaying, 1);
- } else{
- llStopSound();
- g_sSoundPlaying = "";
- }
- }
- if(g_bHasPerm && g_iAnimNumb){
- if(bTyping){
- g_sAnimPlaying = llGetInventoryName(INVENTORY_ANIMATION, llFloor(llFrand(g_iAnimNumb)));
- llStartAnimation(g_sAnimPlaying);
- } else llStopAnimation(((g_sAnimPlaying="")+g_sAnimPlaying));
- }
- g_bTyping = bTyping;
- }
- }
- changed(integer in_iFlag){
- if(in_iFlag&CHANGED_INVENTORY){
- g_iAnimNumb = llGetInventoryNumber(INVENTORY_ANIMATION);
- g_iSoundNumb = llGetInventoryNumber(INVENTORY_SOUND);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement