Leaderboard
Popular Content
Showing content with the highest reputation on 11/10/16 in all areas
-
addEventHandler("onClientPlayerDamage", localPlayer, function(attacker) if (attacker and getElementType(attacker) == "player" and attacker ~= source) then local sourceTeam = getPlayerTeam (source) local attckerTeam = getPlayerTeam (attacker) if(attckerTeam == sourceTeam) then cancelEvent() end end end )3 points
-
А теперь с небес на землю. Возможности МТА продвинуты только относительно SAMP. Если вы попробуете сделать что-то действительно серьезное, а не тот детский сад а-ля "я у мамы разработчик" что делают сейчас даже самые распиаренные и "продвинутые" проекты, то начнете спотыкаться обо все подряд: - чудесный Lua. Вычислительной мощности что на клиенте, что на сервере кот наплакал. Любой серьезный графический шейдер (один, нормальные тени например) просадит FPS раза в 2. Любые попытки сделать нормальных живых ботов закончатся тем же - клиент задохнется от перегрузки CPU, сервер при онлайне в 50-100 человек сдохнет от трафика. - баги. "Ах, вот если бы сделали проект, чтобы задействовали прямо все функции МТА, вот бы тогда все увидели какая МТА мощь!". Угу, только из этих функций процентов 5-10 забагованы или не работают. Ну казалось бы, их не так много. Только вот время разработки возрастает раза в 3-4 из-за того, что нужно эти баги обходить. - кривая архитектура. Что такое МТА? Есть ГТА сан андреас в котором существуют свои понятия и структура классов, есть МТА которая взламывает сан андреас для доступа к функциям и строит поверх первой свою собственную систему. Выглядит это все как-то так: Сделать что-то серьезное на таком фундаменте у Вас не получится. И дело даже не в багах МТА. Любой серьезный проект - сложный проект. Чтобы не рухнуть под собственным весом проект должен быть хорошо структурирован, должна быть продумана архитектура - деление одного большого на множество маленьких простых, и то как эти простые будут взаимодействовать между собой. Так вот, стройную большую систему у Вас построить в МТА не получится. Количество кода который будет фиксить баги и выпрямлять искривления в определенный момент станет таким, что баги начнут сами с собой взаимодействовать и порождать новые баги. Добавьте к этому то, что с каждым новым унаследованным классом скорость работы системы падает по экспоненте (а у Вас ее и так кот наплакал) - и Вы получите естественный физический лимит возможного качества Вашего проекта. Итого: любой серьезный разработчик выберет нормальный игровой движок с открытым исходным кодом (Unity, UE, CE). Посему ждать по-настоящему прорывных проектов в МТА не стоит. Хороша ли МТА? Однозначно да. Для первых шагов в области разработки и проектов низкого уровня сложности, либо проектов с какой-либо одной очень продвинутой фишкой. Сможет ли МТА обогнать SAMP? Не думаю. Выдача гугла по поисковому запросу "GTA SA multiplayer" похоронит даже самый продвинутый проект. Есть надежда на ютуб, но время идет, а графический и физический движки в МТА ни капли не лучше чем 10 лет назад.2 points
-
2 points
-
https://luca-spopo.github.io/ash.html Made using bakaGaijin. I am not going to type everything here again, so just click the first link on top. Some teasers: https://youtu.be/qGYF3OFbGy8 https://youtu.be/pVPMER9JTiI https://youtu.be/Hm0xIc35BfA Before you ask: No, this does not use Javascript or CEF. It is a pure Lua implementation.1 point
-
1 point
-
يهلا والله بجميع اخباركم ان شاء الله بخير .. نزلت مقطع و ابي رايكم بـ تعليقات و كومنت و حركات زينه يا عسل : )1 point
-
well, you gotta replace those functions with mta built functions. it's all pretty much convertable1 point
-
you'll use arguments, it's all well explained on wiki. takes some time to understand though. here are related wiki links: https://wiki.multitheftauto.com/wiki/TriggerServerEvent https://wiki.multitheftauto.com/wiki/TriggerClientEvent it's like passing arguments to a function. pretty handy stuff really you'll use arguments, it's all well explained on wiki. takes some time to understand though. here are related wiki links: https://wiki.multitheftauto.com/wiki/TriggerServerEvent https://wiki.multitheftauto.com/wiki/TriggerClientEvent it's like passing arguments to a function. pretty handy stuff really. here's an example for you: --serverside addEvent ("myEvent"); --add your event addEventHandler ("myEvent", root, --and its handler function (data) --argument of your data outputChatBox (tostring (data)); --execute end ); --clientside triggerServerEvent ("myEvent", resourceRoot, "My name is Jeff"); --this triggers "myEvent" event added on serverside and outputs "My name is Jeff" on serverside1 point
-
all you have to do is using sql functions... it's all detailed in the link @pa3ck sent1 point
-
1 point
-
Try this : addEventHandler ( "onClientResourceStart",resourceRoot, function ( ) sound = playSound( "music/APB.mp3" ) setTimer ( function ( ) if sound and isElement ( sound ) then destroyElement ( sound ) sound = nil end end,50000,1 ) end )1 point
-
You can make it client side with 'onClientResourceStart' Event. PS. It will start after download finish.1 point
-
addEventHandler ( 'onMarkerHit',marker2, function ( player ) if ( player and getElementType ( player ) == 'player' ) then local vehicle = getPedOccupiedVehicle( player ) if ( vehicle and vehicle == table [ source ] ) then if isElement ( table [ source ] ) then destroyElement ( table [ source ] ) givePlayerMoney( player,7000 ) end end end end ) بدل هذا بـ addEventHandler ( 'onMarkerHit',marker2, function ( player ) if ( player and getElementType ( player ) == 'player' and isPedInVehicle ( player ) ) then local vehicle = getPedOccupiedVehicle( player ) if ( vehicle and vehicle == table [ player ] ) then if isElement ( table [ player ] ) then destroyElement ( table [ player ] ) givePlayerMoney( player,7000 ) end end end end )1 point
-
На счет скорости проблема известна, но на неё успешно забили 2 года назад.1 point
-
1 point
-
1 point
-
Here's an simple example : function aDailyUpdate ( ) -- Create function local aHour,aMinute = getTime ( ) -- get ingame time if ( aHour == 00 and aMinute == 00 ) then -- check if the time is 00:00 removeEventHandler ( 'onClientRender',root,aDailyUpdate ) -- remove the function handler aCall ( ) -- call the function we need outputChatBox ( 'Time now is 00:00' ) -- make a chat box note setTimer ( function ( ) addEventHandler ( 'onClientRender',root,aDailyUpdate ) -- we add the event again so make an update daily end,5000,1 ) end end addEventHandler ( 'onClientRender',root,aDailyUpdate ) -- add the function handler function aCall ( ) -- called function outputChatBox ( 'Hello world!' )-- chat box message end It's a client side code.1 point
-
1 point
-
1 point
-
1 point
-
Put This in Your Meta.xml <min_mta_version_client="1.3.0-9.04482"></min_mta_version>1 point
-
admin_main افتح ملف ضع هذا السطر باول سطر local disallowedGroups = { ["group1"] = true, ["group2"] = true, ["ضع هنا المزيد"] = true, } function hasNoPermissionToUnmute() local groups_s = aPlayers[localPlayer]["groups"] local groups_t = (type(groups_s) == "string" and groups_s ~= "None") and split(groups_s, ", ") if groups_t then for k, v in ipairs(groups_t) do if disallowedGroups[v] then return true end end end return false end ابحث عن هذا السطر elseif ( source == aTab1.Mute ) then if not aPlayers[player]["mute"] then aMuteInputBox ( player ) else aMessageBox ( "question", "Are you sure to unmute "..name.."?", "unmute", player ) end استبدله بهذا elseif ( source == aTab1.Mute ) then if not hasNoPermissionToUnmute() then if not aPlayers[player]["mute"] then aMuteInputBox ( player ) else aMessageBox ( "question", "Are you sure to unmute "..name.."?", "unmute", player ) end end1 point
-
1 point
-
1 point
-
هذا المود رح يريح ناس كثيرين في اللعبة + يعطي للسيرفر واقعية اكثر لأنه بكل بساطة يخلي اللاعب حقك يتكلم بأصوات انت رح تحددها فيما بعد التحميل من هنا ملفات تستطيع التعديل عليها -- Client bindKey ( "F1" , "down" , function() guiSetVisible ( theWindow, not guiGetVisible ( theWindow ) ) showCursor ( guiGetVisible ( theWindow ) ) end) local table = { {"Sounds/enemy1.ogg","Sounds/Needhelp1.ogg","Sounds/Run1.ogg","Sounds/friendlyfire_alt1.ogg","Sounds/rogerthat1.ogg","Sounds/thankyou1.ogg","Sounds/Move1.ogg","Sounds/Sorry1.ogg","Sounds/Request.ogg","Sounds/requestmedic1.ogg","Sounds/getin1.ogg"}, {"Sounds/enemy2.ogg","Sounds/Needhelp2.ogg","Sounds/Run2.ogg","Sounds/friendlyfire_alt2.ogg","Sounds/rogerthat2.ogg","Sounds/thankyou2.ogg","Sounds/Move2.ogg","Sounds/Sorry2.ogg","Sounds/Request.ogg","Sounds/requestmedic2.ogg","Sounds/getin2.ogg"} } addEventHandler("onClientRender", root, function() --------------------------------------------= enemy,Needhelp,Run,friendlyfire_alt,rogerthat,thankyou,MoveSound,SorrySound,Request,requestmedic2,getinV = unpack( table[math.random(#table)] ) --------------------------------------------= PlaySoundNum1 = rogerthat PlaySoundNum2 = friendlyfire_alt PlaySoundNum3 = getinV PlaySoundNum4 = enemy PlaySoundNum5 = requestmedic2 PlaySoundNum6 = Request PlaySoundNum7 = Needhelp PlaySoundNum8 = SorrySound PlaySoundNum9 = thankyou PlaySoundNum10 = MoveSound --------------------------------------------= end ) --------------------------------------------= GUISET_TEXT1 = "Roger that" GUISET_TEXT2 = "Get in" GUISET_TEXT3 = "Need help" GUISET_TEXT4 = "Request pickup" GUISET_TEXT5 = "Sorry" GUISET_TEXT6 = "Thank you" GUISET_TEXT7 = "Stop Fire !" GUISET_TEXT8 = "Enemy in area" GUISET_TEXT9 = "Play with theLink.BETA" GUISET_TEXT10 = "write theLink Here" GUISET_TEXT11 = "Close window" GUISET_TEXT12 = "Go Go Go" GUISET_TEXT13 = "Sound System [BF2]" GUISET_TEXT14 = "Request medic" GUISET_TEXT15 = "Destroy Sound" SText = "S" LText = "L" --------------------------------------------= GUINormalTextColour,GUIColorCode,GUIFont = "NormalTextColour","FFDAF5F9","default-bold-small" --------------------------------------------= SoundMaxDistance1 = 50 SoundMaxDistance2 = 50 SoundMaxDistance3 = 50 SoundMaxDistance4 = 50 SoundMaxDistance5 = 50 SoundMaxDistance6 = 50 SoundMaxDistance7 = 50 SoundMaxDistance8 = 50 SoundMaxDistance9 = 50 SoundMaxDistance10 = 50 SoundMaxDistance11 = 50 --------------------------------------------= ShowChat = true -- or false Msg1 = "theMSG 1" Msg2 = "theMSG 2" Msg3 = "theMSG 3" Msg4 = "theMSG 4" Msg5 = "theMSG 5" Msg6 = "theMSG 6" Msg7 = "theMSG 7" Msg8 = "theMSG 8" Msg9 = "theMSG 9" Msg10 = "theMSG 10" ForYou1 point
-
شكراً لك على ردك الجميل NssoR , taha201100 شكراً على التعليق - انا آسف لأني ما وضحت في الفيديو NssoR المود بالفعل متل ما قلت يا --------------------------------------- " مب معقول اسوي اصوات غير كدة ! " --------------------------------------- ما حد يقدر يسمع الكلام غير القريب منك وكل نغمة لها بعد معين - شكراً على تفاعلكم معي ------------------------------------------------------------------------------- ملاحظة : آسف اذا تكرر الرد - الانترنت حقي مرة ضعيف وماني قادر اسوي شي NssoR وهذا سبب تأخيري في الرد على الاخ SoundMaxDistance1 = 50 SoundMaxDistance2 = 50 SoundMaxDistance3 = 50 SoundMaxDistance4 = 50 SoundMaxDistance5 = 50 SoundMaxDistance6 = 50 SoundMaxDistance7 = 50 SoundMaxDistance8 = 50 SoundMaxDistance9 = 50 SoundMaxDistance10 = 50 SoundMaxDistance11 = 501 point