Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 24/08/19 in all areas

  1. Who are we? Our team consists of determined members with a lot of perseverance. As a team, we wish to accomplish the same goal - deliver a fun, varied and stable server to you - and doing our best efforts to achieve this goal is what makes this team strong and enduring. Every member has been chosen according to their personalities as well as their skills. We are glad to have the members we currently have, their persistence is incredible. Our Objective We are striving to make a great community for everyone, meaning that everyone should feel safe here. But as stated above we also want to create a stable and user-friendly server for all of you to enjoy. Read down to find more info related to the server. Details Website: https://forum.vultaic.com/ Twitter: https://twitter.com/ThisIsVultaic Server IP: mtasa://164.132.114.156:22003 Discord: https://discord.gg/PwKgPWH Staff: https://forum.vultaic.com/index.php?/staff/ Staff Division - Manager, Founder and Web Developer DizzasTeR - Manager and Developer Mirage - Manager and Developer Acerus - Financer Ramsy - Social Media Manager ToadFlox - Social Media Manager, Web Developer Djdidier - Web Developer T3xt - Map Manager Lacia - Map Tester & Stickers Manager Mazda - Map Tester Eleven - Map Tester KenZo - Map Tester Corex - Head of Streamers NoHear - Modeller Kalkbrenner - Modeller MarveL - Designer Selvis - Clan Member AnTi-Z - Clan Member Simas - Clan Member JmicK - Clan Member CresPro - Clan Member raceR - Clan Member Rhae - Clan Member Cheetah - Clan Trial Server Our server contains 7 gamemodes and 13 arenas in total. These gamemodes are: Deathmatch A classic MTA game-mode. You drive on a track with various player-designed obstacles with the goal of finishing the track in as least time as possible. At the end is a Hunter pick-up (attack helicopter) that you then use to kill the remaining players. Included are classic DM maps, hard DM maps (HDM) oldschool DM maps (OS) and essenially everything else that includes a lot of driving and a Hunter waiting for you at the end. Destruction Derby King of the hill in it's purest form. Push the other players off the map and into the water. There can only be one winner, whoever is the last person left on the map. Race The MTA defining game-mode. Finish a set of checkpoints and reach the final one before anyone else. Features ghost-mode so you don't have to worry about losing to griefers and generally salty players. Shooter Think of it like this - you're playing Call of Duty, except you're a vehicle instead of a human (or robot) and your goal is to destroy all the other vehicles. Base mode is free-for-all, so kill everyone. Hunter One of many MTA players' favourites. Same as Shooter, except you're flying instead of driving. The room gets its name from the one vehicle you get to use, which is the Hunter. Training In case you want to play any DM map you wish, whether to train it and get better at it or to just play it for yourself, this is the place. You can save a warp so you have a checkpoint to fall back to in case you fail, you can load that warp (and you're not limited to one, you can do this as many times) and you can also delete your last saved warp in case you mess up while saving it. Included here is every DM and race map we have. Garage Tune your vehicles (primarily your Infernus) here. What you create will be visible by both you and all other players that are playing alongside you. Below you'll see a teaser of how the garage ingame looks like. Server Changelog You can follow our updates here. Events & Tournaments Last Survivor (Ended) Weekly Event #1 - Mapping Our Logo (Ended) Weekly Event #2 - Guess the Map (Ended) Weekly Event #3 - Making a Garage (Ended) (We gave a break on weekly events for a while) Videos from the Server Teaser Intro Gameplay
    1 point
  2. السلام عليكم ، انا لي سنوات باللعبه بديت بأسم Naif35 بعد ما اتقنت اللعبه وفهمت لها زين تغير النك نيم ل ALCKASER بعد فتره بالنك نيم هذا انحظرت بالموقع هذا وسويت حساب اخر بأسم اخر وتعلمت اشياء كثيره واتقنتها ثم حطيت نكي هذا من ٦ سنوات اللي هو EH10 وبالنهايه اقول لكم انا EH10 هو نفسه ALCKASER للي يتذكرني طبعا من قبل ست سنوات. وطبعا انا تارك اللعبه من اكثر من ثلاث سنوات.
    1 point
  3. مثل الرابط ... يربط بين ملف كلينت وملف سيرفر تعلم أولاً معنى كلينت و سيرفر قبل أن تبدأ في تعلم الترايقر تستخدمه غالباً إذا أردت تشغيل وظيفة ( لا تعمل إلا في الملف المعاكس ) مثلاً triggerClientEvent -- تستخدمه عندما تريد تشغيل داله لا تعمل إلا في ملف كلينت , أو لا تريد أن يعمل الشيء إلا لدى عميل محدد triggerServerEvent -- تستخدمه إذا أردت تشغيل داله لا تعمل إلا في ملف سيرفر , أو لا تريد أن يعمل الشيء إلا في ملف سيرفر
    1 point
  4. 1. Pra fazer isso, você precisa fazer com que o client ligue para o servidor e avise, (coloque tal jogador em tal acl) pois o painel só é possível criar do lado client já que o jogador precisa pressionar um botão pra ser adicionado na acl e pra isso iremos utilizar TriggerServerEvent. Sabendo dessa primeira informação, então vamos lá! Fiz um painel de exemplo e comentei as linhas pra você entender, tentei ser o mais breve possível pra você entender, até porque isso é algo bem simples. Client: local sX, sY = guiGetScreenSize () addEventHandler ("onClientResourceStart", resourceRoot, function () mainWindow = guiCreateWindow (sX/2 - 155, sY/2 - 115, 310, 230, "", false) guiWindowSetSizable (mainWindow, false) showCursor (true) guiSetProperty (mainWindow, "TitlebarEnabled", "False") guiSetProperty (mainWindow, "CloseButtonEnabled", "False") btnPegar = guiCreateButton (85, 80, 140, 30, "Pegar Emprego", false, mainWindow) btnSair = guiCreateButton (85, 122, 140, 30, "Sair Emprego", false, mainWindow) btnClose = guiCreateButton (266, 195, 34, 25, "x", false, mainWindow) end) addEventHandler ("onClientGUIClick", guiRoot, function (btn) if btn ~= "left" then return end -- Se o botão clicado do mouse não for o esquerdo, cancela a função e nada acontece. if source == btnPegar then -- Se o botão clicado for o botão de btnPegar, então: triggerServerEvent ("onRequestPegarEmprego", localPlayer, "pegarEmprego") -- Enviamos para o servidor setar o jogador na acl. elseif source == btnSair then -- Se o botão clicado for o botão de btnSair, então: triggerServerEvent ("onRequestPegarEmprego", localPlayer, "sairEmprego") -- Enviamos para o servidor tirar o jogador da acl. elseif source == btnClose then -- Se o botão clicado for o botão de btnClose, então: guiSetVisible (mainWindow, false) showCursor (false) end end) Server: function confirmTrampo (type, join, leave) if (type == "pegarEmprego") then -- Se a string enviada pelo client for "pegarEmprego", então: if (isObjectInACLGroup ("user."..getAccountName (getPlayerAccount (client)), aclGetGroup("Mecanico"))) then -- Se o jogador já estiver na acl "Mecanico", então: outputChatBox ("Você já está no trabalho de mecanico!", client, 255, 30, 30) else -- Senão: aclGroupAddObject (aclGetGroup("Mecanico"), "user."..getAccountName (getPlayerAccount (client))) -- Coloca o jogador na acl "Mecanico". outputChatBox ("Parabéns! Agora você está trabalhando de mecânio!", client, 0, 255, 0) end elseif (type == "sairEmprego") then -- Se a string enviada pelo client for "sairEmprego", então: if (isObjectInACLGroup ("user."..getAccountName (getPlayerAccount (client)), aclGetGroup("Mecanico"))) then -- Se o jogador estiver na acl "Mecanico", então: aclGroupRemoveObject (aclGetGroup("Mecanico"), "user."..getAccountName (getPlayerAccount (client))) -- Remove o jogador da acl "Mecanico". outputChatBox ("Você saiu do trabalho de mecânico!", client, 0, 255, 0) else outputChatBox ("Você não está no trabalho de mecânico!", client, 255, 30, 30) end end end addEvent ("onRequestPegarEmprego", true) addEventHandler ("onRequestPegarEmprego", root, confirmTrampo) É aqui onde a mágica acontece, onde recebe as informações do client e seta o jogador na acl, então preste bastante atenção nessa parte. Espero ter ajudado, boa tarde
    1 point
  5. @Saud'Faisal معلش بس يهمني اعرف بتضحك علي ايه ؟
    1 point
  6. صراحة ، سلاح حلو بس شيء يلي مو حلو ، هو تنسيق الوأن وأنا قصدي أقول عيوب ، وليس شيء أخر.
    1 point
  7. Both posts above mix server-only functions with client-only functions. Smh. --server function refreshListAdmin() local onlineAdmins = {} for i, v in ipairs(getElementsByType("player")) do if hasObjectPermissionTo(v, "function.setPlayerMuted", true) then table.insert(onlineAdmins, getPlayerName(v)) end end triggerClientEvent(client, "receiveListAdmin", client, onlineAdmins) end addEvent("refreshListAdmin", true) addEventHandler("refreshListAdmin", root, refreshListAdmin) --client WINDOW_WITH_GRIDLIST = guiCreateWindow(...) GRIDLIST = guiCreateGridList(...) guiGridListAddColumn(GRIDLIST, "Admin Name", 0.85) function showListAdmin() if guiGetVisible(WINDOW_WITH_GRIDLIST) then guiSetVisible(WINDOW_WITH_GRIDLIST, false) -- hide the window if it's already visible return end guiGridListClear(GRIDLIST) guiGridListAddRow(GRIDLIST, "Loading...") -- add a row that says "Loading..." while waiting for server to return the admins list guiSetVisible(WINDOW_WITH_GRIDLIST, true) triggerServerEvent("refreshListAdmin", localPlayer) end addCommandHandler("admins", showListAdmin) function loadListAdmin(admins) if not guiGetVisible(WINDOW_WITH_GRIDLIST) then return -- don't continue if the user already closed the window end guiGridListClear(GRIDLIST) -- clear out the "Loading..." row if #admins > 0 then for k, v in pairs(admins) do guiGridListAddRow(GRIDLIST, v) end else guiGridListAddRow(GRIDLIST, "No admins online.") end end addEvent("receiveListAdmin", true) addEventHandler("receiveListAdmin", root, loadListAdmin) You'll need to incorporate this code into your existing code. Specifically, plug in the proper variables for your GUI window and gridlist.
    1 point
×
×
  • Create New...