eQuestEngine - движок для создания квестов

Discussion in 'Задания/Квесты/CTF/Конкурсы' started by eLWAux, 1 Feb 2009.

  1. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    865
    Likes Received:
    616
    Reputations:
    211
    PHP:
    /* eLwaux(c)2009
      * eQuestEngine
      * v1.2stable
      */
    eQuestEngine
    версия: 1.2stable

    Системные требования: сервер с установлеными php+mysql

    eQuestEngine это движок, предназначен для создания квестов на любую тематику(!), обладающий большими функциональными возможностями.
    Движок может быть интегрировать практически в любой существующий дизайн, и не имеет никаких ограничений по созданию шаблонов для него.

    Основние возможности:
    • использует для хранения данных базу MySQL
    • поддержка нескольких квестов на одном сервере
    • автоматическая инсталляция движка [с помощью install.php]
    • поддержка графических тем
      [​IMG][​IMG][​IMG][​IMG]
      [​IMG][​IMG][​IMG]
      [​IMG][​IMG]
    • присутствует админка, с помощью которой можно:
      • посмотреть инфо об сервере
      • изменять язык
      • смотреть список доступных скриптов
      • проверять целесность системы
      • разрешать \ запретить сертификаты
      • актив \ деактивировать капчу
      • запретить javascript:alert админам
      • запретить \ разрешить регистрацию
      • заблокировать квест
      • изменять уровни \ задиния \ подсказки
      • установить использование рандомного пароля юзерам
      • разрешать \ запретить использование ПМ
      • разрешать \ запретить смайлики в ПМ'ках
      • установить максимальную длину одного ПМ сообщения
      • изменять сообщение - приветствие ногому зарег. пользователю
      • управлять пользователями
        • изменять уровень
        • Бан \ анБан
        • делать из юзера админа
        • удалять юзера из БД
        • удалять всех пользователей
        • добавлять нового юзера
        • смотреть хеш пароля (PassCRC)
      • управлять ПМ
        • смотреть всю переписку пользователей
        • удалять ПМ'ки (все \ несколько \ одну)
        • отправлять ПМ любому юзеру
        • СПАМить всех пользователей :D
      • управлять квестами
        • активировать новый квест
        • смотреть инфу об любом квесте
      • управлять темами
        • смотреть предпросмотр темы
        • активировать
    • antи-Хак защита
    • анти-Брут защита
    • защита от детей ;)
    • возможно давать подсказки после N-ной неверного ответа
    • поддержка шаблонов
    • возможность шифровать пароли пользователей
    В планах:
    • использование технологии AJAX
    • добавить побольше тем

    в архиве есть несколько примерочных квеста:
    - тестовый квест
    - HQ_09 (https://forum.antichat.ru/thread129518.html)

    Code:
    [color=white][b]changelog[/b][/color]
        -=-===========------===============-==-==---=------==-
    
    [version 1.2]
         ] update <?php
         ] added AntiCheted
         ] added Attemps & Helps
         ] added Admin can now modif quest levels
         ] added Anti-Bruted
    
    [version 1.0 Final]
         ] update all engine
         ] added INSTALL.php
         ] added graphic statistic ./stat.php
         ] added PrivateMessages (PM)
         ] added themes, quests, etc
         ] added captcha protection
         ] added language support
         ] added certificates
         ] added QuestBlock item
         ] added smiles in pm
         ] added "Hello PM"
         ] modifed random passw gen
         ] modifed pass crypt now: md5(md5(md5(pass)))
         ] modifed admin panel
         ] modifed anti-Hack mode
         ] modifed settings save area
         ] modifed quest-level structure     
         
    [version 0.3 Stable]
         ] modifed structure (added "core/" folder)
         ] added themes: black, blackbox, HQ_09
         
         
    [version 0.2]
         ] added "[preview]" themes in admin panel
         ] added $Q_themepic in config.php
         ] added 5 themes
         ] modifed anti(SQL & XSS) filter
         ] fixed: level.php?c[]=p (thx: mr.The)
         
    [version 0.1]
         ] Release
    http://uasc.org.ua/files/eQv2.rar

    тест: http://poma.org.ua/quest/
     
    #1 eLWAux, 1 Feb 2009
    Last edited: 20 Jul 2009
    5 people like this.
  2. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    865
    Likes Received:
    616
    Reputations:
    211
    faq по установке движка

    открыть core/install.sql:
    и сделать замену NUL, на NULL,

    Для установки нужен сервер с установлеными php+mysql.
    Подходит практичеки любой бесплатный хостинг
    (https://forum.antichat.ru/showthread.php?t=64764
    http://www.zemskov.ru/free_hosting.html)


    сперва редактируем ./core/config.php.

    http://ваш_сайт/install.php
    там вводим логин,пароль админа.
    жмем кнопку и смотрим результат.
    если все прошло гладко, вас перекинет на главную страницу.

    заходим в админку, используя логин:пароль админа,
    и там меняем квест, тему и\или другие настройки.

    все. инстал закончен.
    можна приглашать участников :)
     
    #2 eLWAux, 1 Feb 2009
    Last edited: 27 Sep 2009
  3. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    865
    Likes Received:
    616
    Reputations:
    211
    faq как сделать свою тему
    смотрим в любую тему , которая идет вместе с движком,
    и на ее основе делаем свою ;)

    faq как сделать свой квест
    все квести хранятса в папке ./quests/,

    • создаем папку в ./quests с именем квеста.
    • там создаем файл index.txt с содержимим:
      Code:
      первая строчка - название квеста
      все остальные строчки - описание
    • Для анти-хак защити создать надо .htaccess с текстом:
      Code:
      deny from all
    • А теперь можно и делать свои уровни )
      • первый уровень - 1.html
        второй - 2.html
        99уровень - 99.html
        и так далее )
      • содержание X.html :
        первая строчка: правильние ответы, через |
        вторая строчка: текст, который виводится при неправильном ответе
        все остальное - текст квеста.
        и в тексте на забиваем добавить форму для отправки ответов!!
        если ответ один, тогда просто пишем {SEND_FORM}
      • пример левела 1:
        • 1.html
        • Code:
          good_answer
          bad answer! try again!
          Hi! This is first level.
          {SEND_FORM}
        • В этом уровне правильный ответ "good_answer".
        • когда юзер вводит неверный ответ, он увидет "bad answer! try again!"
      • пример левела 2:
        • 2.html
        • Code:
          good_answer1|good_ans2
          no-no-no! try again!
          Hi! This is second level.
          <form method="POST">
          <input type="text" name="answer1" value="пиу1"><br/>
          <input type="text" name="answer2" value="пиу2"><br/>
          <input type="submit" value="тынц" class="button">
          </form>
          
        • В этом уровне правильные ответи: "good_answer" и "good_ans2"
        • когда юзер вводит неверный ответ, он увидет "no-no-no! try again!"
    • все)
      заходи в адмику, в раздел с квестами и вибирай новий квест)

    удачи!
    если что, я всегда готов ответить на ваши вопроси в етой теме!
     
    #3 eLWAux, 1 Feb 2009
    Last edited: 17 Jul 2009
    1 person likes this.
  4. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    919
    Likes Received:
    550
    Reputations:
    66
    Не в обиду конечно, но если и делать квесты то явно не по шаблону...и не по готовым двигам ИМХО...
     
  5. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    865
    Likes Received:
    616
    Reputations:
    211
    по-любому легче на готовом движку, чем с нуля.
    тем более я гарантирую 99% безопасность ;)
     
    #5 eLWAux, 2 Feb 2009
    Last edited: 17 Jul 2009
  6. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    865
    Likes Received:
    616
    Reputations:
    211
    UPDate to v0.2

    • добавил несколько тем:
      • античат.тема
        [​IMG]
      • вконтакте.тема
        [​IMG]
    • сделал нормальную anti(SQL,XSS)
    • добавил в админку несколько ф-ций
      • "preview" для тем
      • возможность on/off уведомлений
      • возможность on/off предосмотра (preview) тем
      • возможность on/off favistable
      • возможность on/off шифрования паролей
    • исправил мелких несколько ошибок
    • обнови пост "faq как сделать свой квест"
     
    #6 eLWAux, 15 Feb 2009
    Last edited: 15 Feb 2009
    1 person likes this.
  7. -Hormold-

    -Hormold- Кто, если не ты?

    Joined:
    29 Sep 2007
    Messages:
    419
    Likes Received:
    290
    Reputations:
    44
    Отлично сделано.
    Думаю в паблик.
    Из ROA мало кто юзать будет.
    Мой движок вообще г. :O
     
  8. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    865
    Likes Received:
    616
    Reputations:
    211
    добавил еще тем и несколько простих квестов для примера
     
    #8 eLWAux, 24 Feb 2009
    Last edited: 10 May 2009
    1 person likes this.
  9. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,573
    Likes Received:
    976
    Reputations:
    783
    Привет из РОА. Ап
     
  10. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    Хорошая идея ТС, а главное полезная! Еще не тестил. Позже. Совет: делай как можно гибче движок. И попроще систему создание уровней. Не редактировать пхп файл,а например в тхт записывать вопросы и ответы в специальной структуре. Вот. )
     
  11. banana

    banana Member

    Joined:
    4 Mar 2009
    Messages:
    29
    Likes Received:
    73
    Reputations:
    18
    Можно ссылку где скачать
     
    #11 banana, 25 May 2009
    Last edited by a moderator: 25 May 2009
  12. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    865
    Likes Received:
    616
    Reputations:
    211
    http://multi-up.com/58861
     
  13. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    865
    Likes Received:
    616
    Reputations:
    211
    ап!
    последный релиз! stable версия!
    обновил 1й, 2й пост.

    http://multi-up.com/118180

    з.ы.: пример движка:
    https://forum.antichat.ru/newpostinthread129518.html
     
  14. Ded MustD!e

    Ded MustD!e Banned

    Joined:
    23 Aug 2007
    Messages:
    393
    Likes Received:
    694
    Reputations:
    405
    добавь капчу при регистрации
     
  15. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    865
    Likes Received:
    616
    Reputations:
    211
    капча уже есть ;)
    в админке ставим опцию использовать капчу:
    [​IMG]
    и смотрим на главную:
    [​IMG]
     
    1 person likes this.
  16. FireFenix

    FireFenix Elder - Старейшина

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Двиг поставил, посмотрел....
    Хотелось бы отметить несколько минусов:

    1) Оформеление
    а) При запуске скрипта, с настроенным php по дефолту (Apache 2.2.11 + PHP 5.2.10), половину кода отобразилось как текст из-за тега "<?"
    Думаю лучше было бы использовать "<?php" на всякий случай =)
    б) эффект смены скрипта немного сбивает с толку, т.е. расположение эелментов меняется и резкий взрыв цветов :) => использование html шаблонов было бы полезно
    в) не плохо было бы добавить управление квестами + задниями квестов, где можно было бы добавить квест или изменить ответ, последовательность и т.д.

    2) Посотрел БД
    а) не использование индексов - плохой знак, как отсюда вытекающее - желательно бы ссылаться на id строки, а на не какие-то поля
    б) раз создана БД, то наверное лучше было бы хранить всю локальную информацию квестов в ней
    в) немного напрягает излишняя экранизации в mysql запросах

    3) Бегло просмотрел код
    а) function query($whot) - улыбнуло :)
    б) думаю для дальнейшего развития и правил хорошего кода - все конфиги типа $this->name, $this->host определить к примеру в $this->cfg->db['name'], т.е. переменные назначить в свою рабочую область, что думаю повысит понимание кода =)
    в) также правило хорошего кода - html отдельно от исполняемого кода => желательно использовать бы html шаблоны
    г) кое-где для читабильности лучше бы юзать switch вместо if и передавать одним параметров (например сортировку) =)
    б) для универсальности, лучше вынести код обработки url отдельно, и через инклюды вызывать функции, которые тоже желательно бы разбить на ещё более составляющие группы файлов
    е) в некоторых местах бы не помешала оптимизация кода и выкидывание лишнего кода :)
    ж) Отсудствие комментариев и не сгруппированности переменных, немного сложно уловить суть того или иногда кусочка кода

    Это было сугубо моё мнение, поэтому не обязательно брать его на заметку и кидать в меня помидорами =)

    P.S. Готов помочь в создании и тестировании движка ^_^
     
    #16 FireFenix, 18 Jul 2009
    Last edited: 18 Jul 2009
  17. FireFenix

    FireFenix Elder - Старейшина

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Вообще-то ввод, вывод, хранение информации о квестах лучше хранить в каком-либо двиге, т.к. для каждого квеста обычно пишется двиг повторяющий другие
    А вот сами задания - на сколько хватит фантазии и умений

    P.S. Если так судить, то квесты нужно делать как HP. Официальный квест для Админов и как реклама серваков HP Blade
    Всё как положено, анимация, картинки, русская озвучка, сюжет, консоль :D http://torrents.ru/forum/viewtopic.php?t=1256736
     
    #17 FireFenix, 18 Jul 2009
    Last edited: 18 Jul 2009
  18. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    865
    Likes Received:
    616
    Reputations:
    211
    1.a) уже изменяю
    1.б) не понял )
    1.в) спасибо. тоже в процессе
    2.а) зачем? как на меня - все нормально..
    2.б) думаю нет. процесс создания квеста надо сделать максимально простим и динамическим.
    2.в) поподробней пожалуйста )
    3.а) банально и просто ;)
    3.б) вообще-то я не рассчитывал на то, чтоб другие смотрели в код ))
    $this->eLng, $this->UInfo, $this->QInfo, ... я делал все так, что в первую очерь, МНЕ было удобно модифицировать и менять код.
    3.в) html-щаблоны у меня - это темы )
    3.г) изменю.., хотя это на качество\etc не повлияет )
    3.д) мой стиль - все одном месте )
    3.е) 3.г
    3.ж) стоп-стоп. архив не для девелоперов )
    все кто, хочет изменить код - мне в аську пишут )

    постараюсь до завтра сделать такой же на своем движке ;)
    ну не 1 в 1, но максимально похож :)
     
    #18 eLWAux, 18 Jul 2009
    Last edited: 18 Jul 2009
  19. FireFenix

    FireFenix Elder - Старейшина

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Ещё пришла идея, чтобы после нескольких неверных ответов на главный вопрос, которые промежуточные ответы на минизадание, выводилась подсказка....
    Как бы если уже все варианты перебирая - наставить человека на истинный путь =)
     
    #19 FireFenix, 18 Jul 2009
    Last edited: 18 Jul 2009
  20. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    865
    Likes Received:
    616
    Reputations:
    211
    будет!
    я вот я подумал, можна сделать анти-брут защиту,.. и бан давать на минут 10.. опцию можна будет вкл\выкл в админке