MSHOOSH Posted May 22, 2013 Share Posted May 22, 2013 (edited) السلام عليكم ورحمه الله و بركاته ابي اسوي مااركر و فوقه كتابة dx وش الفكشنات ؟ + انا بسوي بيت مثلا اسوي اوبجكت و احط عنده ماركر الانتقال بس داخل البيت كيف اسويه ؟ بالغلط ي ليت ينقل للبرمجة Edited May 22, 2013 by Guest Link to comment
iPrestege Posted May 22, 2013 Share Posted May 22, 2013 ماتحس القسم خطأ ذذ getElementPosition -- Marker getWorldFromScreenPosition getCameraMatrix getDistanceBetweenPoints3D dxDrawText setElementInterior Link to comment
AhmeD~9MoD Posted May 23, 2013 Share Posted May 23, 2013 السلام عليكم ورحمه الله و بركاته ابي اسوي مااركر و فوقه كتابة dx وش الفكشنات ؟ + انا بسوي بيت مثلا اسوي اوبجكت و احط عنده ماركر الانتقال بس داخل البيت كيف اسويه ؟ بالغلط ي ليت ينقل للبرمجة آخوي موب أوبجكت , البيوت بـ انترور setElementInterior Link to comment
MSHOOSH Posted May 23, 2013 Author Share Posted May 23, 2013 السلام عليكم ورحمه الله و بركاته ابي اسوي مااركر و فوقه كتابة dx وش الفكشنات ؟ + انا بسوي بيت مثلا اسوي اوبجكت و احط عنده ماركر الانتقال بس داخل البيت كيف اسويه ؟ بالغلط ي ليت ينقل للبرمجة آخوي موب أوبجكت , البيوت بـ انترور setElementInterior يعطيك العافية تم الافادة من امس Link to comment
AhmeD~9MoD Posted May 23, 2013 Share Posted May 23, 2013 السلام عليكم ورحمه الله و بركاته ابي اسوي مااركر و فوقه كتابة dx وش الفكشنات ؟ + انا بسوي بيت مثلا اسوي اوبجكت و احط عنده ماركر الانتقال بس داخل البيت كيف اسويه ؟ بالغلط ي ليت ينقل للبرمجة آخوي موب أوبجكت , البيوت بـ انترور setElementInterior يعطيك العافية تم الافادة من امس بس حبيت اوضح Link to comment
MSHOOSH Posted May 23, 2013 Author Share Posted May 23, 2013 بس حبيت اوضح تسلم حبيبي على عيني و على راسي Link to comment
Blaawee Posted May 24, 2013 Share Posted May 24, 2013 شف اذا كان البيت هو في Interior استخدم ذي الفنكشن : setElementInterior اما اذا كان بدون استخدم setElementPosition + dX للـ viewtopic.php?f=91&t=52883&start=15#p516049 Link to comment
][sojn][ Posted May 28, 2013 Share Posted May 28, 2013 local g_screenX, g_screenY = guiGetScreenSize(); local gScale = 0.3; local gAlphaDistance = 25; local gMaxDistance = 50; local gTextAlpha = 120; local gTextSize = 1; local gAlphaDiff = gMaxDistance - gAlphaDistance; gScale = 1 / gScale * 800 / g_screenY; local gMaxScaleCurve = { { 0, 0 }, { 3, 3 }, { 13, 5 } }; local gTextScaleCurve = { { 0, 0.8 }, { 0.8, 1.2 }, { 99, 99 } }; local gTextAlphaCurve = { { 0, 0 }, { 25, 100 }, { 120, 190 }, { 255, 190 } }; local markerp = createMarker( 1552.4996337891, -1677.3264160156, 15.1953125, 'Cylinder', 1.5, 0, 0, 255, 150 ); addEventHandler ( 'onClientRender', root, function ( ) local x, y, z = getCameraMatrix(); local distance_1 = getDistanceBetweenPoints3D( x, y, z, x1, y1, z1 ); if distance_1 <= gMaxDistance then local x1_, y1_ = getScreenFromWorldPosition( x1, y1, z1 + 0.95, 0.06 ); if x1_ and y1_ then -- local scale = 1 / ( gScale * ( distance_1 / gMaxDistance ) ); local alpha = ( ( distance_1 - gAlphaDistance ) / gAlphaDiff ); alpha = ( alpha < 0 ) and gTextAlpha or gTextAlpha - ( alpha * gTextAlpha ); scale = math.evalCurve( gMaxScaleCurve, scale ); local textscale = math.evalCurve( gTextScaleCurve, scale ); local textalpha = math.evalCurve( gTextAlphaCurve, alpha ); -- dxDrawText( "TEXT ", x1_, y1_, x1_, y1_, tocolor ( 255, 255, 255, textalpha ), textscale * gTextSize, "arial", "center", "bottom", false, false, false, true ); end Dx Text Link to comment
iPrestege Posted May 28, 2013 Share Posted May 28, 2013 local g_screenX, g_screenY = guiGetScreenSize(); local gScale = 0.3; local gAlphaDistance = 25; local gMaxDistance = 50; local gTextAlpha = 120; local gTextSize = 1; local gAlphaDiff = gMaxDistance - gAlphaDistance; gScale = 1 / gScale * 800 / g_screenY; local gMaxScaleCurve = { { 0, 0 }, { 3, 3 }, { 13, 5 } }; local gTextScaleCurve = { { 0, 0.8 }, { 0.8, 1.2 }, { 99, 99 } }; local gTextAlphaCurve = { { 0, 0 }, { 25, 100 }, { 120, 190 }, { 255, 190 } }; local markerp = createMarker( 1552.4996337891, -1677.3264160156, 15.1953125, 'Cylinder', 1.5, 0, 0, 255, 150 ); addEventHandler ( 'onClientRender', root, function ( ) local x, y, z = getCameraMatrix(); local distance_1 = getDistanceBetweenPoints3D( x, y, z, x1, y1, z1 ); if distance_1 <= gMaxDistance then local x1_, y1_ = getScreenFromWorldPosition( x1, y1, z1 + 0.95, 0.06 ); if x1_ and y1_ then -- local scale = 1 / ( gScale * ( distance_1 / gMaxDistance ) ); local alpha = ( ( distance_1 - gAlphaDistance ) / gAlphaDiff ); alpha = ( alpha < 0 ) and gTextAlpha or gTextAlpha - ( alpha * gTextAlpha ); scale = math.evalCurve( gMaxScaleCurve, scale ); local textscale = math.evalCurve( gTextScaleCurve, scale ); local textalpha = math.evalCurve( gTextAlphaCurve, alpha ); -- dxDrawText( "TEXT ", x1_, y1_, x1_, y1_, tocolor ( 255, 255, 255, textalpha ), textscale * gTextSize, "arial", "center", "bottom", false, false, false, true ); end Dx Text ي بطل ممكن تقولي من وين جبت الكود .. + math.evalCurve وين معرفة فية؟ Link to comment
Blaawee Posted May 29, 2013 Share Posted May 29, 2013 local g_screenX, g_screenY = guiGetScreenSize(); local gScale = 0.3; local gAlphaDistance = 25; local gMaxDistance = 50; local gTextAlpha = 120; local gTextSize = 1; local gAlphaDiff = gMaxDistance - gAlphaDistance; gScale = 1 / gScale * 800 / g_screenY; local gMaxScaleCurve = { { 0, 0 }, { 3, 3 }, { 13, 5 } }; local gTextScaleCurve = { { 0, 0.8 }, { 0.8, 1.2 }, { 99, 99 } }; local gTextAlphaCurve = { { 0, 0 }, { 25, 100 }, { 120, 190 }, { 255, 190 } }; local markerp = createMarker( 1552.4996337891, -1677.3264160156, 15.1953125, 'Cylinder', 1.5, 0, 0, 255, 150 ); addEventHandler ( 'onClientRender', root, function ( ) local x, y, z = getCameraMatrix(); local distance_1 = getDistanceBetweenPoints3D( x, y, z, x1, y1, z1 ); if distance_1 <= gMaxDistance then local x1_, y1_ = getScreenFromWorldPosition( x1, y1, z1 + 0.95, 0.06 ); if x1_ and y1_ then -- local scale = 1 / ( gScale * ( distance_1 / gMaxDistance ) ); local alpha = ( ( distance_1 - gAlphaDistance ) / gAlphaDiff ); alpha = ( alpha < 0 ) and gTextAlpha or gTextAlpha - ( alpha * gTextAlpha ); scale = math.evalCurve( gMaxScaleCurve, scale ); local textscale = math.evalCurve( gTextScaleCurve, scale ); local textalpha = math.evalCurve( gTextAlphaCurve, alpha ); -- dxDrawText( "TEXT ", x1_, y1_, x1_, y1_, tocolor ( 255, 255, 255, textalpha ), textscale * gTextSize, "arial", "center", "bottom", false, false, false, true ); end Dx Text تصحيح الاخ --\\\\\\\\\\\\\\\\\\\\\\\\\\ --// Setting local g_screenX, g_screenY = guiGetScreenSize(); local gScale = 0.3; local gAlphaDistance = 25; local gMaxDistance = 50; -- Max Distance local gTextAlpha = 120; local gTextSize = 1; local gAlphaDiff = gMaxDistance - gAlphaDistance; gScale = 1 / gScale * 800 / g_screenY; local gMaxScaleCurve = { { 0, 0 }, { 3, 3 }, { 13, 5 } }; local gTextScaleCurve = { { 0, 0.8 }, { 0.8, 1.2 }, { 99, 99 } }; local gTextAlphaCurve = { { 0, 0 }, { 25, 100 }, { 120, 190 }, { 255, 190 } }; local marker = createMarker( ... ); -- كمل الارقمنت النآقصه addEventHandler ( 'onClientRender', root, function ( ) local x, y, z = getCameraMatrix( ); local x1, y1, z1 = getElementPosition ( marker ); local distance = getDistanceBetweenPoints3D( x, y, z, x1, y1, z1 ); if distance <= gMaxDistance then local x1_, y1_ = getScreenFromWorldPosition( x1, y1, z1 + 0.95, 0.06 ); if x1_ and y1_ then local scale = 1 / ( gScale * ( distance / gMaxDistance ) ); local alpha = ( ( distance - gAlphaDistance ) / gAlphaDiff ); alpha = ( alpha < 0 ) and gTextAlpha or gTextAlpha - ( alpha * gTextAlpha ); scale = math.evalCurve( gMaxScaleCurve, scale ); local textscale = math.evalCurve( gTextScaleCurve, scale ); local textalpha = math.evalCurve( gTextAlphaCurve, alpha ); dxDrawText( "#FFFF00The Text Here", x1_, y1_, x1_, y1_, tocolor ( 255, 255, 255, textalpha ), textscale * gTextSize, "arial", "center", "bottom", false, false, false, true ); end end end ); -- ////////////////////////////////// -- // MATH FUNCTIONS // -- ////////////////////////////////// function math.evalCurve( curve, input ) if input < curve[ 1 ][ 1 ] then return curve[ 1 ][ 2 ]; end for idx = 2, #curve do if input < curve[ idx ][ 1 ] then local x1 = curve[ idx - 1 ][ 1 ]; local y1 = curve[ idx - 1 ][ 2 ]; local x2 = curve[ idx ][ 1 ]; local y2 = curve[ idx ][ 2 ]; local alpha = ( input - x1 ) / ( x2 - x1 ); return math.lerp( y1, y2, alpha ); end end return curve[ #curve ][ 2 ]; end function math.lerp( from, to, alpha ) return from + ( to-from ) * alpha; end Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now