Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 11/06/19 in all areas

  1. Hello there! You found Dystopia: The Incident, an original sandbox post-apocalyptic RPG. Keep reading below and you’ll find out more... Test server: mtasa://46.105.109.59:22008 Discord: https://discord.gg/Zs5bWSX Current version: alpha 0.75, check out details here DOWNLOAD (0.75 alpha) Key concepts Food and water are scarce and you need to be on the move to stay alive. Inventory size is limited, forcing you to prioritize. Vehicles require constant maintenance. Faction camps, bases, shanty towns and other encounter zones all over San Andreas. Exploration is rewarded. World is densely populated with NPCs and who you choose to kill matters. Environment is harsh and punishes the weak and the dumb. Moral decisions to be made. End goal. Roleplay friendly. Designed to be also enjoyable as a single-player experience. Setting 2000: A series of catastrophic earthquakes smashed the cities and countryside of San Andreas. In the aftermath, the whole state found itself separated from mainland. Fear and selfishness roamed free, pushing society into chaos. In the heart of San Fierro, one of the largest cities of San Andreas, government-sponsored Zombotech Corporation was researching biological weapons in its underground facility. The labs were heavily damaged by the cataclysm and a deadly infectious agent escaped in the streets. While emergency services struggled to contain the disaster and minimize collateral damage, death was spreading unnoticed. 2001: The Establishment evacuated survivors of the outbreak in the barricaded city of Las Venturas but infection spread inside the fence. They nuked the city and placed San Andreas under strict military quarantine. Nobody gets in, nobody gets out. They dubbed the disaster ‘The Incident’ to minimize its amplitude, media soon went silent and survivors were forgotten. 2007: 6 years passed and things have not become better. Regular people picked things up from where the government left them and started to organize. This is a tough new world, populated with the full spectrum of humanity: resilient survivors, vicious bandits, cannibalistic raiders, oppressive military forces and the rest of the loons. No line between good and bad was ever so ill-defined. San Andreas is ruled with an iron hand by Governor Skinner, who took office only six days after the Incident. His armed forces fight to control the territory, herding men into the new Refugee Camp. Resources are scarce and many dropped the last remnants of morality when they faced starvation. Violent clans and factions fight over the remains, establishing turfs or just trying to stay alive. Militias fight for supremacy, idealists work to maintain civilization and everybody else just struggles to survive another day in an increasingly suffocating world. As it became evident that the government has no rescue plan for them, despair started to crumble the minds of the few sane left. All attempts to flee San Andreas are met with airstrikes. But there must be ways to escape this place... What you can experience right now Explore a detailed post-apocalyptic map with many encounter zones. Plenty of NPCs, both friendlies and baddies. Dynamic faction and spawn system. More than 40 missions already in the game. Detailed inventory with more than 100 items to be found and used. Basic needs, stamina, infection, various other modifiers like pain, bleeding, exhaustion or inebriation. Innovative looting mechanic. Four zombie types, with different behavior. Scavenge the world for materials to build settlements or to use simple crafting and cooking. Upgrade and drive rugged vehicles across the wasteland and engage in vehicular combat. Trade, recruit and discover parts of the story by chatting with NPCs. Experience dark humor and some strong themes (16+). Simple interface, consistent graphic style. What still needs to be done The current gamemode version is alpha 0.75. Required for beta: skills and abilities implementation, npc traffic, karma system and map completion (now >90%). Once the project hits beta and the core is completed we’ll start focusing exclusively on the missions and story. Seeking friends for the end of the world Want to jump onboard and take part in the development? Great, join our Discord server using the link on top (the recommended approach) or PM me here. We're always looking for like-minded developers. Wanted: scripters, mappers, storytellers, 3D artists and testers. However, keep in mind that we're not looking to monetize this project in any way. We’ve used the work of many MTA community members and the gamemode will be shared alike with the community when completed. You will gain full credit for your work but no other type of compensation. Share your thoughts We do love suggestions and implement all good fitting ones, so don’t be shy and tell us what you think about this project, using the channels highlighted above. The answer is guaranteed and we'll also give full credit for any original ideas. Media 100+ development screenshots here (I suppose this is what you were looking for from the beginning, instead of reading a wall of text) Thanks for reading! Watch this space for fresh information and media.
    1 point
  2. Hello! So on this date (8th of June 2019) I reinstalled MTA and a problem regarding "Network Trouble" occurred. The *Network Trouble* text shows up only when I'm spectating someone so my status is "dead" on the playerboad/scoreboard. I did not have this problem before reinstalling MTA. What should I do to prevent this from happening or how should I fix this problem? Thanks for reading. Kind regards, Rhae
    1 point
  3. Thank you @Dutchman101 Much appreciated! Cheers! Problem isn't solved. I used version 18560 which caused the problem. Somebody responded to me on my topic on GitHub (https://github.com/multitheftauto/mtasa-blue/issues/989) that I should use version 18445 which worked and the "Network problem didn't occur but now that you send me the version 18574 the problem "Network trouble" appeared again. @Dutchman101 @Dutchman101 sorry for saying it that quickly but I thought your solution would fix the problem. Please read my latest comment above about what happened after I used the version you sent me. @Dutchman101 it's confirmed, version 18574 does not work for me and does not solve the issue/bug.
    1 point
  4. Hi guys! Just a quick note, there are at least two servers currently online where you can play Dystopia: Arabic Dystopia: The Incident v0.75 - [لعب ار بي جي زومبي مطور] @ 51.77.137.1:27015 [CZ/SK] Dystopia: The Incident [Action-RPG Zombie Sandbox] @ 185.91.116.18:22005 Disclaimer: they're both unofficial, so the actual experience might differ from the original gamemode, depending on the owners preference. However, as i played on them there were no differences that I could note, except for some parts that were translated to the respective languages.
    1 point
  5. local screenWidth, screenHeight = guiGetScreenSize ( ) local scroll = guiCreateScrollBar(15,81,24,245,false,false) local scroll2 = guiCreateScrollBar(45,81,24,245,false,false) local scroll3 = guiCreateScrollBar(75,81,24,245,false,false) local R, G, B = 0, 0, 0 addEventHandler( "onClientGUIScroll", root, function() local ScrollValue = guiScrollBarGetScrollPosition ( source ) if source == scroll then R = (255/100) * ScrollValue elseif source == scroll2 then G = (255/100) * ScrollValue elseif source == scroll3 then B = (255/100) * ScrollValue end end) function createText ( ) local playerX, playerY, playerZ = getElementPosition ( localPlayer ) -- Get our player's coordinates. local playerZoneName = getZoneName ( playerX, playerY, playerZ ) -- Get name of the zone the player is in. -- Draw zone name text's shadow. dxDrawText ( playerZoneName, 44, screenHeight - 41, screenWidth, screenHeight, tocolor ( 0, 0, 0, 255 ), 1.02, "pricedown" ) -- Draw zone name text. dxDrawText ( playerZoneName, 44, screenHeight - 43, screenWidth, screenHeight, tocolor ( R, G, B, 255 ), 1, "pricedown" ) end function HandleTheRendering ( ) addEventHandler ( "onClientRender", root, createText ) -- keep the text visible with onClientRender. end addEventHandler ( "onClientResourceStart", resourceRoot, HandleTheRendering ) @+Source|>
    1 point
  6. txd = engineLoadTXD ( "pmerj.txd" ) engineImportTXD ( txd, 522 ) txd = engineLoadTXD ( "pmesp.txd" ) engineImportTXD ( txd, 521 ) txd = engineLoadTXD ( "detran.txd" ) engineImportTXD ( txd, 461 ) dff = engineLoadDFF ( "model.dff" ) engineReplaceModel ( dff, 522 ) engineReplaceModel ( dff, 521 ) engineReplaceModel ( dff, 461 ) Desse modo, eu teria três motos com o modelo igual, porém com a textura diferente (as texturas devem ser compatíveis com o modelo).
    1 point
  7. استخدم الداله اللي تحت بالنسبة المئوية RGBA راح تعطيك الـ function getRGBAByPercentage(rPercentage,gPercentage,bPercentage,aPercentage) -- ارقمنت إجبارية --> rPercentage : نسبة الأحمر --> gPercentage : نسبة الأخضر --> bPercentage : نسبة الأزرق -- ارقمنت اختيارية --> aPercentage : نسبة الشفافية if rPercentage and gPercentage and bPercentage then if type(rPercentage)=="number" and type(gPercentage)=="number" and type(bPercentage)=="number" then local aR,aG,aB,aA; aR=(255/100)*rPercentage;aG=(255/100)*gPercentage;aB=(255/100)*bPercentage; if aPercentage and type(aPercentage)=="number" then aA=(255/100)*aPercentage; end return aR,aG,aB,aA else return print("the values must be numbers"); end else return print("invalid!"); end return false end -- تجربه print(getRGBAByPercentage(100,40,98)) -- 255.0 102.0 249.9 false local r,g,b,a=getRGBAPercentage(100,100,100,100); r: 255.0 g: 255.0 b: 255.0 a: 255.0 لا تنسى تستخدم guiScrollBarGetScrollPosition عشان تجيب النسبة المئوية للسكرول بار
    1 point
  8. سويتلك مثال بسيط , وجربته وشغال local R, G, B = 255, 255, 255 GUIEditor = { scrollbar = {}, window = {} } addEventHandler("onClientResourceStart", resourceRoot, function() local screenW, screenH = guiGetScreenSize() GUIEditor.window[1] = guiCreateWindow(screenW - 320 - 10, (screenH - 197) / 2, 320, 197, "", false) guiWindowSetSizable(GUIEditor.window[1], false) guiSetAlpha(GUIEditor.window[1], 1.00) GUIEditor.scrollbar[1] = guiCreateScrollBar(65, 90, 197, 18, true, false, GUIEditor.window[1]) end ) addEventHandler("onClientRender", root, function() local screenW, screenH = guiGetScreenSize() dxDrawText("change colour", (screenW - 191) / 2, (screenH - 41) / 2, ((screenW - 191) / 2) + 191, ( (screenH - 41) / 2) + 41, tocolor(R, G, B, 255), 1.00, "pricedown", "left", "top", false, false, false, false, false) end ) addEventHandler( "onClientGUIScroll", resourceRoot, function( ) if ( source == GUIEditor.scrollbar[1] ) then local ScrollPosition_ = guiScrollBarGetScrollPosition ( GUIEditor.scrollbar[1] ) ScrollPosition_2 = ScrollPosition_ R = R - ScrollPosition_ end end )
    1 point
  9. Uma maneira ainda mais efetiva é utilizar getResourceGUIElement - cuja variável predefinida é guiRoot. Ex: addEventHandler ("onClientGUIClick", guiRoot, functionQualquer) -- Sem declarar o botão e sem o false. É um hábito que todos que buscam otimizar seus scripts devem ter. root (getRootElement()) sempre deve ser evitado quando possível.
    1 point
  10. Quando usar o source, quando declarar o botão no evento e quando usar o parâmetro getPropagated (o false): addEventHandler ("onClientGUIClick", button01, functionQualquer) -- Sem o false e declarando o botão que deve chamar essa função. Esse caso acima é recomendado para botões únicos e que não tenham parentes. Quando vc só tem um único botão, é mais fácil declará-lo direto no evento ativador. Por não existir um parente desse botão, não precisa do false. Se existisse um parente (como uma janela) dai precisaria do false, caso contrário a função seria ativada novamente para esse parente. addEventHandler ("onClientGUIClick", button01, functionQualquer, false) -- Com o false e declarando o botão. Esse caso com o false é recomendado para casos de um botão único e que possui algum parente, como uma guiWindow. O false evita que a janela seja considerada ao clicar no botão. Ativando a função somente 1 vez por clique. addEventHandler ("onClientGUIClick", root, functionQualquer) -- Sem declarar o botão e sem o false. Nesse último caso é o mais comum e recomendado para a maioria dos casos onde uma janela possui vários botões. Você não declara um botão específico no evento, usa-se root para que a função ative em qualquer guiElement clicável. Dentro da função, vc usa source para saber qual elemento foi clicado e se ele é igual a tal botão, por exemplo: if (source == button01) then -- Faz algo. elseif (source == button02) then -- Faz outra coisa. end Em vez de usar vários addEventHandlers para cada botão, e uma função diferente para cada botão, usa-se a mesma função e o mesmo addEventHandler para todos, diferenciando o que cada um dos botões faz através das condições. Isso é questão de otimização. Vários eventos pequenos são mais pesados do que um único evento grande.
    1 point
  11. Hello, i found this script laying in my hard drive that i made back in 2017. Use L-Shift to rewind position. L+R Shift to speed up rewind. Have fun. https://community.multitheftauto.com/index.php?p=resources&s=details&id=16062
    1 point
  12. اذا تبي اقتراح تضيفة للمود في نفس لوحة تغير الاسم للعربي ضيف تغير الخط حق العاجل و تغير الخص حط الاسم
    1 point
  13. 1 point
×
×
  • Create New...