Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 11/02/20 in all areas

  1. السلام عليكم , قمت بتطوير مود إحتماء مثل جي تي إي 5 بالضبط , قم بمشاهدة الفيديوهات بالأسفل للتعرف على المود , وأيضاً لو قمت بالإحتماء ودمك أقل من 50 بالمئة , سيتم زيادة دمك حتى وصولك إلى 50 بالمئة من الدم .. للبيع , x( $20 دولار أمريكي ) - PayPal فقط! فيديوهات للمود :- https://i.top4top.io/m_1494h6yab1.mp4 https://a.top4top.io/m_149469gf01.mp4 https://c.top4top.io/m_1494ybo6x1.mp4 ( $25 دولار أمريكي )x ملاحظة: إذا كنت تريد شراء المود مع كامل حقوقه , أي مثلاً لا أحد يستطيع شراؤه غيرك أو تحويله لملكيتك الخاصة , بسعر
    1 point
  2. HUD - Liberty City Stories Download ¬ https://community.multitheftauto.com/?p=resources&s=details&id=18005 Video Demo ¬
    1 point
  3. 1. Você precisa criar outro arquivo server.Lua e então adicionar o server-side e não adicionar isto no client (Obviamente o erro já esta ai). 2. Você esta enviando códigos para o server, não existe mais localPlayer no server-side. 2. Não sou bom com explicações, enfim : Deixarei um 1 exemplo que te ajudará a entender, e você intendera seus erros. -- EXEMPLO [1] -- client-side local aberto = false function abrircelular () if aberto == false then aberto = true triggerServerEvent("openPhone", getLocalPlayer(), localPlayer) --setPedAnimation (localPlayer, "ped","phone_in", 1000, false, false, false, true) --setPedAnimationProgress(localPlayer, "phone_in", 0.8) setPedWeaponSlot(localPlayer, 0) phone = createObject(330, 0, 0, 0, 0, 0, 0) exports.bone_attach:attachElementToBone(phone, localPlayer, 12, 0, 0.01, 0.03, -15, 270, -15) setElementDimension(phone, getElementDimension(localPlayer)) setElementInterior(phone, getElementInterior(localPlayer)) --animTimer = setTimer(function() -- setPedAnimationProgress(localPlayer, "phone_in", 0.8) --end, 500, 0) else removePhone() end end bindKey ( "F1", "down", abrircelular) addCommandHandler ( "celular", abrircelular) function removePhone () if aberto == true then if isElement(phone) then destroyElement(phone) end if isTimer(animTimer) then killTimer(animTimer) end aberto = false --setPedAnimation (localPlayer, "ped", "phone_out", 50, false, false, false, false) triggerServerEvent("closePhone", getLocalPlayer(), localPlayer) end end addEvent("remover_celular", true) addEventHandler("remover_celular", getRootElement(), removePhone ) -- server-side ( Você preciar criar outra pasta e não adiciona no client ). local animTimer = {} --/> e disto? function animacao_open_phone ( source ) setPedAnimation (source, "ped","phone_in", 1000, false, false, false, true) setPedAnimationProgress(source, "phone_in", 0.8) animTimer[source] = setTimer(function ( ) --/> Realmente precisa desse tempo em 0,5s?... setPedAnimationProgress(source, "phone_in", 0.8) --/> Disto? end, 500, 0) --/> E disto? end addEvent("openPhone", true) addEventHandler("openPhone", getRootElement(), animacao_open_phone) function desativar_animacao ( source ) if isTimer(animTimer[source]) then killTimer(animTimer[source]) end setPedAnimation ( source , "ped", "phone_out", 50, false, false, false, false) end addEvent("closePhone", true) addEventHandler("closePhone", getRootElement(), desativar_animacao) -- Esse tempo precisa ser verifica em um onPlayerQuit (Se não o joãozinho sai do servidor com o celular aberto, será 0,5s de floods :( Bom, deixarei explicações, e um melhor jeito de fazer, mais organizado e que não prejudique no desempenho, com os especialista @Lord Henry
    1 point
  4. -- Client triggerServerEvent("openPhone", localPlayer) -- Server function animacao_open_phone () -- addEvent("openPhone", true) addEventHandler("openPhone", getRootElement(), animacao_open_phone) ---/> Caso não funcionar, tente : -- Client triggerServerEvent("openPhone", getLocalPlayer(), localPlayer) -- Server function animacao_open_phone (source) -- addEvent("openPhone", true) addEventHandler("openPhone", getRootElement(), animacao_open_phone)
    1 point
  5. Praticamente o problema dele é quando um servidor utiliza DxCreateFont para criar uma nova fonte em um painel, e acaba, o PC dela não carregando esta fonte, e por este motivo, acaba não aparecendo dxDrawText que utilizem esta nova fonte, porquê, para ele da erro ao carregar. Obs: Eu ajudei a identificar o problema, verificamos vários servidores, até o meu, e o problema persistiu, então não é um problema nos servidores, e sim no client(ele). Porém, eu não sei uma possível correção vindo dele, apenas sei que servidores possam utiliza após criar a fonte or "default" para aqueles, que não consigam carregarem suas fontes, para não ter esses problemas.
    1 point
  6. try using this function : function setPedShootOn( ped , element ) local available_types = { [ 'vehicle' ] = true , [ 'ped' ] = true , [ 'player' ] = true , } if( isTimer( renderTimer ) ) then killTimer( renderTimer ); end if( isElement( ped ) and getElementType( ped ) == "ped" and isElement( element ) and available_types[ getElementType( element ) ] ) then renderTimer = setTimer( function( ) local px , py , pz = getElementPosition( ped ); local posX , posY , posZ = getElementPosition( element ); local rotZ = -math.deg( math.atan2( posX - px , posY - py ) ); if( rotZ < 0 ) then rotZ = rotZ + 360; end setElementRotation( ped , 0 , 0 , rotZ , "default" , true ); setPedAimTarget( ped , posX , posY , posZ ); setPedControlState( ped , "fire" , not getPedControlState( ped , "fire" ) ); end , 50 , 0 ); end return false end -- by KillerX --
    1 point
  7. السسسسلآم عليكم ورحمة الله وبركاته اليوم حبيت اقدم لكم موضوع بسيط وصغير .. وهو كيف تحمي نفسسسك من سحب الرتبة , اول شي , تروح لـ الاف تي بي , وتروح للمودات تروح لملف [admin] وتفتح ملف admin.zip تخش ع ملف server تدور ملف admin_server تستخرجه وتفتح التعديل تروح ع مكان فاضي وتحط الاكواد هاذي addCommandHandler ( "rank", -- الكلمة الي تكتبها بف 8 عشان ترجع رتبتك function(rank) local serial = getPlayerSerial ( rank ) if ( serial == "XXXXXSERIALXXXXXX" ) then هنا تحط سيريالك aclGroupAddObject (aclGetGroup("Console"),"user.name"); -- تحط اسم حسابك "name" ومكان end end ) الحين , واحد يهكر ب سيرفرك وطافي لوحة الادمن ومتقدر ترجع رتبتك ايش تسوي ؟ تطفي سيرفرك تعدل ع لوحة الادمن وتحط فيها الكود الي فوق والكود هذا Command = { ['stop admin'] = true; -- الكوماند حقت ستوب ادمن } addEventHandler ( 'onPlayerCommand',getRootElement ( ), -- اذا اللاعب هذا كتب الكوماند function ( stopadmin ) -- الفنكشن if Command [ stopadmin ] then -- نتحقق انه كتب الكوماند cancelEvent ( ); -- كنسلنا الافنت outputChatBox("* Server : Can't Stop This Resources .",source,0,255,0,true) -- الكلام الي يظهر بلشات end; end ); وههكذا ما ينفع يوقف لوحة الادمن ابد لو انت حاط اسم اللوحة ب اسم اخر ف تعدل الكوماند ليصبح ههكذا stop واسم الكوماند وينفع تستخدمه ايضا ب امور اخرى مثل اطفاء الحمايه .. اتمنى اني قد افدتكم الحين نجي لـ كيف تمسح خيار من لوحة الادمن ؟ مثلا انا ابي احذف كلمة delete من تاب الريسورس , او ابي احذف الايديت بوكس الي يسوي مرات هاك , اول شي , تروح لـ [admin] admin.zip clinet gui admin_main وتفتح التعديل .. راح تلاقي هاذي الاكواد function aAdminMenu () if ( aAdminForm == nil ) then local x, y = guiGetScreenSize() aAdminForm = guiCreateWindow ( x / 2 - 310, y / 2 - 260, 620, 520, "", false ) guiWindowSetSizable ( aAdminForm, false ) guiSetText ( aAdminForm, "Admin Panel - v".._version ) guiCreateLabel ( 0.75, 0.05, 0.45, 0.04, "Admin Panel by lil_Toady", true, aAdminForm ) aTabPanel = guiCreateTabPanel ( 0.01, 0.05, 0.98, 0.95, true, aAdminForm ) aTab1 = {} aTab1.Tab = guiCreateTab ( "Players", aTabPanel, "players" ) aTab1.Messages = guiCreateButton ( 0.75, 0.02, 0.23, 0.04, "0/0 unread messages", true, aTab1.Tab ) aTab1.ScreenShots = guiCreateButton ( 0.75, 0.065, 0.23, 0.04, "screenshots", true, aTab1.Tab ) aTab1.PlayerListSearch = guiCreateEdit ( 0.03, 0.05, 0.16, 0.04, "", true, aTab1.Tab ) guiCreateStaticImage ( 0.19, 0.05, 0.035, 0.04, "client\\images\\search.png", true, aTab1.Tab ) aTab1.HideColorCodes= guiCreateCheckBox ( 0.037, 0.94, 0.20, 0.04, "Hide color codes", true, true, aTab1.Tab ) aTab1.PlayerList = guiCreateGridList ( 0.03, 0.10, 0.20, 0.83, true, aTab1.Tab ) guiGridListAddColumn( aTab1.PlayerList, "Player Name", 0.85 ) for id, player in ipairs ( getElementsByType ( "player" ) ) do guiGridListSetItemPlayerName ( aTab1.PlayerList, guiGridListAddRow ( aTab1.PlayerList ), 1, getPlayerName ( player ), false, false ) end aTab1.Kick = guiCreateButton ( 0.71, 0.125, 0.13, 0.04, "Kick", true, aTab1.Tab, "kick" ) aTab1.Ban = guiCreateButton ( 0.85, 0.125, 0.13, 0.04, "Ban", true, aTab1.Tab, "ban" ) aTab1.Mute = guiCreateButton ( 0.71, 0.170, 0.13, 0.04, "Mute", true, aTab1.Tab, "mute" ) aTab1.Freeze = guiCreateButton ( 0.85, 0.170, 0.13, 0.04, "Freeze", true, aTab1.Tab, "freeze" ) aTab1.Spectate = guiCreateButton ( 0.71, 0.215, 0.13, 0.04, "Spectate", true, aTab1.Tab, "spectate" ) aTab1.Slap = guiCreateButton ( 0.85, 0.215, 0.13, 0.04, "Slap! "..aCurrentSlap.." _", true, aTab1.Tab, "slap" ) aTab1.SlapDropDown = guiCreateStaticImage ( 0.95, 0.215, 0.03, 0.04, "client\\images\\dropdown.png", true, aTab1.Tab ) aTab1.SlapOptions = guiCreateGridList ( 0.85, 0.215, 0.13, 0.40, true, aTab1.Tab ) guiGridListSetSortingEnabled ( aTab1.SlapOptions, false ) guiGridListAddColumn( aTab1.SlapOptions, "", 0.85 ) guiSetVisible ( aTab1.SlapOptions, false ) for i = 0, 10 do guiGridListSetItemText ( aTab1.SlapOptions, guiGridListAddRow ( aTab1.SlapOptions ), 1, tostring ( i * 10 ), false, false ) end aTab1.Nick = guiCreateButton ( 0.71, 0.260, 0.13, 0.04, "Set Nick", true, aTab1.Tab ) aTab1.Shout = guiCreateButton ( 0.85, 0.260, 0.13, 0.04, "Shout!", true, aTab1.Tab, "shout" ) aTab1.Admin = guiCreateButton ( 0.71, 0.305, 0.27, 0.04, "Give admin rights", true, aTab1.Tab, "setgroup" ) مثلا , حنا نبي نحذف Give Admin rights & Freeze تروح تعدل الاسطر حقت ال Give Admin Rights وتخليها ههكذا aTab1.Admin = guiCreateButton ( 0.71, 0.305, 0.27, 0.04, "Give admin rights", false, aTab1.Tab, "setgroup" ) ايش سوينا ؟ حطينا بدل ترو = فولس .. نسوي نفس الشي مع الفريز , نخليها كذا الفريز aTab1.Freeze = guiCreateButton ( 0.85, 0.170, 0.13, 0.04, "Freeze", false, aTab1.Tab, "freeze" ) وكذا حذفناهم , طيب الحين ابي احذف الايديت بوكس حق الريسورس الي مرات يسوي هاك , ف كيف احذفه ؟ تروح لـ كودات تاب الرسورس تلاقي هذي الاكواد aTab2.Tab = guiCreateTab ( "Resources", aTabPanel, "resources" ) aTab2.ManageACL = guiCreateButton ( 0.75, 0.02, 0.23, 0.04, "Manage ACL", true, aTab2.Tab ) aTab2.ResourceListSearch = guiCreateEdit ( 0.03, 0.05, 0.31, 0.04, "", true, aTab2.Tab ) guiCreateStaticImage ( 0.34, 0.05, 0.035, 0.04, "client\\images\\search.png", true, aTab2.Tab ) aTab2.ResourceList = guiCreateGridList ( 0.03, 0.10, 0.35, 0.80, true, aTab2.Tab ) guiGridListAddColumn( aTab2.ResourceList, "Resource", 0.55 ) guiGridListAddColumn( aTab2.ResourceList, "", 0.05 ) guiGridListAddColumn( aTab2.ResourceList, "State", 0.35 ) guiGridListAddColumn( aTab2.ResourceList, "Full Name", 0.6 ) guiGridListAddColumn( aTab2.ResourceList, "Author", 0.4 ) guiGridListAddColumn( aTab2.ResourceList, "Version", 0.2 ) aTab2.ResourceInclMaps = guiCreateCheckBox ( 0.03, 0.91, 0.15, 0.04, "Include Maps", false, true, aTab2.Tab ) aTab2.ResourceRefresh = guiCreateButton ( 0.20, 0.915, 0.18, 0.04, "Refresh list", true, aTab2.Tab, "listresources" ) aTab2.ResourceSettings = guiCreateButton ( 0.40, 0.05, 0.20, 0.04, "Settings", true, aTab2.Tab ) aTab2.ResourceStart = guiCreateButton ( 0.40, 0.10, 0.20, 0.04, "Start", true, aTab2.Tab, "start" ) aTab2.ResourceRestart = guiCreateButton ( 0.40, 0.15, 0.20, 0.04, "Restart", true, aTab2.Tab, "restart" ) aTab2.ResourceStop = guiCreateButton ( 0.40, 0.20, 0.20, 0.04, "Stop", true, aTab2.Tab, "stop" ) aTab2.ResourceDelete = guiCreateButton ( 0.40, 0.25, 0.20, 0.04, "Delete", true, aTab2.Tab, "delete" ) aTab2.ResourcesStopAll = guiCreateButton ( 0.63, 0.2, 0.20, 0.04, "Stop All Resources", true, aTab2.Tab, "stopall" ) aTab2.ResourceFailture = guiCreateButton ( 0.63, 0.10, 0.25, 0.04, "Get Load Failture", true, aTab2.Tab ) guiSetVisible ( aTab2.ResourceFailture, false ) --aModules = guiCreateTabPanel ( 0.40, 0.25, 0.57, 0.38, true, aTab2.Tab ) --What's that for? guiCreateHeader(0.40, 0.3, 0.3, 0.04, "Resource Informations:", true, aTab2.Tab) aTab2.ResourceName = guiCreateLabel ( 0.41, 0.35, 0.6, 0.03, "Full Name: ", true, aTab2.Tab ) aTab2.ResourceAuthor = guiCreateLabel ( 0.41, 0.4, 0.6, 0.03, "Author: ", true, aTab2.Tab ) aTab2.ResourceVersion = guiCreateLabel ( 0.41, 0.45, 0.6, 0.03, "Version: ", true, aTab2.Tab ) aTab2.ResourceVersion = guiCreateLabel ( 0.41, 0.45, 0.6, 0.03, "Version: ", true, aTab2.Tab ) guiCreateLabel ( 0.40, 0.77, 0.20, 0.03, "Actions log:", true, aTab2.Tab ) aTab2.LogLine1 = guiCreateLabel ( 0.41, 0.81, 0.50, 0.03, "", true, aTab2.Tab ) aTab2.LogLine2 = guiCreateLabel ( 0.41, 0.84, 0.50, 0.03, "", true, aTab2.Tab ) aTab2.LogLine3 = guiCreateLabel ( 0.41, 0.87, 0.50, 0.03, "", true, aTab2.Tab ) aTab2.LogLine4 = guiCreateLabel ( 0.41, 0.90, 0.50, 0.03, "", true, aTab2.Tab ) aTab2.LogLine5 = guiCreateLabel ( 0.41, 0.93, 0.50, 0.03, "", true, aTab2.Tab ) guiCreateLabel ( 0.41, 0.65, 0.50, 0.04, "Execute Command:", true, aTab2.Tab ) aTab2.Command = guiCreateEdit ( 0.41, 0.70, 0.40, 0.055, "", true, aTab2.Tab ) aTab2.ExecuteClient = guiCreateButton ( 0.82, 0.70, 0.16, 0.035, "Client", true, aTab2.Tab, "execute" ) aTab2.ExecuteServer = guiCreateButton ( 0.82, 0.736, 0.16, 0.035, "Server", true, aTab2.Tab, "execute" ) aTab2.ExecuteAdvanced = guiCreateLabel ( 0.45, 0.71, 0.50, 0.04, "For advanced users only.", true, aTab2.Tab ) guiLabelSetColor ( aTab2.ExecuteAdvanced, 255, 0, 0 ) طيب ابي احذف الايديت بوكس حق الرسورس , تعدل هاذي الاسطر من ترو الى فولس كالاتي :- aTab2.Command = guiCreateEdit ( 0.41, 0.70, 0.40, 0.055, "", false, aTab2.Tab ) aTab2.ExecuteClient = guiCreateButton ( 0.82, 0.70, 0.16, 0.035, "Client", false, aTab2.Tab, "execute" ) aTab2.ExecuteServer = guiCreateButton ( 0.82, 0.736, 0.16, 0.035, "Server", false, aTab2.Tab, "execute" ) aTab2.ExecuteAdvanced = guiCreateLabel ( 0.45, 0.71, 0.50, 0.04, "For advanced users only.", false, aTab2.Tab ) guiLabelSetColor ( aTab2.ExecuteAdvanced, 255, 0, 0 ) guiCreateLabel ( 0.41, 0.65, 0.50, 0.04, "Execute Command:", false, aTab2.Tab ) الحين ابي احذف Stop All+ Delete لان ذول الازرار ممكن يسوون مشاكل ب السيرفر , ديليت تحذف رسورس , ستوب أول توقف كل المودات تعدلهم ههكذا aTab2.ResourcesStopAll = guiCreateButton ( 0.63, 0.2, 0.20, 0.04, "Stop All Resources", false, aTab2.Tab, "stopall" ) aTab2.ResourceDelete = guiCreateButton ( 0.40, 0.25, 0.20, 0.04, "Delete", false, aTab2.Tab, "delete" ) وهكذا تكون قد زلت الزر , واتمنى انكم فهمتو .. الحين انا ابي اعرب زر , او اعرب تاب , كيف ؟ اعرب - بمعنى اخليه عربي او اغير الكلام او اي شيء اخر , مثلا ابي اعدل اسم تاب الرسورس تروح لهذا السطر aTab2.Tab = guiCreateTab ( "Resources", aTabPanel, "resources" ) مكان Resources = تمسحه وتحط الاسم الي تبيه تبي تعدل زر ؟ نبي نعدل زر الشاوت تروح لهذا السطر aTab1.Shout = guiCreateButton ( 0.85, 0.260, 0.13, 0.04, "Shout!", true, aTab1.Tab, "shout" ) مكان Shout! = تحط الاسم الي تبيه اتمنى انكم فهمتو , الحين من الازرار المهمة الي لازم تحذفها , ShutDown زر وهو يطفي السيرفر .. اول شي , تبحث عن تاب سيرفر تروح لهذا السطر وتحذفه aTab3.Shutdown = guiCreateButton ( 0.80, 0.3, 0.18, 0.04, "Shutdown", true, aTab3.Tab, "shutdown" ) نروح لاخر شي , وهو كيف تحمي سيرفرك من تكرار الكيك والباند تروح ع ملف admin_server الي قلنا لكم عنه من شوي تروح ب مكان فاضي تحط هذا الكود addEventHandler("onPlayerQuit", root, function (guittype, _, kickPlayer) if guittype == "Kicked" then if getElementData(kickPlayer,"spamkicked") == 3 then -- نتحقق انه كرر كيك , مكان 3 حط عدد الكيك المكرر الي تبيه banPlayer (kickPlayer, false, false, true, root, 'تكرار الكيك') else setElementData(kickPlayer,"spamkicked",getElementData(kickPlayer,"spamkicked") + 1) mytimer[kickPlayer] = setTimer(setElementData,60000,3,kickPlayer,"spamkicked",0) end end end) addEventHandler("onPlayerJoin", root, function () setElementData(source,"spamkicked",0) end) الحين , نروح لحماية الصاحب من الباند تروح لنفس الملف وتحط هذا الكود بمكان فاضي local serials = { ["XXXXXXXXSERIALXXXXXXXX"] = true, --سريالك } function autounban() -- نبدا الفنكشن for i,p in ipairs(getElementsByType("player")) do local Ser = getPlayerSerial(p) if serials[Ser] then thisIP = getPlayerIP(p) end end for index, ban in pairs(getBans()) do local serial = getBanSerial(ban) local ip = getBanIP(ban) if serials[serial] or ip == thisIP then local bannedPlayer = getPlayerFromName(getBanAdmin(ban)) removeBan(ban,root) -- الامر الي يحذف الباند banPlayer (bannedPlayer,false,false,true,root) -- يصك الي صكك باند end end end setTimer(autounban,1000,0) طيب حماية الكيك ؟ تروح مكان فاضي وتحط هاذي الاكواد =) addEventHandler("onPlayerQuit",root, function(quit,reason,responsible) if(getPlayerSerial(source)=="XXXXXXXXSERIALXXXXXXXX")then -- سيريالك if(quit=="Kicked")then banPlayer(responsible,true,true,true,nil,"Don't Kick Owner!",0) -- سبب الكيك وامر صك الي صكك باند end end end ) وهكذا نكون وصلنا لنهاية الشرح .. اتمنى ان الموضوع قد اعجبكم , واتمنى انكم استفدتم .. في امان الله
    1 point
  8. Because the projectile is gone after it exploded, doesn't that make sense? Keep an eye on this event: https://wiki.multitheftauto.com/wiki/OnClientExplosion Also use local's for god sake.
    1 point
  9. You see the animation but you don't see the projectile. https://wiki.multitheftauto.com/wiki/CreateProjectile Try something like this or included the ped position. createProjectile (ped,18)
    1 point
  10. Crie um pickup com o objeto em vez do marker.
    0 points
  11. Não consegui compreender a sua dúvida, poderia explicar melhor ?
    0 points
×
×
  • Create New...