Jump to content

Arisu

Members
  • Posts

    322
  • Joined

  • Last visited

Posts posted by Arisu

  1. Чтобы быть уверенным, что ресурс запущен, добавьте его как зависимость в meta.xml, и используйте после того, как onClientResourceStart для текущего ресурса отработал. В любых других случаях невозможно предугадать поведение экспортов. Очередность действительно может не быть соблюдена, если один ресурс не зависит от другого - что первое скачалось, то и запустилось.

  2. Да там вообще нужно полный рефакторинг делать. MTA Blue делали с намеком на режимы, отличные от deathmatch, но в итоге гвоздями к дезматчу прибили. Сейчас бы взять и на основе накопленых знаний сделать новый мульт. Только ситуация сейчас не в лучшую сторону - как я понял, даже сами разработчики потеряли интерес к разработке мта?

  3. главная "фишка" предстоящего релиза 1.5 возможность просмотра веб-страниц в игре. Один вопрос - зачем???

    С введением гуи-браузера (https://wiki.multitheftauto.com/wiki/GuiCreateBrowser), можно будет строить интерфейсы на html, css, js, используя локальный режим. А в режиме интернета, можно показывать какую-то страницу из интернета (например, motd при входе, или рекламу в окошке, или нарисовать где-то рекламную страницу).

  4. Если лениво самому писать манипулятор камерой, можно подсмотреть вот тут:

    [text]

    [/text]

    Жуть какая-то на объектах. Вот версия без объектов, с параметрами крена и поля обзора.

    local smParams, smTime, smTimePassed 
      
    local function updateMoveCamera ( timeSlice ) 
      smTimePassed = smTimePassed + timeSlice 
      if ( smTimePassed >= smTime ) then 
        smTimePassed = smTime 
        removeEventHandler ( "onClientPreRender", root, updateMoveCamera ) 
      end 
      local a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p = unpack ( smParams ) 
      local cx, cy, cz = interpolateBetween ( a, b, c, i, j, k, smTimePassed/smTime, "InOutQuad" ) 
      local lx, ly, lz = interpolateBetween ( d, e, f, l, m, n, smTimePassed/smTime, "InOutQuad" ) 
      local roll, fov = interpolateBetween ( g, h, 0, o, p, 1, smTimePassed/smTime, "InOutQuad" ) 
      setCameraMatrix ( cx, cy, cz, lx, ly, lz, roll, fov ) 
      --outputConsole ( string.format ( "timePassed: %d, cam: %.4f %.4f %.4f %.4f %.4f %.4f %.4f %.4f", smTimePassed, getCameraMatrix ( ) ) ) 
    end 
      
    function moveCamera ( a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, time ) 
      smParams, smTime, smTimePassed = { a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p }, time, 0 
      setCameraMatrix ( a, b, c, d, e, f, g, h ) 
      addEventHandler ( "onClientPreRender", root, updateMoveCamera, false ) 
    end 
      
    function stopCamera ( ) 
      removeEventHandler ( "onClientPreRender", root, updateMoveCamera ) 
    end 
    

  5. Я бы сказал, кого корчишь из себя ты, да будет не прилично с моей стороны. Оставлю это право вам - пользователям :)

    Так говори прямо, а не молчи. Не люблю таких молчунов за спиной, при встрече лицом к лицу бью их в ебало.

    Но! Ты наверное не заметил, но на форуме у меня активность почти нулевая. Возможно где-то мои высказывания бывают резкими, но сам факт что тебя бомбит от каждого моего сообщения - очевиден. Прям как мент, ищешь повод чтобы придраться к чему-то.

    Я не слежу какая там у тебя активность. Меня не устраивает, как конкретно ты на этом форуме строишь из себя самого умного, уже долгое время, при этом остальных держишь за идиотов в любой подходящий момент. Это напрягает. И еще в любой подходящий момент любишь махнуть своей плашкой, пик релейтед из соседнего треда:

    FnE5gQckZuU.jpg

    Продолжая "а по теме": может разуешь глаза? "тебе уже ответили" - кто ответил? Почему мне? Вопрос не мой был изначально.

    Вот ответ на твой заданный вопрос, где именно видны правила, заданные через setRuleValue: линк

    Кстати, зависть, уважаемый, плохое чувство.

    Просвятишь, может, чему я хоть завидую, по-твоему? Может вообще от темы обсуждения отходить не будешь, м?

  6. Какая разница где и что я кричал? Конкретно по теме сказать нечего? - Тогда и не говори вовсе.

    Более того, вопрос задал не я, но тем не менее ожидается конкретный ответ на этот вопрос.

    Почему я вобще должен лезть в исходники, когда нам показывают какой-то скриншот касательно этой темы, где нет того чего просят люди?

    Честно - херню сморозил... опять..

    Большая разница. На форуме ты постоянно корчишь умника из себя, на вполне резонное предложение пойти и применить свои навыки по назначению, чтобы облегчить себе и другим решение данного вопроса, ты сморозился. А по теме тебе уже ответили, где эти правила отображаются.

  7. Если указать "resource2" include'ом ресурса "resource1", то всё работает так, как нужно. Но у меня немного другая система, не предусматривающая стандартную систему include'ов.

    Если своя система - тогда сами и придумывайте, как сделать в ней зависимости ресурсов.

  8. Ткни носом чтоли, я так и не понял где видны правила заданные через setRuleValue

    P.S. Большие изображения принято вставлять в спойлер

    Мистер сер, ну вы же крутой программист, в соседнем треде кричали и гнули пальцы, что С++ вам как родной, в отличие от Луа. Вот и поглядите в исходниках сами, благо они открыты у мта, куда что отправляется, и где что выставляется. И сами быстрее разберетесь, и лишних вопросов задавать не будете.

  9. Есть ли где-то... тема о шейдерах?

    Сколько я не пытался понять их в Вики, то никак не может мой мозг это осознать. Может быть у кого-то есть ссылочка где можно почитать о них, только в более опрощенном варианте. А если на русском, то вообще супер.

    http://lmgtfy.com/?q=hlsl+programming

  10. addEventHandler("onResourceStart", resourceRoot,  
        function() 
            for _, ammoSeller in ipairs ( getElementsByType ( "ped" ) ) do 
                outputChatBox (getElementData(ammoSeller, "id")) --выводит id ammoSeller'a 
                setPedAnimation ( ammoSeller, "SHOP", "SHP_Serve_Idle" ) 
            end 
        end 
    ) 
    

    Файл серверный, id педа выводит, а анимация не применяется, ровно как и оружие не дается..

    Помогите же :(

    Если до вызова функции я не видел в лицо педа, независимо от задержки её выполнения/рестарта ресурса, то к нему анимация не применяется. Почему так? Что делать? Не выполнять же эту функцию, когда кто-нибудь увидит этого педа, а потом отменять евент, ерунда же..

    https://wiki.multitheftauto.com/wiki/On ... ntStreamIn

  11. Нормальные разработчики не занимаются продажей. А если и занимаются - то после длительной продажи начинают писать "абы-быстрее-сбагрить".

    Не смешите меня. За идею мало кого заставишь работать. Только за какие-то другие ништяки, или писать такое, за что денег уж совсем неудобно просить. Или это код, чтобы набить себе руку и имя. В остальном нормально, чтобы просить оплатить сделанную работу. Любой труд должен оплачиваться.

  12. Мой вопрос о том, как выставить режимы смешивания (dxSetBlendingMode), чтобы нарисовать однородную обводку к тексту?

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

    П.с. рисую прямо на экран, не в рендер таргеты. Хотя возможно буду и в них тоже. Текст динамический и не один, нужно именно отрисовку обводки "на ходу". Цвет обводки и толщина тоже будет меняться.

    Интересная задача. Уменьшать альфу в циклах предполагаю уже были попытки?

    Нет, не были. Но тут тоже по-моему ясно, что она неоднородная выйдет. Потому что ближе к центру будет больше наложено слоев текста, чем по краям. Вся надежда на блендинг :D

  13. Мой вопрос о том, как выставить режимы смешивания (dxSetBlendingMode), чтобы нарисовать однородную обводку к тексту?

    Имеем: цвет текста (например R255,G0,B0,A255), имеем цвет обводки (0,0,0,127) - черная полупрозрачная, и ее толщину - 3.

    Типичный алгоритм для обводки - берем и рисуем цветом обводки текст несколько раз на указанную толщину. Типа такого:

    for dx=-thickness, thickness do 
      for dy=-thickness, thickness do 
        dxDrawText(text, x + dx, y + dx, ...) 
      end 
    end 
    dxDrawText(text, x, y ...) -- сам текст 
      
    

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

    П.с. рисую прямо на экран, не в рендер таргеты. Хотя возможно буду и в них тоже. Текст динамический и не один, нужно именно отрисовку обводки "на ходу". Цвет обводки и толщина тоже будет меняться.

×
×
  • Create New...