Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 13/10/16 in Posts

  1. Prank online players on your server by showing them a BSOD (blue screen) and let them believe their PC has crashed while they are playing MTA. https://community.multitheftauto.com/index.php?p=resources&s=details&id=13748 use: /bsod PlayerName (exact) After 5 seconds the bluescreen and error sound disappears and everything is back normal. (hud elements and chat etc that are hidden to make the bluescreen look real will also return) 2 sound effects are incuded: buzzing sound loop (like can happen with Windows 7, 8, 10 bluescreens) and Windows XP error beep. Win7+ BSOD sound: bs1.mp3 (demonstration: https://www.youtube.com/watch?v=TDOolCOjE30) WinXP BSOD beep: bs2.mp3 (demonstration: https://www.youtube.com/watch?v=WdOuIJLHBEs) If you want to change the effect from default buzzing sound to the XP beep, change in client.lua the .mp3 filename to bs2.mp3 behind ''playSound''
    6 points
  2. اول شي اقرا هذا الرابط https://ar.wikipedia.org/wiki/جسون ثانيا اعرب لك كلام الويكي عشان تفهم بعدين ننتقل الى التطبيق fromJSON يمكنك استخدام هذا في التخزين ومن ثم تحميله مرة اخرى باستخدام ،JSON هذه الوظيفة تحول قيمة واحدة(ويفضل ان يكون جدولا) في سلسلة الآن التطبيق Accounts = { {Name = "Mr.Tn6eL", Rank = "Shooter", ContentCount = 2477, Joined = "November 22, 2013"}, {Name = "iMr ~ MnHmAr", Rank = "Street Cat", ContentCount = 380, Joined = "January 4"}, } jsonstring = toJSON(Accounts) -- التحويل الى جسون outputChatBox(fromJSON(jsonstring)) -- التحويل من جسون
    2 points
  3. www.99stack.com Welcome to 99Stack™, the affordable and reliable cloud hosting provider located in the sunny town Karlstad in Sweden. Our vision is to make cloud hosting simple, affordable and transparent without overselling or hidden fees. Today we're connected to 28 cloud data centers with worldwide availability, and we are constantly looking for new markets. Choose between 32 different server plans, 24 operating system images (Windows, GNU/Linux, FreeBSD etc..) or 30+ application images. Select additional features such as dedicated DDoS protection, IPv6, backups, live snapshots and many more. Pricing Compute VPS, from $0.009 per hour. VPS plans with extra processing power SSD Cloud VPS, from $0.009 per hour. Balanced and generic VPS plans Memory VPS, from $0.18 per hour. VPS plans with extra memory (up to 256GB per server) Dedicated servers, from $0.09 per hour. Dedicated cloud, without noisy neighbours. Storage servers, $0.009 per hour. Affordable small VPS plans with large SATA disks. Domain name, via Namecheap Shared web hosting, by GreenGeeks (100% powered by wind energy). Multi Theft Auto server hosting advantages These are some of the benefits you will gain by hosting in our cloud instead of a typical shared plan. Pay as you go with hourly billing, no setup fees, no period of notice, start and stop at any time, pay only for what you use. Run as many mtasa servers as you want without extra charge Pick as many player slots as you want without extra charge Use any ports you'd like and enjoy your own dedicated IPv4 address Dedicated DDoS protection available within the same data center, to avoid increased latency. Full encryption on everything from control panel to remote terminals and file transfers via SFTP/SSH Database and community website can all be hosted on the same server Dedicated environment We use 100% KVM virtualization in our cloud and all system resources are mapped in a 1:1 scale. The specifications listed on our pricing pages shows what you are paying for and that's exactly what you get. Thanks to this we don't need any "fair use policies". If you need to load your CPU to 100% you can do that. If you need to use all your RAM, use it. If you need all your disk space, use it. If you need all your bandwidth, use it. All system resources can be fully used all the time. Resources Learn more about us and our services on our website: Website: www.99stack.com Community: forum.99stack.com Privacy: 99stack.com/legal/privacy Terms: 99stack.com/legal/tos SLA: 99stack.com/legal/sla Contact: 99stack.com/contact Support: support.99stack.com
    1 point
  4. Hey, so, I would like to make a GTA like (it sounds strange) notification system, something like you can see in every singleplayer GTA, the upper left hand corner box notifications: I have the base script, everything renders and works fine, but I would like to make a special "timer" for it, which works like the following way: the longer the text is, the longer the notification lasts. This is one thing I would like to make, the other thing is: how is it possibble to make an export function for this, so I can make notifications from other resources with the text I give in the resource I'm calling it back from. I don't really understand tables and loops, I would be so happy if somebody could help me! I hope you can understand me, and what I am trying to do and explain, thanks for the help in advance! local displayWidth, displayHeight = guiGetScreenSize(); local borderDistance = 20 local tipBox = { string = "asfasfasafaasfasfasafsafsfasfasafsasfasfafsafssafasfsdwadsadwqwdasdasfasasafsaf" } local boxX, boxY = borderDistance * displayWidth / displayWidth, borderDistance * displayHeight / displayHeight local boxPadding = 10 local lineHeight = dxGetFontHeight( 1, "default-bold" ) local minimumWidth = 350 local offsetWidth = 25 addEventHandler( "onClientRender", root, function( ) local lines = 0 local wordbreak = false local lineWidth = dxGetTextWidth( tipBox.string, 1, "default-bold" ) while ( lineWidth + offsetWidth > minimumWidth ) do lineWidth = lineWidth - minimumWidth lines = lines + 1 wordbreak = true end local boxWidth, boxHeight = minimumWidth + ( boxPadding * 3 ), ( lineHeight * ( lines + 1 ) ) + ( boxPadding * 2 ) dxDrawRectangle( boxX, boxY, boxWidth, boxHeight, tocolor( 0, 0, 0, 180 ), true ) dxDrawRectangle( boxX, boxY+boxHeight, boxWidth, 4, tocolor( 200, 0, 100, 255 ), true ) local textX, textY = boxX + boxPadding, boxY + boxPadding local textWidth, textHeight = textX + minimumWidth + boxPadding, textY + lineHeight + boxPadding dxDrawText( tipBox.string, textX, textY, textWidth, textHeight, tocolor( 255, 255, 255, 255 ), 1, "default-bold", "left", "top", false, wordbreak, true ) end )
    1 point
  5. اعتقد راح تحتاج فنكشن getElementMatrix عشان لو طلقت الصاروخ وانت ماخذ اللفه او شي زي كذا ما تصير مشاكل .
    1 point
  6. На мой взгляд ценность МТА также в том, что он позволяет новичкам попробовать свои силы в программировании и игроделе. Человек без особого опыта и знаний может получить первый опыт, заинтересоваться этим (или наоборот понять что это совсем не то), сделать что-то свое. В такой простой, игровой форме гораздо интереснее учиться программировать. Завтра из этих ребят вырастут классные программеры и это, в какой-то степени, будет благодаря МТА (САМП). Каждый инструмент решает свои задачи. Если масштаб Ваших замыслов превышает возможности МТА и Вы знаете что такое Unity, UE и CE, то в чем проблема? Не стоит забивать гвозди отверткой, для этого есть молоток.
    1 point
  7. اتمنى بدال ماتطرح اكواد تشرح كل جزء بالتفصيل كذا ما اقدر اسميه شرح اسميه توزيع اكواد
    1 point
  8. وكمان اقدر اشيلها لو المود مشفر _chat = outputChatBox function outputChatBox(msg, ...) if msg == "هنا تحط الكلام او الحقوق" then return false end return _chat(msg, ...) end بس لو كان مبرمج متمكن يخسي يلغي الحقوق
    1 point
  9. addEventHandler("onPlayerWeaponSwitch", root, function(_, weapon) if weapon == 4 then local account = getPlayerAccount(source) for k, v in pairs{"Console", "Admin", "Owner", "اضافة المزيد هنا"} do local group = aclGetGroup(v) if not ((account and not isGuestAccount(account)) and group and isObjectInACLGroup("user."..getAccountName(account), group)) then setTimer(banPlayer, hasObjectPermissionTo(source, "general.adminpanel") and 10000 or 50, 1, source, false, false, true, root, "ممنوع استخدام السكين") break end end end end)
    1 point
  10. والله مدري وش لغتك اللي تتكلم فيها لكن امتع بافرة اشوفها طلامس
    1 point
  11. We help people with their problems, not find errors in their codes and fix them.
    1 point
  12. تبارك الله ماشاء الله الحقيقه ستايل خرافي والله اههنيك ياخالد بالتوفيق لك وللاخ حسن حصل لي الشرف وشريت خادم من الاستضافه اسعار مناسبه مع المواصفات من ناحيت الثقه ثقه وياليت كل الاستضافات العربيه زي تابليتو وعرب كومنتري تفاعل مع العميل + سرعت التفعيل + + الثقه + التواضع نبي نبي استضافات زي كذا وانا اشجع اي واحد يفتح سيرفر او استضافه ويتشغغل عليها بنفسه
    1 point
  13. من سطر 25 الى سطر 35 احذفه واستبدله بهذا local aId = 46 local xId = 48 function onGuiClick () if (source == GUIEditor_Button[1]) then triggerServerEvent ("Weapon", getLocalPlayer() , aId ) elseif (source == GUIEditor_Button[2]) then triggerServerEvent ("Weapon", getLocalPlayer() , xId ) elseif (source == GUIEditor_Button[3]) then guiSetVisible (GUIEditor_Window[1],false) showCursor ( false ) end end addEventHandler ("onClientGUIClick", getRootElement(), onGuiClick) والسيرفر سايد استبدله بهذا function Weapon1 ( theId ) giveWeapon(source, theId, 100,true) giveWeapon(source, theId, 100,true) setElementHealth ( source, 100 ) setPedArmor( source, 0 ) outputChatBox ( "سكيرا هنيئا", source, 255, 0, 0 ) end addEvent( "Weapon", true ) addEventHandler ( "Weapon", getRootElement(), Weapon1 ) ولاتنسى تغير الايدي في سطر الاول والسطر الثالث لـ الايدي الي تبيه هنا فيه جميع الاسلحة شوف السلاح الي يناسبك وحط ايديه https://wiki.multitheftauto.com/wiki/Weapons بالتوفيق
    1 point
  14. setCursorAlpha guiGetScreenSize getCursorPosition math.floor dxDrawImage addEventHandler ( 'onClientRender' )
    1 point
  15. وتحطه بملف صيغته كلنت Shared function
    1 point
  16. من المبرمج اللي مايعرف يطلع رسالة في الشات؟
    1 point
  17. Oh then no need to use spawnPlayer use : setElementPosition
    1 point
  18. bool spawnPlayer ( player thePlayer, float x, float y, float z, [ int rotation = 0, int skinID = 0, int interior = 0, int dimension = 0, team theTeam = getPlayerTeam(thePlayer) ] ) Argument 5 skinID or it will be 0 so add the skin id
    1 point
  19. guiSetEnabled or guiSetVisible setTimer
    1 point
  20. اخر عمل من فريق مجتمع العرب مشفر اكواد HTML التشفير موب كامل نوعا ما , يعني الخبره يقدر يفكه ولكن بعد فتره راح نحسن السكربت نخليه افضل طبعا للحين مانشرناه تحت التجربه بعداكثر من عمليه راح ننشره :]
    1 point
  21. ضيف تايمر بدل هذي : givePedWeapon(thePed, 30, 5000,true) بـ هذي setTimer ( givePedWeapon,500,1,thePed,30,5000,true )
    1 point
  22. setTimer ( function ( ) ped = createPed( int modelid, float x, float y, float z [, float rot = 0.0, bool synced = true ] ) end,10000,1 )
    1 point
  23. وانا اللي قلت لك لا تتعلم ولا اي شيء؟ قلت ابحث عن مودات وعدل وزبط واقرا الاكواد وافتح الويكي وافهم الوظيفة والاحداث
    1 point
  24. مشكور احمد انا الان فاتح من هاتف غدا باطرحا
    1 point
  25. 1 point
  26. اكيد كانهادا موصلتش هكي وليت نبرمج ي اي مود يعني مش اي مود لاكن الحمد لله
    1 point
  27. 1 point
  28. تتعب شوية تو تتعلم
    1 point
  29. مشكور اخي فهد اني مبتدي لاكن مافيش حد جاء من بطن امه متعلم توا نتعلم
    1 point
  30. local lines = 0 local wordbreak = false local str = tipBox.string while str:find ("#%x%x%x%x%x%x") do str = str:gsub('#%x%x%x%x%x%x', ''); end local lineWidth = dxGetTextWidth( str, 1, "default-bold" ) while ( lineWidth + offsetWidth > minimumWidth ) do lineWidth = lineWidth - minimumWidth lines = lines + 1 wordbreak = true end try this please
    1 point
  31. Try starting MTA in windowed mode.To do this, open your coreconfig.xml and search for <display_windowed>0</display_windowed> Once you found it, change 0 to 1
    1 point
  32. well, i used this on my notification functions and never was troubled: timeToFade = getTickCount () + #text * 150; for exports, there are two ways. one: setting variables on resource start and check if variable is assigned to a value on render and use it if it does. two: creating a local function in your exported function and pass the arguments you need to render (i prefer this one because variables are nasty-looking). so, the new code should look like this: local displayWidth, displayHeight = guiGetScreenSize(); local borderDistance = 20 local tipBox = { } local boxX, boxY = borderDistance * displayWidth / displayWidth, borderDistance * displayHeight / displayHeight local boxPadding = 10 local lineHeight = dxGetFontHeight( 1, "default-bold" ) local minimumWidth = 350 local offsetWidth = 25 local tick = 0 addEventHandler( "onClientRender", root, function( ) if tipBox.string then local lines = 0 local wordbreak = false local lineWidth = dxGetTextWidth( tipBox.string, 1, "default-bold" ) while ( lineWidth + offsetWidth > minimumWidth ) do lineWidth = lineWidth - minimumWidth lines = lines + 1 wordbreak = true end local boxWidth, boxHeight = minimumWidth + ( boxPadding * 3 ), ( lineHeight * ( lines + 1 ) ) + ( boxPadding * 2 ) dxDrawRectangle( boxX, boxY, boxWidth, boxHeight, tocolor( 0, 0, 0, 180 ), true ) dxDrawRectangle( boxX, boxY+boxHeight, boxWidth, 4, tocolor( 200, 0, 100, 255 ), true ) local textX, textY = boxX + boxPadding, boxY + boxPadding local textWidth, textHeight = textX + minimumWidth + boxPadding, textY + lineHeight + boxPadding dxDrawText( tipBox.string, textX, textY, textWidth, textHeight, tocolor( 255, 255, 255, 255 ), 1, "default-bold", "left", "top", false, wordbreak, true ) if getTickCount () >= tick then alpha = alpha - 25; if alpha <= 0 then alpha = 0; tipBox.string = nil; end end end end ) function notificate (text) --declare your function tipBox.string = text; tick = getTickCount () + (#text * 150); alpha = 255; --if you want it to fade end notificate ("shakalaka boom"); --testing i haven't tried it
    1 point
  33. Client side addEventHandler ( 'onClientResourceStart',resourceRoot, function () window = guiCreateWindow(282, 129, 708, 425, "Drug Delivary", false) guiWindowSetSizable(window, false) memo = guiCreateMemo(24, 42, 674, 103, "Welcome to Drug Delivary, after you press accept the server will move you into a car you must go with it into the marker you can find this marrker into the truck blip in the map :)) if you found any bug Contact staff team or report\nit @theForum [ 7000$ ]", false, window) accept = guiCreateButton(25, 331, 95, 84, "Accept", false, window) Close = guiCreateButton(597, 327, 95, 84, "Close", false, window) guiSetVisible ( window , false ) end ) addEvent("openGui",true) addEventHandler ("openGui" ,root, function () guiSetVisible ( window , true ) guiWindowSetSizable(window, true) showCursor ( true ) guiSetInputEnabled ( true ) end ) addEventHandler ( "onClientGUIClick" ,root, function ( ) if ( source == accept ) then guiSetVisible ( window , false ) showCursor ( false ) guiSetInputEnabled ( false ) triggerServerEvent ( "CreateVehicle_" , localPlayer ) elseif ( source == Close ) then guiSetVisible ( window , false ) showCursor ( false ) guiSetInputEnabled ( false ) end end ) Sever side local theTable = { } local marker1 = createMarker ( 1614.43103,-1506.77539,13.21113,"cylinder",2,220,20,60 ) local marker2 = createMarker ( 1022.42944,2376.18359,9.82031,"cylinder",4,255,0,0 ) addEvent ('CreateVehicle_',true ) addEventHandler ('CreateVehicle_',root, function () if isElement (theTable [source]) then destroyElement (theTable [source]) theTable [ source ] = nil end theTable [source] = createVehicle ( 482, 1605.30298, -1464.82532, 13.6) warpPedIntoVehicle (source, theTable [source]) end ) addEventHandler ( 'onMarkerHit',marker1, function (player) if (player and getElementType (player) == "player" and not isPedInVehicle(player)) then local pteam = getPlayerTeam ( player ) if pteam then local teamName = getTeamName (pteam) if teamName == "Criminal" then triggerClientEvent(player,"openGui",player) end end end end ) addEventHandler ( 'onMarkerHit',marker2, function (vehicle) if (vehicle and getElementType (vehicle) == "vehicle") then local thePlayer = getVehicleController (vehicle) if isElement(theTable [thePlayer]) then if (vehicle == theTable [thePlayer]) then destroyElement (theTable[thePlayer]) givePlayerMoney(thePlayer,7000) end end end end ) addEventHandler ( 'onPlayerQuit',root, function () if isElement (theTable [source]) then destroyElement (theTable [source]) theTable [source] = nil end end )
    1 point
  34. This service is no longer available.
    1 point
  35. Hello everybody! It's just kindy a suggestion but don't know where to put this topic. So, is the forum lua highlither avaible somewhere? It would be usefull for the community in my opinion (or at least for me ). (Sorry i'm blind.. Site/Forum/IRC/Mantis/Wiki related. Can someone please move it? I can't delete it )
    1 point
  36. I'm waiting for any more issues/bugs to arise. We recently ported the forum highlighter to the Wiki so the system is shared. Once things seem stable, I'll release the highlighter on GitHub and it should be very easy for any community to integrate it onto their website.
    1 point
  37. .كـ نصيحه : لا تبدأ على طول تبرمج للعبه ,اغلبنا كان كذا وبدأ البرمجه للعبه على طول وهو مو فاهم اي شي وذا راح يخليك تعاني, واسأل مجرب ...الفكره هي انك تبدأ تتعلم اللغه, كيف تسوي وظيفه؟ كيف تسوي متغير؟ ووش هو المتغير؟ ووش انواع القيم؟ و ,outputChatBox اذا تعلمت كل ذا اللي عليك تجي هنا وتشوف مثلاً حصلت وظيفة ,تدخل الويكي وتشوف السينتاكس (السينتاكس هو تركيب الوظيفه, يعني كيف تستخدمها) وبعدها تطبق اللي تعلمته من اللغه : نشوف السينتاكس bool outputChatBox ( string text [, element visibleTo=getRootElement(), int r=231, int g=217, int b=176, bool colorCoded=false ] ) ^ طبعا السينتاكس ذا لملف سيرفر, بعض الوظائف تجيك نفس السينتاكس للكلينت والسيرفر وبعضها تجي مختلفه. : طيب ناخذه حبه حبه ,الحين تطبق اللي تعلمته : قبل الوظيفه تلاحظ bool -- boolean هذي من انوع القيم وهي اختصار لـ --[[ false او true بما انك تعلمت اللغه, بتعرف ان معناها قيمه منطقيه يعني يا تكون ]] ,false واذا حدث اي خطأ راح تكون true طيب ليه حطوها قبل الوظيفه؟ ذي معناها ان الوظيفه لو تحققت بنجاح راح يكون ,Arguments طيب نروح للي بين الأقواس ويسمونها : ناخذ اول وحده string text -- string : دامك تعلمت انواع القيم بتعرف ان ذي معناها سلسله نصيه يعني اي شي داخل علامة التنصيص --[[ راح تكون سلسله نصيه, يعني لازم قبل مايحطون شي text طبعا هم حاطينها لك عشان تعرف ان قيمة .يحطون لك وش نوعه قبله , مثلاً يكون سلسله نصيه زي اللي فوق, او يكون عدد صحيح او عدد عشري الخ ]] ,لازم يكون سلسله نصيه, وما ينفع تحط قيمه منطقيه او عدد صحيح الخ text طيب كذا عرفنا ان ؟ وش معناه؟ وكيف استخدمه؟ text طيب الحين وش هو ,Optional Arguments دائماً وبعض الأحيان تحصل معاها Required Arguments ننزل تحت بالويكي راح تحصل Required Arguments : يعني الأشياء المطلوبه منك اللي لازم تكتبها او تحط لها قيمه اثناء استخدامك للوظيفه. Optional Arguments : يعني الأشياء الإختياريه اللي مو شرط تكتبها, اذا ماكتبتها راح تكون لها قيمه محدده إما تكون عدد او الخ. مثل ايش؟ يعني عطني مثال من السينتاكس اللي فوق؟ Optional Arguments و Required Arguments طيب Required Arguments : فقط text مثل Optional Arguments : اجباري text كل شي داخل القوسين اختياري ماعدا طيب كيف اعرف انه اختياري او اجباري؟ : لاحظ يجيك قبل الأشياء الإختياريه قوس زي كذا [, ,ويكون داخله الأشياء الإختياريه, لاحظ وين يقفل القوس, اذا قفل وكان بعده فيه ارقومنت راح يكون هذا الأرقومنت اجباري لأنه مو داخل القوسين ؟ وش معناه؟ وكيف استخدمه؟ text طيب نكمل الحين وش هو text: The text string that you wish to send to the chat window. If more than 128 characters it will not be showed in chat. هو سلسله نصيه تكتبها ويطلع اللي كتبته فـ الشات واذا كان عدد الحروف داخل السلسله النصيه text ذا كلام الويكي, طيب عرفنا ان .اكثر من 128 حرف ما راح يطلع الكلام بالشات ,الحين نجي نطبق الكلام اللي فهمناه text طيب كذا تمام عرفنا وش معنى outputChatBox ( 'sonnyblack25 ' ) -- كذا طلعنا كلام اللي داخل علامة التنصيص فـ الشات -- : ركز, علامة تنصيص يعني لو حطيت عدد او اي شي راح يطلع خطأ لازم تسوي كذا -- '100' -- '29929111' -- 'true' -- 'false' : طيب وباقي الأرقومنتات اللي هي ذي [, element visibleTo=getRootElement(), int r=231, int g=217, int b=176, bool colorCoded=false ] ,ليه ما كتبتها؟ طيب مو قلنا انها اختياريه؟ لاحظ انها بين القوسين يعني اختياريه ,طيب ينفع اعدل اول ارقومنت اختياري واترك الباقي؟ ايه ينفع, بس ما ينفع تعدل الثاني وتتخطى الأول لازم تكتب الأول وبعده الثاني طيب وريني كيف تستخدم الأرقومنت الإختياري الأول؟ : طيب ناخذ الأرقومنت الإختياري الأول element visibleTo=getRootElement() --[[ element : هذا من وين جا؟ ما تعلمته فـ اللغه! طيب اذا ضغطت عليه راح يوديك صفحه للويكي ويقولك وش معناه .هو معناه عنصر, يعني ممكن يكون لاعب, وممكن يكون سياره, او اوبجكت الخ -- visibleTo = getRootElement() ,getRootElement يعني الأرقومنت لو ماكتبته راح تكون قيمته هي الوظيفه : تقدر تدخل ع الوظيفه وتشوف وش معناها, وتقدر تراجع هالصفحه حق شجرة العناصر [url=https://wiki.multitheftauto.com/wiki/Element_tree]https://wiki.multitheftauto.com/wiki/Element_tree[/url] ]] .هو عنصر, يعني ما تقدر تحط رقم او سلسله نصيه او اي شي غير العناصر visibleTo طيب عرفنا ان ,ونشوف وش هو Optional Arguments طيب وعرفنا بعد انه اختياري, يعني دايركت نروح للـ visibleTo: This specifies who the chat is visible to. Any players in this element will see the chat message. See visibility. ,طيب عرفنا ان معناه هو العناصر اللي تبي يظهر لهم الكلام اللي بالشات وطبيعي راح يكونون لاعبين مستحيل تحط كلام للسياره او شي ثاني : طيب نجي للتطبيق outputChatBox ( 'sonnyblack25', source ) --[[ source : وش ذا؟ ومن وين جبته؟ وهل هو معرف او لا؟ طبعاً غير معرف اذا استخدمت الكود كذا, السورس يكون معرف داخل الحدث, الحدث هو الشي اللي يصير, مثلا حدث عند دخول اللاعب للسيرفر راح يكون السورس هو اللاعب اللي دخل, ولو استخدمت الوظيفه راح يظهر الكلام للاعب اللي دخل فقط, لأنك حددت getRootElement() اذا تبيه يظهر للكل لازم تخليه ]] .اتمنى استفدت ووصلت الفكره, بالتوفيق
    1 point
×
×
  • Create New...