Jump to content

Rockyz

Members
  • Posts

    1,862
  • Joined

  • Days Won

    8

Everything posted by Rockyz

  1. اتوقع انه واضح Player not ped ! وجرب هالمثال وشوف اذا دمجت البيد يطلع كلام في الشات ولا لا addCommandHandler ( 'CreatePed', function ( plr, cmd ) myPed = createPed ( 0, unpack ( { getElementPosition ( plr ) } ) ) end ) addEventHandler ( 'onPlayerDamage', root, function ( ) if ( isElement ( myPed ) and source == myPed ) then outputChatBox 'Ped ?!!!!' end end )
  2. - Client Side # : addEventHandler -- 'onClientGUIClick' guiGetText triggerServerEvent - Server Side # : addEvent getAccountPlayer setAccountData setPlayerName setPlayerNametagText << addEventHandler -- 'onPlayerJoin' getAccountData setPlayerName setPlayerNametagText
  3. في السيرفر سايد مافي حدث اسمه 'onPedDamage' عندك خيارين يا انك تستخدم تايمر وتتحقق اذا الهلث حقه اقل من 100 وترجعه 100 او انك تستخدم هالحدث في الكلنت سايد 'onClientPedDamage' وتكنسله
  4. ماتوقع انها بتجيب لاق لكن المهم الطريقتين صح
  5. الصراحة انا الأسم مادري وش احطه لكن في النهاية الأسم مايهم تقدر تغيره + الطريقة هذي افضل من التايمر
  6. بسم الله الرحمن الرحيم guiCreateAnimation gui-Elementالفنكشن يعمل تأثير لأي نوع من الــ يعني الألفا حقت الألمنت تزداد تدريجيا او تنقص تدريجيا _______________________________ الفنكشن معه افنت 'onClientGUIAnimationEnd' هذا الأفنت هو لما التأثير ينتهي _______________________________ Event : Event Source: guiElement - الألمنت المطبق عليه التأثير Paratmers: openState _______________________________ Function : Syntax: bool guiCreateAnimation ( element gui-element, bool openState[ , int effectSpeed = 1 ] ) _______________________________ Source Code: local guiTable = { }; addEvent ( 'onClientGUIAnimationEnd', true ) function animationRender ( guiElement, open, speed ) guiTable [ guiElement ] [ 'guiNow' ] = getTickCount ( ); local anim1, anim2 = interpolateBetween ( 0, 100, 0, 100, 0, 0, ( guiTable [ guiElement ] [ 'guiNow' ] - guiTable [ guiElement ] [ 'guiTick' ] ) / ( speed * 1000 ), 'Linear' ) if ( open ) then guiSetAlpha ( guiElement, anim1 / 100 ) else guiSetAlpha ( guiElement, anim2 / 100 ) end if ( guiTable [ guiElement ] [ 'guiNow' ] > guiTable [ guiElement ] [ 'guiTick' ] + ( speed * 1000 ) ) then removeEventHandler ( 'onClientRender', root, guiTable [ guiElement ] [ 'guiEvent' ] ) guiTable [ guiElement ] = nil triggerEvent ( 'onClientGUIAnimationEnd', guiElement, open ) if ( not open ) then guiSetVisible ( guiElement, false ) end end end function guiCreateAnimation ( guiElement, open, speed ) assert ( isElement ( guiElement ) and getElementType ( guiElement ):find ( 'gui-' ), 'guiCreateAnimation bad argument @ 1 gui-Element expected, got ' .. type ( guiElement ) ) assert ( type ( open ) == 'boolean', 'guiCreateAnimation bad argument @ 2 boolean expected, got ' .. type ( open ) ) local speed = speed or 1 assert ( type ( speed ) == 'number', 'guiCreateAnimation bad argument @ 3 number expected, got ' .. type ( speed ) ) if ( guiTable [ guiElement ] ) then return false end guiSetVisible ( guiElement, true ) guiTable [ guiElement ] = { }; guiTable [ guiElement ] [ 'guiTick' ], guiTable [ guiElement ] [ 'guiEvent' ] = getTickCount ( ), function ( ) animationRender ( guiElement, open, speed ) end addEventHandler ( 'onClientRender', root, guiTable [ guiElement ] [ 'guiEvent' ] ) return true end _______________________________ Arguments: 1 - gui-element - gui-element النافذة او الــ المراد تطبيق التأثير عليها 2 - openState - طريقة التأثير اذا كان true بينفتح تدريجيا و العكس 3 - effectSpeed - سرعة التأثير _______________________________ Example: local sPos = { guiGetScreenSize ( ) }; GUIEditor = { window = {} } addEventHandler("onClientResourceStart", resourceRoot, function() GUIEditor.window[1] = guiCreateWindow( ( sPos [ 1 ] - 520 ) / 2, ( sPos [ 2 ] - 452 ) / 2, 520, 452, "Flashing window", false) guiWindowSetSizable(GUIEditor.window[1], false) btn = guiCreateButton(50, 50, 50, 50, '', false, GUIEditor.window[1]) guiCreateAnimation ( GUIEditor.window[1], true, 0.5 ) guiSetFlashing ( GUIEditor.window[1], true ) outputChatBox 'Start !' setTimer ( function ( ) guiSetFlashing ( GUIEditor.window[1], false ) outputChatBox 'Finish !' end, 5000, 1 ) end ) local flasherEvent = { }; function guiSetFlashing ( wnd, state ) if ( state ) then flasherEvent [ wnd ] = function ( state ) if ( source == GUIEditor.window[1] ) then guiCreateAnimation ( GUIEditor.window[1], not state, 0.5 ) end end addEventHandler ( 'onClientGUIAnimationEnd', resourceRoot, flasherEvent [ wnd ] ) else if ( flasherEvent [ wnd ] ) then removeEventHandler ( 'onClientGUIAnimationEnd', resourceRoot, flasherEvent [ wnd ] ) end end end هذا المثال بيسوي فلاش للوحة وبعد 5 ثواني بيختفي الفلاش
  7. https://forum.multitheftauto.com/topic/35801-tut-adding-custom-objects-in-mta/
  8. بسم الله الرحمن الرحيم convertTimeToSeconds function convertTimeToSeconds(y,d,h,m,s) local y,d,h,m,s,newTime=y or 0,d or 0,h or 0,m or 0,s or 0,0 local newTime=newTime+(31556926*y)+(86400*d)+(3600*h)+((3600/60)*m)+(((3600/60)/60)*s) return math.floor(newTime) end Arguments : y: السنوات d: الأيام h: الساعات m: الدقائق s: الثواني الوضيفة تقوم بتحويل الوقت الى ثواني
  9. if tonumber(r) >= 0 and tonumber(r) <= 255 and tonumber(g) >= 0 and tonumber(g) <= 255 and tonumber(b) >= 0 and tonumber(g) <= 255 then
  10. اذا تبي تسوي كذا لازم تايمر
  11. اي توقع ؟ '-' المهم سطر 13 استبدله بهذا : ._. local sX, sY = guiGetScreenSize ( ); wnd = guiCreateWindow(0,0,sX,sY,"Panel Car",false);
  12. جرب الفنكشن الي عطيتك اياه لاتتوقع كل شي جاهز اضغط على الفنكشن وشوف المثال
  13. مثال : function getTime( ) local time = getRealTime( ) local h, m = time.hour, time.minute return (h % 12 and h % 12 or 12)..":"..(m < 10 and "0"..m or m).." "..(h >= 12 and "PM" or "AM") end addCommandHandler ( 'whatTimeIsIt', function ( ) outputChatBox ( 'Its ( ' .. getTime ( ) .. ' )' ) end )
  14. Everything here is correct show us the problem line
  15. شي عادي حتى في اشخاص يروحون لقسم ال Scripting
  16. @#_iMr.[E]coo وضيفتك تقدر تختصرها كذا : TimerTable = { { 's' , 1000 } , { 'm' , 1000 * 60 } , { 'h' , 1000 * 60 * 60 } , { 'd' , 1000 * 60 * 60 * 24 } }; function convertTime ( Type, Time ) assert ( type ( Type ) == 'string', '[convertTime] expected string at argument 1 @ got ' .. type ( Type ) ) assert ( type ( Time ) == 'number', '[convertTime] expected number at argument 2 @ got ' .. type ( Time ) ) for _, v in ipairs ( TimerTable ) do if ( Type == v [ 1 ] ) then return v [ 2 ] * Time; end end return false; end
  17. @Abdul KariM طيب وش رايك بهذي الطريقة : function table.toString ( theTable, char ) assert ( type ( theTable ) == 'table', 'expected table at argument 1 got ' .. type ( theTable ) ) assert ( type ( char ) == 'string', 'expected string at argument 2 got ' .. type ( char ) ) assert ( char:len ( ) <= 2, 'expected charcter at argument 2 got ' .. char ) local m, t = '', { }; for _, v in pairs ( theTable ) do table [ 'insert' ] ( t, v ) end for k, v in pairs ( t ) do if ( k == #t ) then m = m .. v else m = m .. v .. char end end return m; end في النهاية فرق كم سطر #Edit: بسم الله الرحمن الرحيم table.toStringWithIndex وضيفة نوعا ما مفيدة طبعا الوضيفة زي الي فوق لكن الفرق هو انه فيه بارتمر زيادة والي هو الأندكس Syntax table.toStringWithIndex ( table theTable, string separatingChar [, index = true ] ) Source Code : function table.toStringWithIndex ( theTable, char, index ) assert ( type ( theTable ) == 'table', 'expected table at argument 1 got ' .. type ( theTable ) ) assert ( type ( char ) == 'string', 'expected string at argument 2 got ' .. type ( char ) ) assert ( char:len ( ) <= 2, 'expected charcter at argument 2 got ' .. char ) local index = index or false assert ( type ( index ) == 'boolean', 'expected bool at argument 3 got ' .. type ( index ) ) local m, t = '', { }; for _, v in pairs ( theTable ) do table [ 'insert' ] ( t, { _, v } ) end for k, v in pairs ( t ) do if ( k == #t ) then if ( index ) then m = m .. v [ 1 ] .. ' = ' .. v [ 2 ] else m = m .. v [ 2 ] end else if ( index ) then m = m .. v [ 1 ] .. ' = ' .. v [ 2 ] .. char else m = m .. v [ 2 ] .. char end end end return m; end Example : print(table.toStringWithIndex({[1234]='a',[100]='b',[400]='c'},', ',true)) --[[ output : 100 = b, 1234 = a, 400 = c ]]
  18. @Abdul KariM صحيح كلامك لكن ماتوقع انك تقدر تستخدمها ع التيبلات الي كذا : { [2] = 1 ,[21] =2 , [23] =3 ,[12] = 4 }
×
×
  • Create New...