Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 05/04/20 in Posts

  1. Opa, desculpe, eu lhe informo o erro sim, o erro estava na seguinte linha : if (source == binco1m and getElementType(player) == "player") then Está certo, mas, o que esta de errado ai? Nesse caso, o source é o marker que você atingiu, certo? Então nesse caso, está tentando fazendo o seguinte : if (source == binco1m) then --# "source" o MARKER que você colidiu. --# "binco1m" o MARKER que você quer colidir. --# Então essa verificação, vai verificar se o marker que você quer colidir, é o que você colidiu. Só que o seguinte, o marker que você denominou na criação do seu marker foi "bincoB". bincoB = createMarker(217.5, -98, 1006, "arrow", 1.5, 255, 0, 0) Então, você precisaria trocar o nome na verificação de "binco1m" para "bincoB" na sua verificação, assim : if (source == bincoB and getElementType(player) == "player") then Entende? Espero que sim, o erro só foi esse aparentemente.
    2 points
  2. Pelo que notei, e noto pessoas com o mesmo problemas diariamente, é o seguinte : Se abrir o wiki no dxCreateFont, diz o seguinte : "Successful font creation is not guaranteed, and may fail due to hardware or memory limitations." Ou seja, no que eu entendo desses casos, o problema esta relativamente no client, e não no servidor, por algum motivo não está criando a fonte, e fica invisível o dxDrawText, porquê vai da erro no argumento 8, na fonte, pois, ela não foi criada. O servidor pode até corrigir isso para o client conseguir jogar, porem, não é somente no dxCreateFont que vai encontra o problema, vai encontrar o problema em outras funções como a função dxCreateTexture por exemplo.
    2 points
  3. I will somewhere this week publish a new version of this resource. Because I wanted to finish it at-least. Uncompiled Better optimised than previous versions. CPU (3,5-3,9 GHz) 4 trains +/- 1.22% usage 40 trains +/- 7.05% usage Overkill Cleaned up a lot of the old code (I wrote this in 2015.. , never the less it is still ugly :C) Added some custom train-cart designs. Fixed all known bugs. Trains won't stop, even in this version. But you can try to make that yourself... If you want to test it out, before I put it on the community, free feel to send me a message. But in return I did like to receive some feedback.
    2 points
  4. Project trains This resource creates multiple trains driving around the map and make them drive automatic. It makes San Andreas a little bit more alive. You can set-up how much trains are created, how fast they go, minimal/maximal amount of trainscarts they are pulling and some more. Versions Version 1.0.0 Serverside time synced trains for multiplayer Admin panel settings Version 2.0.0 Uncompiled Better optimised than previous versions. CPU (3,5-3,9 GHz) 4 trains +/- 1.22% usage 40 trains +/- 7.05% usage Overkill Cleaned up a lot of the old code (I wrote this in 2015.. , never the less it is still ugly :C) Added some custom train-cart designs. Fixed all known bugs. Trains won't stop, even in this version. But you can try to make that yourself... Improved bandwidth You can design your own traincarts in the map editor, see documentation after clicking on the lazy download link Bugs: GTA spawn bug: Incorrect train spawn, see documentation. Repository Lazy <you> transport Armed to the teeth Admin panel settings Building your own traincarts with the map editor Download here - project trains 2.0.0
    1 point
  5. Hey, For several weeks I have a lot of problems with lag on our server when it is full (700-800 players). I have made every effort to get rid of the problem. Unfortunately, the server situation has still not changed. The problem is I don't know what I can do to improve the situation. Statistics (server info in perfomance browser) dont show server overload. Below are some sample screenshots of server info. server specification: CPU: Intel Xeon-E 2288G (4.8GHz Turbo Boost) Bandwidth: 1 Gb/s Memory: 64 GB RAM SSD NVMe In addition, we encounter major synchronization problems (which leads to bugs). For some players, the vehicle stands in one place for several minutes, while in others it drives and synchronizes on a regular basis. The player entering (or onto) the vehicle he is standing at can teleport. Examples in the spoiler. Thank you in advance for your reply and help.
    1 point
  6. so everything works but wheen resizing the bug appears? I see you alternated between the normal attachelements and the one with calculations with same results, this shouldn't happen maybe its the wheel size different then mine, try this line inside the onclientprerender function: attachElements(wheel1, vehicle, px1, py1, pz1+getElementDistanceFromCentreOfMassToBaseOfModel(wheel1)*getObjectScale(wheel1)-getElementDistanceFromCentreOfMassToBaseOfModel(wheel1)*0.70, wrx1, wry1, wrz1) this 0.70 is a offset increment to adjust the wheel Z, you change this value a bit more or less to check if it helps, the thing is using this line, the center of the whell should go up or down depending on the scroll and not stay in the same height, if its not happening check db3 if something is returning null btw, if you need I can send my full code to check if something helps, you can still do yours for the features you are adding like the wheel thickness etc
    1 point
  7. yes thats correct, the onclientprerender will only do the positioning and rotation, and the onClientGUIScrollon function will only do the resizing, I dont get why you are getting those bugs since my function appears to be the same as yours, also I tested with 4 wheels no problem, just add the 4 objects and each one has its positions and attachelements, my function looks like this: command function = [create gui and hide normal car wheels; done once=(create 4 wheels objects and scale then to 0.7 just to first visual effect; start the onclienprerender function) ] onclientguiscroll function = [scale each wheel using the scroll position / 100] onclientprerender function = [ getVehicleComponentRotation for each wheel; getVehicleComponentPosition for each wheel; attachelements for each wheel ] maybe your onclientprerender function is auto incrementing some global variable, pls send your onclientprerender function
    1 point
  8. خد مالو داعي الخاص ----Serverside only createRadarArea( هنا حط المكان متل ما الويكي موضح) pos = createColRectangle(هنا حط المكان متل ما الويكي موضح ) addEventHandler("onColShapeHit", pos, function (hl, md) local grp = getElementData(hl, "Group") == "هنا حط اسم القروب الي انت عاوز تخلي المكان اله فقط و لو حد تاني دخل يموت" if isElement(hl) and getElementType(hl) == "player" and md and not grp then killPed ( hl ) end end) مو مجرب بس متئكد انه يشتغل 100% ولو حبيت تضيف اي شيئ يسعدني انك تحكي لي ايش بدك تضيف و انا راح اساعدك
    1 point
  9. you need to set 2 lines handling the attachments of wheels (attachelements) and they should be the same (the params), or this wheel jumping effect will happen, because the onclientprerender is fighting with the scrollbar event, so you can try setting the wheel size in a separate function from the onclientprerender, also check if your gui function is not recreating the wheel or reseting some variables, the way i did: the function that opens the gui create the wheel and attach to the car using offsets by getelementcomponentposition, and start the function with the onclientprerender, this is done once if I open the gui again, I have a if with return to prevent double execution, its looking like this: edit: I will try setting the 4 wheels to check if any bugs with the scrollbar
    1 point
  10. I assume you mean MTA nightly: https://nightly.multitheftauto.com/
    1 point
  11. Deixarei o código aqui, que lhe enviei privado com as correções (Que acabei deixando passar). local screenW,screenH = guiGetScreenSize() local x, y = (screenW/1366), (screenH/768) --# Simples. local aba_painel_principal = 0 local aba_painel_menus = "Nenhum" --/> Falto isso. addEventHandler("onClientRender", getRootElement(), function () if aba_painel_principal == 0 then dxDrawRectangle(x*1366/2, y*(768/2), x*200, y*30, tocolor(100, 0, 0, 100), false) --/> Admin else dxDrawRectangle(x*1366/2, y*(768/2), x*200, y*30, tocolor(0, 0, 0, 100), false) --/> Admin end if aba_painel_principal == 1 then dxDrawRectangle(x*1366/2, y*(768/2)+35, x*200, y*30, tocolor(100, 0, 0, 100), false) --/> Policia else dxDrawRectangle(x*1366/2, y*(768/2)+35, x*200, y*30, tocolor(0, 0, 0, 100), false) --/> Policia end if aba_painel_principal == 2 then dxDrawRectangle(x*1366/2, y*(768/2)+35*2, x*200, y*30, tocolor(100, 0, 0, 100), false) --/> Inventário else dxDrawRectangle(x*1366/2, y*(768/2)+35*2, x*200, y*30, tocolor(0, 0, 0, 100), false) --/> Inventário end if aba_painel_principal == 3 then dxDrawRectangle(x*1366/2, y*(768/2)+35*3, x*200, y*30, tocolor(100, 0, 0, 100), false) --/> Animação else dxDrawRectangle(x*1366/2, y*(768/2)+35*3, x*200, y*30, tocolor(0, 0, 0, 100), false) --/> Animação end if aba_painel_principal == 4 then dxDrawRectangle(x*1366/2, y*(768/2)+35*4, x*200, y*30, tocolor(100, 0, 0, 100), false) --/> Ações else dxDrawRectangle(x*1366/2, y*(768/2)+35*4, x*200, y*30, tocolor(0, 0, 0, 100), false) --/> Ações end if aba_painel_principal == 5 then dxDrawRectangle(x*1366/2, y*(768/2)+35*5, x*200, y*30, tocolor(100, 0, 0, 100), false) --/> Veiculo else dxDrawRectangle(x*1366/2, y*(768/2)+35*5, x*200, y*30, tocolor(0, 0, 0, 100), false) --/> Veiculo end if aba_painel_menus == "Admin" then dxDrawRectangle(x*(1366/2)-200, y*(768/2)+35*5, x*200, y*100, tocolor(100, 100, 0, 100), false) elseif aba_painel_menus == "Policia" then dxDrawRectangle(x*(1366/2)-200, y*(768/2)+35*5, x*200, y*100, tocolor(255, 0, 0, 100), false) elseif aba_painel_menus == "Inventário" then dxDrawRectangle(x*(1366/2)-200, y*(768/2)+35*5, x*200, y*100, tocolor(100, 100, 100, 100), false) elseif aba_painel_menus == "Animação" then dxDrawRectangle(x*(1366/2)-200, y*(768/2)+35*5, x*200, y*100, tocolor(0, 100, 0, 100), false) elseif aba_painel_menus == "Ações" then dxDrawRectangle(x*(1366/2)-200, y*(768/2)+35*5, x*200, y*100, tocolor(0, 0, 100, 100), false) elseif aba_painel_menus == "Veiculo" then dxDrawRectangle(x*(1366/2)-200, y*(768/2)+35*5, x*200, y*100, tocolor(0, 0, 255, 100), false) end end) --/> Subir Botão (arrow_u). function subir_tecla () if aba_painel_principal >= 1 then aba_painel_principal = aba_painel_principal - 1 else outputChatBox("Você Subiu no Limite!") end end bindKey("arrow_u", "down", subir_tecla) --/> Descer Botão (arrow_d) function descer_tecla () if aba_painel_principal <= 4 then aba_painel_principal = aba_painel_principal + 1 else outputChatBox("Você Desceu no Limite!") end end bindKey("arrow_d", "down", descer_tecla) --/> Acessa Painel (Enter). function confirmar_tecla () if aba_painel_principal == 0 then outputChatBox("Admin") aba_painel_menus = "Admin" elseif aba_painel_principal == 1 then outputChatBox("Policia") aba_painel_menus = "Policia" elseif aba_painel_principal == 2 then outputChatBox("Inventário") aba_painel_menus = "Inventário" elseif aba_painel_principal == 3 then outputChatBox("Animação") aba_painel_menus = "Animação" elseif aba_painel_principal == 4 then outputChatBox("Ações") aba_painel_menus = "Ações" elseif aba_painel_principal == 5 then outputChatBox("Veiculo") aba_painel_menus = "Veiculo" end end bindKey("enter", "down", confirmar_tecla) --/> Retorna (backspace) function voltar_tecla () if aba_painel_menus ~= "Nenhum" then aba_painel_menus = "Nenhum" end end bindKey("backspace", "down", voltar_tecla)
    1 point
  12. Como o Gw8 disse, faça a sync do shader com elementData, eu criei o código que vai fazer a sync para todos players, se quiser que seja para alguns você terá que editar. Código: pShaders = {} tTextures = {} addEventHandler( "onClientResourceStart", resourceRoot, function() tTextures["M4A1[057]"] = dxCreateTexture("image1.png") end ) addCommandHandler( "t", function() applyShader( tTextures, localPlayer, true ) end ) addCommandHandler( "v", function() removeShader( localPlayer, true ) end ) function applyShader( t, player, sync ) if type(t) == "table" and isElement(player) then for tex_name, tex_element in pairs(t) do local s = dxCreateShader('tex_replace.fx', 0, 0, true, 'ped') table.insert( pShaders, {s, tex_name} ) dxSetShaderValue(s, 'gTexture', tex_element) engineApplyShaderToWorldTexture(s, tex_name, player) end if sync then setElementData(player, "wTexChange", true) end end end function removeShader( player, sync ) if pShaders and isElement(player) then for _, t in pairs(pShaders) do engineRemoveShaderFromWorldTexture( t[1], t[2], player ) end if sync then setElementData(player, "wTexChange", false) end end end addEventHandler( "onClientElementDataChange", root, function(theKey, _, newValue) if theKey == "wTexChange" and source ~= localPlayer then if newValue == true then applyShader( tTextures, source ) elseif newValue == false then removeShader( source ) end end end ) Além do mais eu não testei esse código, e o mais importante, que o Gw8 também citou, é fazer ativação/desativação do shader com os eventos onClientElementStreamIn e onClientElementStreamOut.
    1 point
  13. يعطيك العافيه شفت التركيبة حقتها بس نسيت احط 1 بدال k
    1 point
  14. Isso me passou despercebido, se ocorre em todos servidores, então realmente só pode ser um problema no lado dele. Sim, isso deve ser com todas funções DX e por falta de memória de vídeo. O que o @miguelanjos373 poderia fazer para ver as informações relacionadas é utilizar o comando in-game showmemstat. Apesar de ele mesmo afirmar que o PC é bom o suficiente, o problema pode ter relação com isso. Falei inicialmente de ter sido alguma falha do servidor (por conta de má programação e mods), pois é essa a realidade na grande maioria dos servidores brasileiros hoje em dia, e dentro do meu entendimento, se tiver um abuso com funções que exigem memória de vídeo, como: texturas, texturas do jogo, fontes, render targets, efeitos em geral, como shader, isso pode ocorrer dependendo do PC do jogador. Mas como isso se repete em todos os servidores, como foi dito, deve ser algo com o PC ou jogo dele. Até melhor, o servidor pode fazer um bom uso de dxGetStatus para informar o jogador com informações e caso falte memória por exemplo. Fazer um fallback para um jogador que não tem memória de vídeo disponível é algo que nenhum server vai se dar ao trabalho, já que não se dispõe nem a otimizar seus códigos.
    1 point
  15. Você me enviou MP, mas, responderei aqui também ! Opa, tem sim ! função se chama setWeaponProperty. Ex: setWeaponProperty("m4", "pro", "weapon_range", 50.0) setWeaponProperty("m4", "std", "weapon_range", 50.0) setWeaponProperty("m4", "poor", "weapon_range", 50.0)
    1 point
  16. createColRectangle ١ createRadarArea تحقق إذا كان الاعب فل المكان الي انت محدده هنا عند رقم ١ isElementWithinColShape تحقق إذا كان فل قروب أو لا GetElementData ثم قم بقتل الاعب killPed
    1 point
  17. send your code, maybe the glitch is related to the scrollbar, I did some testing and the suspension effect is posible with setting a variable (z of https://wiki.multitheftauto.com/wiki/GetVehicleComponentPosition) to the attachelements Z offset instead of fixed number, for now it is required to adjust Z+- if trying with other car, but testing with one car the object wheel looks like a real one managed from gta, no bugs resizing or while driving
    1 point
  18. I didnt see the angle problem before, I tested here and got the same wheel angle problem in the image you sent, the fix is simple: instead of using setelementrotation in the onclientprerender, use the last tree arguments in attachelements (the angle ones): attachElements(roda,getPedOccupiedVehicle(localPlayer),rodax,roday,rodaz+getElementDistanceFromCentreOfMassToBaseOfModel(roda)*getObjectScale(roda)-getElementDistanceFromCentreOfMassToBaseOfModel(roda),rodarx,rodary,rodarz) so I removed the setelementrotation and set the attachelements above to handle rotations, works nice at any angle plus seems to remove the wobbling, about the suspension I will do some more testing, and to remove the db3 warning you can set a command with a global flag to check if the code should proceed or halt, use if to check if the flag is true or false, if false use return, something like: if not wheelmanipulation then return end
    1 point
  19. We all know that this is a result of something being unoptimized in your server, but please tell us what it was so that other scripters can see a practical example of script abuse that results in high RakNet thread usage like this. Especially the interested ones that have been following conversations on the MTA Discord in which we tried to help you troubleshoot. Also, please mention how you fixed the problem or how you optimized it.
    1 point
  20. Fiz algo bem simples, de uma maneira bem fácil(leiga), espero que te ajude na suas dúvidas. Lembrando, isso é apenas um exemplo de como você pode fazer. (Não testado). local screenW,screenH = guiGetScreenSize() local x, y = (screenW/1366), (screenH/768) --# Simples. local aba_painel = 0 addEventHandler("onClientRender", getRootElement(), function () if aba_painel == 0 then dxDrawRectangle(x*1366/2, y*(768/2), x*200, y*30, tocolor(100, 0, 0, 100), false) --/> Admin else dxDrawRectangle(x*1366/2, y*(768/2), x*200, y*30, tocolor(0, 0, 0, 100), false) --/> Admin end if aba_painel == 1 then dxDrawRectangle(x*1366/2, y*(768/2)+35, x*200, y*30, tocolor(100, 0, 0, 100), false) --/> Policia else dxDrawRectangle(x*1366/2, y*(768/2)+35, x*200, y*30, tocolor(0, 0, 0, 100), false) --/> Policia end if aba_painel == 2 then dxDrawRectangle(x*1366/2, y*(768/2)+35*2, x*200, y*30, tocolor(100, 0, 0, 100), false) --/> Inventário else dxDrawRectangle(x*1366/2, y*(768/2)+35*2, x*200, y*30, tocolor(0, 0, 0, 100), false) --/> Inventário end if aba_painel == 3 then dxDrawRectangle(x*1366/2, y*(768/2)+35*3, x*200, y*30, tocolor(100, 0, 0, 100), false) --/> Animação else dxDrawRectangle(x*1366/2, y*(768/2)+35*3, x*200, y*30, tocolor(0, 0, 0, 100), false) --/> Animação end if aba_painel == 4 then dxDrawRectangle(x*1366/2, y*(768/2)+35*4, x*200, y*30, tocolor(100, 0, 0, 100), false) --/> Ações else dxDrawRectangle(x*1366/2, y*(768/2)+35*4, x*200, y*30, tocolor(0, 0, 0, 100), false) --/> Ações end if aba_painel == 5 then dxDrawRectangle(x*1366/2, y*(768/2)+35*5, x*200, y*30, tocolor(100, 0, 0, 100), false) --/> Veiculo else dxDrawRectangle(x*1366/2, y*(768/2)+35*5, x*200, y*30, tocolor(0, 0, 0, 100), false) --/> Veiculo end if aba_painel_menus == "Admin" then dxDrawRectangle(x*(1366/2)-200, y*(768/2)+35*5, x*200, y*100, tocolor(100, 100, 0, 100), false) elseif aba_painel_menus == "Policia" then dxDrawRectangle(x*(1366/2)-200, y*(768/2)+35*5, x*200, y*100, tocolor(255, 0, 0, 100), false) elseif aba_painel_menus == "Inventário" then dxDrawRectangle(x*(1366/2)-200, y*(768/2)+35*5, x*200, y*100, tocolor(100, 100, 100, 100), false) elseif aba_painel_menus == "Animação" then dxDrawRectangle(x*(1366/2)-200, y*(768/2)+35*5, x*200, y*100, tocolor(0, 100, 0, 100), false) elseif aba_painel_menus == "Ações" then dxDrawRectangle(x*(1366/2)-200, y*(768/2)+35*5, x*200, y*100, tocolor(0, 0, 100, 100), false) elseif aba_painel_menus == "Veiculo" then dxDrawRectangle(x*(1366/2)-200, y*(768/2)+35*5, x*200, y*100, tocolor(0, 0, 255, 100), false) end end) function subir_tecla () if aba_painel_principal >= 1 then aba_painel_principal = aba_painel_principal - 1 else outputChatBox("Você Subiu no Limite!") end end bindKey("arrow_u", "down", subir_tecla) function descer_tecla () if aba_painel_principal <= 4 then aba_painel_principal = aba_painel_principal + 1 else outputChatBox("Você Desceu no Limite!") end end bindKey("arrow_d", "down", descer_tecla) function confirmar_tecla () if aba_painel_principal == 0 then outputChatBox("Admin") aba_painel_menus = "Admin" elseif aba_painel_principal == 1 then outputChatBox("Policia") aba_painel_menus = "Policia" elseif aba_painel_principal == 2 then outputChatBox("Inventário") aba_painel_menus = "Inventário" elseif aba_painel_principal == 3 then outputChatBox("Animação") aba_painel_menus = "Animação" elseif aba_painel_principal == 4 then outputChatBox("Ações") aba_painel_menus = "Ações" elseif aba_painel_principal == 5 then outputChatBox("Veiculo") aba_painel_menus = "Veiculo" end end bindKey("enter", "down", confirmar_tecla) function voltar_tecla () if aba_painel_menus ~= "Nenhum" then aba_painel_menus = "Nenhum" end end bindKey("backspace", "down", voltar_tecla)
    1 point
  21. لو تقرأ تركيب الوظيفة من الويكي افضل ... guiGridListSetItemColor (GUIEditor.gridlist[1], row,1, 255, 0, 0)
    1 point
  22. بسم الله الرحمن الرحيم السلام عليكم ورحمه الله وبركاته اليوم معانا مود جديد المود عبارة عن : 1 - عاجل 2 - مع لوق 3 - تقدر تكتب مكان اسمك فيه اسم عربي *للمعلومة السكربت مو موجود بأي سيرفر غير سيرفرات* @MR.Mosa @MR.S3D @MrKAREEM صور المود : صورة لوحة التحكم في اسم العاجل : " رابط التحميل " ❃ ⌠ رابط التحميل هنا ⌡ ❃ الاهدائات : @!#DesTroyeR_,) @MrKAREEM @Mr.Falcon @DABL @KillerX @NX_CI @[AcM] - Major . @MR_Mahmoud @Ahmed Ly @MR.Mosa @+Source|> @Abu-Solo @SuperX @Mr.CnTroL والسلام عليكم ورحمه الله وبركاته تحياتي : *Kareem Amer*
    1 point
  23. you need the wheels at ground level while moving the scrollbar? you can change the attachelements z offset, then you will need to calc the distance from the center off the wheel (the attached one) using https://wiki.multitheftauto.com/wiki/GetGroundPosition and https://wiki.multitheftauto.com/wiki/GetElementDistanceFromCentreOfMassToBaseOfModel Im not sure if this will work with resized object, but if not, you can https://wiki.multitheftauto.com/wiki/GetObjectScale to do the math, about the wheel rotations you can use: https://wiki.multitheftauto.com/wiki/GetVehicleComponentRotation and setElementRotation
    1 point
  24. Locked (For making a script request) and acting like it is not a big deal with a topic bump, after you received the information you needed to know.
    1 point
  25. You can use optional argument 'edgeTolerance' of getScreenFromWorldPosition. If 'location point' is out of screen, function will return screen x,y position outside of screen resolution. You only have to format returned x,y to be on edge of screen resolution. https://i.imgur.com/tkVGLBX.png It will return false if 'location point' is behind the screen.
    1 point
  26. Nope, just the way you are doing it in your example. A flat structure, because each complexity in the structure will make it more complicated to save. You can later add a next layer on top of your table, to improve searching performance, if you so desire. Finding your item? Do it how a human would do, check every item in the list until you find the right one and stop searching.
    1 point
  27. Options: A. use the command: /refreshall B. Empty your client cache MTA San Andreas X\mods\deathmatch\resources Source:
    1 point
  28. hmm, it is kind of a strange error. Since freeroam doesn't request the files from the path /data/ rows={xml='stats.xml', attrs={'name', 'id'}}, File fr_client.Lua. Line 461 This error is showing when starting freeroam or always?
    1 point
  29. You can use the addCommandHandler. addCommandHandler ( "givemoney", function (responsibleElement, commandName, teamName, money) iprint("givemoney command used") if responsibleElement and getElementType(responsibleElement) == "console" then iprint("the one used the command is the console") money = tonumber(money) if teamName and money then iprint("parameters are valid!") -- do your stuff end end end)
    1 point
  30. In most cases not. It does indeed reduce memory, but that only matters when the variable contains a lot of data. For example: A variable that contains a table reference with > 1000 items. Cleaning this data will not boost your performance directly, it will only allow your users to use less HDD memory when they do not have enough ram installed. Which will indirect result in improving the performance. People with 4 gb ram installed on a windows 10 computer, that is segment you are helping.
    1 point
  31. if the dude really writes a complaint about me for Mut. Then here you are (spam): https://d.radikal.ru/d38/2004/84/43f85cb175ac.png https://b.radikal.ru/b07/2004/f0/6d414c80e9ae.png https://b.radikal.ru/b39/2004/cc/6184f760be47.png https://d.radikal.ru/d02/2004/8d/9556ef825b33.png
    0 points
×
×
  • Create New...