oscarhrb Posted May 14, 2018 Share Posted May 14, 2018 عندي لوحة ادمنية بس ابي اخلي الاسل مقفل بكلمه كيف؟ Link to comment
فاّرس Posted May 14, 2018 Share Posted May 14, 2018 لازم تعرف اسم (متغير) الزر حق الأسل، وبعدها تقفل الزر، وبعدها سوي كوماند واستخدم وظيفة فتح الزر، واذا تبغاه يفتح لرتبه محدده او سريال محدد لازم تسوي تريقر للسيرفر. guiSetEnabled -- تقفل وتفتح الزر addCommandHandler -- تسوي أمر من اف٨ Link to comment
oscarhrb Posted May 14, 2018 Author Share Posted May 14, 2018 1 hour ago, Sha67 said: لازم تعرف اسم (متغير) الزر حق الأسل، وبعدها تقفل الزر، وبعدها سوي كوماند واستخدم وظيفة فتح الزر، واذا تبغاه يفتح لرتبه محدده او سريال محدد لازم تسوي تريقر للسيرفر. guiSetEnabled -- تقفل وتفتح الزر addCommandHandler -- تسوي أمر من اف٨ كيف اعرف اسم المتغير اطرح لك اكواد اللوحه ؟ Link to comment
oscarhrb Posted May 14, 2018 Author Share Posted May 14, 2018 37 minutes ago, Sha67 said: هات. --[[********************************** * * Multi Theft Auto - Admin Panel * * gui\admin_main.lua * * Original File by lil_Toady * **************************************]] aAdminForm = nil aLastCheck = 0 aCurrentVehicle = 429 aCurrentWeapon = 30 aCurrentAmmo = 90 aCurrentSlap = 20 aPlayers = {} aBans = {} aLastSync = 0 aResources = {} 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, "لوحة الادمنيه - v".._version ) guiCreateLabel ( 0.81, 0.06, 0.45, 0.04, "تعريب : iLoading V3", true, aAdminForm ) aTabPanel = guiCreateTabPanel ( 0.01, 0.05, 0.98, 0.95, true, aAdminForm ) aTab1 = {} aTab1.Tab = guiCreateTab ( "اللاعبين", aTabPanel, "players" ) aTab1.Messages = guiCreateButton ( 0.75, 0.02, 0.23, 0.04, "0/0 رسائل غير مقروءة", true, aTab1.Tab ) aTab1.ScreenShots = guiCreateButton ( 0.75, 0.065, 0.23, 0.04, "لقطات", 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, "إخفاء اكواد الآلوان", true, true, aTab1.Tab ) aTab1.PlayerList = guiCreateGridList ( 0.03, 0.10, 0.20, 0.83, true, aTab1.Tab ) guiGridListAddColumn( aTab1.PlayerList, "اسم اللاعب", 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, "طرد", true, aTab1.Tab, "kick" ) aTab1.Ban = guiCreateButton ( 0.85, 0.125, 0.13, 0.04, "حظر", true, aTab1.Tab, "ban" ) aTab1.Mute = guiCreateButton ( 0.71, 0.170, 0.13, 0.04, "كتم", true, aTab1.Tab, "mute" ) aTab1.Freeze = guiCreateButton ( 0.85, 0.170, 0.13, 0.04, "تجميـد", true, aTab1.Tab, "freeze" ) aTab1.Spectate = guiCreateButton ( 0.71, 0.215, 0.13, 0.04, "مراقبـه", true, aTab1.Tab, "spectate" ) aTab1.Slap = guiCreateButton ( 0.85, 0.215, 0.13, 0.04, "سـلاب"..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, "تغيير الاسم", true, aTab1.Tab ) aTab1.Shout = guiCreateButton ( 0.85, 0.260, 0.13, 0.04, "ارسال كلمه!", true, aTab1.Tab, "shout" ) aTab1.Admin = guiCreateButton ( 0.71, 0.305, 0.27, 0.04, "إعطائه ادمنيه", true, aTab1.Tab, "setgroup" ) local y = 0.03 -- Start y coord local A = 0.045 -- Large line gap local B = 0.035 -- Small line gap guiCreateHeader ( 0.25, y, 0.20, 0.04, "اللاعب:", true, aTab1.Tab ) y=y+A aTab1.Name = guiCreateLabel ( 0.26, y, 0.30, 0.035, "الأسم: N/A", true, aTab1.Tab ) y=y+A aTab1.IP = guiCreateLabel ( 0.26, y, 0.30, 0.035, "الاي بي: N/A", true, aTab1.Tab ) aTab1.CountryCode = guiCreateLabel ( 0.45, y, 0.04, 0.035, "", true, aTab1.Tab ) aTab1.Flag = guiCreateStaticImage ( 0.40, y, 0.025806, 0.021154, "client\\images\\empty.png", true, aTab1.Tab ) y=y+A aTab1.Serial = guiCreateLabel ( 0.26, y, 0.435, 0.035, "الرقم التسلسلي: N/A", true, aTab1.Tab ) --aTab1.Username = guiCreateLabel ( 0.26, 0.245, 0.435, 0.035, "Username: N/A", true, aTab1.Tab ) y=y+B aTab1.Version = guiCreateLabel ( 0.26, y, 0.435, 0.035, "الاصدار: N/A", true, aTab1.Tab ) y=y+B aTab1.Accountname = guiCreateLabel ( 0.26, y, 0.435, 0.035, "إسم الحساب: N/A", true, aTab1.Tab ) y=y+B aTab1.Groups = guiCreateLabel ( 0.26, y, 0.435, 0.035, "المجموعه: N/A", true, aTab1.Tab ) y=y+A aTab1.ACDetected = guiCreateLabel ( 0.26, y, 0.30, 0.035, "AC #الكشف: N/A", true, aTab1.Tab ) y=y+B aTab1.ACD3D = guiCreateLabel ( 0.26, y, 0.30, 0.035, "D3D9.DLL: N/A", true, aTab1.Tab ) y=y+B aTab1.ACModInfo = guiCreateLabel ( 0.26, y, 0.20, 0.035, "GTA تعديل: N/A", true, aTab1.Tab ) aTab1.ACModDetails = guiCreateButton ( 0.46, y, 0.13, 0.04, "تفاصيل", true, aTab1.Tab ) B = 0.040 y=y+A guiCreateHeader ( 0.25, y, 0.20, 0.04, "اللعبة:", true, aTab1.Tab ) y=y+A aTab1.Health = guiCreateLabel ( 0.26, y, 0.20, 0.04, "0 : صحة%", true, aTab1.Tab ) aTab1.Armour = guiCreateLabel ( 0.45, y, 0.20, 0.04, "الدرع: 0%", true, aTab1.Tab ) y=y+B aTab1.Skin = guiCreateLabel ( 0.26, y, 0.20, 0.04, "الشخصيه: N/A", true, aTab1.Tab ) aTab1.Team = guiCreateLabel ( 0.45, y, 0.20, 0.04, "الفريق: None", true, aTab1.Tab ) y=y+B aTab1.Weapon = guiCreateLabel ( 0.26, y, 0.35, 0.04, "السلاح: N/A", true, aTab1.Tab ) y=y+B aTab1.Ping = guiCreateLabel ( 0.26, y, 0.20, 0.04, "البنق: 0", true, aTab1.Tab ) aTab1.Money = guiCreateLabel ( 0.45, y, 0.20, 0.04, "0 :المال", true, aTab1.Tab ) y=y+B aTab1.Area = guiCreateLabel ( 0.26, y, 0.44, 0.04, "منطقة: غير معروف", true, aTab1.Tab ) y=y+B aTab1.PositionX = guiCreateLabel ( 0.26, y, 0.30, 0.04, "X: 0", true, aTab1.Tab ) y=y+B aTab1.PositionY = guiCreateLabel ( 0.26, y, 0.30, 0.04, "Y: 0", true, aTab1.Tab ) y=y+B aTab1.PositionZ = guiCreateLabel ( 0.26, y, 0.30, 0.04, "Z: 0", true, aTab1.Tab ) y=y+B aTab1.Dimension = guiCreateLabel ( 0.26, y, 0.20, 0.04, "البعد: 0", true, aTab1.Tab ) aTab1.Interior = guiCreateLabel ( 0.45, y, 0.20, 0.04, "داخلي: 0", true, aTab1.Tab ) y=y+A guiCreateHeader ( 0.25, y, 0.20, 0.04, "السياره:", true, aTab1.Tab ) y=y+A aTab1.Vehicle = guiCreateLabel ( 0.26, y, 0.35, 0.04, "السياره: N/A", true, aTab1.Tab ) y=y+B aTab1.VehicleHealth = guiCreateLabel ( 0.26, y, 0.25, 0.04, " قوة السياره: 0%", true, aTab1.Tab ) aTab1.SetHealth = guiCreateButton ( 0.71, 0.395, 0.13, 0.04, "اعطاء دم", true, aTab1.Tab, "sethealth" ) aTab1.SetArmour = guiCreateButton ( 0.85, 0.395, 0.13, 0.04, "إعطاء درع", true, aTab1.Tab, "setarmour" ) aTab1.SetSkin = guiCreateButton ( 0.71, 0.440, 0.13, 0.04, "تغيير الشخصيه", true, aTab1.Tab, "setskin" ) aTab1.SetTeam = guiCreateButton ( 0.85, 0.440, 0.13, 0.04, "تغيير الفريق", true, aTab1.Tab, "setteam" ) aTab1.SetDimension = guiCreateButton ( 0.71, 0.755, 0.13, 0.04, "تعيين البعد", true, aTab1.Tab, "setdimension" ) aTab1.SetInterior = guiCreateButton ( 0.85, 0.755, 0.13, 0.04, "اختيار المبنى", true, aTab1.Tab, "setinterior" ) aTab1.GiveWeapon = guiCreateButton ( 0.71, 0.485, 0.27, 0.04, "إعطاء سلاح: "..getWeaponNameFromID ( aCurrentWeapon ), true, aTab1.Tab, "giveweapon" ) aTab1.WeaponDropDown = guiCreateStaticImage ( 0.95, 0.485, 0.03, 0.04, "client\\images\\dropdown.png", true, aTab1.Tab ) aTab1.WeaponOptions = guiCreateGridList ( 0.71, 0.485, 0.27, 0.48, true, aTab1.Tab ) guiGridListAddColumn( aTab1.WeaponOptions, "", 0.85 ) guiSetVisible ( aTab1.WeaponOptions, false ) for i = 1, 46 do if ( getWeaponNameFromID ( i ) ~= false ) then guiGridListSetItemText ( aTab1.WeaponOptions, guiGridListAddRow ( aTab1.WeaponOptions ), 1, getWeaponNameFromID ( i ), false, false ) end end aTab1.SetMoney = guiCreateButton ( 0.71, 0.530, 0.13, 0.04, "إعطاء مال", true, aTab1.Tab, "setmoney" ) aTab1.SetStats = guiCreateButton ( 0.85, 0.530, 0.13, 0.04, "ادوات", true, aTab1.Tab, "setstat" ) aTab1.JetPack = guiCreateButton ( 0.71, 0.575, 0.27, 0.04, "إعطاء نفاثه", true, aTab1.Tab, "jetpack" ) aTab1.Warp = guiCreateButton ( 0.71, 0.620, 0.27, 0.04, "الذهاب إلى اللاعب", true, aTab1.Tab, "warp" ) aTab1.WarpTo = guiCreateButton ( 0.71, 0.665, 0.27, 0.04, "جلب اللاعب إلى..", true, aTab1.Tab, "warp" ) aTab1.VehicleFix = guiCreateButton ( 0.71, 0.84, 0.13, 0.04, "اصلاح", true, aTab1.Tab, "repair" ) aTab1.VehicleDestroy = guiCreateButton ( 0.71, 0.89, 0.13, 0.04, "ازالة", true, aTab1.Tab, "destroyvehicle" ) aTab1.VehicleBlow = guiCreateButton ( 0.85, 0.84, 0.13, 0.04, "تفجير", true, aTab1.Tab, "blowvehicle" ) aTab1.VehicleCustomize = guiCreateButton ( 0.85, 0.89, 0.13, 0.04, "اعدادت", true, aTab1.Tab, "customize" ) aTab1.AnonAdmin = guiCreateCheckBox (0.745, 0.942, 0.20, 0.04, "ادمن متخفي", isAnonAdmin(), true, aTab1.Tab ) aTab1.GiveVehicle = guiCreateButton ( 0.71, 0.710, 0.27, 0.04, "إعطاء سياره: "..getVehicleNameFromModel ( aCurrentVehicle ), true, aTab1.Tab, "givevehicle" ) aTab1.VehicleDropDown = guiCreateStaticImage ( 0.95, 0.710, 0.03, 0.04, "client\\images\\dropdown.png", true, aTab1.Tab ) local gx, gy = guiGetSize ( aTab1.GiveVehicle, false ) aTab1.VehicleOptions = guiCreateGridList ( 0, 0, gx, 200, false ) guiGridListAddColumn( aTab1.VehicleOptions, "", 0.85 ) guiSetAlpha ( aTab1.VehicleOptions, 0.80 ) guiSetVisible ( aTab1.VehicleOptions, false ) local vehicleNames = {} for i = 400, 611 do if ( getVehicleNameFromModel ( i ) ~= "" ) then table.insert( vehicleNames, { model = i, name = getVehicleNameFromModel ( i ) } ) end end table.sort( vehicleNames, function(a, b) return a.name < b.name end ) for _,info in ipairs(vehicleNames) do local row = guiGridListAddRow ( aTab1.VehicleOptions ) guiGridListSetItemText ( aTab1.VehicleOptions, row, 1, info.name, false, false ) guiGridListSetItemData ( aTab1.VehicleOptions, row, 1, tostring ( info.model ) ) end aTab2 = {} aTab2.Tab = guiCreateTab ( "المودات", 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, "المودات", 0.55 ) guiGridListAddColumn( aTab2.ResourceList, "", 0.05 ) guiGridListAddColumn( aTab2.ResourceList, "ادوات", 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, "اظهار المابات", false, true, aTab2.Tab ) aTab2.ResourceRefresh = guiCreateButton ( 0.20, 0.915, 0.18, 0.04, "تحديث", true, aTab2.Tab, "listresources" ) aTab2.ResourceSettings = guiCreateButton ( 0.40, 0.05, 0.20, 0.04, "إعدادات", true, aTab2.Tab ) aTab2.ResourceStart = guiCreateButton ( 0.40, 0.10, 0.20, 0.04, "تشغيل", true, aTab2.Tab, "start" ) aTab2.ResourceRestart = guiCreateButton ( 0.40, 0.15, 0.20, 0.04, "إعادة تشغيل", true, aTab2.Tab, "restart" ) aTab2.ResourceStop = guiCreateButton ( 0.40, 0.20, 0.20, 0.04, "إيقاف", true, aTab2.Tab, "stop" ) aTab2.ResourceDelete = guiCreateButton ( 0.40, 0.25, 0.20, 0.04, "حذف", true, aTab2.Tab, "delete" ) aTab2.ResourcesStopAll = guiCreateButton ( 0.63, 0.2, 0.20, 0.04, "توقف جميع المودات", 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, "سجل الاجراءات:", 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, "استخراج:", 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, "عميل", true, aTab2.Tab, "execute" ) aTab2.ExecuteServer = guiCreateButton ( 0.82, 0.736, 0.16, 0.035, "خادم", true, aTab2.Tab, "execute" ) aTab2.ExecuteAdvanced = guiCreateLabel ( 0.45, 0.71, 0.50, 0.04, "للمستخدمين المتقدمين فقط.", true, aTab2.Tab ) guiLabelSetColor ( aTab2.ExecuteAdvanced, 255, 0, 0 ) aLogLines = 1 createMapTab() aTab3 = {} aTab3.Tab = guiCreateTab ( "الخادم", aTabPanel, "server" ) aTab3.Server = guiCreateLabel ( 0.05, 0.05, 0.70, 0.05, "السيرفر: غير معروف", true, aTab3.Tab ) aTab3.Password = guiCreateLabel ( 0.05, 0.10, 0.40, 0.05, "كلمة المرور: لايوجد", true, aTab3.Tab ) aTab3.GameType = guiCreateLabel ( 0.05, 0.15, 0.40, 0.05, "نوع المود: لايوجد", true, aTab3.Tab ) aTab3.MapName = guiCreateLabel ( 0.05, 0.20, 0.40, 0.05, "اسم الماب : لايوجد", true, aTab3.Tab ) aTab3.Players = guiCreateLabel ( 0.05, 0.25, 0.20, 0.05, "عدد اللاعبين: 0/0", true, aTab3.Tab ) aTab3.SetPassword = guiCreateButton ( 0.80, 0.05, 0.18, 0.04, "وضع كلمة مرور", true, aTab3.Tab, "setpassword" ) aTab3.ResetPassword = guiCreateButton ( 0.80, 0.10, 0.18, 0.04, "إزالة كلمة المرور", true, aTab3.Tab, "setpassword" ) aTab3.SetGameType = guiCreateButton ( 0.80, 0.15, 0.18, 0.04, "وضع اسم المود", true, aTab3.Tab, "setgame" ) aTab3.SetMapName = guiCreateButton ( 0.80, 0.20, 0.18, 0.04, "وضع اسم الماب", true, aTab3.Tab, "setmap" ) aTab3.SetWelcome = guiCreateButton ( 0.80, 0.25, 0.18, 0.04, "رسالة الترحيب", true, aTab3.Tab, "setwelcome" ) aTab3.Shutdown = guiCreateButton ( 0.80, 0.3, 0.18, 0.04, "اطفئ الخادم", true, aTab3.Tab, "shutdown" ) guiCreateStaticImage ( 0.05, 0.32, 0.50, 0.0025, "client\\images\\dot.png", true, aTab3.Tab ) aTab3.WeatherCurrent = guiCreateLabel ( 0.05, 0.35, 0.45, 0.05, "الجو الحالي: "..getWeather().." ("..getWeatherNameFromID ( getWeather() )..")", true, aTab3.Tab ) aTab3.WeatherDec = guiCreateButton ( 0.05, 0.40, 0.035, 0.04, "<", true, aTab3.Tab ) aTab3.Weather = guiCreateEdit ( 0.095, 0.40, 0.35, 0.04, getWeather().." ("..getWeatherNameFromID ( getWeather() )..")", true, aTab3.Tab ) aTab3.WeatherInc = guiCreateButton ( 0.45, 0.40, 0.035, 0.04, ">", true, aTab3.Tab ) guiEditSetReadOnly ( aTab3.Weather, true ) aTab3.WeatherSet = guiCreateButton ( 0.50, 0.40, 0.10, 0.04, "وضع", true, aTab3.Tab, "setweather" ) aTab3.WeatherBlend = guiCreateButton ( 0.61, 0.40, 0.15, 0.04, "حفظ الجو", true, aTab3.Tab, "blendweather" ) local th, tm = getTime() aTab3.TimeCurrent = guiCreateLabel ( 0.05, 0.45, 0.25, 0.04, "الوقت: "..th..":"..tm, true, aTab3.Tab ) aTab3.TimeH = guiCreateEdit ( 0.35, 0.45, 0.055, 0.04, "12", true, aTab3.Tab ) aTab3.TimeM = guiCreateEdit ( 0.425, 0.45, 0.055, 0.04, "00", true, aTab3.Tab ) guiCreateLabel ( 0.415, 0.45, 0.05, 0.04, ":", true, aTab3.Tab ) guiEditSetMaxLength ( aTab3.TimeH, 2 ) guiEditSetMaxLength ( aTab3.TimeM, 2 ) aTab3.TimeSet = guiCreateButton ( 0.50, 0.45, 0.10, 0.04, "وضع", true, aTab3.Tab, "settime" ) guiCreateLabel ( 0.63, 0.45, 0.12, 0.04, "( 0-23:0-59 )", true, aTab3.Tab ) aTab3.GravityCurrent = guiCreateLabel ( 0.05, 0.50, 0.28, 0.04, "الجاذبيه: "..string.sub ( getGravity(), 0, 6 ), true, aTab3.Tab ) aTab3.Gravity = guiCreateEdit ( 0.35, 0.50, 0.135, 0.04, "0.008", true, aTab3.Tab ) aTab3.GravitySet = guiCreateButton ( 0.50, 0.50, 0.10, 0.04, "وضع", true, aTab3.Tab, "setgravity" ) aTab3.SpeedCurrent = guiCreateLabel ( 0.05, 0.55, 0.30, 0.04, "سرعة اللعب: "..getGameSpeed(), true, aTab3.Tab ) aTab3.Speed = guiCreateEdit ( 0.35, 0.55, 0.135, 0.04, "1", true, aTab3.Tab ) aTab3.SpeedSet = guiCreateButton ( 0.50, 0.55, 0.10, 0.04, "وضع", true, aTab3.Tab, "setgamespeed" ) guiCreateLabel ( 0.63, 0.55, 0.09, 0.04, "( 0-10 )", true, aTab3.Tab ) aTab3.WavesCurrent = guiCreateLabel ( 0.05, 0.60, 0.25, 0.04, "موجات، إرتفاع: "..getWaveHeight(), true, aTab3.Tab ) aTab3.Waves = guiCreateEdit ( 0.35, 0.60, 0.135, 0.04, "0", true, aTab3.Tab ) aTab3.WavesSet = guiCreateButton ( 0.50, 0.60, 0.10, 0.04, "وضع", true, aTab3.Tab, "setwaveheight" ) guiCreateLabel ( 0.63, 0.60, 0.09, 0.04, "( 0-100 )", true, aTab3.Tab ) aTab3.FPSCurrent = guiCreateLabel ( 0.05, 0.65, 0.25, 0.04, "FPS Limit: 38", true, aTab3.Tab ) aTab3.FPS = guiCreateEdit ( 0.35, 0.65, 0.135, 0.04, "38", true, aTab3.Tab ) aTab3.FPSSet = guiCreateButton ( 0.50, 0.65, 0.10, 0.04, "وضع", true, aTab3.Tab, "setfpslimit" ) guiCreateLabel ( 0.63, 0.65, 0.1, 0.04, "( 25-100 )", true, aTab3.Tab ) aTab4 = {} aTab4.Tab = guiCreateTab ( "الباندات", aTabPanel, "bans" ) aTab4.BansList = guiCreateGridList ( 0.03, 0.05, 0.80, 0.87, true, aTab4.Tab ) guiGridListAddColumn( aTab4.BansList, "الاسم", 0.22 ) guiGridListAddColumn( aTab4.BansList, "الأيبي", 0.22 ) guiGridListAddColumn( aTab4.BansList, "السيريال", 0.22 ) guiGridListAddColumn( aTab4.BansList, "بواسطة", 0.22 ) guiGridListAddColumn( aTab4.BansList, "التاريخ", 0.17 ) guiGridListAddColumn( aTab4.BansList, "الوقت", 0.13 ) guiGridListAddColumn( aTab4.BansList, "تاريخ رفع الحظر", 0.25 ) guiGridListAddColumn( aTab4.BansList, "السبب", 0.8 ) guiGridListSetSortingEnabled( aTab4.BansList, false ) aTab4.Details = guiCreateButton ( 0.85, 0.10, 0.13, 0.04, "معلومات", true, aTab4.Tab ) aTab4.Unban = guiCreateButton ( 0.85, 0.20, 0.13, 0.04, "فك الباند", true, aTab4.Tab, "unban" ) aTab4.UnbanIP = guiCreateButton ( 0.85, 0.25, 0.13, 0.04, "فك الاي بي", true, aTab4.Tab, "unbanip" ) aTab4.UnbanSerial = guiCreateButton ( 0.85, 0.30, 0.13, 0.04, "فك السريال", true, aTab4.Tab, "unbanserial" ) aTab4.BanIP = guiCreateButton ( 0.85, 0.40, 0.13, 0.04, "باند اي بي", true, aTab4.Tab, "banip" ) aTab4.BanSerial = guiCreateButton ( 0.85, 0.45, 0.13, 0.04, "باند سريال", true, aTab4.Tab, "banserial" ) aTab4.BansRefresh = guiCreateButton ( 0.85, 0.85, 0.13, 0.04, "تحديث", true, aTab4.Tab, "listbans" ) aTab4.BansTotal = guiCreateLabel ( 0.20, 0.94, 0.31, 0.04, "عرض 0 / 0 الباندات", true, aTab4.Tab ) aTab4.BansMore = guiCreateButton ( 0.50, 0.94, 0.13, 0.04, "المزيد...", true, aTab4.Tab, "listbans" ) aTab5 = {} aTab5.Tab = guiCreateTab ( "دردشة الادمنيه", aTabPanel, "adminchat" ) aTab5.AdminChat = guiCreateMemo ( 0.03, 0.05, 0.75, 0.85, "", true, aTab5.Tab ) guiSetProperty ( aTab5.AdminChat, "ReadOnly", "true" ) aTab5.AdminPlayers = guiCreateGridList ( 0.79, 0.05, 0.18, 0.80, true, aTab5.Tab ) guiGridListAddColumn ( aTab5.AdminPlayers, "الادمن", 0.90 ) aTab5.AdminChatSound = guiCreateCheckBox ( 0.79, 0.86, 0.18, 0.04, "تشغيل الصوت", true, true, aTab5.Tab ) aTab5.AdminText = guiCreateEdit ( 0.03, 0.92, 0.80, 0.06, "", true, aTab5.Tab ) aTab5.AdminSay = guiCreateButton ( 0.85, 0.92, 0.08, 0.06, "ارسال", true, aTab5.Tab ) aTab5.AdminChatHelp = guiCreateButton ( 0.94, 0.92, 0.03, 0.06, "؟", true, aTab5.Tab ) aTab6 = {} aTab6.Tab = guiCreateTab ( "الإعدادات", aTabPanel ) guiCreateHeader ( 0.03, 0.05, 0.10, 0.05, "القائمه:", true, aTab6.Tab ) aTab6.OutputPlayer = guiCreateCheckBox ( 0.05, 0.10, 0.47, 0.04, "ضع معلومات الكنسول عند الاختيار", false, true, aTab6.Tab ) guiCreateLabel ( 0.08, 0.15, 0.40, 0.04, "هذا قد يفيد في نسخ بيانات اللاعب", true, aTab6.Tab ) aTab6.AdminChatOutput = guiCreateCheckBox ( 0.05, 0.20, 0.47, 0.04, "ضع رسالة الادمن في الدردشه", false, true, aTab6.Tab ) guiCreateHeader ( 0.03, 0.30, 0.47, 0.04, "المظهر:", true, aTab6.Tab ) guiCreateHeader ( 0.63, 0.05, 0.10, 0.05, "الحساب:", true, aTab6.Tab ) aTab6.AutoLogin = guiCreateCheckBox ( 0.65, 0.10, 0.47, 0.04, "الدخول بواسطه السريال", false, true, aTab6.Tab ) guiSetVisible ( aTab6.AutoLogin, false ) -- Not used guiCreateHeader ( 0.63, 0.15, 0.25, 0.05, "كلمة المرور:", true, aTab6.Tab ) guiCreateLabel ( 0.65, 0.20, 0.15, 0.05, "كلمة السر القديمه:", true, aTab6.Tab ) guiCreateLabel ( 0.65, 0.25, 0.15, 0.05, "كلمة السر الجديده:", true, aTab6.Tab ) guiCreateLabel ( 0.65, 0.30, 0.15, 0.05, "تكرير كلمة السر:", true, aTab6.Tab ) aTab6.PasswordOld = guiCreateEdit ( 0.80, 0.20, 0.15, 0.045, "", true, aTab6.Tab ) aTab6.PasswordNew = guiCreateEdit ( 0.80, 0.25, 0.15, 0.045, "", true, aTab6.Tab ) aTab6.PasswordConfirm = guiCreateEdit ( 0.80, 0.30, 0.15, 0.045, "", true, aTab6.Tab ) guiEditSetMasked ( aTab6.PasswordOld, true ) guiEditSetMasked ( aTab6.PasswordNew, true ) guiEditSetMasked ( aTab6.PasswordConfirm, true ) aTab6.PasswordChange = guiCreateButton ( 0.85, 0.35, 0.10, 0.04, "حفظ", true, aTab6.Tab ) guiCreateHeader ( 0.03, 0.65, 0.20, 0.055, "الاداء:", true, aTab6.Tab ) guiCreateStaticImage ( 0.03, 0.69, 0.94, 0.0025, "client\\images\\dot.png", true, aTab6.Tab ) guiCreateLabel ( 0.05, 0.71, 0.20, 0.055, "الاداء:", true, aTab6.Tab ) guiCreateLabel ( 0.11, 0.76, 0.10, 0.05, "الذاكره", true, aTab6.Tab ) guiCreateLabel ( 0.11, 0.81, 0.10, 0.05, "تلقائي", true, aTab6.Tab ) guiCreateLabel ( 0.11, 0.86, 0.10, 0.05, "السرعه", true, aTab6.Tab ) aTab6.PerformanceRAM = guiCreateRadioButton ( 0.07, 0.75, 0.05, 0.055, "", true, aTab6.Tab ) aTab6.PerformanceAuto = guiCreateRadioButton ( 0.07, 0.80, 0.05, 0.055, "", true, aTab6.Tab ) aTab6.PerformanceCPU = guiCreateRadioButton ( 0.07, 0.85, 0.05, 0.055, "", true, aTab6.Tab ) if ( aGetSetting ( "performance" ) == "RAM" ) then guiRadioButtonSetSelected ( aTab6.PerformanceRAM, true ) elseif ( aGetSetting ( "performance" ) == "CPU" ) then guiRadioButtonSetSelected ( aTab6.PerformanceCPU, true ) else guiRadioButtonSetSelected ( aTab6.PerformanceAuto, true ) end aTab6.PerformanceAdvanced = guiCreateButton ( 0.05, 0.91, 0.11, 0.04, "Advanced", true, aTab6.Tab ) aPerformance() guiCreateLabel ( 0.70, 0.90, 0.19, 0.055, "Refresh Delay(MS):", true, aTab6.Tab ) aTab6.RefreshDelay = guiCreateEdit ( 0.89, 0.90, 0.08, 0.045, "50", true, aTab6.Tab ) if ( aGetSetting ( "outputPlayer" ) ) then guiCheckBoxSetSelected ( aTab6.OutputPlayer, true ) end if ( aGetSetting ( "adminChatOutput" ) ) then guiCheckBoxSetSelected ( aTab6.AdminChatOutput, true ) end if ( aGetSetting ( "adminChatSound" ) ) then guiCheckBoxSetSelected ( aTab5.AdminChatSound, true ) end --if ( tonumber ( aGetSetting ( "adminChatLines" ) ) ) then guiSetText ( aTab6.AdminChatLines, aGetSetting ( "adminChatLines" ) ) end if ( ( tonumber ( aGetSetting ( "refreshDelay" ) ) ) and ( tonumber ( aGetSetting ( "refreshDelay" ) ) >= 50 ) ) then guiSetText ( aTab6.RefreshDelay, aGetSetting ( "refreshDelay" ) ) end addEventHandler ( "aClientLog", _root, aClientLog ) addEventHandler ( "aClientAdminChat", _root, aClientAdminChat ) addEventHandler ( "aClientSync", _root, aClientSync ) addEventHandler ( "aMessage", _root, aMessage ) addEventHandler ( "aClientResourceStart", _root, aClientResourceStart ) addEventHandler ( "aClientResourceStop", _root, aClientResourceStop ) addEventHandler ( "aClientPlayerJoin", _root, aClientPlayerJoin ) addEventHandler ( "onClientPlayerQuit", _root, aClientPlayerQuit ) addEventHandler ( "onClientMouseEnter", _root, aClientMouseEnter ) addEventHandler ( "onClientGUIClick", aAdminForm, aClientClick ) addEventHandler ( "onClientGUIScroll", aAdminForm, aClientScroll ) addEventHandler ( "onClientGUIDoubleClick", aAdminForm, aClientDoubleClick ) addEventHandler ( "onClientGUIDoubleClick", aTab1.VehicleOptions, aClientDoubleClick ) addEventHandler ( "onClientGUIAccepted", aAdminForm, aClientGUIAccepted ) addEventHandler ( "onClientGUIChanged", aAdminForm, aClientGUIChanged ) addEventHandler ( "onClientCursorMove", _root, aClientCursorMove ) addEventHandler ( "onClientRender", _root, aClientRender ) addEventHandler ( "onClientPlayerChangeNick", _root, aClientPlayerChangeNick ) addEventHandler ( "onClientResourceStop", _root, aMainSaveSettings ) addEventHandler ( "onClientGUITabSwitched", aTabPanel, aClientGUITabSwitched ) bindKey ( "arrow_d", "down", aPlayerListScroll, 1 ) bindKey ( "arrow_u", "down", aPlayerListScroll, -1 ) triggerServerEvent ( "aSync", localPlayer, "players" ) if ( hasPermissionTo ( "command.listmessages" ) ) then triggerServerEvent ( "aSync", localPlayer, "messages" ) end triggerServerEvent ( "aSync", localPlayer, "server" ) triggerEvent ( "onAdminInitialize", resourceRoot ) showCursor ( true ) if getVersion().sortable and getVersion().sortable < "1.0.4-9.02436" then guiSetText ( aAdminForm, "Warning - Admin Panel not compatible with server version" ) guiLabelSetHorizontalAlign ( guiCreateLabel ( 0.30, 0.11, 0.4, 0.04, "Upgrade server or downgrade Admin Panel", true, aAdminForm ), "center" ) end end guiSetVisible ( aAdminForm, true ) showCursor ( true ) -- If the camera target was on another player, select him in the player list local element = getCameraTarget() if element and getElementType(element)=="vehicle" then element = getVehicleController(element) end if element and getElementType(element)=="player" and element ~= localPlayer then for row=0,guiGridListGetRowCount( aTab1.PlayerList )-1 do if ( guiGridListGetItemPlayerName ( aTab1.PlayerList, row, 1 ) == getPlayerName ( element ) ) then guiGridListSetSelectedItem ( aTab1.PlayerList, row, 1 ) break end end end guiSetInputMode ( "no_binds_when_editing" ) end function aAdminMenuClose ( destroy ) if ( destroy ) then aMainSaveSettings () aPlayers = {} aWeathers = {} aBans = {} removeEventHandler ( "aClientLog", _root, aClientLog ) removeEventHandler ( "aClientAdminChat", _root, aClientAdminChat ) removeEventHandler ( "aClientSync", _root, aClientSync ) removeEventHandler ( "aMessage", _root, aMessage ) removeEventHandler ( "aClientResourceStart", _root, aClientResourceStart ) removeEventHandler ( "aClientResourceStop", _root, aClientResourceStop ) removeEventHandler ( "aClientPlayerJoin", _root, aClientPlayerJoin ) removeEventHandler ( "onClientPlayerQuit", _root, aClientPlayerQuit ) removeEventHandler ( "onClientMouseEnter", _root, aClientMouseEnter ) removeEventHandler ( "onClientGUIClick", aAdminForm, aClientClick ) removeEventHandler ( "onClientGUIScroll", aAdminForm, aClientScroll ) removeEventHandler ( "onClientGUIDoubleClick", aAdminForm, aClientDoubleClick ) removeEventHandler ( "onClientGUIDoubleClick", aTab1.VehicleOptions, aClientDoubleClick ) removeEventHandler ( "onClientGUIAccepted", aAdminForm, aClientGUIAccepted ) removeEventHandler ( "onClientGUIChanged", aAdminForm, aClientGUIChanged ) removeEventHandler ( "onClientCursorMove", _root, aClientCursorMove ) removeEventHandler ( "onClientRender", _root, aClientRender ) removeEventHandler ( "onClientPlayerChangeNick", _root, aClientPlayerChangeNick ) removeEventHandler ( "onClientResourceStop", _root, aMainSaveSettings ) unbindKey ( "arrow_d", "down", aPlayerListScroll ) unbindKey ( "arrow_u", "down", aPlayerListScroll ) destroyElement ( aTab1.VehicleOptions ) destroyElement ( aAdminForm ) aAdminForm = nil else guiSetVisible ( aTab1.VehicleOptions, false ) guiSetVisible ( aAdminForm, false ) end showCursor ( false ) guiSetInputMode ( "allow_binds") end function aMainSaveSettings () aSetSetting ( "outputPlayer", guiCheckBoxGetSelected ( aTab6.OutputPlayer ) ) aSetSetting ( "adminChatOutput", guiCheckBoxGetSelected ( aTab6.AdminChatOutput ) ) aSetSetting ( "adminChatSound", guiCheckBoxGetSelected ( aTab5.AdminChatSound ) ) --aSetSetting ( "adminChatLines", guiGetText ( aTab6.AdminChatLines ) ) aSetSetting ( "refreshDelay", guiGetText ( aTab6.RefreshDelay ) ) aSetSetting ( "currentWeapon", aCurrentWeapon ) aSetSetting ( "currentAmmo", aCurrentAmmo ) aSetSetting ( "currentVehicle", aCurrentVehicle ) aSetSetting ( "currentSlap", aCurrentSlap ) if ( guiRadioButtonGetSelected ( aTab6.PerformanceRAM ) ) then aSetSetting ( "performance", "RAM" ) elseif ( guiRadioButtonGetSelected ( aTab6.PerformanceCPU ) ) then aSetSetting ( "performance", "CPU" ) else aSetSetting ( "performance", "Auto" ) end end function aAdminRefresh () if ( guiGridListGetSelectedItem ( aTab1.PlayerList ) ~= -1 ) then local player = getPlayerFromName ( guiGridListGetItemPlayerName ( aTab1.PlayerList, guiGridListGetSelectedItem( aTab1.PlayerList ), 1 ) ) if ( player and aPlayers[player] ) then guiSetText ( aTab1.Name, "الإسم: "..aPlayers[player]["name"] ) guiSetText ( aTab1.Mute, iif ( aPlayers[player]["mute"], "فك", "اسكات" ) ) guiSetText ( aTab1.Freeze, iif ( aPlayers[player]["freeze"], "فك", "تجميد" ) ) --guiSetText ( aTab1.Username, "Community Username: "..( aPlayers[player]["username"] or "" ) ) guiSetText ( aTab1.Version, "الإصدار: "..( aPlayers[player]["version"] or "" ) ) guiSetText ( aTab1.Accountname, "اسم العضويه: "..( aPlayers[player]["accountname"] or "" ) ) guiSetText ( aTab1.Groups, "المجموعه: "..( aPlayers[player]["groups"] or "None" ) ) guiSetText ( aTab1.ACDetected, "الكشف عنAC: "..( aPlayers[player]["acdetected"] or "" ) ) guiSetText ( aTab1.ACD3D, "D3D9.DLL: "..( aPlayers[player]["d3d9dll"] or "" ) ) guiSetText ( aTab1.ACModInfo, "GTA تعديل: "..( aPlayers[player]["imgmodsnum"] or "" ) ) if ( isPedDead ( player ) ) then guiSetText ( aTab1.Health, "Health: Dead" ) else guiSetText ( aTab1.Health, "الدم: "..math.ceil ( getElementHealth ( player ) ).."%" ) end guiSetText ( aTab1.Armour, "الدرع: "..math.ceil ( getPedArmor ( player ) ).."%" ) guiSetText ( aTab1.Skin, "الشخصيه: "..iif ( getElementModel ( player ), getElementModel ( player ), "N/A" ) ) if ( getPlayerTeam ( player ) ) then guiSetText ( aTab1.Team, "Team: "..getTeamName ( getPlayerTeam ( player ) ) ) else guiSetText ( aTab1.Team, "الفريق: لايوجد" ) end guiSetText ( aTab1.Ping, "البنق: "..getPlayerPing ( player ) ) guiSetText ( aTab1.Money, "الفلوس: "..( aPlayers[player]["money"] or 0 ) ) if ( getElementDimension ( player ) ) then guiSetText ( aTab1.Dimension, "رقم العالم الوهمي: "..getElementDimension ( player ) ) end if ( getElementInterior ( player ) ) then guiSetText ( aTab1.Interior, "المبنى: "..getElementInterior ( player ) ) end guiSetText ( aTab1.JetPack, iif ( doesPedHaveJetPack ( player ), "إزالة النفاثه", "إعطاء نفاثه" ) ) if ( getPedWeapon ( player ) ) then guiSetText ( aTab1.Weapon, "سلاح: "..getWeaponNameFromID ( getPedWeapon ( player ) ).." (ID: "..getPedWeapon ( player )..")" ) end local x, y, z = getElementPosition ( player ) guiSetText ( aTab1.Area, "منطقة: "..iif ( getZoneName ( x, y, z, false ) == getZoneName ( x, y, z, true ), getZoneName ( x, y, z, false ), getZoneName ( x, y, z, false ).." ("..getZoneName ( x, y, z, true )..")" ) ) guiSetText ( aTab1.PositionX, "X: "..x ) guiSetText ( aTab1.PositionY, "Y: "..y ) guiSetText ( aTab1.PositionZ, "Z: "..z ) local vehicle = getPedOccupiedVehicle ( player ) if ( vehicle ) then guiSetText ( aTab1.Vehicle, "السياره: "..getVehicleName ( vehicle ).." (ID: "..getElementModel ( vehicle )..")" ) guiSetText ( aTab1.VehicleHealth, "صحة المركبة: "..math.ceil ( getElementHealth ( vehicle ) ).."%" ) else guiSetText ( aTab1.Vehicle, "المركبة : على الأقدام" ) guiSetText ( aTab1.VehicleHealth, " 0 : صحة المركبة%" ) end if ( aPlayers[player]["admin"] ) then guiSetText(aTab1.Admin, "سحب الادمنيه") else guiSetText(aTab1.Admin, "إعطاء الادمنيه") end return player end end end function aClientSync ( type, table ) if ( type == "player" and aPlayers[source] ) then for type, data in pairs ( table ) do aPlayers[source][type] = data end elseif ( type == "players" ) then aPlayers = table elseif ( type == "resources" ) then local bInclMaps = guiCheckBoxGetSelected ( aTab2.ResourceInclMaps ) aResources = table for id, resource in ipairs(table) do if bInclMaps or resource["type"] ~= "map" then local row = guiGridListAddRow ( aTab2.ResourceList ) guiGridListSetItemText ( aTab2.ResourceList, row, 1, resource["name"], false, false ) guiGridListSetItemText ( aTab2.ResourceList, row, 2, resource["numsettings"] > 0 and tostring(resource["numsettings"]) or "", false, false ) guiGridListSetItemText ( aTab2.ResourceList, row, 3, resource["state"], false, false ) guiGridListSetItemText ( aTab2.ResourceList, row, 4, resource["fullName"], false, false ) guiGridListSetItemText ( aTab2.ResourceList, row, 5, resource["author"], false, false ) guiGridListSetItemText ( aTab2.ResourceList, row, 6, resource["version"], false, false ) end end elseif ( type == "loggedout" ) then aAdminDestroy() elseif ( type == "admins" ) then --if ( guiGridListGetRowCount ( aTab5.AdminPlayers ) > 0 ) then guiGridListClear ( aTab5.AdminPlayers ) end for id, player in ipairs(getElementsByType("player")) do if ( table[player]["admin"] == false ) and ( player == localPlayer ) then aAdminDestroy() break elseif aPlayers[player] then aPlayers[player]["groups"] = table[player]["groups"] if ( table[player]["chat"] ) then local id = 0 local exists = false while ( id <= guiGridListGetRowCount( aTab5.AdminPlayers ) ) do if ( guiGridListGetItemPlayerName ( aTab5.AdminPlayers, id, 1 ) == getPlayerName ( player ) ) then exists = true end id = id + 1 end if ( exists == false ) then guiGridListSetItemPlayerName ( aTab5.AdminPlayers, guiGridListAddRow ( aTab5.AdminPlayers ), 1, getPlayerName ( player ), false, false ) end end end end elseif ( type == "server" ) then guiSetText ( aTab3.Server, "اسم السيرفر: "..table["name"] ) guiSetText ( aTab3.Players, "اللاعبين: "..#getElementsByType ( "player" ).."/"..table["players"] ) guiSetText ( aTab3.Password, "كلمة المرور: "..( table["password"] or "None" ) ) guiSetText ( aTab3.GameType, "نوع المود: "..( table["game"] or "None" ) ) guiSetText ( aTab3.MapName, "اسم الماب: "..( table["map"] or "None" ) ) guiSetText ( aTab3.FPSCurrent, "الاف بي اس: "..( table["fps"] or "N/A" ) ) guiSetText ( aTab3.FPS, table["fps"] or "38" ) elseif ( type == "bansdirty" ) then g_GotLatestBansList = false if aAdminForm and guiGetVisible ( aAdminForm ) and guiGetSelectedTab( aTabPanel ) == aTab4.Tab then -- Request full bans list if bans tab is displayed when 'bansdirty' is received triggerServerEvent ( "aSync", localPlayer, "bans" ) end elseif ( type == "bans" or type == "bansmore" ) then if type == "bans" then g_GotLatestBansList = true guiGridListClear ( aTab4.BansList ) aBans = {} aBans["Serial"] = {} aBans["IP"] = {} end local total = tonumber(table.total) or 0 local amount = guiGridListGetRowCount( aTab4.BansList ) + #table guiSetText( aTab4.BansTotal, "Showing " .. amount .. " / " .. total .. " bans" ) if g_GotLatestBansList then for i=1,#table do local ban = table[i] if ban.serial then aBans["Serial"][ban.serial] = ban end if ban.ip then aBans["IP"][ban.ip] = ban end local time, date = "-", "-" if ban.seconds then local realTime = getRealTime( ban.seconds ) time = string.format("%02d:%02d", realTime.hour, realTime.minute ) date = string.format("%04d-%02d-%02d", realTime.year + 1900, realTime.month + 1, realTime.monthday ) end local reason = ban["reason"] and ban["reason"]~="nil" and ban["reason"] or "" local row = guiGridListAddRow ( aTab4.BansList ) guiGridListSetItemText ( aTab4.BansList, row, 1, ban["nick"] or "n/a", false, false ) guiGridListSetItemText ( aTab4.BansList, row, 2, ban.ip or "n/a", false, false ) guiGridListSetItemText ( aTab4.BansList, row, 3, ban.serial or "n/a", false, false ) guiGridListSetItemText ( aTab4.BansList, row, 4, ban["banner"] or "n/a", false, false ) guiGridListSetItemText ( aTab4.BansList, row, 5, date, false, false ) guiGridListSetItemText ( aTab4.BansList, row, 6, time, false, false ) guiGridListSetItemText ( aTab4.BansList, row, 8, reason, false, false ) local unban = "Permanent" if ban.unban and tonumber(ban.unban) ~= 0 then unban = FormatDate("d/m/y h:i:s", "'", tostring(ban.unban)) end guiGridListSetItemText ( aTab4.BansList, row, 7, unban, false, false ) end end elseif ( type == "messages" ) then local prev = tonumber ( string.sub ( guiGetText ( aTab1.Messages ), 1, 1 ) ) if ( prev < table["unread"] ) then playSoundFrontEnd ( 18 ) end guiSetText ( aTab1.Messages, table["unread"].."/"..table["total"].." الرسائل الغير مقروءة" ) end end function aClientGUITabSwitched( selectedTab ) if getElementParent( selectedTab ) == aTabPanel then if selectedTab == aTab2.Tab then -- Handle initial update of resources list if guiGridListGetRowCount( aTab2.ResourceList ) == 0 then if ( hasPermissionTo ( "command.listresources" ) ) then triggerServerEvent ( "aSync", localPlayer, "resources" ) end end elseif selectedTab == aTabMap.Tab then -- Handle initial update of map list if guiGridListGetRowCount( aTabMap.MapList ) == 0 then if ( hasPermissionTo ( "command.listresources" ) ) then triggerServerEvent ( "getMaps_s", localPlayer, localPlayer, true ) end end elseif selectedTab == aTab4.Tab then if not g_GotLatestBansList then -- Request full bans list if bans tab is selected and current list is out of date triggerServerEvent ( "aSync", localPlayer, "bans" ) end end end end function aMessage ( ) end function aClientResourceStart ( resource ) local id = 0 while ( id <= guiGridListGetRowCount( aTab2.ResourceList ) ) do if ( guiGridListGetItemText ( aTab2.ResourceList, id, 1 ) == resource ) then guiGridListSetItemText ( aTab2.ResourceList, id, 3, "running", false, false ) end id = id + 1 end end function aClientResourceStop ( resource ) local id = 0 while ( id <= guiGridListGetRowCount( aTab2.ResourceList ) ) do if ( guiGridListGetItemText ( aTab2.ResourceList, id, 1 ) == resource ) then guiGridListSetItemText ( aTab2.ResourceList, id, 3, "loaded", false, false ) end id = id + 1 end end function aClientPlayerJoin ( ip, username, accountname, serial, admin, country ) if ip == false and serial == false then -- Update country only if aPlayers[source] then aPlayers[source]["country"] = country end return end aPlayers[source] = {} aPlayers[source]["name"] = getPlayerName ( source ) aPlayers[source]["IP"] = ip aPlayers[source]["username"] = username or "N/A" aPlayers[source]["accountname"] = accountname or "N/A" aPlayers[source]["serial"] = serial aPlayers[source]["admin"] = admin aPlayers[source]["country"] = country aPlayers[source]["acdetected"] = "..." aPlayers[source]["d3d9dll"] = "" aPlayers[source]["imgmodsnum"] = "" local row = guiGridListAddRow ( aTab1.PlayerList ) guiGridListSetItemPlayerName ( aTab1.PlayerList, row, 1, getPlayerName ( source ), false, false ) if ( admin ) then local row = guiGridListAddRow ( aTab5.AdminPlayers ) guiGridListSetItemPlayerName ( aTab5.AdminPlayers, row, 1, getPlayerName ( source ), false, false ) end if ( aSpectator.PlayerList ) then local row = guiGridListAddRow ( aSpectator.PlayerList ) guiGridListSetItemPlayerName ( aSpectator.PlayerList, row, 1, getPlayerName ( source ), false, false ) end end function aClientPlayerQuit () local id = 0 while ( id <= guiGridListGetRowCount( aTab1.PlayerList ) ) do if ( guiGridListGetItemPlayerName ( aTab1.PlayerList, id, 1 ) == getPlayerName ( source ) ) then guiGridListRemoveRow ( aTab1.PlayerList, id ) end id = id + 1 end if ( aPlayers[source] and aPlayers[source]["admin"] ) then local id = 0 while ( id <= guiGridListGetRowCount( aTab5.AdminPlayers ) ) do if ( guiGridListGetItemPlayerName ( aTab5.AdminPlayers, id, 1 ) == getPlayerName ( source ) ) then guiGridListRemoveRow ( aTab5.AdminPlayers, id ) end id = id + 1 end end if ( aSpectator.PlayerList ) then local id = 0 while ( id <= guiGridListGetRowCount( aSpectator.PlayerList ) ) do if ( guiGridListGetItemPlayerName ( aSpectator.PlayerList, id, 1 ) == getPlayerName ( source ) ) then guiGridListRemoveRow ( aSpectator.PlayerList, id ) end id = id + 1 end end aPlayers[source] = nil end function aPlayerListScroll ( key, state, inc ) if ( not guiGetVisible ( aAdminForm ) ) then return end local max = guiGridListGetRowCount ( aTab1.PlayerList ) if ( max <= 0 ) then return end local current = guiGridListGetSelectedItem ( aTab1.PlayerList ) local next = current + inc max = max - 1 if ( current == -1 ) then guiGridListSetSelectedItem ( aTab1.PlayerList, 0, 1 ) elseif ( next > max ) then return elseif ( next < 0 ) then return else guiGridListSetSelectedItem ( aTab1.PlayerList, next, 1 ) end local oldsource = source source = aTab1.PlayerList; aClientClick ( "left" ) source = oldsource end function aClientPlayerChangeNick ( oldNick, newNick ) local lists = { aTab1.PlayerList, aTab5.AdminPlayers, aSpectator.PlayerList } for _,gridlist in ipairs(lists) do for row=0,guiGridListGetRowCount(gridlist)-1 do if ( guiGridListGetItemPlayerName ( gridlist, row, 1 ) == oldNick ) then guiGridListSetItemPlayerName ( gridlist, row, 1, newNick, false, false ) aPlayers[source]["name"] = newNick end end end end function aClientLog ( text ) if text == "deleted" then guiGridListClear ( aTab2.ResourceList ) triggerServerEvent ( "aSync", localPlayer, "resources" ) end text = "#"..aLogLines..": "..text if ( guiGetText ( aTab2.LogLine1 ) == "" ) then guiSetText ( aTab2.LogLine1, text ) elseif ( guiGetText ( aTab2.LogLine2 ) == "" ) then guiSetText ( aTab2.LogLine2, text ) elseif ( guiGetText ( aTab2.LogLine3 ) == "" ) then guiSetText ( aTab2.LogLine3, text ) elseif ( guiGetText ( aTab2.LogLine4 ) == "" ) then guiSetText ( aTab2.LogLine4, text ) elseif ( guiGetText ( aTab2.LogLine5 ) == "" ) then guiSetText ( aTab2.LogLine5, text ) else guiSetText ( aTab2.LogLine1, guiGetText ( aTab2.LogLine2 ) ) guiSetText ( aTab2.LogLine2, guiGetText ( aTab2.LogLine3 ) ) guiSetText ( aTab2.LogLine3, guiGetText ( aTab2.LogLine4 ) ) guiSetText ( aTab2.LogLine4, guiGetText ( aTab2.LogLine5 ) ) guiSetText ( aTab2.LogLine5, text ) end aLogLines = aLogLines + 1 end function aClientAdminChat ( message ) guiSetText ( aTab5.AdminChat, guiGetText ( aTab5.AdminChat )..""..getPlayerName ( source )..": "..message ) guiSetProperty ( aTab5.AdminChat, "CaratIndex", tostring ( string.len ( guiGetText ( aTab5.AdminChat ) ) ) ) if ( guiCheckBoxGetSelected ( aTab6.AdminChatOutput ) ) then outputChatBox ( "ADMIN> "..getPlayerName ( source )..": "..message, 255, 0, 0 ) end if ( ( guiCheckBoxGetSelected ( aTab5.AdminChatSound ) ) and ( source ~= localPlayer ) ) then playSoundFrontEnd ( 13 ) end end function aSetCurrentAmmo ( ammo ) ammo = tonumber ( ammo ) if ( ( ammo ) and ( ammo > 0 ) and ( ammo < 10000 ) ) then aCurrentAmmo = ammo return end outputChatBox ( "Invalid ammo value", 255, 0, 0 ) end function aClientGUIAccepted ( element ) if ( element == aTab5.AdminText ) then local message = guiGetText ( aTab5.AdminText ) if ( ( message ) and ( message ~= "" ) ) then if ( gettok ( message, 1, 32 ) == "/clear" ) then guiSetText ( aTab5.AdminChat, "" ) else triggerServerEvent ( "aAdminChat", localPlayer, message ) end guiSetText ( aTab5.AdminText, "" ) end end end function aClientGUIChanged () if ( source == aTab1.PlayerListSearch ) then guiGridListClear ( aTab1.PlayerList ) local text = guiGetText ( source ) if ( text == "" ) then for id, player in ipairs ( getElementsByType ( "player" ) ) do guiGridListSetItemPlayerName ( aTab1.PlayerList, guiGridListAddRow ( aTab1.PlayerList ), 1, getPlayerName ( player ), false, false ) end else for id, player in ipairs ( getElementsByType ( "player" ) ) do if ( string.find ( string.upper ( getPlayerName ( player ) ), string.upper ( text ), 1, true ) ) then guiGridListSetItemPlayerName ( aTab1.PlayerList, guiGridListAddRow ( aTab1.PlayerList ), 1, getPlayerName ( player ), false, false ) end end end elseif ( source == aTab2.ResourceListSearch ) then local bInclMaps = guiCheckBoxGetSelected ( aTab2.ResourceInclMaps ) guiGridListClear ( aTab2.ResourceList ) local text = string.lower(guiGetText(source)) if ( text == "" ) then for id, resource in ipairs(aResources) do if bInclMaps or resource["type"] ~= "map" then local row = guiGridListAddRow ( aTab2.ResourceList ) guiGridListSetItemText ( aTab2.ResourceList, row, 1, resource["name"], false, false ) guiGridListSetItemText ( aTab2.ResourceList, row, 2, resource["numsettings"] > 0 and tostring(resource["numsettings"]) or "", false, false ) guiGridListSetItemText ( aTab2.ResourceList, row, 3, resource["state"], false, false ) guiGridListSetItemText ( aTab2.ResourceList, row, 4, resource["fullName"], false, false ) guiGridListSetItemText ( aTab2.ResourceList, row, 5, resource["author"], false, false ) guiGridListSetItemText ( aTab2.ResourceList, row, 6, resource["version"], false, false ) end end else for id, resource in ipairs(aResources) do if bInclMaps or resource["type"] ~= "map" then if string.find(string.lower(resource.name), text, 1, true) then local row = guiGridListAddRow ( aTab2.ResourceList ) guiGridListSetItemText ( aTab2.ResourceList, row, 1, resource["name"], false, false ) guiGridListSetItemText ( aTab2.ResourceList, row, 2, resource["numsettings"] > 0 and tostring(resource["numsettings"]) or "", false, false ) guiGridListSetItemText ( aTab2.ResourceList, row, 3, resource["state"], false, false ) guiGridListSetItemText ( aTab2.ResourceList, row, 4, resource["fullName"], false, false ) guiGridListSetItemText ( aTab2.ResourceList, row, 5, resource["author"], false, false ) guiGridListSetItemText ( aTab2.ResourceList, row, 6, resource["version"], false, false ) end end end end end end function aClientScroll ( element ) if ( source == aTab6.MouseSense ) then guiSetText ( aTab6.MouseSenseCur, "Cursor sensivity: ("..string.sub ( guiScrollBarGetScrollPosition ( source ) / 50, 0, 4 )..")" ) end end function aClientCursorMove ( rx, ry, x, y ) end function aClientMouseEnter ( element ) if ( getElementType ( source ) == "gui-button" ) then end end function aClientDoubleClick ( button ) if ( source == aTab1.WeaponOptions ) then if ( guiGridListGetSelectedItem ( aTab1.WeaponOptions ) ~= -1 ) then aCurrentWeapon = getWeaponIDFromName ( guiGridListGetItemText ( aTab1.WeaponOptions, guiGridListGetSelectedItem ( aTab1.WeaponOptions ), 1 ) ) local wep = guiGridListGetItemText ( aTab1.WeaponOptions, guiGridListGetSelectedItem ( aTab1.WeaponOptions ), 1 ) wep = string.gsub ( wep, "Combat Shotgun", "Combat SG" ) guiSetText ( aTab1.GiveWeapon, "يعطى: "..wep.." " ) end guiSetVisible ( aTab1.WeaponOptions, false ) elseif ( source == aTab1.VehicleOptions ) then local item = guiGridListGetSelectedItem ( aTab1.VehicleOptions ) if ( item ~= -1 ) then if ( guiGridListGetItemText ( aTab1.VehicleOptions, item, 1 ) ~= "" ) then aCurrentVehicle = tonumber ( guiGridListGetItemData ( aTab1.VehicleOptions, item, 1 ) ) guiSetText ( aTab1.GiveVehicle, "يعطى: "..guiGridListGetItemText ( aTab1.VehicleOptions, item, 1 ).." " ) end end guiSetVisible ( aTab1.VehicleOptions, false ) elseif ( source == aTab1.SlapOptions ) then if ( guiGridListGetSelectedItem ( aTab1.SlapOptions ) ~= -1 ) then aCurrentSlap = guiGridListGetItemText ( aTab1.SlapOptions, guiGridListGetSelectedItem ( aTab1.SlapOptions ), 1 ) guiSetText ( aTab1.Slap, "صفعة! "..aCurrentSlap.." _" ) if ( aSpecSlap ) then guiSetText ( aSpecSlap, "صفعة! "..aCurrentSlap.."hp" ) end end guiSetVisible ( aTab1.SlapOptions, false ) elseif ( source == aTab2.ResourceList ) then if ( guiGridListGetSelectedItem ( aTab2.ResourceList ) ~= -1 ) then aManageSettings ( guiGridListGetItemText ( aTab2.ResourceList, guiGridListGetSelectedItem( aTab2.ResourceList ), 1 ) ) end end if ( guiGetVisible ( aTab1.WeaponOptions ) ) then guiSetVisible ( aTab1.WeaponOptions, false ) end if ( guiGetVisible ( aTab1.VehicleOptions ) ) then guiSetVisible ( aTab1.VehicleOptions, false ) end if ( guiGetVisible ( aTab1.SlapOptions ) ) then guiSetVisible ( aTab1.SlapOptions, false ) end end function aClientClick ( button ) if ( ( source == aTab1.WeaponOptions ) or ( source == aTab1.VehicleOptions ) or ( source == aTab1.SlapOptions ) ) then return else if ( guiGetVisible ( aTab1.WeaponOptions ) ) then guiSetVisible ( aTab1.WeaponOptions, false ) end if ( guiGetVisible ( aTab1.VehicleOptions ) ) then guiSetVisible ( aTab1.VehicleOptions, false ) end if ( guiGetVisible ( aTab1.SlapOptions ) ) then guiSetVisible ( aTab1.SlapOptions, false ) end end if ( button == "left" ) then -- TAB 1, PLAYERS if ( getElementParent ( source ) == aTab1.Tab ) then if ( source == aTab1.Messages ) then aViewMessages() elseif ( source == aTab1.ScreenShots ) then aPlayerScreenShot() elseif ( source == aTab1.PlayerListSearch ) then elseif ( source == aTab1.HideColorCodes ) then updateColorCodes() elseif ( source == aTab1.AnonAdmin ) then setAnonAdmin( guiCheckBoxGetSelected ( aTab1.AnonAdmin ) ) elseif ( getElementType ( source ) == "gui-button" ) then if ( source == aTab1.GiveVehicle ) then guiBringToFront ( aTab1.VehicleDropDown ) elseif ( source == aTab1.GiveWeapon ) then guiBringToFront ( aTab1.WeaponDropDown ) elseif ( source == aTab1.Slap ) then guiBringToFront ( aTab1.SlapDropDown ) end if ( guiGridListGetSelectedItem ( aTab1.PlayerList ) == -1 ) then aMessageBox ( "خطأ", "لم يتم العثور على اللاعب!" ) else local name = guiGridListGetItemPlayerName ( aTab1.PlayerList, guiGridListGetSelectedItem( aTab1.PlayerList ), 1 ) local player = getPlayerFromName ( name ) if ( source == aTab1.Kick ) then aInputBox ( "طرد اللاعب "..name, "اكتب سبب الطرد واضغط انتر", "", "kickPlayer", player ) elseif ( source == aTab1.Ban ) then aBanInputBox ( player ) elseif ( source == aTab1.Slap ) then triggerServerEvent ( "aPlayer", localPlayer, player, "slap", aCurrentSlap ) elseif ( source == aTab1.Mute ) then if not aPlayers[player]["mute"] then aMuteInputBox ( player ) else aMessageBox ( "تأكيد", "فك ميوت هذا اللاعب "..name.."?", "unmute", player ) end elseif ( source == aTab1.Freeze ) then triggerServerEvent ( "aPlayer", localPlayer, player, "freeze" ) elseif ( source == aTab1.Spectate ) then aSpectate ( player ) elseif ( source == aTab1.Nick ) then aInputBox ( "تغيير الاسم", "غير اسمه واضغط انتر", name, "setNick", player ) elseif ( source == aTab1.Shout ) then aInputBox ( "إرسال كلمه", "اكتب الكلمه او الجمله واضغط انتر", "", "shout", player ) elseif ( source == aTab1.SetHealth ) then aInputBox ( "إعطاء دم", "اكتب مقدار الدم واضغط انتر", "100", "setHealth", player ) elseif ( source == aTab1.SetArmour ) then aInputBox ( "إعطاء درع", "اكتب قوة الدرع واضغط انتر", "100", "setArmor", player ) elseif ( source == aTab1.SetTeam ) then aPlayerTeam ( player ) elseif ( source == aTab1.SetSkin ) then aPlayerSkin ( player ) elseif ( source == aTab1.SetInterior ) then aPlayerInterior ( player ) elseif ( source == aTab1.JetPack ) then triggerServerEvent ( "aPlayer", localPlayer, player, "jetpack" ) elseif ( source == aTab1.SetMoney ) then aInputBox ( "إعطاء فلوس", "اكتب عدد الفلوس واضغط انتر", "0", "setMoney", player ) elseif ( source == aTab1.SetStats ) then aPlayerStats ( player ) elseif ( source == aTab1.SetDimension ) then aInputBox ( "رقم العالم الوهمي", "اكتب رقم العالم الوهمي من 0 الى 65535", "0", "setDimension", player) elseif ( source == aTab1.GiveVehicle ) then triggerServerEvent ( "aPlayer", localPlayer, player, "givevehicle", aCurrentVehicle ) elseif ( source == aTab1.GiveWeapon ) then triggerServerEvent ( "aPlayer", localPlayer, player, "giveweapon", aCurrentWeapon, aCurrentAmmo ) elseif ( source == aTab1.Warp ) then triggerServerEvent ( "aPlayer", localPlayer, player, "warp" ) elseif ( source == aTab1.WarpTo ) then aPlayerWarp ( player ) elseif ( source == aTab1.VehicleFix ) then triggerServerEvent ( "aVehicle", localPlayer, player, "repair" ) elseif ( source == aTab1.VehicleBlow ) then triggerServerEvent ( "aVehicle", localPlayer, player, "blowvehicle" ) elseif ( source == aTab1.VehicleDestroy ) then triggerServerEvent ( "aVehicle", localPlayer, player, "destroyvehicle" ) elseif ( source == aTab1.VehicleCustomize ) then aVehicleCustomize ( player ) elseif ( source == aTab1.Admin ) then if ( aPlayers[player]["admin"] ) then aMessageBox ( "تأكيد", "هل انت متاكد من سحب ادمنية "..name.."?", "revokeAdmin", player ) else aMessageBox ( "تاكيد", "هل انت متاكد من اعطاءه ادمنيه "..name.."?", "giveAdmin", player ) end elseif ( source == aTab1.ACModDetails ) then aViewModdetails(player) end end elseif ( source == aTab1.VehicleDropDown ) then local x1, y1 = guiGetPosition ( aAdminForm, false ) local x2, y2 = guiGetPosition ( aTabPanel, false ) local x3, y3 = guiGetPosition ( aTab1.Tab, false ) local x4, y4 = guiGetPosition ( aTab1.GiveVehicle, false ) guiSetPosition ( aTab1.VehicleOptions, x1 + x2 + x3 + x4, y1 + y2 + y3 + y4 + 20, false ) guiSetVisible ( aTab1.VehicleOptions, true ) guiBringToFront ( aTab1.VehicleOptions ) elseif ( source == aTab1.WeaponDropDown ) then guiSetVisible ( aTab1.WeaponOptions, true ) guiBringToFront ( aTab1.WeaponOptions ) elseif ( source == aTab1.SlapDropDown ) then guiSetVisible ( aTab1.SlapOptions, true ) guiBringToFront ( aTab1.SlapOptions ) elseif ( source == aTab1.PlayerList ) then if ( guiGridListGetSelectedItem( aTab1.PlayerList ) ~= -1 ) then local player = aAdminRefresh () if ( player ) then triggerServerEvent ( "aSync", localPlayer, "player", player ) if ( ( guiCheckBoxGetSelected ( aTab6.OutputPlayer ) ) and ( player ) ) then outputConsole ( "الأسم: "..aPlayers[player]["name"] ..", الأيبي: "..aPlayers[player]["IP"] ..", السريال: "..aPlayers[player]["serial"] -- ..", Community Username: "..aPlayers[player]["username"] ..", اسم العضويه: "..aPlayers[player]["accountname"] ..", D3D9.DLL: "..aPlayers[player]["d3d9dll"] ) end guiSetText ( aTab1.IP, "الأيبي: "..aPlayers[player]["IP"] ) guiSetText ( aTab1.Serial, "السريال: "..aPlayers[player]["serial"] ) --guiSetText ( aTab1.Username, "Community Username: "..aPlayers[player]["username"] ) guiSetText ( aTab1.Accountname, "اسم العضويه: "..aPlayers[player]["accountname"] ) guiSetText ( aTab1.ACDetected, "AC تم الكشف ع: "..aPlayers[player]["acdetected"] ) guiSetText ( aTab1.ACD3D, "D3D9.DLL: "..aPlayers[player]["d3d9dll"] ) guiSetText ( aTab1.ACModInfo, "GTA تعديل: "..aPlayers[player]["imgmodsnum"] ) local countryCode = aPlayers[player]["country"] loadFlagImage ( aTab1.Flag, countryCode ) if not countryCode then guiSetText ( aTab1.CountryCode, "" ) else local x, y = guiGetPosition ( aTab1.IP, false ) local width = guiLabelGetTextExtent ( aTab1.IP ) guiSetPosition ( aTab1.Flag, x + width + 7, y + 4, false ) guiSetPosition ( aTab1.CountryCode, x + width + 30, y, false ) guiSetText ( aTab1.CountryCode, tostring( countryCode ) ) end guiSetText ( aTab1.Version, "الاصدار: " .. ( aPlayers[player]["version"] or "" ) ) end else guiSetText ( aTab1.Name, "الأسم: N/A" ) guiSetText ( aTab1.IP, "الأيبي: N/A" ) guiSetText ( aTab1.Serial, "السريال: N/A" ) --guiSetText ( aTab1.Username, "Community Username: N/A" ) guiSetText ( aTab1.Version, "الاصدار: N/A" ) guiSetText ( aTab1.Accountname, "اسم العضويه: N/A" ) guiSetText ( aTab1.Groups, "المجموعه: N/A" ) guiSetText ( aTab1.ACDetected, "AC تم الكشف عنها: N/A" ) guiSetText ( aTab1.ACD3D, "D3D9.DLL: N/A" ) guiSetText ( aTab1.ACModInfo, "GTA تعديل: N/A" ) guiSetText ( aTab1.Mute, "اسكات" ) guiSetText ( aTab1.Freeze, "تجميد" ) guiSetText ( aTab1.Admin, "إعطاءه ادمنيه" ) guiSetText ( aTab1.Health, "الدم: 0%" ) guiSetText ( aTab1.Armour, "الدرع: 0%" ) guiSetText ( aTab1.Skin, "الشخصيه: N/A" ) guiSetText ( aTab1.Team, "الفريق: لايوجد" ) guiSetText ( aTab1.Ping, "البنق: 0" ) guiSetText ( aTab1.Money, "الفلوس: 0" ) guiSetText ( aTab1.Dimension, "رقم العالم الوهمي: 0" ) guiSetText ( aTab1.Interior, "المنبى: 0" ) guiSetText ( aTab1.JetPack, "إعطاءه نفاثه" ) guiSetText ( aTab1.Weapon, "سلاح: N/A" ) guiSetText ( aTab1.Area, "منطقة: غير معروف" ) guiSetText ( aTab1.PositionX, "X: 0" ) guiSetText ( aTab1.PositionY, "Y: 0" ) guiSetText ( aTab1.PositionZ, "Z: 0" ) guiSetText ( aTab1.Vehicle, "السياره: N/A" ) guiSetText ( aTab1.VehicleHealth, "قوة السياره: 0%" ) guiStaticImageLoadImage ( aTab1.Flag, "client\\images\\empty.png" ) guiSetText ( aTab1.CountryCode, "" ) end end -- TAB 2, RESOURCES elseif ( getElementParent ( source ) == aTab2.Tab ) then if ( source == aTab2.ResourceListSearch ) then elseif ( ( source == aTab2.ResourceStart ) or ( source == aTab2.ResourceRestart ) or ( source == aTab2.ResourceStop ) or ( source == aTab2.ResourceDelete ) or ( source == aTab2.ResourceSettings ) ) then if ( guiGridListGetSelectedItem ( aTab2.ResourceList ) == -1 ) then aMessageBox ( "error", "No resource selected!" ) else if ( source == aTab2.ResourceStart ) then triggerServerEvent ( "aResource", localPlayer, guiGridListGetItemText ( aTab2.ResourceList, guiGridListGetSelectedItem( aTab2.ResourceList ), 1 ), "start" ) elseif ( source == aTab2.ResourceRestart ) then triggerServerEvent ( "aResource", localPlayer, guiGridListGetItemText ( aTab2.ResourceList, guiGridListGetSelectedItem( aTab2.ResourceList ), 1 ), "restart" ) elseif ( source == aTab2.ResourceStop ) then triggerServerEvent ( "aResource", localPlayer, guiGridListGetItemText ( aTab2.ResourceList, guiGridListGetSelectedItem( aTab2.ResourceList ), 1 ), "stop" ) elseif ( source == aTab2.ResourceDelete ) then aMessageBox ( "warning", "Are you sure you want to stop and delete resource '" .. guiGridListGetItemText ( aTab2.ResourceList, guiGridListGetSelectedItem( aTab2.ResourceList ), 1 ) .. "' ?", "stopDelete", guiGridListGetItemText ( aTab2.ResourceList, guiGridListGetSelectedItem( aTab2.ResourceList ), 1 ) ) elseif ( source == aTab2.ResourceSettings ) then aManageSettings ( guiGridListGetItemText ( aTab2.ResourceList, guiGridListGetSelectedItem( aTab2.ResourceList ) ) ) end end elseif ( source == aTab2.ResourcesStopAll ) then aMessageBox ( "warning", "Are you sure you want to stop all resources? This will also stop 'admin' resource.", "stopAll" ) elseif ( source == aTab2.ResourceList ) then guiSetVisible ( aTab2.ResourceFailture, false ) if ( guiGridListGetSelectedItem ( aTab2.ResourceList ) ~= -1 ) then guiSetText(aTab2.ResourceName, "Full Name: " .. guiGridListGetItemText(aTab2.ResourceList, guiGridListGetSelectedItem ( aTab2.ResourceList ), 4)) guiSetText(aTab2.ResourceAuthor, "Author: " .. guiGridListGetItemText(aTab2.ResourceList, guiGridListGetSelectedItem ( aTab2.ResourceList ), 5)) guiSetText(aTab2.ResourceVersion, "Version: " .. guiGridListGetItemText(aTab2.ResourceList, guiGridListGetSelectedItem ( aTab2.ResourceList ), 6)) if ( guiGridListGetItemText ( aTab2.ResourceList, guiGridListGetSelectedItem( aTab2.ResourceList ), 3 ) == "Failed to load" ) then guiSetVisible ( aTab2.ResourceFailture, true ) end end elseif ( source == aTab2.ManageACL ) then aManageACL() elseif ( source == aTab2.ResourceRefresh or source == aTab2.ResourceInclMaps ) then guiGridListClear ( aTab2.ResourceList ) triggerServerEvent ( "aSync", localPlayer, "resources" ) elseif ( source == aTab2.ExecuteClient ) then if ( ( guiGetText ( aTab2.Command ) ) and ( guiGetText ( aTab2.Command ) ~= "" ) ) then aExecute ( guiGetText ( aTab2.Command ), true ) end elseif ( source == aTab2.ExecuteServer ) then if ( ( guiGetText ( aTab2.Command ) ) and ( guiGetText ( aTab2.Command ) ~= "" ) ) then triggerServerEvent ( "aExecute", localPlayer, guiGetText ( aTab2.Command ), true ) end elseif ( source == aTab2.Command ) then guiSetVisible ( aTab2.ExecuteAdvanced, false ) elseif ( source == aTab2.ExecuteAdvanced ) then guiSetVisible ( aTab2.ExecuteAdvanced, false ) end -- TAB 3, WORLD elseif ( getElementParent ( source ) == aTab3.Tab ) then if ( source == aTab3.SetGameType ) then aInputBox ( "اسم المود", "اكتب اسم المود واضغط انتر:", "", "setGameType" ) elseif ( source == aTab3.SetMapName ) then aInputBox ( "اسم الماب", "اكتب اسم الماب واضغط انتر:", "", "setMapName" ) elseif ( source == aTab3.SetWelcome ) then aInputBox ( "رسالة الترحيب", "اكتب رسالة الترحيب واضغط انتر:", "", "setWelcome" ) elseif ( source == aTab3.SetPassword ) then aInputBox ( "كلمة مرور السيرفر", "اكتب كلمة مرور واضغط انتر:", "", "setServerPassword" ) elseif ( source == aTab3.Shutdown ) then aInputBox ( "اطفئ الخادم", "اكتب كلمة مرور واضغط انتر:", "", "serverShutdown" ) elseif ( source == aTab3.ResetPassword ) then triggerServerEvent ( "aServer", localPlayer, "setpassword", "" ) elseif ( ( source == aTab3.WeatherInc ) or ( source == aTab3.WeatherDec ) ) then local id = tonumber ( gettok ( guiGetText ( aTab3.Weather ), 1, 32 ) ) if ( id ) then if ( ( source == aTab3.WeatherInc ) and ( id < _weathers_max ) ) then guiSetText ( aTab3.Weather, ( id + 1 ).." ("..getWeatherNameFromID ( id + 1 )..")" ) elseif ( ( source == aTab3.WeatherDec ) and ( id > 0 ) ) then guiSetText ( aTab3.Weather, ( id - 1 ).." ("..getWeatherNameFromID ( id - 1 )..")" ) end else guiSetText ( aTab3.Weather, ( 14 ).." ("..getWeatherNameFromID ( 14 )..")" ) end elseif ( source == aTab3.WeatherSet ) then triggerServerEvent ( "aServer", localPlayer, "setweather", gettok ( guiGetText ( aTab3.Weather ), 1, 32 ) ) elseif ( source == aTab3.WeatherBlend ) then triggerServerEvent ( "aServer", localPlayer, "blendweather", gettok ( guiGetText ( aTab3.Weather ), 1, 32 ) ) elseif ( source == aTab3.TimeSet ) then triggerServerEvent ( "aServer", localPlayer, "settime", guiGetText ( aTab3.TimeH ), guiGetText ( aTab3.TimeM ) ) elseif ( ( source == aTab3.SpeedInc ) or ( source == aTab3.SpeedDec ) ) then local value = tonumber ( guiGetText ( aTab3.Speed ) ) if ( value ) then if ( ( source == aTab3.SpeedInc ) and ( value < 10 ) ) then guiSetText ( aTab3.Speed, tostring ( value + 1 ) ) elseif ( ( source == aTab3.SpeedDec ) and ( value > 0 ) ) then guiSetText ( aTab3.Speed, tostring ( value - 1 ) ) end else guiSetText ( aTab3.Speed, "1" ) end elseif ( source == aTab3.SpeedSet ) then triggerServerEvent ( "aServer", localPlayer, "setgamespeed", guiGetText ( aTab3.Speed ) ) elseif ( source == aTab3.GravitySet ) then triggerServerEvent ( "aServer", localPlayer, "setgravity", guiGetText ( aTab3.Gravity ) ) elseif ( source == aTab3.WavesSet ) then triggerServerEvent ( "aServer", localPlayer, "setwaveheight", guiGetText ( aTab3.Waves ) ) elseif ( source == aTab3.FPSSet ) then triggerServerEvent ( "aServer", localPlayer, "setfpslimit", guiGetText ( aTab3.FPS ) ) triggerServerEvent ( "aSync", localPlayer, "server" ) end -- TAB 4, BANS elseif ( getElementParent ( source ) == aTab4.Tab ) then if ( source == aTab4.Details ) then if ( guiGridListGetSelectedItem ( aTab4.BansList ) == -1 ) then aMessageBox ( "error", "No ban row selected!" ) else local selip = guiGridListGetItemText ( aTab4.BansList, guiGridListGetSelectedItem( aTab4.BansList ), 2 ) local selserial = guiGridListGetItemText ( aTab4.BansList, guiGridListGetSelectedItem( aTab4.BansList ), 3 ) aBanDetails ( aBans["Serial"][selserial] and selserial or selip ) end elseif ( source == aTab4.Unban ) then if ( guiGridListGetSelectedItem ( aTab4.BansList ) == -1 ) then aMessageBox ( "error", "No ban row selected!" ) else local selip = guiGridListGetItemText ( aTab4.BansList, guiGridListGetSelectedItem( aTab4.BansList ), 2 ) local selserial = guiGridListGetItemText ( aTab4.BansList, guiGridListGetSelectedItem( aTab4.BansList ), 3 ) if ( aBans["Serial"][selserial] ) then aMessageBox ( "question", "Unban Serial "..selserial.."?", "unbanSerial", selserial ) else aMessageBox ( "question", "Unban IP "..selip.."?", "unbanIP", selip ) end end elseif ( source == aTab4.UnbanIP ) then aInputBox ( "Unban IP", "Enter IP to be unbanned", "", "unbanIP" ) elseif ( source == aTab4.UnbanSerial ) then aInputBox ( "Unban Serial", "Enter Serial to be unbanned", "", "unbanSerial" ) elseif ( source == aTab4.BanIP ) then aInputBox ( "Add IP Ban", "Enter IP to be banned", "", "banIP") elseif ( source == aTab4.BanSerial ) then aInputBox ( "Add Serial Ban", "Enter Serial to be banned", "", "banSerial" ) elseif ( source == aTab4.BansRefresh ) then guiGridListClear ( aTab4.BansList ) triggerServerEvent ( "aSync", localPlayer, "bans" ) elseif ( source == aTab4.BansMore ) then triggerServerEvent ( "aSync", localPlayer, "bansmore", guiGridListGetRowCount( aTab4.BansList ) ) end -- TAB 5, ADMIN CHAT elseif ( getElementParent ( source ) == aTab5.Tab ) then if ( source == aTab5.AdminSay ) then local message = guiGetText ( aTab5.AdminText ) if ( ( message ) and ( message ~= "" ) ) then if ( gettok ( message, 1, 32 ) == "/clear" ) then guiSetText ( aTab5.AdminChat, "" ) else triggerServerEvent ( "aAdminChat", localPlayer, message ) end guiSetText ( aTab5.AdminText, "" ) end elseif ( source == aTab5.AdminText ) then end -- TAB 6, OPTIONS elseif ( getElementParent ( source ) == aTab6.Tab ) then if ( source == aTab6.PerformanceCPU ) then for id, element in ipairs ( getElementChildren ( aPerformanceForm ) ) do if ( getElementType ( element ) == "gui-checkbox" ) then guiCheckBoxSetSelected ( element, false ) end end elseif ( source == aTab6.PerformanceRAM ) then for id, element in ipairs ( getElementChildren ( aPerformanceForm ) ) do if ( getElementType ( element ) == "gui-checkbox" ) then guiCheckBoxSetSelected ( element, true ) end end elseif ( source == aTab6.PerformanceAdvanced ) then aPerformance() elseif ( source == aTab6.AutoLogin ) then triggerServerEvent ( "aAdmin", localPlayer, "autologin", guiCheckBoxGetSelected ( aTab6.AutoLogin ) ) elseif ( source == aTab6.PasswordOld ) then elseif ( source == aTab6.PasswordNew ) then elseif ( source == aTab6.PasswordConfirm ) then elseif ( source == aTab6.PasswordChange ) then local passwordNew, passwordConf = guiGetText ( aTab6.PasswordNew ), guiGetText ( aTab6.PasswordConfirm ) if ( passwordNew == "" ) then aMessageBox ( "خطأ", "اكتب كلمة المرور الجديده" ) elseif ( passwordConf == "" ) then aMessageBox ( "خطأ", "كرر كلمة المرور الجديده" ) elseif ( string.len ( passwordNew ) < 4 ) then aMessageBox ( "خطأ", "يجب أن تكون كلمة السر الجديدة لا تقل عن 4 حروف" ) elseif ( passwordNew ~= passwordConf ) then aMessageBox ( "خطأ", "كلمة المرور المكرره لاتطابق الجديده" ) else triggerServerEvent ( "aAdmin", localPlayer, "كلمة المرور", guiGetText ( aTab6.PasswordOld ), passwordNew, passwordConf ) end end end elseif ( button == "right" ) then if ( source == aTab1.GiveWeapon ) then aInputBox ( "Weapon Ammo", "Ammo value from 1 to 9999", "100", "setCurrentAmmo" ) end end end function aClientRender () if ( guiGetVisible ( aAdminForm ) ) then if ( getTickCount() >= aLastCheck ) then aAdminRefresh () local th, tm = getTime() guiSetText ( aTab3.Players, "اللاعبين: "..#getElementsByType ( "player" ).."/"..gettok ( guiGetText ( aTab3.Players ), 2, 47 ) ) guiSetText ( aTab3.TimeCurrent, string.format("الوقت: %02d:%02d", th, tm ) ) guiSetText ( aTab3.GravityCurrent, "الجاذبيه: "..string.sub ( getGravity(), 0, 6 ) ) guiSetText ( aTab3.SpeedCurrent, "سرعة اللعب: "..getGameSpeed() ) guiSetText ( aTab3.WeatherCurrent, "الجو: "..getWeather().." ("..getWeatherNameFromID ( getWeather() )..")" ) local refreshTime = tonumber ( guiGetText ( aTab6.RefreshDelay ) ) if ( ( refreshTime ) and ( refreshTime >= 20 ) ) then aLastCheck = getTickCount() + refreshTime else aLastCheck = getTickCount() + 50 end end if ( getTickCount() >= aLastSync ) then triggerServerEvent ( "aSync", localPlayer, "admins" ) aLastSync = getTickCount() + 15000 end end end function updateColorCodes() local lists = { aTab1.PlayerList, aTab5.AdminPlayers, aSpectator.PlayerList } for _,gridlist in ipairs(lists) do for row=0,guiGridListGetRowCount(gridlist)-1 do guiGridListSetItemPlayerName( gridlist, row, 1, guiGridListGetItemPlayerName( gridlist, row, 1 ) ) end end end function guiGridListSetItemPlayerName( gridlist, row, col, name ) local bHideColorCodes = guiCheckBoxGetSelected ( aTab1.HideColorCodes ) guiGridListSetItemText( gridlist, row, col, bHideColorCodes and removeColorCoding(name) or name, false, false ) guiGridListSetItemData( gridlist, row, col, name ) end function guiGridListGetItemPlayerName( gridlist, row, col ) return guiGridListGetItemData( gridlist, row, col ) or guiGridListGetItemText( gridlist, row, col ) end -- remove color coding from string function removeColorCoding( name ) return type(name)=='string' and string.gsub ( name, '#%x%x%x%x%x%x', '' ) or name end -- Unix to date --dependency: function Check(funcname, ...) local arg = {...} if (type(funcname) ~= "string") then error("Argument type mismatch at 'Check' ('funcname'). Expected 'string', got '"..type(funcname).."'.", 2) end if (#arg % 3 > 0) then error("Argument number mismatch at 'Check'. Expected #arg % 3 to be 0, but it is "..(#arg % 3)..".", 2) end for i=1, #arg-2, 3 do if (type(arg[i]) ~= "string" and type(arg[i]) ~= "table") then error("Argument type mismatch at 'Check' (arg #"..i.."). Expected 'string' or 'table', got '"..type(arg[i]).."'.", 2) elseif (type(arg[i+2]) ~= "string") then error("Argument type mismatch at 'Check' (arg #"..(i+2).."). Expected 'string', got '"..type(arg[i+2]).."'.", 2) end if (type(arg[i]) == "table") then local aType = type(arg[i+1]) for _, pType in next, arg[i] do if (aType == pType) then aType = nil break end end if (aType) then error("Argument type mismatch at '"..funcname.."' ('"..arg[i+2].."'). Expected '"..table.concat(arg[i], "' or '").."', got '"..aType.."'.", 3) end elseif (type(arg[i+1]) ~= arg[i]) then error("Argument type mismatch at '"..funcname.."' ('"..arg[i+2].."'). Expected '"..arg[i].."', got '"..type(arg[i+1]).."'.", 3) end end end local gWeekDays = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" } function FormatDate(format, escaper, timestamp) Check("FormatDate", "string", format, "format", {"nil","string"}, escaper, "escaper", {"nil","string"}, timestamp, "timestamp") escaper = (escaper or "'"):sub(1, 1) local time = getRealTime(timestamp) local formattedDate = "" local escaped = false time.year = time.year + 1900 time.month = time.month + 1 local datetime = { d = ("%02d"):format(time.monthday), h = ("%02d"):format(time.hour), i = ("%02d"):format(time.minute), m = ("%02d"):format(time.month), s = ("%02d"):format(time.second), w = gWeekDays[time.weekday+1]:sub(1, 2), W = gWeekDays[time.weekday+1], y = tostring(time.year):sub(-2), Y = time.year } for char in format:gmatch(".") do if (char == escaper) then escaped = not escaped else formattedDate = formattedDate..(not escaped and datetime[char] or char) end end return formattedDate end -- anon admin function isAnonAdmin() return getElementData( localPlayer, "AnonAdmin" ) == true end function setAnonAdmin( bOn ) guiCheckBoxSetSelected ( aTab1.AnonAdmin, bOn ) setElementData( localPlayer, "AnonAdmin", bOn ) end function loadFlagImage( guiStaticImage, countryCode ) if countryCode then local flagFilename = "client\\images\\flags\\"..tostring ( countryCode )..".png" if getVersion().sortable and getVersion().sortable > "1.1.0" then -- 1.1 if fileExists( flagFilename ) then if guiStaticImageLoadImage ( guiStaticImage, flagFilename ) then return end end else -- 1.0 guiStaticImageLoadImage ( guiStaticImage, "client\\images\\empty.png" ) guiStaticImageLoadImage ( guiStaticImage, flagFilename ) return end end guiStaticImageLoadImage ( guiStaticImage, "client\\images\\empty.png" ) end Link to comment
فاّرس Posted May 14, 2018 Share Posted May 14, 2018 aTab2.ManageACL سطر ١٣٩، هذا هو المتغير guiSetEnabled انزل سطر تحته وضيف وظيفة عشان تقفل الزر، واستخدم الأكواد اللي فوق عشان تسوي أمر وتفتح الزر من خلال نفس الوظيفه اللي فوق، لو تدخل الويكي بتحصل أمثله تفيدك. Link to comment
#,Dr.To[sh]iBa Posted May 14, 2018 Share Posted May 14, 2018 (edited) guiSetEnabled(اسم الزر,false) addCommandHandler guiSetEnabled(اسم الزر,true) outputChatBox Edited May 14, 2018 by #,Dr.To[sh]iBa Link to comment
+Source|> Posted May 15, 2018 Share Posted May 15, 2018 7 hours ago, #,Dr.To[sh]iBa said: guiSetEnabled(اسم الزر,false) addCommandHandler guiSetEnabled(اسم الزر,true)outputChatBox + لو تبيها لرتبه triggerServerEvent getAccountName getPlayerAccount isObjectInACLGroup aclGetGroup Link to comment
oscarhrb Posted May 15, 2018 Author Share Posted May 15, 2018 ممكن تحطونها جاهزه مخي انلحس 2 minutes ago, oscarhrb said: ممكن تحطونها جاهزه مخي انلحس ابيه يفتح لرتبه مانجرس فقط Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now