Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 17/02/19 in all areas

  1. السلام عليكم ورحمه الله وبركاتة اليوم الشرح عن فنكشن مهم ومعظم المبرمجين ما يدور عنوا executeBrowserJavascript صفحة الويكي | Wiki Page : https://wiki.multitheftauto.com/wiki/ExecuteBrowserJavascript اولا : ما هو معني الفانكشن ؟؟ html الفنكشن عبارة ينفذلك امر من لغه الجافا سكريبت علي صفحة اكيد ما فهمت شئ بوضحلك ------------------------------------------------------------------------------------- ملاحظات لاستخدام الفانكشن : 1 - اول واهم شئ انك تكون عارف شوية للجافا سكريبت 2 - لا يمكنك استخدام الوظيفة الا مع الصفحات المحلية يعني مينفعش تعمل الوظيفة دي مع صفحة جوجل مثلا 3 - يجب ان تعلم ان الفانكشن لا يشتغل الا علي الصفحات المحلية المعرفة في الميتا لنتعتبر ان اسم صفحتك call.html meta.xml اذن هنستدعيها كدا في ملف الميتا <file src="call.html" /> تقوم باستدعاء الصفحة داخل السكريبت حقك ( في ملف الكلنت طبعا لانوا متصفح ) url = "http://mta/"..getResourceName(getThisResource()).."/call.html" وبكدا url = رابط صفحتك ( call.html اللي هي ) اولا : تنشا متصفح yourBrowser = guiCreateBrowser(...) ثانيا : تحمل الرابط لما المتصفح يتنشا addEventHandler( "onClientBrowserCreated", theBrowser, -- ايفينت عبارة عن اول ما المتصفح يتنشا يحصل الفنكشن function( ) -- فنكشن loadBrowserURL( source, url ) -- تحميل رابط الصفحة حقتنا end -- انهاء الفنكشن ) -- اغلاق الايفينت ------------------------------------------------------------------------------------- بس لازم تعرف شرح الساينتكس بتاع الفنكشن bool executeBrowserJavascript ( browser webBrowser, string jsCode ) webBrowser : المتصفح بتاعك jsCode : كود الجافا سكريبت بتاعك ( الوظيفة لو الارقيومنات بتاعتها صحيحة بترجعلك قيمة وهي ترو ولو العكس او حطيت متصفح فية رابط موقع غير محلي بيرجعلك فولس) : ملحوظة _____________________________________________________ تمام كدا فهمنا الساينتكس ونشوف شوية امثلة المثال الاول :اظهار اسم الاعب عند كتابة 1 في اف 8 call.html <html> <p id = "msg"> hello </p> </html> client.lua( او ايا كان اسمة المهم انوا يكون ملف كلينت ) local jsCode = 'var p = document.getElementById("msg") ; p.innerHTML = "hello" + " '.. getPlayerName(localPlayer)..'"' local screenWidth, screenHeight = guiGetScreenSize( ) local window = guiCreateWindow( 0, 0, screenWidth-200, screenHeight-300, "Web Browser", false ) local browser = guiCreateBrowser( 0, 28, screenWidth-200, screenHeight-300, true, false, false, window ) local theBrowser = guiGetBrowser( browser ) addEventHandler( "onClientBrowserCreated", theBrowser, function( ) loadBrowserURL( source, "http://mta/"..getResourceName(getThisResource()).."/call.html" ) end ) addCommandHandler( '1' , function( ) executeBrowserJavascript( theBrowser , jsCode ) end ) المثال الثاني : اخراج الكلام الموجود في مربع الكتابة بتاع صفحة الويب علي شات اللعبه call.html <html> <input id='edit' ; type='text' /> </html> client.lua local jsCode = [[ var editBox = document.getElementById( 'edit' ) function onPressEnter() { if( event.keyCode == 13 ) { mta.triggerEvent("output",editBox.value) } } editBox.addEventListener("keypress", onPressEnter ) ]] local screenWidth, screenHeight = guiGetScreenSize( ) local window = guiCreateWindow( 0, 0, screenWidth-200, screenHeight-300, "Web Browser", false ) local browser = guiCreateBrowser( 0, 28, screenWidth-200, screenHeight-300, true, false, false, window ) local theBrowser = guiGetBrowser( browser ) addEventHandler( "onClientBrowserCreated", theBrowser, function( ) loadBrowserURL( source, "http://mta/"..getResourceName(getThisResource()).."/call.html" ) end ) addEventHandler( 'onClientBrowserDocumentReady' , theBrowser , function() executeBrowserJavascript(source,jsCode) end ) addEvent( 'output' , true ) addEventHandler( 'output' , root , function( msg ) outputChatBox(msg) end ) _______________________________________________________________________________________________________ المثال الثالث : عبارة عن انشاء وتغير لون الماركر من خلال صفحة ويب داخل اللعبه call.html <html> <p id = "msg"></p> <script> function func() { var c = event.keyCode if( c != 44 && c != 45 ) { if( c < 48 || c > 57 ) { event.returnValue = false } } if( c == 13 ) { mta.triggerEvent( 'createMarker' , document.getElementById("edit_Box").value ) } } function func2() { var c = event.keyCode if( c != 44 ) { if( c < 48 || c > 57 ) { event.returnValue = false } } if( c == 13 ) { mta.triggerEvent( 'changeMarker' , document.getElementById("color_Box").value ) } } </script> <strong><em>Enter Marker Position Here !! : </em></strong><input id = "edit_Box" style = "color:red" ; type = 'text' size = "50" onkeypress = "func()"> </input> <hr> <p id = "msg2"></p> <strong><em>Enter Marker Color Here !! : </em></strong><input id = "color_Box" style = "color:orange" ; type = 'text' size = "50" onkeypress = "func2()"> </input> </html> client.lua local screenWidth, screenHeight = guiGetScreenSize( ) local window = guiCreateWindow( 136, 131, 824, 468, "Web Browser", false ) local browser = guiCreateBrowser( 0, 28, screenWidth-200, screenHeight-300, true, false, false, window ) local theBrowser = guiGetBrowser( browser ) guiSetVisible( window , not guiGetVisible(window) ) visible = guiGetVisible(window) showCursor(visible) guiSetInputEnabled(visible) _Markers = { } addEventHandler( "onClientBrowserCreated", theBrowser, function( ) loadBrowserURL( source, "http://mta/"..getResourceName(getThisResource()).."/call.html" ) end ) setDevelopmentMode(true,true) addEvent( 'createMarker' , true ) addEventHandler( 'createMarker' , root , function( position ) if( #position == 0 ) then executeBrowserJavascript( theBrowser , 'document.getElementById("msg").innerHTML = "<b><i><u>يرجي كتابة احداثيات الماركر</u></i></b>" ; document.getElementById("msg").style.color="red"' ) if( isTimer( ti ) ) then killTimer( ti ) end ti = setTimer( executeBrowserJavascript , 2000 , 1 , theBrowser , 'document.getElementById("msg").innerHTML = "" ; document' ) return end local pos = split( position , ',' ) mark = createMarker( pos[1] , pos[2] , pos[3] , 'cylinder' , 1 ) if( isElement(mark) and getElementType(mark)=='marker' ) then if( type( pos ) == 'table' and #pos == 3 ) then executeBrowserJavascript( theBrowser , 'document.getElementById("msg").innerHTML = "<b><i><u>تم انشاء الماركر بنجاح</u></i></b>" ; document.getElementById("msg").style.color="green"' ) if( isTimer( ti ) ) then killTimer( ti ) end ti = setTimer( executeBrowserJavascript , 2000 , 1 , theBrowser , 'document.getElementById("msg").innerHTML = "" ; document' ) _Markers[#_Markers+1] = mark else executeBrowserJavascript( theBrowser , 'document.getElementById("msg").innerHTML = "<b><i><u>يرجي كتابة احداثيات صحيحة</u></i></b>" ; document.getElementById("msg").style.color="red"' ) if( isTimer( ti ) ) then killTimer( ti ) end ti = setTimer( executeBrowserJavascript , 2000 , 1 , theBrowser , 'document.getElementById("msg").innerHTML = "" ; document' ) return end else executeBrowserJavascript( theBrowser , 'document.getElementById("msg").innerHTML = "<b><i><u>يرجي كتابة احداثيات صحيحة</u></i></b>" ; document.getElementById("msg").style.color="red"' ) if( isTimer( ti ) ) then killTimer( ti ) end ti = setTimer( executeBrowserJavascript , 2000 , 1 , theBrowser , 'document.getElementById("msg").innerHTML = "" ; document' ) return end end ) addEvent('changeMarker',true) addEventHandler( 'changeMarker' , root , function( color ) if( #color == 0 ) then executeBrowserJavascript( theBrowser , 'document.getElementById("msg2").innerHTML = "<b><i><u>يرجي كتابة لون الماركر</u></i></b>" ; document.getElementById("msg2").style.color="red"' ) if( isTimer( t2 ) ) then killTimer( t2 ) end t2 = setTimer( executeBrowserJavascript , 2000 , 1 , theBrowser , 'document.getElementById("msg2").innerHTML = "" ; document' ) return end RGB = split(color,',') if( _Markers[#_Markers] and isElement( _Markers[#_Markers] ) and getElementType( _Markers[#_Markers] ) == 'marker' ) then if( type( RGB ) == 'table' and #RGB == 3 and tonumber(RGB[1])<=255 and tonumber(RGB[1])>=0 and tonumber(RGB[2])<=255 and tonumber(RGB[2])>=0 and tonumber(RGB[3])<=255 and tonumber(RGB[3])>=0 ) then executeBrowserJavascript( theBrowser , 'document.getElementById("msg2").innerHTML = "<b><i><u>تم تغيير لون الماركر بنجاح</u></i></b>" ; document.getElementById("msg2").style.color="green"' ) setMarkerColor( _Markers[#_Markers] , RGB[1] , RGB[2] , RGB[3] ) if( isTimer( t2 ) ) then killTimer( t2 ) end t2 = setTimer( executeBrowserJavascript , 2000 , 1 , theBrowser , 'document.getElementById("msg2").innerHTML = "" ; document' ) return else executeBrowserJavascript( theBrowser , 'document.getElementById("msg2").innerHTML = "<b><i><u>يرجي التأكد من البيانات</u></i></b>" ; document.getElementById("msg2").style.color="red"' ) if( isTimer( t2 ) ) then killTimer( t2 ) end t2 = setTimer( executeBrowserJavascript , 2000 , 1 , theBrowser , 'document.getElementById("msg2").innerHTML = "" ; document' ) return end else executeBrowserJavascript( theBrowser , 'document.getElementById("msg2").innerHTML = "<b><i><u>قم بأنشاء المأركر اولأ</u></i></b>" ; document.getElementById("msg2").style.color="red"' ) if( isTimer( t2 ) ) then killTimer( t2 ) end t2 = setTimer( executeBrowserJavascript , 2000 , 1 , theBrowser , 'document.getElementById("msg2").innerHTML = "" ; document' ) return end end ) bindKey( 'f7' , 'down' , function( ) guiSetVisible( window , not guiGetVisible(window) ) visible = guiGetVisible(window) showCursor(visible) guiSetInputEnabled(visible) end ) addCommandHandler( '1' , function( ) local x , y , z = getElementPosition( localPlayer ) setClipboard( x..','..y..','..z ) end ) addCommandHandler( '2' , function( ) if( _Markers[#_Markers] and isElement( _Markers[#_Markers] ) and getElementType( _Markers[#_Markers] ) == 'marker' ) then destroyElement( _Markers[#_Markers] ) _Markers[#_Markers] = nil local just = { } for i , data in pairs( _Markers ) do if( data ) then table.insert( just , data ) end end _Markers = just data = nil ; just = nil end end ) _______________________________________________________________________________________________________ >> { لأي استفسار تفضل في التعليقات في الاسفل } << ____________________________________ المصادر ____________________________________ https://wiki.multitheftauto.com/wiki/ExecuteBrowserJavascript https://www.w3schools.com/js/ https://wiki.multitheftauto.com/wiki/OnClientBrowserDocumentReady https://wiki.multitheftauto.com/wiki/OnClientBrowserCreated ______________________________________________ من قاموا بمساعدتي Who helped me ______________________________________________ @IIYAMA @botder ______________________________________________ الاهداءات @Master_MTA @!#DesTroyeR_,) @Default#^ @#,xiRocKyz @NX_CI @TOUNSI | ا̍ڸــڛۣــ؏ــٰٱ̍دہ @DABL @Kareem Amer والباقي في القلب
    3 points
  2. يسسسسسسلم قلبك يسطا احنا تلاميذك معلش اصلي بحبوا شوية ههههههه
    1 point
  3. مشكور يقلبي عالاهداء يعطيك العافيه شرح منسق صراحه لكن ابعد عن اللون الاخظر يفقع العين ههههه
    1 point
  4. تسلم على هيك شرح , وشكراً ع اهداء مردود
    1 point
  5. مشكور علي التعليق يا حبيبي منور ام الموضوع
    1 point
  6. الله عليك في مبرمج العرب حبيبي والله شكراً علي الاهداء
    1 point
  7. Não lord era só com esse, eu dps daquilo fiquei com um pouco de medo ent tirei essa print de agr, e na opinião de vcs melhorou? obs: já coloquei o y no lugar do x
    1 point
  8. شنبه تقول ..****** هيا لنذهب بالسيارة لنعرف ... اووف السيارة خربت يلا نكمل مشي برضو تبي تعرف ؟؟ اوك كمل لتحت اقول خلنا نكمل بالسيارة بس خلالالالالالالالالاص وصلنا بس كمل مشي كمان لسه باقي 2 متر انزل كمل مشيك انت اخيرا وصلنا باقي متر واحد خلاص انزل هانتت خلالالالالالالاص وقف عندكككككككك شنب عادي شفيك يعني مفكر شي وصخ ؟ ادري الحين بعضكم يقول ضيعت دقيقة من حياتي علي شئ تافه بس انت الي تقرا انا مالي دخل ومع انك تعرف انه ماله فايدة لازلت تقرأ مع انه ماله فايدة يلا اقول رح اطلع من اول وانزل ثاني ولا كأن شي صار
    1 point
  9. Try now. Restart MTA if you get connection issues
    1 point
  10. Troque essa função: function Texto (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) dxDrawText(a, x*b, y*c, x*d, y*e, f, x*g, h, i, j, k, l, m, n, o) end Por esta: function Texto (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) dxDrawText(a, x*b, y*c, x*d, y*e, f, y*g, h, i, j, k, l, m, n, o) end Já disse em um outro tópico que não se usa a posição "X" da tela para ajustar o tamanho de fontes, e sim a posição "Y".
    1 point
  11. Tente isto (não testado) : local table = {} -- armazena os jogadores que tem acesso as bikes local veh local marker addEventHandler( "onResourceStart", resourceRoot, function() veh = { [ createVehicle(481, 1505.42102, -1753.69446, 13.54688) ] = true, [ createVehicle(481, 1505.42102 +1, -1753.69446, 13.54688) ] = true, [ createVehicle(481, 1505.42102 +2, -1753.69446, 13.54688) ] = true, [ createVehicle(481, 1505.42102 +3, -1753.69446, 13.54688) ] = true, [ createVehicle(481, 1505.42102 +4, -1753.69446, 13.54688) ] = true, [ createVehicle(481, 1505.42102 +5, -1753.69446, 13.54688) ] = true, [ createVehicle(481, 1505.42102 +6, -1753.69446, 13.54688) ] = true, [ createVehicle(481, 1505.42102 +7, -1753.69446, 13.54688) ] = true, [ createVehicle(481, 1505.42102 +8, -1753.69446, 13.54688) ] = true, [ createVehicle(481, 1505.42102 +9, -1753.69446, 13.54688) ] = true } marker = createMarker(1505.57727, -1750.79688, 12.6, "cylinder", 1, 255, 100, 0, 100) for v, _ in pairs(veh) do local px, py, pz = getElementPosition(v) local rx, ry, rz = getElementRotation(v) setVehicleRespawnPosition(v, px, py, pz, rx, ry, rz) end addEventHandler ( "onVehicleStartEnter", resourceRoot, isTempOwner ) setTimer(respawnVehicles, 60000, 0) end ) addEventHandler("onPlayerMarkerHit", root, function(m) if m == marker and not isPedInVehicle(source) then -- se o jogador entrar no marker exports.dxmsgs:outputDx(source, "Use o comando /alugarbike para ter acesso as uma bikes, custo R$50.", "info") end end) addCommandHandler ("alugarbike", function(thePlayer) if not table.thePlayer and isElementWithinMarker(thePlayer, marker) then --se o jogador não está na tabela então... if isTimer(table.thePlayer) then return outputChatBox( "Você já alugou uma bike. Aguarde até que possa alugar novamente", thePlayer, 230, 30,30 ) end if getPlayerMoney(thePlayer) >= 50 then takePlayerMoney(thePlayer, 50) table.thePlayer = setTimer( function(p) if not (isElement(p)) then return end -- removeTempOwner(p) exports.dxmsgs:outputDx(p, "Seu tempo para usar as bikes acabou.", "warning") end, 10000, 1, thePlayer ) exports.dxmsgs:outputDx(thePlayer, "Você pode usar as bikes por dez minutos.", "success") else exports.dxmsgs:outputDx(thePlayer, "Você não tem dinheiro suficiente.", "error") end end end) function isTempOwner(thePlayer) if not table.thePlayer then -- se o jogador não está na tabela não pode usar as bikes exports.dxmsgs:outputDx(thePlayer, "Você precisa alugar uma bike para poder usá-la", "error") cancelEvent() end end function respawnVehicles() for v, _ in pairs(veh) do if not getVehicleOccupant(v, 0) then respawnVehicle(v) fixVehicle(v) end end end function removeTempOwner(thePlayer) if thePlayer and table.thePlayer then local tempVeh = getPedOccupiedVehicle(thePlayer) if tempVeh and veh[tempVeh] then removePedFromVehicle(thePlayer) end table.thePlayer = nil end end addEventHandler( "onPlayerQuit", root, function() if table.source then if isTimer(table.source) then killTimer(table.source) end table.source = nil end end)
    1 point
  12. It's not problem with this resource, I think. You can try to reinstall MTA, maybe it will work. And also, tell me, which steps do you do for installation.
    1 point
  13. تواصل مع اصحاب السيرفر نفسهم وبيحلون مشكلتك
    0 points
×
×
  • Create New...