Jump to content

Mittell Buurman

Members
  • Posts

    56
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Mittell Buurman

  1. Multi Theft Auto:Source Roleplay By MittellBuurman Roleplay on brand new source_rp resources For over 10 years, a roleplay resource has taught a lot of young aspiring scripters how to move a gate. Your very first challenge. It has been the staple of the roleplay community, where thousands of server have greatly benefited of the capabilities, but also had to face it's limitations. On Jun 11 2022, I started this project. With the ambition to create a new brand new roleplay engine from scratch, with new techniques and features, all wrapped up in a complex database system that is built to last. Gamemode status: Development Expected Launch: tbd We are currently looking for members looking to participate in the dev_sandbox server. We are looking for testers. If you're interested in the build status of the server and like to participate. You can join our Discord here. IMPORTANT NOTE: The server is NOT ready for launch and is in Early development stages. A lot of features may not work as expected and should be reported. This page is still a work in progress and will be aptly updated. Image gallery
  2. After a decade of building the best known Roleplay script out there. The OwlGaming community has been the last large community that has maintained (and publicly released) the Valhalla Gaming Roleplay script, with all its resources ready for anyone to create their own server. However, before the release of the script that is now available on github. The developers have cleared some specific resources, files, and possibly certain configurations, which ultimately resulted in a untested , and often difficult to install gamemode. Even if you managed to get the server running, you already get faced with various challenges to get your account operational. And when you do get your character created, and you can roam around the map. Many features (such as chat) are not functional. This seems a disservice to what the initial gamemode, its growth, and dedication of many developers actively working on it to leave such a prominent gamemode broken on a public service. Therefore I have made a 69th fork of the gamemode, with the intention to get the gamemode in working condition. But I cannot do it alone. This is where I ask the community to band together, and give this gamemode the care it deserves. Github Repo: MittellBuurman/MTA-Roleplay-Community Discord: SourPatch GC If you're interested in participating or contributing. Feel free to send me a PM on discord, or join the server and get the ideas flowing. Hope to see you there!
  3. Also, in terms of using `addeventHandler` on `getRootElement()` should also be limited. If you're using pickup, collisions, markers, or really any other element that does not require inheritance from a specific event handler. it is best to bind them strictly to the specific element itself.
  4. I have been working on building a new RP gamemode for this reason. With about 10 years of work, it has been handed from one community to another, passed by various developers and script kiddies alike. It was a project where we used our limited knowledge and what we found to be ‘best practises’. And with the current RP eco system, It has run stale. It is not just about the gamemode itself, but the sheer amount of communities making their effort to ‘be the next RP server’. Yet is has proven difficult to gain and maintain a solid playerbase, if it is the same refurbished gamemode all over again. as mentioned before. I’ve already started with creating a new RP framework, which is a hefty operation. if the community still has an interest in a roleplay gamemode. I don’t think using, or even refactoring OG resources will cut the deal. It has been a passion project with 10 years of work, where there has been little oversight on the overall quality. It is better to use it as a reference sheet than anything else.
  5. I have always been struggling with OOP, I thought I might have understood, but no. It's very simple. I want something like: Missions.name to return the name of the said index. The table output runs just fine, but once I want to use the variable type, I get nil. What am I missing? _Missions = { --sabotage { name="sabotage", short="sabotage", isElite = 1, minPly = 5, maxPly = 10 }, --Resupply { name="Resupply", short="resupply", isElite = 0, minPly = 1, maxPly = 5 }, --Fortify { name="Fortify", short="fortify", isElite = 0, minPly = 1, maxPly = 5 }, --Grand Theft Auto { name="Grand Theft Auto", short="gta", isElite = 0, minPly = 1, maxPly = 4 } } addEventHandler("onResourceStart", resourceRoot, function() for i in ipairs(_Missions) do _Mission = Element.create("Mission") _Mission.setID(_Mission, i) _Mission.name = _Missions[i].name _Mission.short = _Missions[i].short _Mission.minPly = _Missions[i].minPly _Mission.maxPly = _Missions[i].maxPly outputServerLog(_Mission.name) end end )
  6. If you have €200 a month for me you're very welcome to pay my server bills. and it wouldnt even work. I got a 1gbps network on my box including DDoS protection. but theres no DDoS protection that can withold 15gbps. Its just not cutting it. I dont want to spend extra money for something that wouldnt matter. the average DDoSer within the MTA commu.ity attacks with 2 gbps. thats more then the average DDoSer on any other gaming platform. You should enjoy hosting your own server. Not getting frustrated because some fat fuckface DDoSes your server I really want to keep my MTA server. but if I keep it. My community might suffer from it.
  7. Hello MTA Community, If you've got a weak heart, stop right here because I got some sad things to say and you may not like it, disagree or deny my statement. I have been enjoying MTA since 2010. As a SAMP immigrant I have seen the benefits of the amazing content and structure. My favorite Gamemode: Roleplay. Valhalla gaming truly was the place to be. But where I enjoyed the game so much, there was always someone who liked ruining your happy moments, enjoying a game by DDoSing the server. Now 4 years later I have seen Many communities come and go. The Valhalla MTA commune disconnected from Valhalla Gaming and became Root Gaming. Then the predecessor of United Gaming made a server. Everlite Gaming had their proud moment. Now most of the old United Gaming coders are now settled on Owl Gaming. Another community which is one of the dominating Roleplay servers ruling their glory days. There's 1 community that still exists. It has survived 2 years where other communities crumbled down. MTA roleplay, the community led by the most infamous community owner you can imagine. He is a businessman and has got some dirty cards in his hand. I have been an administrator on that community ever since I got there and even coded there for roughly 5 months. I've worked hard to achieve it, but eventually left. Now that was in July 2013, now we're rougly 1 year later. MTA Roleplay is still kicking so you'd say he's still doing a good job keeping his players coming. But I know what he has done in the past. 23rd of June 2014 was the date where (after hesitating for over 6 months) I have decided to host an MTA server from my community. The community is 4 months young and runs quite a few servers on it. From Garrysmod servers to an Arma 2 DayZ server to Minecraft, just cause 2 and a Voip server. In a period of 6 months I have been DDoSed once by some french kid when I banned him from one of my Garrys Mod server as he wass threatning to DDoS us and being a total cunt. We accepted his challenge and got rid of him. Anywho I started to host my own MTA Roleplay server. Using some alternative, NON valhalla gaming backbone script. It was unfinished, unlike the known watermarks of the original gaming community who made those scripts, this project has not finished, so I started working on it. 24th of june 2014 The day was good. I fixed some bugs, restored some database values and was just about to thing out my next plan, but I started to notice something. The server was responding slowly. I know we fell victim to a DDoS attack 2 weeks ago, but I was not the actual target. All of a sudden I lost connection to the server and I scratched my head to think what's going on. So I call the host to get some information. I could have known that this was a DDoS attack. Well that's alright. I got a DDoS protection so I know when I go down, the DDoS protection will kick in and save my server connection....right? I have never been so wrong. Yes it was a DDoS attack and no it wasn't a small one. this was a 15 gbps DDoS attack. a botnet hive connection just breached into my IP and knocked it right off. The host has never seen such a big DDoS attack on 1 server in a long time. the DDoS log This was a bit too obvious. I launched an MTA server in less then 24 hours and I get a 'Random DDoS attack' to my server? It makes no sense...does it? Remember where I talked about MTA Roleplay and their owner with the dirty player cards? How convenient is it to launch an MTA server, name it roleplay and within 24 hours your server gets DDoSed, and not lightly. This was a personal attack. I have never seen a development server being hit. EVER! If you had a dev server and got DDoSed with 15gbps in less then 24 hours after you launched the server, I wont be talking about it. So the convenience is as followed. My community name is BallsDeep, I advertise BallsDeep on my skype status and recently updated about an upcoming MTA server. I know theres at least 1 person in my skype list where I know. The guy has got a subscription to a DDoS network. But it would be too obvious for it to be that guy. I'm not going to point fingers as I have no proof. But I am pretty sure it's him. You don't just send 15gbps to a single server. for all they know I could have made a server and not being touched because there are many roleplay development servers out there that will never survive. He knew I have potential to a good running server, collecting at least 20 people and grow to become a decent MTA roleplay branch within my community. What has this got to do with MTA? In those 5 years that I have been around MTA. I am very well aware that The MTA community embraces DDoS then any other gaming network. It's not just Community owners, their lead/head administration got a subscription to a DDoS hive. Even players pay an amount to target one of the competitive communities and take them down. Sure I have been DDoSed twice. the Garrysmod player who DDoSed me only struck me with 500 mbps so that's just a fart that got stuck on my network bowel. In the MTA community the DDoS Attacks range between 1-10 gbps. How do I know? Because within my skype network they told me about the DDoS attacks. "I just sent 6 gbps to ******* LOL", "Aaand they're down, take my 5gbps , feel the love". "The guy DDoSed my home network with 1gbps, So I gave him 5 gbps in return. That'll keep his network down all night lol" It is obvious. No other Gaming network is as childish. As the MTA community. Especially the roleplay branch. The server hosts are DDoSing, their players brainwashed and their coders are always going to fuck them over at some point. The MTA Staff/Developers can restrict those communities that are DDoSing and blacklist them. And they should. Because if they don't. MTA will eventually crumble and fall apart. Enjoy your days, Mittell
  8. Apart from conversion, are there any other options to stream the objects into every dimensions when your file is a .map file?
  9. Let me clarify on this. Basically I'm looking for a way to stream map objects through the .map extension into multiple dimensions without having to edit the .map file for every single interior. I know that the world interior can be streamed into muliple dimensions and to save the mappers some time by NOT converting the .map file to .lua I haven't worked with map files before but all I ask is. How can I stream a .map file into every possible dimension?
  10. Seriously?!!! I've been hammering on this for hours and...wow It's working. thanks mate
  11. going back and forth, trying diffrent things I am clueless. I have a pickup element, the pickup element does exist. I know that it's being stored in a table and I am obviously missing something, but I have no clue how to resolve this. Ideas? local dbid, ent, ext= nil intEnt, intExt = {}, {} function loadHouses(interiorElement) if not (interiorElement) then interiorElement = getElementsByType('house') end if(interiorElement) then for _, interior in ipairs(interiorElement)do loadOnePickup(interior) end else outputDebugString('[ERROR] : interiorElement not found', 3) end end setTimer(loadHouses, 500, 1) function loadOnePickup(int) if not(int) then outputDebugString('[ERROR] : element(int) not found', 3) end dbid = getElementData(int, 'home:id') if (dbid) then ent = getElementData(int, 'home:entrance') ext = getElementData(int, 'home:exit') createHousePickup(int) end end addEvent('createHousePickups', true) addEventHandler('createHousePickups', getRootElement(), loadOnePickup) function createHousePickup(interior) intEnt[dbid] = createPickup(ent[INT_X], ent[INT_Y], ent[INT_Z], 3, 1273) setElementParent(intEnt[dbid], interior) setElementDimension(intEnt[dbid], ent[INT_DIM]) setElementInterior(intEnt[dbid], ent[INT_INT]) intExt[dbid] = createPickup(ext[INT_X], ext[INT_Y], ext[INT_Z], 3, 1318) setElementParent(intExt[dbid], interior) setElementDimension(intExt[dbid], ext[INT_DIM]) setElementInterior(intExt[dbid], ext[INT_INT]) entrance = intEnt[dbid] outputChatBox(tostring(getElementType(entrance))) exit = intExt[dbid] end function boop() outputChatBox('DAMMIT MOON MOON') end addEventHandler('onPickupHit', entrance, boop)
  12. attempt to yield across metamethod/c-call boundary Where am I possible calling a C code? function getGateInfo(ply, hasCoroutine) if (hasCoroutine==nil) then hasCoroutine = false end theGate = getGateDistance(ply) if theGate then for k in pairs(theGate) do if (theGate[k]) then coroutine.yield() end if (openState == false) then openState = true moveObject(theGate[k], mTime, mx, my, mz, rx, ry, rz) setTimer( function() moveObject(theGate[k], mTime, mx, my, mz, -rx, -ry, -rz) setTimer( function() gate[k].openState = false end, mTime, 1) end, rTime, 1) end end end end local chgates = { } function resumethread() for key, value in ipairs(chgate) do coroutine.resume(value) end end function useGate(ply, cmd) getGateInfo(ply, false) if (theGate) then local gids = {} local counter = 0 for index,value in pairs(theGate)do gids[tonumber( theGate[index] ) ] = true counter = counter+1 end for id in pairs( gids ) do local co = coroutine.create(getGateInfo) coroutine.resume(co, id, true) table.insert(chgate, co) end setTimer(resumethread, 1000, 1) end end addCommandHandler('gate', useGate)
  13. explanation: the truck (linerunner) atteches to the trailer and runs a check, if the company names are not the same, it detaches. As far as the code goes, everything is working as it should and it does detach. The Issue: As soon as the trailer detaches it immediately re-attaches. How can I prevent the trailer from reattaching to the linerunner after it detaches? I did try cancelEvent, but it didn't detach NOTE: I'm asking for Experienced lua coders who know about GTA & MTA mechanics, you do not need any other code than the one that is currently listed. server: addEventHandler('onTrailerAttach', getRootElement(), function(truck) if(isElement(truck) and getElementType(truck)=='vehicle') then trailer = getVehicleTowedByVehicle(truck) local compTruck = getElementData(truck, "vehicle:company") local compTrailer = getElementData(trailer, "vehicle:company") local x, y, z = getElementPosition(truck) if (compTruck~=compTrailer) then outputChatBox("This trailer does not belong to your company.", ply, 255, 200, 0) detachTrailerFromVehicle(truck, trailer) end end end )
  14. addEvent( "onHeadshot", true ) addEventHandler( "onHeadshot", root, function() playSound("noob.mp3", false) --boolean prevents looping, just to make sure. end )
  15. Like I said, not helping. The original code shows a lot more, but if I get 0000000000 ZERO NO NO NOTHING NO NO ERRORS! Then the triggerClientEvent gets ignored. Unless you're a moderator or part of the MTA team, I'd appreciate the help with the issue, because for some reason other people are sending me their codes which do work, but when I compare the code, it's the exact same code, but not working.
  16. You're not helping. It's the exact same code, except you switched arguments.
  17. Nevermind, Looking at the code now it's actually useless..
  18. It's very simple. Once you press the button, it must check if the number is between 1 and 5 and if it is, it changes the value up or down. But when I press the button and I have reached 5, it still adds 1. charname = guiGetText(edtchar) str=guiGetText(strskl) def=guiGetText(defskl) int=guiGetText(intskl) sta=guiGetText(staskl) han=guiGetText(hanskl) inv=guiGetText(invskl) wep=guiGetText(wepskl) res=guiGetText(resskl) local total = tonumber(str+def+int+sta+han+inv+wep+res) if (source==btnstrm) then if ((tonumber(str)>0) or (tonumber(str)<6)) then guiSetText(strskl, tonumber(str-1)) outputChatBox(str) end elseif (source==btnstrp) then if (tonumber(str)>0 or tonumber(str)<6) then guiSetText(strskl, tonumber(str+1)) end elseif (source==btndefm) then if (tonumber(def)>0 or tonumber(def)<6) then guiSetText(defskl, tonumber(def-1)) end elseif (source==btndefp) then if (tonumber(def)>0 or tonumber(def)<6) then guiSetText(defskl, tonumber(def+1)) end elseif (source==btnintm) then if (tonumber(int)>0 or tonumber(int)<6) then guiSetText(intskl, tonumber(int-1)) end elseif (source==btnintp) then if (tonumber(int)>0 or tonumber(int)<6) then guiSetText(intskl, tonumber(int+1)) end elseif (source==btnstam) then if (tonumber(sta)>0 or tonumber(sta)<6) then guiSetText(staskl, tonumber(sta-1)) end elseif (source==btnstap) then if (tonumber(sta)>0 or tonumber(sta)<6) then guiSetText(staskl, tonumber(sta+1)) end elseif (source==btnhanm) then if (tonumber(han)>0 or tonumber(han)<6) then guiSetText(hanskl, tonumber(han-1)) end elseif (source==btnhanp) then if (tonumber(han)>0 or tonumber(han)<6) then guiSetText(hanskl, tonumber(han+1)) end elseif (source==btninvm) then if (tonumber(inv)>0 or tonumber(inv)<6) then guiSetText(invskl, tonumber(inv-1)) end elseif (source==btninvp) then if (tonumber(inv)>0 or tonumber(inv)<6) then guiSetText(invskl, tonumber(inv+1)) end elseif (source==btnwepm) then if (tonumber(wep)>0 or tonumber(wep)<6) then guiSetText(wepskl, tonumber(wep-1)) end elseif (source==btnwepp) then if (tonumber(wep)>0 or tonumber(wep)<6) then guiSetText(wepskl, tonumber(wep+1)) end elseif (source==btnresm) then if (tonumber(res)>0 or tonumber(res)<6) then guiSetText(resskl, tonumber(res-1)) end elseif (source==btnresp) then if (tonumber(res)>0 or tonumber(res)<6) then guiSetText(resskl, tonumber(res+1)) end end
  19. Since I recently made this topic, Let bring up the same issue, as I have no idea why this isn't working. the table is the same, now my code local str, def, int, sta, han, inv, wep, res, slt, per = nil wdwCreateCharacter=guiCreateWindow(sx*0.4, sy*0.4, sx*0.2, sy*0.2, "Pick a name", false) for pIndex, classes in ipairs(class) do --Loop the classes outputChatBox(tostring(classes)) for index, classPackage in pairs(classes['police']) do if (source==btnGuard) then for i, skills in pairs(classPackage['guard']) do str, def, int, sta, han, inv, wep, res, per = unpack(skills) end elseif (source==btnSergeant) then for i, skills in pairs(classPackage['sergeant']) do str, def, int, sta, han, inv, wep, res, per = unpack(skills) end end end end for pIndex, classes in ipairs(class) do --Loop the classes for index, classPackage in pairs(classes['prisoner']) do if (source==btnFresh) then str, def, int, sta, han, inv, wep, res, per = unpack(classPackage['fresh']) elseif (source==btnHardened) then str, def, int, sta, han, inv, wep, res, per = unpack(classPackage['hardened']) end end end The debugscript This is the line we're talking about in the debug. for i, skills in pairs(classPackage['guard']) do Now I tried solving it with pairs & ipairs (before I spent another 2 hours on the same issue), but that's not the issue. What do I miss here? Note, It starts in the guard area, I havent edited the bottom prisoners for chunk
  20. Ahh I see now, I tested again with ipairs and I had no error, but no results either. I'm so used of using ipairs, I never used pairs before. Thank you
  21. I've checked it, and now I get good results....I still don't get it.
×
×
  • Create New...