Question

Всем привет не кто не знает где найти систему Викторина (Решение примеров)

Share this post


Link to post

4 answers to this question

  • 0

@Миша_Cherkes, как вы ее себе представляете? Если опишите, что-нибудь, наверное, накидаю вам.

Share this post


Link to post
  • 0

@Cawfee @Cawfee в чат пишется к примеру 

Викторина решение примера 1+1 кто первый напишет ответ получит вознаграждение

После правильного ответа дают вирты 

 

Share this post


Link to post
  • 0

@Миша_Cherkes, что-нибудь такое. Не проверял.

Спойлер

enum eQuiz {
    eqQuestion[128],
    eqAnswer[64]
};

static const gQuiz[eQuiz][] = {
    {"Вопрос1""Ответ1"},
    {"Вопрос2""Ответ2"},
    {"Вопрос3""Ответ3"}
};

static const MAX_QUESTIONS = sizeof(gQuiz);
new giQuizQuestion = 0;

@onQuizHandler(bool:isSuccess = false);
@onQuizHandler(bool:isSuccess) { // вызовите эту функцию один раз, например, в OnGameModeInit
    static bool:isCalled = false// флажок, вызывалась ли эта функция раньше
    
    if (true
        && (isCalled == true// если функция хоть была вызвана
        && (isSuccess == false// если не был дан правильный ответ
    ) { // если за 5 минут не был дан правильный ответ
        SendClientMessageToAll(-1"Правильный ответ на вопрос викторины не был дан. Переходим к новому вопросу");
    }
    else if (isCalled == false) {
        isCalled = true;
    }
    else if (isSuccess == true) {
        SendClientMessageToAll(-1"Только что был дан правильный ответ на вопрос викторины. Переходим к новому вопросу");
    }
    
    if (giQuizQuestion++ >= MAX_QUESTIONS) { // если прошлись по всем вопросам
        giQuizQuestion = 0// начинаем счет с нуля
    }
    
    static const question[] = "Вопрос #%d: %s";
    new string[144];
    format(string, sizeof string, question, gQuiz[giQuizQuestion][eqQuestion]);
    SendClientMessageToAll(-1, string);
    
    SendClientMessage(-1"Используйте команду /quiz, чтобы ответить на вопрос");
    
    static iQuizTimer = -1;
    if (iQuizTimer >= 0) { // если уже создан таймер для этой функции
        KillTimer(iQuizTimer); // удаляем существующий таймер
    }
    
    iQuizTimer = SetTimer("@onQuizHandler"5 * 1000false); // запускаем новый таймер
}

CMD:quiz(playerid, params[]) {
    new const result = strcmp(params, gQuiz[giQuizQuestion][eqAnswer]);
    if (result != 0) {
        SendClientMessageToAll(-1"К сожалению, ваш ответ неверный");
        return true;
    }
    
    /* действия, если пользователь правильно ответил на вопрос */
    onQuizHandler(true);
}

 

 

Share this post


Link to post
  • 0

@Cawfee Нет не такого плана

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Vanilin
      By Vanilin
      Я установил клиент и сервер сампа 0.3.8 , поставил новые скины в папку models и сделал команду для смены скинов. Но когда захожу на сервер и изменяю скин на тот который в models мне изменяет скин на какой то другой. После вообще ломается смена скинов и практически все скины приобретают вид того скина, который я пытался установить, а нулевой скин( т е скин сиджея) меняется на другой. Я пробывал несколько раз переустанавливать и сам самп(включая устоновку более старых версий rc3, rc2) и гта в целом, но не помогает.
       
      P.S. При заходе на сервер скины подгружались нормально и в models/artconfig они пописаны
       
      *ссылка на фрапс*