• Community Roleplay
    83 replies, posted
This will be a gamemode, run by us, the community of Facepunch. Everything is public, help support with ideas on how you want roleplay to be. Everything gets added in a reasonable way while everyone gets a chance to play roleplay the way they want. [U][B]Test Server[/B][/U] IP: [I]74.91.116.82[/I] Port: [I]27015[/I] [I]74.91.116.82:27015[/I] [U][B]Website[/B][/U][I] - Blog[/I] [URL]http://www.communityroleplay.org/[/URL] [U][B]Download[/B][/U][I] - Git Hub[/I] [URL]https://github.com/f1ndme/CommunityRoleplay[/URL] [U][B]WIP[/B][/U] [quote] [I]Prop Protection System - This will help with other mods and keep minges at bay.[/I][I] Bank Entity - This bank will allow players to deposit, withdraw, own, or make money from it.[/I] [/quote] [U][B]Change Log[/B][/U] [quote] [I]3/13 - Bank Entity %90 complete. ETA would be two days max. 3/9 - prototype bank entity created. 3/9 - New logo and backgrounds from [URL="http://facepunch.com/member.php?u=458696"]WaywardxBandit[/URL] 3/2 - Reverted back to original scoreboard. 3/2 - Finished the Third Person Mode modification. 3/2 - Improved net messaging system. 3/1 - Finished the Coins modification. 3/1 - Added PANEL:Center() for scoreboard. 3/1 - Finished the Scoreboard modificaton.[/I] [/quote] [U][B]Pictures[/B][/U] [IMG]https://dl.dropbox.com/u/30778198/23r23rwf.png[/IMG] [IMG]https://dl.dropbox.com/u/30778198/gm_construct0007.jpg[/IMG] [IMG]https://dl.dropbox.com/u/30778198/13r23r23r.png[/IMG]
Here are some suggestions for this gamemode; - Add a toggle feature for third person so people have a choice of playing either way. - Add a banking mod where people must store their money in the bank or else they'll lose it upon death. - Create a working casino so those of us with a gambling addiction can waste all of our money. - Make sure that money printers a non existent in this gamemode so kids don't just sit their and money farm all day. - Make it so this is not just another generic sandbox rp gamemode. - The scoreboard should show their Steam Name - RP Name - Ping - Maybe a lockpick that doesn't just auto open a door. Make something that at least requires skill to open the door. [edit] More ideas >.< - Maybe some sort of organization system where people can create their own jobs. This way they're not limited to a set amount of created jobs. It also gives players a way to start their own companies in-game, like a restaurant or a bank. - A special prop spawning system that will allow people to decorate their place without the use of a physgun. You can think of it like the sims or coke music where you place down a prop and rotate it into place.
Heres a suggestion, make an inventory with unique item support. And don't use hook.add for official things like a scoreboard. Just use the function in the GM table. Ps i hope you don't suck
Anyone hosting a server for this? Looks interesting to try.
I don't understand why people use the :SetPos( ScrW() / 2 - something, ScrH() / 2 - something) Why not just use :Center() ?
What about github if you call it a community roleplay?
[QUOTE] [QUOTE=koz;39759779] [B]- Add a toggle feature for third person so people have a choice of playing either way. - Add a banking mod where people must store their money in the bank or else they'll lose it upon death. - Create a working casino so those of us with a gambling addiction can waste all of our money.[/B] - Make sure that money printers a non existent in this gamemode so kids don't just sit their and money farm all day. - Make it so this is not just another generic sandbox rp gamemode. - The scoreboard should show their Steam Name - RP Name - Ping [B]- Maybe a lockpick that doesn't just auto open a door. Make something that at least requires skill to open the door.[/B] [I]- Maybe some sort of organization system where people can create their own jobs. This way they're not limited to a set amount of created jobs. It also gives players a way to start their own companies in-game, like a restaurant or a bank. - A special prop spawning system that will allow people to decorate their place without the use of a physgun. You can think of it like the sims or coke music where you place down a prop and rotate it into place.[/I][/QUOTE] The first three are a good start to what is nothing right now, any elaboration on the ideas from anyone is welcome. I will make the money system in a little while then start with your first three ideas. If money printers exist they will be hard to achieve and not have a huge benefit. I've never really liked the idea of RP names, and what would be the point of showing everyone two names per play? That just sounds like it would get messy. I will however add the option to set a rp name instead of using your steam name. Does that sound good? What would a generic sandbox RP be? I like the lockpick idea, but there would have to be lockable doors in the game as well and keys so that one might take a little time before it comes in to play but it will definitely stay in the idea bank. I've never been a fan of pre set jobs either, so I will try to stay away from that. And for the prop spawning system, maybe a little store you can go to and buy items? Have them be dropped off in the back of the store when bought then you are required to bring them to your house, side of the map, ect. I think the idea of a prop store instead of a prop menu is pretty neat. [QUOTE=LauScript;39759795]Heres a suggestion, make an inventory with unique item support. And don't use hook.add for official things like a scoreboard. Just use the function in the GM table. Ps i hope you don't suck[/QUOTE] I was considering an inventory, if I do I might make it a drag an drop type deal with limited slots. But for the time being an inventory is a major modification and I'd like to get a little gameplay going a little first. But inventories will most likely exist so anyone wanting to get into detail with the style or how it should be go for it. I hope I don't suck too. [QUOTE=Persious;39761233]I don't understand why people use the :SetPos( ScrW() / 2 - something, ScrH() / 2 - something) Why not just use :Center() ?[/QUOTE] Old practices I guess? I was aware of Center but I always assumed it would be slower than just doing the math. I tried benchmarking it and you're right it's better, so center has replaced my previously ugly math. It will show up in the next update today. [QUOTE=Nalo;9761244]What about github if you call it a community roleplay?[/QUOTE] What's github and how will it be useful? I feel like the blog and thread is sufficient enough for now. [/QUOTE] [B]I have a few things to do this morning then I will be back in a couple hours the latest to start on this first update for Community Roleplay[/B] I plan on adding these in order when I do get back: -Money system -Third Person Options Toggle -Bank Accounts -Casinos I feel like I can finish these four things today and I will go into a little detail on what I plan to do so maybe someone wants to through in some more ideas or doesn't like the way I'm about to do something. [B]Money System[/B] - This will include trading money with players, depositing/withdrawing into a bank account, and getting/spending on various other aspects of the game. I will call them [I]Coins[/I] for now and they will be represented in the top left corner of your screen? [B]Third Person Toggle[/B] - I will create an options page, possibly starting with F1 then possibly merging with future menus or something along those lines. It will most likely just be a simple check mark toggle. [B]Bank Accounts[/B] I will create a bank entity, maybe something basic like just a wooden stand where you can keep your coins safe. It will start off as one main bank in the map, but I think this could turn into a really cool banker job modification. Such as putting down money to rent/purchase a bank, and allowing you to set interest and other banking aspects. This way the game can start with no real bank, and require someone to save up and purchase one. While purchasing the first bank would be relatively cheap, future "bankers" would have to pay more based on the success of the any previous bank, their players status and how many other banks already exist. It would be cool to form this in a way where there would be few main bankers 1-3 that actually get money for the worth of being a banker. This way anyone else can own a personal bank, but they won't act as the main "banker" of the server. Bank accounts can expand to some cool stuff I believe. [B]Casinos[/B] Just like the bank I will create one main casino stand on the map for players to do something. This will most likely also expand to a bunch of different ways to gamble, cards, dice, made up betting games, ect. [B][U]Also when I get back to start working on this update I will be go rent out a server so I can publicly host this gamemode with most recent updates for people to try and get into a little.[/U][/B]
The coin system is complete. I had a long day so I didn't get on when expected. I'm going to be working on the other three things now. [IMG]https://dl.dropbox.com/u/30778198/gm_flatgrass0005.jpg[/IMG] [B]sv_coins.lua[/B][lua] util.AddNetworkString( "Net_Coins" ) --1 = Set coins function PLAYER:SetCoins( Int ) self.Coins = Int net.Start( "Net_Coins" ) net.WriteFloat( 1 ) net.WriteFloat( Int ) net.Send( self ) end function PLAYER:AddCoins( Int ) self.Coins = self.Coins + Int net.Start( "Net_Coins" ) net.WriteFloat( 1 ) net.WriteFloat( self.Coins ) net.Send( self ) end function PLAYER:RemoveCoins( Int ) self.Coins = self.Coins - Int net.Start( "Net_Coins" ) net.WriteFloat( 1 ) net.WriteFloat( self.Coins ) net.Send( self ) end [/lua][B] cl_coins.lua[/B][lua] surface.CreateFont( "Coins_Font", { font = "Arial", size = 24, weight = 500, blursize = 0, scanlines = 0, antialias = true }) net.Receive( "Net_Coins", function( len ) local Connection = tonumber(net.ReadFloat()) local Coins = tonumber(net.ReadFloat()) if Connection == 1 then LocalPlayer().Coins = Coins end end ) hook.Add( "HUDPaint", "Coins_HUD", function() surface.SetFont( "Coins_Font" ) local CoinsLogo = "Coins "..LocalPlayer():GetCoins() local w, h = surface.GetTextSize( CoinsLogo ) draw.RoundedBox( 8, 5, 10, 8 + w, 4 + h, color_black ) draw.SimpleText( CoinsLogo, "Coins_Font", 9, 12 + h, color_white, TEXT_ALIGN_LEFT, TEXT_ALIGN_TOP ) end ) [/lua] [B]sh_coins.lua[/B][lua] function PLAYER:GetCoins() return ( tonumber(self.Coins) || 0 ) end [/lua]
Well here are some more ideas for the server: - Some sort of organized inventory with multiple tabs for food, weapons, and the props you buy from the store, if made. - A rent system with hotels and apartments where people have to pay a certain amount of money per hour to keep their props in the place and doors owned. If they fail to pay the rent their props will be sent back into their inventory and all doors will become unowned. - A working hunger mod that effects your character overall. If you're full on hunger you'll be able to walk and run normally, but over time you'll gradually become slow and start to hear growling noises. -- With the hunger mod there should be some sort of Chef npc that will sell food to players. The food will automatically be deposited into their inventory or will spawn on a table in front of them. - Maybe some sort of skill system where people can raise their skill level in cooking, harvest (for drugs), and more. Out of reach ideas: - A car dealer where people can buy cars and customize every aspect of the car. Customization can range from the headlights, lights under the car, radio system, etc. - A type of physical damage system. -- If someone falls off a roof they will break the bones in their body and die. -- If someone gets hit by a car they'll become bloody and seek medical attention. -- A damage meter stating how damaged your body is and if it reaches a certain critical peak it will lower your health over time till you die. That's all I have for now.
Minigames for things to do like cooking and lockpicking would be fun, maybe even fishing?
Find me, add me on steam. I'd like to give you tips to improve code but I don't want to spam the thread with it.
[QUOTE=Blasphemy;39769467]Find me, add me on steam. I'd like to give you tips to improve code but I don't want to spam the thread with it.[/QUOTE] But isn't this thread for such things?
To be honest, this gamemode just looks hideous. The scoreboard doesn't even look like a scoreboard. Instead, make a DPanelList and then loop through all of the players adding a DPanel to the list for each player, and just make the displayable shit a child of the DPanel. And you can use Paint for the DPanel to display the player's name and ping and everything. [editline]2nd March 2013[/editline] Also, you don't need to do util.AddNetworkString() in the Initialize hook, you can just put it in the code somewhere. (As long as it's serverside)
I appreciate the heads up that I wasn't using my new messages efficiently Blasphemy. The scoreboard is a placeholder and was made up in literally five minutes, you can calm down sir. Also I took out the Initialize hooks and just pooled the net messages in serverside like you said. Keep the ideas coming guys they are great, although I am not going to assess these newly mentioned ideas until I finish with what I have now. Currently the coins modification and the third person modification is done. [B][U]There is also a test server up if anyone wants to see the progress![/U][/B] IP: 74.91.116.82 Port: 27015 74.91.116.82:27015
[QUOTE=find me;39770304] The scoreboard is a placeholder and was made up in literally five minutes, you can calm down sir. [/QUOTE] My opinion, is that you shouldn't do something until you're ready to work on what you ideally want it to be. There's no point to have that scoreboard; the default looks better and functions better. The only reason you should have a placeholder (again, in my opinion) is if there was no previous functionality for it. For example, the "Coins" part of the HUD. You're still working on the gamemode, and there wasn't anything already displaying what the coins were, so it doesn't matter if it doesn't look good. The disapproval for it is because it seems you're going out of your way to use a worse scoreboard. (Disclaimer: The scoreboard itself is not my reason for going on like this, it's the logic behind it)
[QUOTE=.\\Shadow};39770481]My opinion, is that you shouldn't do something until you're ready to work on what you ideally want it to be. There's no point to have that scoreboard; the default looks better and functions better. The only reason you should have a placeholder (again, in my opinion) is if there was no previous functionality for it. For example, the "Coins" part of the HUD. You're still working on the gamemode, and there wasn't anything already displaying what the coins were, so it doesn't matter if it doesn't look good. The disapproval for it is because it seems you're going out of your way to use a worse scoreboard. (Disclaimer: The scoreboard itself is not my reason for going on like this, it's the logic behind it)[/QUOTE] Totally agree, original scoreboard has been replaced. I was intending to use the scoreboard for some other things when I first started, and kind of left it in there as an example mod.
Github is a place where you can host your code, allowing you to synchronize the files like an SVN (It's free for open source projects) [url]https://github.com/[/url]
Does your Scoreboard work ?? I guess not. There are 30 bots + Me and I can see only the 30 bot. [IMG]http://imageshack.us/a/img17/8373/92712423.png[/IMG]
Can't wait to see this DarkRP related gamemode!
Gamemode has potential. Keep working at it OP.
Please tell me this'll be optimized unlike a large amount of RP gamemodes which have potential, but the lack of optimization just ruins them?
When you make your fonts, you don't need to set it to false. [editline]2nd March 2013[/editline] By it, I mean the variables within the structure.
[QUOTE] [QUOTE=Lebofly;39770555]Github is a place where you can host your code, allowing you to synchronize the files like an SVN (It's free for open source projects) [URL]https://github.com/[/URL][/QUOTE] Looks too jumbled for me, I don't like learning new things either haha. [QUOTE=denis11891;39775660]Does your Scoreboard work ?? I guess not. There are 30 bots + Me and I can see only the 30 bot. IMG[/QUOTE] That was because I accidentally had the dpanellist:Clear function 1 line down from where it should have been. I reverted back to the default scoreboard anyways. [QUOTE=NightmareX91;39778782]Please tell me this'll be optimized unlike a large amount of RP gamemodes which have potential, but the lack of optimization just ruins them?[/QUOTE] I will do my best, it helps when people critique my stuff as well which some already have. [QUOTE=Chessnut;39779181]When you make your fonts, you don't need to set it to false. [editline]2nd March 2013[/editline] By it, I mean the variables within the structure.[/QUOTE] Yea I know that, I just forgot to take them out when I was messing around with different font styles. Someone else pointed this out to me as well, they are taken out on this current update. [/QUOTE] *Added mysql support, kind of integrated it with the coins and it looks sloppy but I will re arrange these things later. *Made it so players can give coins now, !give [player name] [amount of coins] in chat (!give or /give works) *The game saves every five minutes. Mysql is required to run a server right now, I might switch it over later on so you have the option to go without it and game saves. Most Recent Update: [URL]http://www.garrysmod.org/downloads/?a=view&id=133680[/URL] This update is also applied to the server if you would like to see.
Why save every 5 minutes? Just save when the player disconnects, if it's MySQL.
[QUOTE=James0roll;39781216]Why save every 5 minutes? Just save when the player disconnects, if it's MySQL.[/QUOTE] What if the server crashes?
[QUOTE=mib999;39781285]What if the server crashes?[/QUOTE] Well correct me if I am wrong, but wouldn't that count as a player disconnecting? I'm not too sure, but if not, just loop through all of the players in the ShutDown hook and save them like that. Then again, maybe I'm wrong, maybe you do need to save here and there; not 100% sure though...
[QUOTE=James0roll;39781370]Well correct me if I am wrong, but wouldn't that count as a player disconnecting? I'm not too sure, but if not, just loop through all of the players in the ShutDown hook and save them like that. Then again, maybe I'm wrong, maybe you do need to save here and there; not 100% sure though...[/QUOTE] I think it should be enough to just save in the PlayerDisconnected hook. However if that's not enough you I know that it's enough to just loop through the players in the ShutDown hook, as it's called when the server (or was it the gamemode? can't remember) shuts down.
Save the information whenever its changed, such as money transactions. There is no other reliable way. When the server crashes, nothing will get called since it have crashed, its frozen, it doesn't do anything anymore. It's impossible to predict a crash properly in source.
[QUOTE=Donkie;39783486]Save the information whenever its changed, such as money transactions. There is no other reliable way. When the server crashes, nothing will get called since it have crashed, its frozen, it doesn't do anything anymore. It's impossible to predict a crash properly in source.[/QUOTE] That's what I normally do, but the save every five minutes gives me kind of a cozy feeling. I was planning on making a hud element for it that pops up so it kind of lets players know their stuff is being saved. A save every five minutes really doesn't hurt anything from my understanding, but I could bump it up to ten minutes just to keep the load on things down. [editline]3rd March 2013[/editline] Right now I'm cleaning things up, and setting the game up so mods can be added easily with resource functions they can use. [editline]3rd March 2013[/editline] I will also look into getting github tonight.
I went on the test server for a couple of minutes. The features that were actually displayed are nice. I take it you'll be improving the coin HUD when everything is finished?
Sorry, you need to Log In to post a reply to this thread.