Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 22/04/21 in all areas

  1. Hi. 170 markers should not cause continuous FPS drops, after creation. Maybe you have an onClientRender event where you loop trough these markers in every frame? Or something similar?
    1 point
  2. Client-side: Server-side: Fiz este exemplo pois é muito detalhe pra explicar só com texto.
    1 point
  3. بكل اختصار تحط على كائن مفتاح معين وقيمة مثال pointsابغا احط على الاعب الفلاني مفتاح اسمه والقيمة حقته خلينا نقول 5 setElementData(player,"points",5) ملاحظة: الالتمت داتا تقبل أي قيمة حتى لو كانت كائن أو جدول حاليا الداتا هذي راح تنحفظ على الاعب لين مايطلع من السيرفر أو لو حطيتها على كائن أخر زي مركبة راح تجلس لين تنحذف المركبة طيب اوك الحين كيف اجيبها؟ getElementData بإستخدام المفتاح تستخدم local points = getElementData(player,"points") طبعا في شي يتميز فيه الالتمت داتا وهي المزامنة الان بما انك حطيت النقاط المزامنة مفعلة كيف؟ يمديك تجيب الداتا هذي بجانب اخر مثلا الكلينت طبعا أنصحك وشي جدا ضروري تقفل المزامنة إذا ماتحتاجها ( الارقمنت الرابع ) مثال setElementData(player,"points",5,false) انا على سبيل المثال هنا ماحتاج الداتا هذي تتزامن للكلينت لأني ماحتاجها هناك أحتاجها بالسيرفر فقط .طبعا أنا اشوف الأفضل تستخدم الجداول بدلاً من الالتمت داتا لأن يمديك تزامنها براحتك وللاعبيين محددين
    1 point
  4. -- Author: XaskeL -- Created 06/05/2021 -- https://forum.multitheftauto.com/topic/130202-question-dx-render-target-rounded-corners/ local SHADER_CODE = base64Decode( "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AgAAAwEACIAAAP+AAAAAoQIAAAMBAAiAAQD/gAYAAKAEAAAEAQAIgAEA/4ADAAChAwCqgAUAAAMBAAiAAQD/gAUA/6ACAAADAgABgAAA/4ECAACgWAAABAAACIAAAP+ACACqoQgAVaFYAAAEAQAIgAIAAIAFAP+gAQD/gAEAAAIAAASAAQAAoAIAAAMAAAeAAADkgQEA5IACAAADAQABgAAAAIAAAAChAgAAAwEAAYABAACABgAAoAQAAAQBAAGAAQAAgAMAAKEDAKqABQAAAwEAAYABAACABQD/oAIAAAMBAAKAAAAAgQIAAKBYAAAEAQABgAEAVYABAP+AAQAAgFoAAAQAAAKAAADpgAAA6YAIAFWgWAAABAAAAYAAAACAAAD/gAgA/6AHAAACAAACgAAAVYAGAAACAAACgAAAVYACAAADAAAEgAAAVYAAAAChAgAAAwAAAoAAAFWBAgAAoAIAAAMAAASAAACqgAYAAKAEAAAEAAAEgAAAqoADAAChAwCqgAUAAAMAAASAAACqgAUA/6BYAAAEAAACgAAAVYAFAP+gAACqgFgAAAQAABGAAAAAgAEAAIAAAFWABQAAAwAACIAAAACAAAD/kFgAAAQBAAeABwAAoQAA5JADAKqABQAAAwAAB4ABAOSABADkoAEAAAIACA+AAADkgP//AAA" ); local g_pShader = dxCreateShader( SHADER_CODE ); local _dxRenderTarget = dxDrawRectangle; local _tocolor = tocolor; local function dxDrawRectangle( fPosX, fPosY, fWidth, fHeight, vColor, bPostDraw, bRound, fRadius, fBorderSoft ) if ( not bRound ) then _dxRenderTarget( fPosX, fPosY, fWidth, fHeight, vColor, bPostDraw ); else if ( type ( vColor ) == "table" ) then dxSetShaderValue( g_pShader, "radius", fRadius ); dxSetShaderValue( g_pShader, "borderSoft", fBorderSoft ); dxSetShaderValue( g_pShader, "color", vColor ); dxDrawImage( fPosX, fPosY, fWidth, fHeight, g_pShader, 0, 0, 0, -1, bPostDraw ); end end end local function tocolor( iRed, iGreen, iBlue, iAlpha, bToShader ) if ( not bToShader ) then return _tocolor( iRed, iGreen, iBlue, iAlpha ); else return { iRed / 255, iGreen / 255, iBlue / 255, iAlpha / 255 }; end end; local RED = tocolor( 255, 0, 0, 255, true ); addEventHandler( "onClientRender", root, function ( ) dxDrawRectangle( 600, 600, 256, 256, RED, false, true, 0.2, 0.01 ); end ); I took the shader code from DGS and compiled it (for review, I hope thisdp won't mind). You don't have to drag around a huge number of files if you only need to draw the antialiased corners in dxDrawRectangle. Which you yourself can grab into the RenderTarget.
    1 point
×
×
  • Create New...