PrototypeX

Members
  • Content count

    58
  • Joined

  • Last visited

Community Reputation

1 Neutral

About PrototypeX

  • Rank
    Snitch

Details

  • Location
    Russia
  • Occupation
    Dev
  1. Приветствую всех. Уже давно не могу справится с одной проблемой. Схема такая: - Ресурс: 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 каким-то х... телепортирует уже существующий на сервере элемент, причем даже иногда игрока телепортирует. Как это возможно?! В дебаге и консоли никаких ошибок!(
  2. Ребята подскажите, можно ли наложить на автомобиль (точнее на элемент кузова который красится) два шейдера и/или более? Например. Первый шейдер ложится с одной текстурой, второй с альфаканалом в 50 и получается так, что сначала идет картинка (винил), а затем поверх неё шейдер с глянцем (отражениями из screensource DX)?
  3. Почему МТА загибается?

    Если рассматривать СНГ, то тут есть не только БПАН и Дрифт, а ещё и годные RPG проекты вроде нашего SMOTRAmta, и наших конкурентов CCD и готовящимся радмиром.. Всё довольно таки быстро и стремительно развивается. И у девелоперов в МТА возможностей гораздо больше чем в САМПе!!!
  4. Просто отставлю пост о том, что есть подработка здесь. В проект SMOTRAmta (Онлайн 400-500+), требуются опытные разработчики для выполнения разнообразных задач по написанию ресурсов (или частей ресурсов). Обязателен опыт разработки игровых серверов MTA и синтаксиса LUA. Уметь быстро и качественно выполнять поставленные задачи. Знания о том, что такое оптимизация и с чем её едят тоже надо бы знать. skype: sanstarke vk: vk.com/marino4egg
  5. Вынос колёс, нужна помощь

    Первый вариант.
  6. Вынос колёс, нужна помощь

    при аттаче не выставить наклон
  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(текстура).
  13. i need to buy! give me webmoney WMZ plz
  14. Всем привет, столкнулся с дилемой, которую уже давно не могу разрешить. Есть все возможные проверки и так далее, но при кратковременном отключении интернета, можно через обычный GUI который при нажатии на кнопку триггерит серверный эвент много раз дюпать одну и ту же элемент дату. Как с макросами и подобными кратковременными отключениями интернета бороться?! Пример: