Darkrp for Gmod 13.

SVN LINK HERE: http://darkrp.googlecode.com/svn/branches/beta/

Credits the the original creators

Hmmm, I have Spring Break, so I can setup a GMod 13 DarkRP server for this.

I was sort of wishing that people would let Dark RP die with the Old Gmod as we move into Gmod 13. Obviously this isn’t the case.

What’s the problem with DarkRP ? If you dont like it, just don’t play it, but don’t annoy everyone who’s using it, damn it.

How about some original gamemodes rather than this crap? It’s not like we don’t have enough DarkRP servers on Garry’s Mod.

One word :** NO!** Stop protecting it. DarkRP is quite old and there’s no RP in it. It has “prop-lympics” - prop - surf games. The ceator himself says that he’s a minge. DarkRP has to die and I think Gromitooth is right.

Who care’s if it’s got to die or not? The thing is, this fellow took his time and effort to fix something up for GMod13, you should credit him for that at least.

I wouldn’t mind an improved sequel though. I don’t particularly want the same old DarkRP, I’d rather have a new version seriously developed to combat its current flaws.

If we don’t contain the children within the darkrp servers, they’ll be set free on the other servers, no thanks.

I thought falco has a Gmod 13 SVN for DarkRP already?

He does: http://darkrp.googlecode.com/svn/branches/beta/

That really looks like a fucking mess to be honest. I kinda wish DarkRP was at least rewritten for GMod 13 so I don’t have to feel entirely bad about it still being there.

I kinda wish that there were more creative gamemode servers rather than just DarkRP LightRP LiteRP PERP and the rest of all that :derp:

:suicide:

Listen here, Hagrid, I don’t give a Fuck what you think about DarkRP if you don’t give proper feedback. Neither you nor any of the other naysayers have any authority to decide which gamemode stays and which dies. Stop demanding the death of a gamemode, no one will oblige. DarkRP is popular for a reason, and the reason might very well be the loose rp.

I would recode DarkRP, but I honestly don’t have the time.

[editline]12th April 2012[/editline]

I would be able to fix that mess if I knew what you meant specifically. Saying DarkRP code is shitty has genuinely become a meme on the gmod subforum. Barely anyone is ever specific.

Ok but I don’t understand why don’t you take criticism. It’s kinda your fault that DarkRP has this reputation. Why don’t you make things like hunger for example being on no matter what? Without hunger the chef’s job is compltetely useless. Why don’t you try to to do somehthing like that instead of calling me Hagrid, Snape? Also what do you mean when you say “loose rp”?

Don’t get me wrong, your gamemode has great ideas in it but you should just focus more on encoraging players to RP instead of jumping around and ear raping you with their scream “IIIIII WANTTTZZZ MAAANAAAYYYYY!Y!@@!”

He means that it isn’t serious RP there are relaxed rules etc.

But, I have to admit it IS fun to go onto a DarkRP server and troll the fuck out of the kids.

It is fun to troll but not to try to RP on such server. I have treid a few times and, eventually, I gave up.

No. DarkRP is filled with far too many little kids. It’s a shame. If it didn’t have all the kids wanting to be “gn deelrz” or “civl prtekshun” then it’d be a great, fun gamemode.

Yeah sorry you’re right, I shouldn’t criticize anything without being specific. So here ya go:

First what I’m missing is a nice structure: the files are scattered all around, some have capitalized names and some do not, which annoys me as a frequent linux user. I would also personally subdivide all the client, server and shared code in their individual folders, and only have a few files that handle loading and hooks in the gamemode/ root, this gives a much better overview and prevents you from having to use cl_ sh_ sv_ etc everywhere. (Example from my own project)

I also see that DarkRP uses a ton of globals, which means that there’s a lot of potential for conflicts. When you write a gamemode you should (in my opinion) always restrict as much functionality as you can to the GAMEMODE/GM tables. For example instead of the global table ‘ValueCmds = {}’, you should restrict this table to the gamemode by naming it ‘GM.ValueCmds = {}’ instead, and then call it as GAMEMODE.ValueCmds or GM.ValueCmds respectively based on whether you call it during execution or during initialization. I know that a lot of coders still like to use globals for every random thing instead of making one global table to contain it all, but in my opinion that’s just bad practice which is going to cause conflicts one way or another.
Talking about conflicts, many more things than just variables or functions need to be named better. Calling a panel ‘HelpVGUI’ or a clientside convar ‘weaponhud’ is really prone to conflict.

Now at last but not least, I don’t like the idea of using hook.Add in places where you don’t have to. This is because every hook means it adds an extra loop in the hooks library, which lowers performance of the entire hook system. When you code gamemodes you should use the hooks that are already existent in gamemodes, like GM:Initialize(), GM:PlayerDeath(), et cetera, and call all your other gamemode functionality from those hooks.
The pro about naming all your functionality under the gamemode table is that calling those functions from gamemode hooks also becomes easy. E.g.
[lua]
function GM:CalculateHunger()
//do hunger stuff
end

function GM:CheckPayday()
//money money money
end

function GM:Think() //called every frame
self:CalculateHunger()
self:CheckPayday()
end
[/lua]
And all these things are done by only one hook call, and adding more functions to these hooks is easy. It’s also very easy to benchmark the performance of these functions since it’s all called from a single place, so it’s matter of commenting it out to disable a whole feature.

That’s all I noticed so far during my 2 minutes of browsing though the code.

Simski’s Megaposts on what sucks and what is bad and needs to be improved on in DarkRP are on page one of this thread. Go reread them if you want to be more specific.