Jump to content

PrototypeX

Members
  • Posts

    59
  • Joined

  • Last visited

1 Follower

Details

  • Location
    Russia
  • Occupation
    Dev

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

PrototypeX's Achievements

Snitch

Snitch (10/54)

1

Reputation

  1. Это долгий и упорный труд. Конверт, либо построение кусками с нуля. Тут дело вкуса.
  2. Hello, dear friends and players in MTA:SA! In the Russian Federation, the MTA is gaining rapid popularity! I am the creator of the project "SMOTRAmta", and we already order advertising from the most popular bloggers in Youtube Russia. Our proposal is to make a tab of the servers that contributed to the development of Multi Theft Auto. We have two servers, the total online of which is 1000 people, a large community and a quality website. Here are some examples of advertising: Thank you for your attention, we hope you will consider our offer! We are also grateful to all developers of Multi Theft Auto and wish the successful and further development of the project as a whole.
  3. Приветствую всех. Уже давно не могу справится с одной проблемой. Схема такая: - Ресурс: vehicles - Ресурс: houses - Ресурс: businesses В каждом ресурсе есть своя глобальная таблица pl_vehs = {} houses = {} businesses = {} И проблема вот в чем, в ресурсе vehicles каждый игрок имеет 1-4 своих ячейки в таблице pl_vehs в таблицу pl_vehs = {} заносятся авто следующим образом: к примеру спавн: pl_vehs[carID] = createVehicle(tonumber(car_Info["model"]), x, y, z, 0, 0, rZ-90) Всё вроде хорошо, дальше задаётся элемент дата, играется прекрасно. Но вот спустя какое-то время при онлайне 100-300 чел. начинается следующая проблема: человек спавнит машину, и вместо неё телепортируется либо рандомный обьект маппинга, либо элемент (в виде пикапа) из houses[] или из bussineses[] Короче говоря функция createVehicle каким-то х... телепортирует уже существующий на сервере элемент, причем даже иногда игрока телепортирует. Как это возможно?! В дебаге и консоли никаких ошибок!(
  4. Ребята подскажите, можно ли наложить на автомобиль (точнее на элемент кузова который красится) два шейдера и/или более? Например. Первый шейдер ложится с одной текстурой, второй с альфаканалом в 50 и получается так, что сначала идет картинка (винил), а затем поверх неё шейдер с глянцем (отражениями из screensource DX)?
  5. Если рассматривать СНГ, то тут есть не только БПАН и Дрифт, а ещё и годные RPG проекты вроде нашего SMOTRAmta, и наших конкурентов CCD и готовящимся радмиром.. Всё довольно таки быстро и стремительно развивается. И у девелоперов в МТА возможностей гораздо больше чем в САМПе!!!
  6. Просто отставлю пост о том, что есть подработка здесь. В проект SMOTRAmta (Онлайн 400-500+), требуются опытные разработчики для выполнения разнообразных задач по написанию ресурсов (или частей ресурсов). Обязателен опыт разработки игровых серверов MTA и синтаксиса LUA. Уметь быстро и качественно выполнять поставленные задачи. Знания о том, что такое оптимизация и с чем её едят тоже надо бы знать. skype: sanstarke vk: vk.com/marino4egg
  7. при аттаче не выставить наклон
  8. Ребята, пытаюсь реализовать вынос кастомных колёс. Вот какая проблема - при изменении 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 при переборе циклом автомобилей в стриме игрока.
  9. Огромное спасибо, помогло. Можно закрывать тему!
  10. Всем привет, мб кто нибудь шарит в шейдерах. Вопрос следующего характера, необходимо покрасить наложенные на автомобиль четыре обьекта (колёса кастомные). Название текстуры у меня "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!
  11. Привет всем. Столкнулся с проблемой. Пытаюсь реализовать "стикеры" на автомобили. Задача собственно в том, что бы с минимальными нагрузками сделать возможность накладывать на автомобиль изображения с альфаканалом и изменять позицию, ширину и поворот прямо на кузове. К постояльцам форума, есть несколько вопросов: 1. Можно ли уместить в один шейдер динамическое кол-во текстур с определенными параметрами, которые будут задаваться через setValue (shader)? 2. Как реализовать наложение изображений на подобии слоёв в фотошопе? 3. Как в шейдере указывать позицию, размер и поворот текстуры?
  12. Привет Всем бывалым. Подскажите, столкнулся с таким странным явлением как нехватка ОЗУ у клиентов. В течении 40-60 минут, игроки вылетают по причине того, что забивается память процессом gta_sa.exe На сервере всё что можно проверил, и никак не могу найти причину. Чаще всего из-за чего это может происходить на клиентской части сервера? Спасибо за помощь и советы, если они будут! Add update: - Элемент дата оптимизирована, всё в табличках и не длинных. - Используется около 10-12 шейдерных обработок на клиент со всех ресурсов суммарно. - Есть одна динамическая подгрузка текстур (~10кб) каждая на автомобили из сети в прямом эфире, во время игры. P.S. При входе и выходе из стрима элемента (в данном случае авто) из памяти удаляю с помощью destroyElement(текстура).
×
×
  • Create New...