Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 24/10/18 in all areas

  1. Também seria bom esclarecer melhor a ideia por trás desses “códigos” que representam as cores… RGB = Red Green Blue (Vermelho – Verde – Azul). Representam o conjunto de cores primárias aditivas (relacionadas com a incidência de luz sobre elas), cada cor é formada apartir de uma numeração que varia do 0 ao 255 (representando a intensidade daquela cor), sendo que quanto mais próximo do 0, mais escuro será, e quanto mais se aproximar do 255, mais intenso será aquela cor. Esse esquema de cores está meio que relacionado com as brincadeiras na nossa infância de misturar cores (com guache) e ver qual cor nova forma, ou seja, variando apenas a tonalidade do Vermelho, Verde e Azul podemos formar “todas” as outras cores: Ex: O conjunto das cores vermelho, verde e azul representam a cor branca (255, 255, 255) A ausência das três cores forma o preto (0, 0, 0) Vermelho com verde forma o amarelo (255, 255, 0) Vermelho com azul forma o roxo (255, 0, 255) Hex = Hexadecimal: sistema numérico formado por 16 dígitos (0123456789ABCDEF). O conjunto de 6 dígitos desse sistema numérico acrescido do símbolo ‘#’ no início forma o código de cor que é utilizado no outputChatBox. As cores hexadecimais podem ser relacionadas com as cores RGB da seguinte forma: - quanto mais próximo do 0, mais escuro e quanto ‘maior’ a letra, mais intenso - cada par de dígitos representam a tonalidade respectivamente das cores RGB. Exemplo: "#RRGGBB" (RR = Nível da tonalidade do red/vermelho, GG = green/verde, BB = blue/azul) - Os algorismos R-G-B não pertencem ao sistema hexadecimal, tornando essa cor inválida (usei apenas para exemplificar a posição relacionando-as com o sistema de cor RGB) ‘F’ é o maior digito hexadecimal, comparando o mesmo em RGB temos o valor 255, com isso podemos citar o seguinte: #FFFFFF (hex) = 255, 255, 255 (rgb) - branco #FF0000 = 255, 0, 0 - vermelho #00FF00 = 0, 255, 0 - verde #0000FF = 0, 0, 255 - azul * Mostrei aqui apenas com as tonalidades mínimas e máximas devido à facilidade de comparação/conversão entre RGB <=> Hex.. descobrir o código exato das demais cores “batendo o olho” como foi feito acima já não é mais tão simples, pois passam a exigir inclusive alguns cálculos matemáticos, para isso temos vários conversores de cores na internet (exemplo) Para quem se interessar: Conversão RGB para Hex Conversão Hex para RGB
    3 points
  2. موضوعك ما منه فائدة, يعني ما حطيت وش يطلع لك اذا طردك ولا ذكرت السبب ولا ذكرت شيء كمل المعلومات اللي فوق عشان نقدر نساعدك
    2 points
  3. por nada.. Download; https://yadi.sk/d/-Q8QmCmRuzYjX
    1 point
  4. This crash (client.dll @ 0x00006CF9) has already been fixed, please update to https://nightly.multitheftauto.com/?mtasa-1.5-rc-latest. You're 1 build behind the final fix.
    1 point
  5. انا الان في وضعيه اعمل نفسك ميت
    1 point
  6. هههههه لا السعوديين فعلا يقولونها فاظي
    1 point
  7. Na realidade, acho um pouco exagero de sua parte abordar desta forma, todos estamos tentando te ajudar, poderia ter deixado um like no post do malignos também pra agradecer o tempo que ele perdeu fornecendo esta ótima explicação pra todos nós, e você não tem um cargo superior e não pode finalizar tópicos. @DNL291
    1 point
  8. addEventHandler("onResourceStart", resourceRoot, function() dbQuery(function(queryHandler) local results = dbPoll(queryHandler, 0) for k, row in ipairs(results) do marker = createMarker(row.x, row.y, row.z, "corona", 1.1, 255, 0, 0, 255) end end, getConnection(), "SELECT * FROM stunts LIMIT 1") end) try this
    1 point
  9. 1 point
  10. Or, you could use this useful function since it much easier. https://wiki.multitheftauto.com/wiki/Animate
    1 point
  11. @MrKAREEM @TOUNSI | ا̍ڸــڛۣــ؏ــٰٱ̍دہ معرفة الرجال كنوز
    1 point
  12. سوري علي رفع الموضوع قديم حبيتين بس مش اوي بس لاحظت في خطا في كلامك المشكلة لو عمل زي ما قلت لما يجي يطلع كل الكلام اللي في السكل للاسف بيطلعلوا اخر شئ اتحفظ في السكل لانك بتحفظ الجديد وتحذف القديم لازم تستعمل الجداول + toJSON fromJSON + في اخطاء كثيرة للاسف في السكريبت حقك ================================================================= وبالنسبة لصاحب الموضوع Client : editBox = guiCreateEdit( 0.3, 0.1, 0.4, 0.1, "", true ) button = guiCreateButton( 0.7, 0.1, 0.2, 0.1, "OK", true ) Grid = guiCreateGridList(0.80, 0.40, 0.15, 0.35, true) Name = guiGridListAddColumn(Grid, "Name", 0.5) Text = guiGridListAddColumn(Grid, "Text", 0.8) guiSetVisible( editBox, false ) guiSetVisible( button, false ) guiSetVisible( Grid, false ) bindKey( 'F2' , 'down' , function() guiSetVisible(button, not guiGetVisible(button)) guiSetVisible(editBox, not guiGetVisible(editBox)) guiSetVisible(Grid, not guiGetVisible(Grid)) showCursor(guiGetVisible(Grid)) triggerServerEvent( 'getSQLQuery' , localPlayer ) end ) addEventHandler( 'onClientGUIClick' , root , function( ) if ( source == button ) then triggerServerEvent( 'saveNameAndData' , localPlayer , guiGetText( editBox ) ) end end ) addEvent( 'clearGridList' , true ) addEventHandler( 'clearGridList' , root , function( ) guiGridListClear( Grid ) end ) addEvent( 'setDataOnGridlist' , true ) addEventHandler( 'setDataOnGridlist' , root , function( name , text ) local _Row = guiGridListAddRow( Grid ) guiGridListSetItemText( Grid , _Row , Name , name , false , false ) guiGridListSetItemText( Grid , _Row , Text , text , false , false ) end ) Server : executeSQLQuery ( 'CREATE TABLE IF NOT EXISTS _aSoking ( Name,Text )' ) addEvent( 'saveNameAndData' , true ) addEventHandler( 'saveNameAndData' , root , function( text ) local data = executeSQLQuery( 'select * from _aSoking' ) if ( #data == 0 or not data ) then executeSQLQuery( 'insert into _aSoking( Name , Text ) values( ? , ? ) ' , toJSON( { getPlayerName( source ) } ) , toJSON( { text } ) ) else local Names , Text = fromJSON( data[ 1 ][ 'Name' ] ) , fromJSON( data[ 1 ][ 'Text' ] ) table.insert( Names , getPlayerName( source ) ) ; table.insert( Text , text ) executeSQLQuery( 'update _aSoking set Name = ? , Text = ?' , toJSON( Names ) , toJSON( Text ) ) end end ) addEvent( 'getSQLQuery' , true ) addEventHandler( 'getSQLQuery' , root , function( ) local data = executeSQLQuery( 'select * from _aSoking' ) if ( #data == 0 or not data ) then return outputChatBox( 'لا يوجد داتا لاظهارها' , source , 255 , 0 , 0 , true ) end local Names , Text = fromJSON( data[ 1 ][ 'Name' ] ) , fromJSON( data[ 1 ][ 'Text' ] ) triggerClientEvent( root , 'clearGridList' , resourceRoot ) for i = 1 , #Names do triggerClientEvent( root , 'setDataOnGridlist' , resourceRoot , Names[ i ] , Text[ i ] ) end end ) @MrKAREEM @MrNAMOLA
    1 point
  13. ممكن اسماء الفائزين ؟؟؟ :\
    1 point
  14. Você poderia ter explicado melhor, os parâmetros 255, 255, 255 usando eles você pode evitar usar uma cor hex. Exemplos: -- Com #Hex definindo os parâmetros. outputChatBox ( "#FF0000Olá DNL ", thePlayer, 255, 255, 255) -- Sem #Hex outputChatBox ( "Olá DNL ", thePlayer, 255, 0, 0) No caso você evitaria de usar um #hex na mensagem. se você quisesse alterar apenas a cor do DNL era só usar um #HEX ao invés de 2 Você também esqueceu de explicar o argumento root usado no output de exemplo. Vou explicar. root chama a função getRootElement() tanto faz você usar root ou getRootElement(), porém não sei se altera alguma coisa em questão de performance. No caso getRootElement() é mostrado para todos jogadores, e se você definir um argumento thePlayer por exemplo, mostra apenas para o jogador que utilizou um comando. Exemplo: function chamarPlayer( thePlayer ) outputChatBox ( "Olá DNL ", thePlayer, 255, 0, 0, true) end addCommandHandler("teste", chamarPlayer) Exemplo ² - Todos jogadores iram ver a mensagem quando algum jogador usar o comando ' teste ' function chamarRoot( ) outputChatBox ( "Olá DNL ", root, 255, 0, 0, true) end addCommandHandler("teste", chamarRoot) Agora vamos entender sobre o último argumento do output ' true ', nada mais é que justamente o que habilita a #hex no output, você pode usar false ou se preferir deixe sem nada apenas assim por exemplo: function chamarRoot( ) outputChatBox ( "Olá DNL ", root ) -- No caso aqui ele envia a mensagem quase branca -- mas se quiser que envie branca basta usar> outputChatBox ( "Olá DNL ", root, 255, 255, 255 ) -- sem o hex no caso.. end addCommandHandler("teste", chamarRoot) Então - true = Permite usar cores #hex no output false ou sem nada = Desabilita o uso de #hex no output deixando somente o argumento r,g,b function chamarRoot( ) outputChatBox ( "Olá DNL ", root, 255, 255, 0 ) end addCommandHandler("teste", chamarRoot) Enfim, só que da próxima vez antes de criar um tutorial, certifique-se se alguém já não fez, ou se fez faça melhor, mas boa tentativa mano, continue tentando aprender sobre .lua.
    1 point
  15. تصميم رائع لكن ابي اعرف شي homepage والكلمات المتغيره انت تستخدم لها css-display? الافضل استخدم الجافا سكربت بتبسط الموضوع
    1 point
  16. جيد ولكن لو hover تبع الايقونات ناعم راح يكون افضل استخدم transition: all .5s ease-in-out ضيفها في تاج الايقونات جرب وقولي واقرأ اكثر عن هذه الخاصية راح تفيدك https://www.w3schools.com/css/css3_transitions.asp - حاول ما تسيب فراغات كثيرة في التصميم تطبق نظرية النسبه والتناسب - ما تبين حقوقك بهذا الشكل قلل الحجم شوية - ولو بتسخدم ايقونات صور مينفعش استخدم مكتبة زي الفونت اوسم https://fontawesome.com/icons?from=io التصميم محتاج تحسين اكتر وبيكون ممتاز واقرأ هذه المقالة عن التصميم المثالي راح تفيدك جدا http://blog-en.tilda.cc/articles-website-design-mistakes ابعتلي كود المشروع بحسنه ليك وبحط كومنتات في الكود هقول فيها انا عملت ايه وتتعلم منها
    1 point
  17. اتمنى منك اخ سترونق انك توقف المشروع لانه فاشل جدأ ولا اتوقع بينجح ولا قد نجح قبلك احد بنفس المشروع فكره فاشله ولاتطورها ولاتحاول تطورها لان كل فاشل يبقى فاشل اتمنى انك ترسل الملفات لي وتحذف المشروع والفكره الفاشله هذي اتمنى ماتزعل بس احذف الملفات واغلق المشروع ولاتفكر ابد انك تطوره ولاتفكر تسمع نصائح احد عن هذا المشروع لان الفكره جدا فاشله اخ سترونق ومره فاشله وماتنفع ابد تقبل رايي البسيط تحياتي واشواقي
    1 point
  18. 1 point
  19. .شــــــــــــــــــكـــــــــــــــــــرآ
    1 point
  20. @Mewjas Não leve a mal, mas o que não falta é motivos pra fazer uma crítica construtiva do post. Tá certo, sempre é bom ver pessoas postando tutoriais, isso até ajuda a si próprio melhorar. Só que vem com isso outras coisas - tutoriais com a lógica toda bagunçada. Nem eu que entendo, não consegui pegar a lógica do texto, fora os erros de Português que dificultam a interpretação. É bom pra você progredir, ótimo, mas e se tratando de quem lê o post? Será que vai entender um assunto explicado bem por cima e com poucas informações explicado por alguém que tem um domínio fraco do assunto? Então se você vai fazer um tutorial, tenha em mente isso, e também, saiba lidar com críticas, elas servem pra você melhorar; e o tutorial não serve pra aumentar seu ego. Lembre-se também, que já existem posts relacionados na seção Programação em Lua.
    1 point
  21. Como vc quer ajudar se vc é novato? Se vc tivesse experiência e tivesse feito um bom tutorial, dai beleza.
    1 point
  22. Não entendi nada. E você criou um post que já existe.
    1 point
  23. تمام كويس كدة فهمتك اول حاجة مثلا دا ايديت اهو والبتن والقريد مع الكولمن editBox = guiCreateEdit( 0.3, 0.1, 0.4, 0.1, "", true ) button = guiCreateButton( 0.7, 0.1, 0.2, 0.1, "OK", true ) Grid = guiCreateGridList(0.80, 0.40, 0.15, 0.35, true) guiGridListAddColumn(Grid, "Name", 0.5) guiGridListAddColumn(Grid, "Text", 0.8) guiSetVisible(editBox, false) guiSetVisible(button, false) guiSetVisible(grid, false) -- خلينا كل شئ مش ظاهر وهنخلي دلوقتي زر عشان يفتحهم -- ثاني حاجة نروح للسيرفر سريع نعمل الجدول -- #Server -- executeSQLQuery ( 'CREATE TABLE IF NOT EXISTS aSoking ( Name,Text )' ) -- asoking عملنا جدول اذا ما كان موجود باسم -- -- بالنسبة للكلام اللي ما بين الاقواس دا مثل الرو اللي بيبقي موجود في القريد ليست هفهمك هنحتاجه في ايه دلوقتي -- بعدين عاوزين لما نضغط علي البتن ياخد الكلام ويعمل تريقر بيه عشان يسوي انسرت addEventHandler('onClientGUIClick',root, function() if (source == button) then local TheElementText = guiGetText(editBox) triggerServerEvent('InsertTheMessage',localPlayer,TheElementText) end end ) -- استخدمنا ايفينت الجوي كليك وعملنا تحقق اذا كان البتن واخذنا الكلام من الايديت وعملنا تريقر للسيرفر ايفنت -- -- InsertTheMessage دلوقتي هنروح نحط الايفنت في السيرفر اللي هو -- -- عشان نكون عرفنا التكست ونقدر نستخدمه TheElementText وهنحط في الفنكشن ما بين القوسين كلمة -- ودلوقتي نعمل الايفينت -- server side -- addEvent('InsertTheMessage',true) addEventHandler('InsertTheMessage',root, function(TheElementText) -- الايلمنت تيكست هو الكلام اللي جبناه من الايديت وعملنا بيه تريقر فلازم نحطه هنا -- executeSQLQuery('INSERT INTO aSoking (Name, Text) VALUES(?, ?)', getPlayerName(source), TheElementText ) -- عملنا انسرت للكلام واسم اللاعب في الداتا بتاعتنا -- outputChatBox('!! ['..Name..'] : مع الاسم ['..Text..'] : تم ادخال الكلام', source, 0,255,0) -- عشان نتاكد ان كل شئ تمام -- end ) طيب مثلا دلوقتي عشان اجيب كل الداتا في الجريد هنعمل زر عشان نفتح الجريد والبتن والايديت بزر -- Client Side -- bindKey('F2,'down', function() guiSetVisible(button, not guiGetVisible(button)) guiSetVisible(editBox, not guiGetVisible(editBox)) guiSetVisible(grid, not guiGetVisible(grid)) showCursor(guiGetVisible(grid)) triggerServerEvent('GetTheData',localPlayer) end ) -- كدة كل شئ هيفتح ويقفل تمام + نجيب الداتا دلوقتي نروح نعمل تريقر بالسيرفر -- نعمل التريقر -- Server Side -- addEvent('GetTheData',true) addEventHandler('GetTheData',root, function() local Data = executeSQLQuery( ' SELECT * FROM aSoking ' ) if ( type (Data) == "table" and #Data == 0 or not Data ) then triggerClientEvent( source, 'NoData', source) end -- لو مكنش فيه داتا يروح يعمل كلير للقريد ليست -- triggerClientEvent( source, 'PutDataInGridList', source, Data) -- نعمل تريقر بالداتا وهيحطها دلوقتي في الجريد بس نروح نعمل الايفينت -- end end ) PutDataInGridList والثاني حق noData دلوقتي نعمل ايفينتين الاول حق -- Client Side -- addEvent('NoData',true) addEventHandler('NoData',root, function() guiGridListClear(grid) -- يصفي القريد end) addEvent('PutDataInGridList',true) addEventHandler('PutDataInGridList',root, function(SQL) -- اللي في السيرفر سايد بس عادي لو غيرت اسمها Data هي نفس ال Sql -- guiGridListClear(grid) -- تصفية القريد -- for i, v in ipairs (SQL) do -- نجيب كل اللي في الداتا -- local Row = guiGridListAddRow(grid) -- عشان نضيف التكست في القريد -- local TheName = guiGridListSetItemText(grid, Row, 1, SQL[i].Name, false, false) -- حطينا كل اسماء اللاعبين اللي في الداتا في اول رو -- local TheText = guiGridListSetItemText(grid, Row, 2, SQL[i].Text, false, false) -- حطينا كل التكست اللي في الداتا الي الرو -- -- ملحوظة بعد كلمة SQL[i]. لازم يكون واما اسم الرو الاول في الداتا واللي هو Name -- او الرو الثاني اللي هو Text -- end end) وكدة خلصت الشرح يحب ارجو انك تكون فهمت وعشان متكنش دماغك تشوشت دي اكواد الكلينت كلها اللي استخدمناها -- ملفات الكلينت كلها -- editBox = guiCreateEdit( 0.3, 0.1, 0.4, 0.1, "", true ) button = guiCreateButton( 0.7, 0.1, 0.2, 0.1, "OK", true ) Grid = guiCreateGridList(0.80, 0.40, 0.15, 0.35, true) guiGridListAddColumn(Grid, "Name", 0.5) guiGridListAddColumn(Grid, "Text", 0.8) guiSetVisible(editBox, false) guiSetVisible(button, false) guiSetVisible(grid, false) -- خلينا كل شئ مش ظاهر وهنخلي دلوقتي زر عشان يفتحهم -- addEventHandler('onClientGUIClick',root, function() if (source == button) then local TheElementText = guiGetText(editBox) triggerServerEvent('InsertTheMessage',localPlayer,TheElementText) end end ) -- استخدمنا ايفينت الجوي كليك وعملنا تحقق اذا كان البتن واخذنا الكلام من الايديت وعملنا تريقر للسيرفر ايفنت -- -- InsertTheMessage دلوقتي هنروح نحط الايفنت في السيرفر اللي هو -- -- عشان نكون عرفنا التكست ونقدر نستخدمه TheElementText وهنحط في الفنكشن ما بين القوسين كلمة -- bindKey('F2,'down', function() guiSetVisible(button, not guiGetVisible(button)) guiSetVisible(editBox, not guiGetVisible(editBox)) guiSetVisible(grid, not guiGetVisible(grid)) showCursor(guiGetVisible(grid)) triggerServerEvent('GetTheData',localPlayer) end ) -- كدة كل شئ هيفتح ويقفل تمام + نجيب الداتا دلوقتي نروح نعمل تريقر بالسيرفر -- addEvent('NoData',true) addEventHandler('NoData',root, function() guiGridListClear(grid) -- يصفي القريد end) addEvent('PutDataInGridList',true) addEventHandler('PutDataInGridList',root, function(SQL) -- اللي في السيرفر سايد بس عادي لو غيرت اسمها Data هي نفس ال Sql -- guiGridListClear(grid) -- تصفية القريد -- for i, v in ipairs (SQL) do -- نجيب كل اللي في الداتا -- local Row = guiGridListAddRow(grid) -- عشان نضيف التكست في القريد -- local TheName = guiGridListSetItemText(grid, Row, 1, SQL[i].Name, false, false) -- حطينا كل اسماء اللاعبين اللي في الداتا في اول رو -- local TheText = guiGridListSetItemText(grid, Row, 2, SQL[i].Text, false, false) -- حطينا كل التكست اللي في الداتا الي الرو -- -- ملحوظة بعد كلمة SQL[i]. لازم يكون واما اسم الرو الاول في الداتا واللي هو Name -- او الرو الثاني اللي هو Text -- end end) ملفات السيرفر كلها -- ملفات السيرفر كلها -- executeSQLQuery ( 'CREATE TABLE IF NOT EXISTS aSoking ( Name,Text )' ) -- asoking عملنا جدول اذا ما كان موجود باسم -- -- بالنسبة للكلام اللي ما بين الاقواس دا مثل الرو اللي بيبقي موجود في القريد ليست هفهمك هنحتاجه في ايه دلوقتي -- addEvent('InsertTheMessage',true) addEventHandler('InsertTheMessage',root, function(TheElementText) -- الايلمنت تيكست هو الكلام اللي جبناه من الايديت وعملنا بيه تريقر فلازم نحطه هنا -- executeSQLQuery('INSERT INTO aSoking (Name, Text) VALUES(?, ?)', getPlayerName(source), TheElementText ) -- عملنا انسرت للكلام واسم اللاعب في الداتا بتاعتنا -- outputChatBox('!! ['..Name..'] : مع الاسم ['..Text..'] : تم ادخال الكلام', source, 0,255,0) -- عشان نتاكد ان كل شئ تمام -- end ) addEvent('GetTheData',true) addEventHandler('GetTheData',root, function() local Data = executeSQLQuery( ' SELECT * FROM aSoking ' ) if ( type (Data) == "table" and #Data == 0 or not Data ) then triggerClientEvent( source, 'NoData', source) end -- لو مكنش فيه داتا يروح يعمل كلير للقريد ليست -- triggerClientEvent( source, 'PutDataInGridList', source, Data) -- نعمل تريقر بالداتا وهيحطها دلوقتي في الجريد بس نروح نعمل الايفينت -- end end ) موفق ان شاء الله
    1 point
  24. For me almost same...3 days than forever. My serial is A56ED2F9E5F22C1FA021241CFBEB9F71
    0 points
  25. انا بعد احبك لا شكرا شكراجزيلا.. لما ارجع للبيت بجرب كلامك نعم Css-display ما كنت ابي اجرب لغات أخرى غير ال css + HTML شكرا
    0 points
  26. كيف اشارك
    0 points
  27. -- "ball" is the ball element -- "vehicle" is the vehicle element that collided with the ball local x, y, z = getElementPosition(ball) local x2, y2, z2 = getElementPosition(vehicle) local velX, velY, velZ = getElementVelocity(vehicle) local vel = math.sqrt(velX*velX + velY*velY + velZ*velZ) -- equal to getDistanceBetweenPoints3D(0, 0, 0, velX, velY, velZ) local dirX, dirY, dirZ = x - x2, y - y2, z - z2 local dist = math.sqrt(dirX*dirX + dirY*dirY + dirZ*dirZ) -- equal to getDistanceBetweenPoints3D(x, y, z, x2, y2, z2) dirX, dirY, dirZ = dirX / dist, dirY / dist, dirZ / dist -- To change velocity of the ball now, i guess you might want to do: -- setElementVelocity(ball, dirX * vel, dirY * vel, dirZ * vel) thats work ??
    0 points
  28. مـــبروك وتستحقها بجداره , وإن شاءالله نشوف القسم العربي افضل من ماهو عليه وبالتوفيق يابطل @N3xT
    0 points
×
×
  • Create New...