Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // This is a music player script. The sound files are named as numbers. It is intended to play from 1 to 13, then 1 to 13b, then 14 to 39. The problem: it keeps looping at 13b. What am I doing wrong?
- integer playing;
- integer current;
- integer repeated;
- integer ended;
- default
- {
- state_entry()
- {
- llSetSoundQueueing(FALSE); // just in case
- current = 0;
- repeated = FALSE;
- integer p = 39;
- llSay(0, "Preloading!");
- do
- {
- llPreloadSound((string)p);
- }
- while (--p > 0);
- llPreloadSound("13b");
- llSay(0, "Preloaded!");
- }
- touch_start(integer total_number)
- {
- if (playing == TRUE) return;
- playing = TRUE;
- current = 1;
- llSetTimerEvent(3.92);
- }
- timer()
- {
- if (ended)
- {
- current = 0;
- playing = FALSE;
- llSetTimerEvent(0.0);
- }
- else if (current > 0 && current < 13)
- {
- llPlaySound((string)current, 1.0);
- current +=1;
- }
- else if (current = 13)
- {
- if (!repeated)
- {
- llPlaySound("13", 1.0);
- repeated = TRUE;
- current = 1;
- }
- else if (repeated)
- {
- llPlaySound("13b", 1.0);
- current = 14;
- return;
- }
- }
- else if (current >= 14 && current < 39)
- {
- llPlaySound((string)current, 1.0);
- current +=1;
- }
- else if (current = 39)
- ended = TRUE;
- playing = FALSE;
- repeated = FALSE;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement