Задача:
Считать курс завершенным только при просмотре полного видео.
Структура курса:
Один слайд с загруженным на него видео.
Понятно, что средствами Articulate Storyline и стандартом SCORM не передать подобных конкретностей. Тогда добавим пару скриптов для двух предполагаемых ситуаций:
- Запуск ролика и закрытие курса до полного просмотра видео.
- Запуск ролика и закрытие курса после полного просмотра видео.
![](https://static.tildacdn.com/tild6234-3838-4830-b634-653761383638/video.png)
В первом случае будем передавать в СДО, допустим 50% прохождения, а также статус "незавершено"/"неуспешно" (incomplete/failed).
Для этого при старте слайда с роликом зададим некой объявленной в Articulate переменной "visco" значение 50, а также запустим скрипт, передающий оценку и статус в СДО.
![](https://static.tildacdn.com/tild3331-3837-4831-b065-636337373961/varry.png)
![](https://static.tildacdn.com/tild3137-6636-4333-a663-363730333536/vid_50_1.png)
Скрипт представляет следующий набор команд:
var player=GetPlayer();
var currentscore=player.GetVar("visco"); //получаем значение переменной Articulate
lmsAPI.SetScore(currentscore,100,0); //передаем 50%
lmsAPI.ResetStatus(); //сбрасываем статус
Во втором случае после завершения видео передадим в СДО 100% и статус "завершено"/"успешно" (complete/passed).
![](https://static.tildacdn.com/tild3335-3566-4836-b961-363065656161/vid_100_1.png)
Второй скрипт выглядит так:
var player=GetPlayer();
var currentscore=player.GetVar("visco");
lmsAPI.SetScore(currentscore,100,0); //передаем уже 100%
lmsAPI.SetReachedEnd(); //устанавливаем в СДО статус завершения
lmsAPI.SetPassed(); //устанавливаем в СДО статус успешности