PrototypeX

Members
  • Content count

    57
  • Joined

  • Last visited

Community Reputation

1 Neutral

About PrototypeX

  • Rank
    Snitch

Details

  • Location
    Russia
  • Occupation
    Dev
  1. Ребята подскажите, можно ли наложить на автомобиль (точнее на элемент кузова который красится) два шейдера и/или более? Например. Первый шейдер ложится с одной текстурой, второй с альфаканалом в 50 и получается так, что сначала идет картинка (винил), а затем поверх неё шейдер с глянцем (отражениями из screensource DX)?
  2. Если рассматривать СНГ, то тут есть не только БПАН и Дрифт, а ещё и годные RPG проекты вроде нашего SMOTRAmta, и наших конкурентов CCD и готовящимся радмиром.. Всё довольно таки быстро и стремительно развивается. И у девелоперов в МТА возможностей гораздо больше чем в САМПе!!!
  3. Просто отставлю пост о том, что есть подработка здесь. В проект SMOTRAmta (Онлайн 400-500+), требуются опытные разработчики для выполнения разнообразных задач по написанию ресурсов (или частей ресурсов). Обязателен опыт разработки игровых серверов MTA и синтаксиса LUA. Уметь быстро и качественно выполнять поставленные задачи. Знания о том, что такое оптимизация и с чем её едят тоже надо бы знать. skype: sanstarke vk: vk.com/marino4egg
  4. Первый вариант.
  5. при аттаче не выставить наклон
  6. Спасибо, помогло. Тему можно закрывать!
  7. Ребята, пытаюсь реализовать вынос кастомных колёс. Вот какая проблема - при изменении y + или -, колесо при обновлении позиции не понимает, в какой оси надо делать позиционирование. Вот наглядные скриншоты проблемы: Пример кода, наложения этого колеса: local x1, y1, z1 = getVehicleComponentPosition(v, ComponentName[1], 'world') local rx1, ry1, rz1 = getVehicleComponentRotation(v, ComponentName[1], 'world') setElementPosition(car_wheels[carID][1], x1, y1+1.5, z1 - 0.35 + (peredRadius * 0.44)) setElementRotation(car_wheels[carID][1], rx1, ry1+(peredRazval), rz1, "ZYX") setObjectScale(car_wheels[carID][1], peredWidth, peredRadius, peredRadius) Параметр выноса - y1+1.5 в setElementPosition. Это происходит в onClientPreRender при переборе циклом автомобилей в стриме игрока.
  8. Огромное спасибо, помогло. Можно закрывать тему!
  9. Всем привет, мб кто нибудь шарит в шейдерах. Вопрос следующего характера, необходимо покрасить наложенные на автомобиль четыре обьекта (колёса кастомные). Название текстуры у меня "body_k", написал саму систему, шейдер и при этом шейдер не очень хорошо понимает RGBA палитру. Только радикальные цвета будь то: 0,255,255,255; 255,0,0,255; 255,0,255 и т.д. При цвете например 75,0,255,255 выдает оттенок максимальный по заданым критериям, т.е. 255,0,255,255... Вот скриншот того, что пытаюсь реализовать:http://www.fotolink.su/pic_b/c03627c7d8665128f9c5ec7ecaf65c60.png (Не могу прикрепить почему-то изображение) Код шейдера: float4 gColor = float4(1,1,1,1); bool bIsGTADiffuse = true; //--------------------------------------------------------------------- // Include some common stuff //--------------------------------------------------------------------- #include "mta-helper.fx" //--------------------------------------------------------------------- // Sampler for the main texture //--------------------------------------------------------------------- sampler Sampler0 = sampler_state { Texture = (gTexture0); }; //--------------------------------------------------------------------- // Structure of data sent to the vertex shader //--------------------------------------------------------------------- struct VSInput { float3 Position : POSITION0; float4 Diffuse : COLOR0; float2 TexCoord : TEXCOORD0; }; //--------------------------------------------------------------------- // Structure of data sent to the pixel shader ( from the vertex shader ) //--------------------------------------------------------------------- struct PSInput { float4 Position : POSITION0; float4 Diffuse : COLOR0; float2 TexCoord : TEXCOORD0; }; //------------------------------------------------------------------------------------------ // VertexShaderFunction // 1. Read from VS structure // 2. Process // 3. Write to PS structure //------------------------------------------------------------------------------------------ PSInput VertexShaderFunction(VSInput VS) { PSInput PS = (PSInput)0; // Calculate screen pos of vertex PS.Position = MTACalcScreenPosition ( VS.Position ); // Pass through tex coord PS.TexCoord = VS.TexCoord; // Calculate GTA lighting for buildings float4 Diffuse = MTACalcGTABuildingDiffuse( VS.Diffuse ); PS.Diffuse = 0; if (bIsGTADiffuse) PS.Diffuse = Diffuse; else PS.Diffuse = float4(1,1,1,Diffuse.a); PS.Diffuse *= gColor; return PS; } //------------------------------------------------------------------------------------------ // PixelShaderFunction // 1. Read from PS structure // 2. Process // 3. Return pixel color //------------------------------------------------------------------------------------------ float4 PixelShaderFunction(PSInput PS) : COLOR0 { // Get texture pixel float4 texel = tex2D(Sampler0, PS.TexCoord); // Apply diffuse lighting float4 finalColor = texel * PS.Diffuse; return finalColor; } //------------------------------------------------------------------------------------------ // Techniques //------------------------------------------------------------------------------------------ technique colorize { pass P0 { VertexShader = compile vs_2_0 VertexShaderFunction(); PixelShader = compile ps_2_0 PixelShaderFunction(); } } // Fallback technique fallback { pass P0 { // Just draw normally } } Код наложение цвета, через шейдерную обработку на одно из колёс транспортного средства: local colorShader = dxCreateShader("shader.fx") local _, _, _, wheelsColorR, wheelsColorG, wheelsColorB = getVehicleColor(source, true) outputChatBox("#FFFFFFColor: R"..wheelsColorR.." G"..wheelsColorG.." B"..wheelsColorB, 0, 0, 0, true) local wheelsColor = {wheelsColorR, wheelsColorG, wheelsColorB, 255} dxSetShaderValue(colorShader, "gColor", wheelsColor) engineApplyShaderToWorldTexture(colorShader, "body_k", car_wheels[carID][1]) Need help!
  10. Привет всем. Столкнулся с проблемой. Пытаюсь реализовать "стикеры" на автомобили. Задача собственно в том, что бы с минимальными нагрузками сделать возможность накладывать на автомобиль изображения с альфаканалом и изменять позицию, ширину и поворот прямо на кузове. К постояльцам форума, есть несколько вопросов: 1. Можно ли уместить в один шейдер динамическое кол-во текстур с определенными параметрами, которые будут задаваться через setValue (shader)? 2. Как реализовать наложение изображений на подобии слоёв в фотошопе? 3. Как в шейдере указывать позицию, размер и поворот текстуры?
  11. Привет Всем бывалым. Подскажите, столкнулся с таким странным явлением как нехватка ОЗУ у клиентов. В течении 40-60 минут, игроки вылетают по причине того, что забивается память процессом gta_sa.exe На сервере всё что можно проверил, и никак не могу найти причину. Чаще всего из-за чего это может происходить на клиентской части сервера? Спасибо за помощь и советы, если они будут! Add update: - Элемент дата оптимизирована, всё в табличках и не длинных. - Используется около 10-12 шейдерных обработок на клиент со всех ресурсов суммарно. - Есть одна динамическая подгрузка текстур (~10кб) каждая на автомобили из сети в прямом эфире, во время игры. P.S. При входе и выходе из стрима элемента (в данном случае авто) из памяти удаляю с помощью destroyElement(текстура).
  12. i need to buy! give me webmoney WMZ plz
  13. Всем привет, столкнулся с дилемой, которую уже давно не могу разрешить. Есть все возможные проверки и так далее, но при кратковременном отключении интернета, можно через обычный GUI который при нажатии на кнопку триггерит серверный эвент много раз дюпать одну и ту же элемент дату. Как с макросами и подобными кратковременными отключениями интернета бороться?! Пример:
  14. Здравствуйте ребята. В ходе разработки столкнулся со следующими вопросами: 1. callRemote и fetchRemote работают по приципу очереди запросов? 2. Если да, то очередь общая? 3. Какими аналогами их можно заменить для работы с внешним api? 4. Опасно ли исполнять fetch и call в событии onPlayerJoin? Под внешним api я подразумеваю линки такого плана: http://site/api.php Модуль cURL не предлагать, ибо он сырой. После того как я намучался с его компиляцией, он запустился но при запросах ложит сервер, когда задаёшь ему POST дату. Спасибо.