• Как отображать изображения на тестовом сайте, если они лежат на основном?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    можно наладить редирект в оппаче, Redirect /uploads http://main.site/uploads
    но я бы просто перенес картинки на тестовый.
    Ответ написан
    Комментировать
  • Можно ли упростить функции?

    Adamos
    @Adamos
    Конечно. Например, первую функцию можно заменить на
    return ['tablename' => $table];
    Больше она все равно ничего не делает.

    А если вы, кроме unset, узнаете еще хотя бы об одной функции - array_fill, то и вторую функцию удастся сократить вполовину.
    Ответ написан
    1 комментарий
  • Как сверстать такую штуку?

    Как-то так
    Ответ написан
    Комментировать
  • Как сделать контролируемые обмены в онлайн-игре?

    @Karpion
    Я не понял проблемы.

    Где игроки собирают вещи? В процессе игры - подбирают с земли, берут с лута?
    Я бы сделал так, что собрать можно только сырьё; а вещи - скрафтить самостоятельно или купить у соответствующих мастеров. Причём мастера делают вещи только когда у них есть сырьё; и цены на вещи-и-сырьё зависят от соотношения спроса и предложения.
    Готовые вещи - можно снять с разбойников, но никак не с животных.

    У кого можно "обменять 10 вещей одинаковой ценности на одну вещь ценностью выше"? У других игроков? У NPC-торговца?
    (Кстати, тут лучше говорить не "ценность вещи", а "класс" или "категория".)

    Если речь о торговле между игроками - то пусть меняют как хотят. Любые ограничения в этой области - дико раздражают.

    Я не понял фразу "10 вещей ценностью ниже могут в сумме стоить дороже одной вещи ценностью выше или же наоборот". Откуда вообще берётся понятие "стоимость"?

    Я вообще советую не делить вещи на категории. Т.е. у вещей есть только цена в деньгах - для торговли; и сырьё + мастерство для изготовления.
    При этом - изготавливать вещи могут как NPC-мастера, так и игроки. Но игроку для этого надо долго прокачивать навык, портя при этом сырьё. А NPC-мастера есть не везде.

    Если Вы считаете, что у вещи есть какая-то стоимость - то Вы (как автор игры) задаёте эту стоимость всем NPC-торговцам. И понятно, что стоимость выражается в каких-то деньгах.
    Так вот, если NPC-торговец соглашается менять какие-то вещи на другие, но имеется расхождение по стоимости - то NPC-торговец требует от игрока доплатить некую сумму или же сам предлагает доплату.
    Если Вы хотите, чтобы NPC-торговец имел прибыль - то он должен постоянно делать перекос цен в свою сторону. Т.е. если я хочу поменять вещь Икс на вещь Игрек - то NPC-торговец требует доплатить 80 монет; а если я хочу поменять вещь Игрек на вещь Икс - то NPC-торговец предлагает мне доплату только 55 монет.

    Я бы хотел предупредить, что сильный перекос в сторону торговца - сильно раздражает игроков; будьте умерены в жадности.
    И я очень советую позволить игрокам расторгать сделку без пеней, если он это делает быстро (например, в течении часа после сделки) и никак не использовал купленную вещь. Т.е. "купил вещь - понял, что эта вещь не нужна - вернул торговцу".

    Следует разделить NPC-мастеров и NPC-торговцев.
    NPC-мастер - покупает сырьё и продаёт свою продукцию. Причём процесс производства - подчиняется законам сохранения.
    NPC-торговец торгует чем угодно; ну или группа NPC-торговцев делят товары сообразно своей специаизации, если так игрокам удобнее. Но NPC-торговец может торговать только тем, что у него есть. Товары он может покупать и у игроков, и у NPC-мастеров своего города. При этом NPC-торговец может создавать квесты на доставку каких-то предметов, неважно откуда: он просто выставляет заказ с некой ценой.
    Чтобы написать стратегию поведения NPC-торговцев - я советую пригласить студентов-экономистов в качестве курсового проекта или даже диплома. Надо договоритться с каким-нибудь экономическим ВУЗом, и каждый год студенты будут дописывать торговый алгоритм.
    Ответ написан
    3 комментария
  • Пуск windows 8.1?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    1. Без посторонних - никак.
    2. Странно, что сам windows для вас - менее подозрителен!
    3. Юзаю ClassicShell - проблем нет (всегда проверяйте хеш-сумму скачанного файла дистрибутива с указанной на сайте!).
    Ответ написан
    Комментировать
  • Как перевести web-приложение в desktop?

    @antonwx
    В общем и целом... есть electron, который может помочь сделать это десктопным приложением, но запускать apache и mysql всё равно в фоне придётся
    Ответ написан
    1 комментарий
  • Как перевести web-приложение в desktop?

    Sanes
    @Sanes
    Ты его распространять собрался? Странное решение.
    Может лучше Python подучить? Он легкий.
    Ответ написан
    1 комментарий
  • Метод call объекта-функции в js как работает?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    6 комментариев
  • Найти и заменить запятую на точку?

    wapster92
    @wapster92 Куратор тега JavaScript
    console.log('55,5'.replace(',','.'))
    Ответ написан
    Комментировать
  • Как реализовать смену url после ajax запроса?

    @dthpth
    Погромист
    добавить свой обработчик на window.onpopstate и, увидев нужный url, менять контент на прежний (который был предварительно сохранён)
    Ответ написан
    Комментировать
  • Как реализовать это?

    Kozack
    @Kozack Куратор тега CSS
    Thinking about a11y
    Пишете HTML, добавляете CSS так чтобы соответствовало вашему дизайну ‍️
    Ответ написан
    Комментировать
  • Как обрезать текст после ajax загрузки?

    Eridani
    @Eridani
    Мимо проходил
    Если в запросе "success" вызвать функцию cutText(); то она начинает резать все посты и даже те которые уже обрезаны

    Куда угодно ставить маркер о том, что текст уже обрезан, например, класс модификатор у итема, соответственно, в теле success обращаемся к функции, которая берет все неотмаркированные итемы
    Ответ написан
    Комментировать
  • Как реализовать данную кнопку?

    SmthTo
    @SmthTo Куратор тега CSS
    Все перепёлки мира будут оплакивать мою смерть.
    Если для нормальных браузеров, то так и через один псевдоэлемент:


    Если для браузеров а-ля IE11 (+ всех нормальных), то так и через два псевдоэлемента:
    Ответ написан
    2 комментария
  • Как применить класс после увеличения высоты экрана?

    В функции scrolling ты удаляешь все обработчики события scroll у элемента document. Поэтому не срабатывает обработка события объявленная в самом верху.
    Ответ написан
    Комментировать
  • Правильно составить запрос DISTINCT?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Судя по нестандартному формату даты, хранится она в виде строки. Значит в конце может быть один или несколько пробелов, которые просто не видны при выводе.
    Ответ написан
    2 комментария
  • Как защитить запрос от изменения?

    @Narts
    Решение очень простое
    Создаем две функции: cryptID и decryptID, которые шифруют и дешифруют ID. Пользователю отдаем зашифрованный ID, типа:
    data-id="wallId_G5ht3Q"
    Далее когда пользователь отправляет запрос, получаем G5ht3Q, расшифровываем его, и проверяем, существует ли запись с таким ID
    Ответ написан
    2 комментария
  • Как защитить запрос от изменения?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    О господи, опять этот вопрос.

    Запрос никак не защищать.
    Если пользователь может видеть запись 666, то пусть смотрит что хочет.
    Если пользователь не имеет права видеть запись 666, то получив любой запрос проверять его на наличие прав. А изменение запроса оставить в покое. Клиент по определению может отправить любой.

    К CSRF это абсолютно безобидное ковыряние в хтмлочке никакого отношения не имеет.
    Ответ написан
    Комментировать
  • Как защитить запрос от изменения?

    humiliation
    @humiliation
    Чем больше знаю - тем больше дурак
    если это только гет - то пусть гетит себе на здоровье. С лимитом на запросы, не более 20 в минуту, например. А на update-delete-create, конечно, проверка прав и CSRF.
    Ответ написан
    1 комментарий
  • Как правильно сделать модальное окно?

    i__dmitry
    @i__dmitry
    Weaving a web
    Дело в том, что у вас само окно вложено в слой с оверлеем.
    Вынесите оверлей в отдельный слой, и по клику на него реализуйте скрытие и окна и оверлея:
    $('.wall_moadl').click(function(){
        $(this).fadeOut();
        $('.modal_content').fadeOut();
    });


    Разметка:
    <div class="wall_moadl">... </div>
    <div class="modal_content">...</div>
    Ответ написан
    3 комментария