• Fretta Gamemode Base: part 2
    508 replies, posted
[QUOTE=Entoros;15848789]Further, what do you have against gamemodes that can't be over in five minutes? As I said, many successful gamemodes are really fun, like [b]Stranded, RP[/b], and even Sandbox. You attack DarkRP a good deal, but it really is a good gamemode.[/QUOTE] No taste.
[QUOTE=Entoros;15848789]Besides this and the original Fretta thread, there's only but so much info, and I'm not going to dig through threads. Sorry. Anyway, it seems like Fretta is more of an addon then a gamemode base per say; it allows the server to change through gamemodes by voting and allows addons to utilize this, but you don't really build off of Fretta in the sense that it's the foundation of your gamemode.[/QUOTE] Fretta is a whole lot more than an addon. It is a game base, the same way people use DarkRP as the basis for their gamemodes, except that this actually works well and without issues. You can create a gamemode that would normally take a week or two to make look good in a few days. And yes, you build off fretta as the foundation of a gamemode. How about you learn a little more about Lua before you make stupid claims. [QUOTE]Or maybe I'm just splitting hairs. I've really only played it on the BlackOps server, but if you can make it where there's no auto-gamemode switch then I can agree with that.[/QUOTE] Because everyone enjoys playing different games every so often (unlike you apparently,) fretta has a voting system. Because you and two other people don't like to change what they're doing, or if you're testing something, you can turn it off. [QUOTE]Further, what do you have against gamemodes that can't be over in five minutes? As I said, many successful gamemodes are really fun, like Stranded, RP, and even Sandbox. You attack DarkRP a good deal, but it really is a good gamemode.[/QUOTE] Stranded is boring. "It's a survival gamemode" bullshit doesn't work. You're not fighting for your life. You're killing yourself because you're living. If you weren't managing the game like you're a freaking wimp it'd be fun. Role Play is restricted and boring. Not only can't fun stuff happen, but there's nowhere to go. You can't fight, so you have to stay more down to earth on your ideas. And forgetting to file your tax returns isn't an epic quest. Sandbox is good, but that's why there are other servers. And DarkRP is just LightRP with guns. You don't have to play fretta. You can miss out on some of the greatest games ever made.
I'm working on a gamemode right now which might be of the level of complexity Fretta works well with, if I make the menus clear enough. My question is how easy is it to add Fretta as a base to my gamemode after it is completed... I don't want to tie my gamemode to Fretta (I like keeping options open), but I really enjoy playing on the Fretta servers and would love to contribute to the game list. And in terms of style, is it okay that I've done the menus in a custom style that only partially feeds from Derma skin settings... are there any interface consistency rules for Fretta 'modes?
[QUOTE=Devenger;15853863] And in terms of style, is it okay that I've done the menus in a custom style that only partially feeds from Derma skin settings... are there any interface consistency rules for Fretta 'modes?[/QUOTE] Not really.
[QUOTE=Yobdren;15850564]Fretta is a whole lot more than an addon. It is a game base, the same way people use DarkRP as the basis for their gamemodes, except that this actually works well and without issues. You can create a gamemode that would normally take a week or two to make look good in a few days. And yes, you build off fretta as the foundation of a gamemode. How about you learn a little more about Lua before you make stupid claims.[/QUOTE] But how, is what I'm asking. I just don't understand how it makes gamemode development easier. Sorry, but just please explain. [QUOTE=Yobdren;15850564]Because everyone enjoys playing different games every so often (unlike you apparently,) fretta has a voting system. Because you and two other people don't like to change what they're doing, or if you're testing something, you can turn it off.[/quote] My whole point was not that I don't like switching gamemodes, it was being forced to switch gamemodes after a certain period of time; however apparently that's not the case so that's okay. [QUOTE=Yobdren;15850564]Stranded is boring. "It's a survival gamemode" bullshit doesn't work. You're not fighting for your life. You're killing yourself because you're living. If you weren't managing the game like you're a freaking wimp it'd be fun. Role Play is restricted and boring. Not only can't fun stuff happen, but there's nowhere to go. You can't fight, so you have to stay more down to earth on your ideas. And forgetting to file your tax returns isn't an epic quest. Sandbox is good, but that's why there are other servers. And DarkRP is just LightRP with guns. You don't have to play fretta. You can miss out on some of the greatest games ever made.[/QUOTE] I'm not gonna sit here and argue whose gamemode is better; I personally have had many fun times in "terrible' DarkRP or "bullshit" Stranded. I'd be more than happy to play Fretta if its gamemodes are fun.
Fretta makes gamemode development easier because alot of the common code that makes up gamemodes is already there for you - including map voting, round system, team system, gui etc etc. It won't suit all gamemodes, such as Stranded and the other ones you have suggested - that's intentional. It is designed to suit fast paced games such as death match, CS:S, and all the others on the list. It's designed for simple fun to play games. If you don't want to use, that's fine, nobody is forcing you to.
[QUOTE=Entoros;15854962]But how, is what I'm asking. I just don't understand how it makes gamemode development easier. Sorry, but just please explain.[/QUOTE] Fretta makes it easier because it implements common systems such as rounds and classes, so that the gamemode developer doesn't have to. If a gamemode developer wanted to have rounds in his gamemode, he would have to write his own system to handle rounds. With Fretta, you don't have to reinvent the wheel. The round hooks and functions are there for you to use as long as you're using Fretta as the gamemode base. The end result is a faster and less tedious development process. [editline]Edited:[/editline] ^ What he said :v:
Does this spawnmenu look OK to you guys? [img]http://img194.imageshack.us/img194/2606/61732434.png[/img]
Maybe show cost and health of the prop on that label thing at the bottom?
[QUOTE=thomasfn;15855531]Maybe show cost and health of the prop on that label thing at the bottom?[/QUOTE] It's not gonna cost anything, there is just a limit of 25 props per player (might lower this a bit). And I dunno how to get the health of an unspawned prop. (I use the volume of the prop for the health, but it would be a bit hacky to spawn a prop and get it's health for every spawnicon...)
[QUOTE=Dlaor-guy;15855903]It's not gonna cost anything, there is just a limit of 50 props per player (might lower this a bit). And I dunno how to get the health of an unspawned prop. (I use the volume of the prop for the health, but it would be a bit hacky to spawn a prop and get it's health for every spawnicon...)[/QUOTE] I see you're not using all the props that exist, maybe you could make a table with the data since there's a limited amount of props used in your spawn menu.
[QUOTE=FPtje;15856087]I see you're not using all the props that exist, maybe you could make a table with the data since there's a limited amount of props used in your spawn menu.[/QUOTE] I already have. [lua]PropList = {} //Allowed props go here PropList[1] = "models/props_junk/wood_crate001a.mdl" PropList[2] = "models/props_junk/wood_crate002a.mdl" PropList[3] = "models/props_c17/fence02b.mdl" PropList[4] = "models/props_c17/handrail04_medium.mdl" PropList[5] = "models/props_c17/lockers001a.mdl" PropList[6] = "models/props_c17/playgroundtick-tack-toe_post01.mdl" PropList[7] = "models/props_lab/blastdoor001a.mdl" PropList[8] = "models/props_lab/blastdoor001c.mdl" PropList[9] = "models/props_junk/trashdumpster01a.mdl" PropList[10] = "models/props_c17/concrete_barrier001a.mdl" PropList[11] = "models/props_wasteland/controlroom_storagecloset001b.mdl" PropList[12] = "models/props_wasteland/controlroom_filecabinet002a.mdl" PropList[13] = "models/props_wasteland/kitchen_counter001c.mdl" PropList[14] = "models/props_wasteland/kitchen_fridge001a.mdl" PropList[15] = "models/props_wasteland/laundry_dryer002.mdl" PropList[16] = "models/props_wasteland/prison_gate001b.mdl" PropList[17] = "models/props_wasteland/prison_gate001c.mdl" PropList[18] = "models/props_wasteland/prison_heavydoor001a.mdl" PropList[19] = "models/props_combine/combine_barricade_med01a.mdl" PropList[20] = "models/props_combine/combine_barricade_med01b.mdl" PropList[21] = "models/props_combine/combine_barricade_med02a.mdl" PropList[22] = "models/props_combine/combine_barricade_med02b.mdl" PropList[23] = "models/props_borealis/borealis_door001a.mdl" PropList[24] = "models/props_borealis/mooring_cleat01.mdl"[/lua]
What if you moved the prop name to the index and have it store its health, ie: [i]PropList["models/props_junk/wood_crate001a.mdl"] = 600[/i]
[QUOTE=Yobdren;15856171]What if you moved the prop name to the index and have it store its health, ie: [i]PropList["models/props_junk/wood_crate001a.mdl"] = 600[/i][/QUOTE] I think it would be better to do this then... [lua] PropList[1,"M"] = "models/props_junk/wood_crate001a.mdl" PropList[1,"H"] = 600[/lua]
[QUOTE=Dlaor-guy;15856210]I think it would be better to do this then... [lua] PropList[1,"M"] = "models/props_junk/wood_crate001a.mdl" PropList[1,"H"] = 600[/lua][/QUOTE] That way of making tables doesn't work? When I try this in the Lua demo: [lua]PropList = {} PropList[1] = {} PropList[1,"M"] = "models/props_junk/wood_crate001a.mdl" PropList[1,"H"] = 600[/lua] I get: input: 3: ']' expected near ',' [url]http://www.lua.org/cgi-bin/demo[/url] I think you mean [lua] PropList[1]["M"] = "models/props_junk/wood_crate001a.mdl" PropList[1]["H"] = 600[/lua]
Or, you could be storing a table within a table. [lua]PropList["models/props_junk/wood_crate001a.mdl"] = {cost = 10, health = 600, otherinfo = "whatever"}[/lua] I personally enjoy using this style because it cleans everything up and keeps data organized. You could always give it a new name and put the model name inside the subtable, it just changes the way you precache the model later on.
[QUOTE=FPtje;15856305] [lua] PropList[1]["M"] = "models/props_junk/wood_crate001a.mdl" PropList[1]["H"] = 600[/lua][/QUOTE] Yes, that's what I mean. Thank you :smile:
I'm still waiting for those paint sketch-ups, Rambo
Here's the list i used. Feel free to use it. [lua] local fortwars_proplist = {} fortwars_proplist[1] = "models/props_c17/door01_left.mdl" fortwars_proplist[2] = "models/props_c17/concrete_barrier001a.mdl" fortwars_proplist[3] = "models/props_combine/combine_window001.mdl" fortwars_proplist[4] = "models/props_c17/gravestone_coffinpiece002a.mdl" fortwars_proplist[5] = "models/props_c17/furnitureStove001a.mdl" fortwars_proplist[6] = "models/props_c17/Lockers001a.mdl" fortwars_proplist[7] = "models/props_c17/oildrum001.mdl" fortwars_proplist[8] = "models/props_doors/door03_slotted_left.mdl" fortwars_proplist[9] = "models/props_junk/TrashDumpster02b.mdl" fortwars_proplist[10] = "models/props_junk/wood_crate001a.mdl" fortwars_proplist[11] = "models/props_junk/wood_crate002a.mdl" fortwars_proplist[12] = "models/props_lab/blastdoor001a.mdl" fortwars_proplist[13] = "models/props_lab/blastdoor001b.mdl" fortwars_proplist[14] = "models/props_lab/blastdoor001c.mdl" fortwars_proplist[15] = "models/props_wasteland/wood_fence01a.mdl" fortwars_proplist[16] = "models/props_combine/combine_barricade_tall03a.mdl" fortwars_proplist[17] = "models/props_lab/filecabinet02.mdl" fortwars_proplist[18] = "models/props_junk/wood_pallet001a.mdl" fortwars_proplist[19] = "models/props_debris/metal_panel02a.mdl" fortwars_proplist[20] = "models/props_debris/metal_panel01a.mdl" fortwars_proplist[21] = "models/props_combine/combine_barricade_short02a.mdl" fortwars_proplist[22] = "models/props_interiors/VendingMachineSoda01a.mdl" fortwars_proplist[23] = "models/props_interiors/VendingMachineSoda01a_door.mdl" fortwars_proplist[24] = "models/props_trainstation/BenchOutdoor01a.mdl" fortwars_proplist[25] = "models/props_trainstation/trainstation_clock001.mdl" fortwars_proplist[26] = "models/props_combine/cell_01_supportsb.mdl" fortwars_proplist[27] = "models/props_combine/combine_barricade_med01a.mdl" fortwars_proplist[28] = "models/props_combine/combine_barricade_med01b.mdl" fortwars_proplist[29] = "models/props_combine/combine_barricade_med02a.mdl" fortwars_proplist[30] = "models/props_combine/combine_barricade_med02b.mdl" fortwars_proplist[31] = "models/props_combine/combine_barricade_med02c.mdl" fortwars_proplist[32] = "models/props_combine/combine_barricade_med03b.mdl" fortwars_proplist[33] = "models/props_combine/combine_barricade_med04b.mdl" fortwars_proplist[34] = "models/props_combine/combine_barricade_short01a.mdl" fortwars_proplist[35] = "models/props_combine/combine_barricade_short03a.mdl" fortwars_proplist[36] = "models/props_combine/combine_barricade_tall01a.mdl" fortwars_proplist[37] = "models/props_combine/combine_barricade_tall01b.mdl" fortwars_proplist[38] = "models/props_combine/combine_barricade_tall02b.mdl" fortwars_proplist[39] = "models/props_combine/combine_barricade_tall03b.mdl" fortwars_proplist[40] = "models/props_combine/combine_barricade_tall04a.mdl" fortwars_proplist[41] = "models/props_combine/combine_barricade_tall04b.mdl" fortwars_proplist[42] = "models/props_combine/combine_booth_med01a.mdl" fortwars_proplist[43] = "models/props_combine/combine_booth_short01a.mdl" [/lua]
or you could just do something like [lua]FUCK_FAGGOT_PISS = {} function addprop( model, health, name, spawnangle ) table.insert( FUCK_FAGGOT_PISS, { Model=model, Health=Health, Name=name, Angles=spawnangle } ) end [/lua] and then do [lua]AddProp( "models/faggot.mdl", 9000, "The Gay Model", Angle(0,0,180) ) AddProp( "models/poo.mdl", 100, "Poo", Angle(0,90,0) ) PrintTable( FUCK_FAGGOT_PISS )[/lua] etc.
[QUOTE=Yobdren;15856722]I'm still waiting for those paint sketch-ups, Rambo[/QUOTE] .
[QUOTE=Rambo_6;15858412]or you could just do something like [lua]FUCK_FAGGOT_PISS = {} function addprop( model, health, name, spawnangle ) table.insert( FUCK_FAGGOT_PISS, { Model=model, Health=Health, Name=name, Angles=spawnangle } ) end [/lua] and then do [lua]AddProp( "models/faggot.mdl", 9000, "The Gay Model", Angle(0,0,180) ) AddProp( "models/poo.mdl", 100, "Poo", Angle(0,90,0) ) PrintTable( FUCK_FAGGOT_PISS )[/lua] etc.[/QUOTE] Nah, I'm too lazy to implement all that advanced table stuff, I'd rather have my own 92 line function, simple and straight to the point :biggrin: Here's the new spawn menu. [img]http://img6.imageshack.us/img6/891/86573297.png[/img] However, Fretta is removing all my props upon moving to the fight phase. How do I stop it doing this?
Here's my Fretta server: [url=http://www.game-monitor.com/garrysmod2_GameServer/65.99.214.16:27015/MM_Fretta_Mini_Game_Fun.html][img]http://module.game-monitor.com/65.99.214.16:27015/image/default/default.png[/img][/url]
[QUOTE=Dlaor-guy;15859108]Nah, I'm too lazy to implement all that advanced table stuff, I'd rather have my own 92 line function, simple and straight to the point :biggrin: Here's the new spawn menu. [img]http://img6.imageshack.us/img6/891/86573297.png[/img] However, Fretta is removing all my props upon moving to the fight phase. How do I stop it doing this?[/QUOTE] Are you running map clean up?
[QUOTE=TehBigA;15860324]Are you running map clean up?[/QUOTE] Eh, no... but Fretta is doing it and I want it not to do it!
Anyone?
[QUOTE=Dlaor-guy;15860366]Eh, no... but Fretta is doing it and I want it not to do it![/QUOTE] Do the build period as the "freeze" time for the round, but make it unfreeze. Then you set the freezetime to how long you want the build period, then the round time as the fight period time.
[QUOTE=SteveUK;15862650]Do the build period as the "freeze" time for the round, but make it unfreeze. Then you set the freezetime to how long you want the build period, then the round time as the fight period time.[/QUOTE] -snip, found it-
I think I'm going to redo the rounds so you can have round stages, an example of such a sequence of stages would be freeze time / build time / fight time / post-win time (when you can walk around after getting a result)
[QUOTE=SteveUK;15863942]I think I'm going to redo the rounds so you can have round stages, an example of such a sequence of stages would be freeze time / build time / fight time / post-win time (when you can walk around after getting a result)[/QUOTE] [lua]GM.StageTime = 30 // This is the amount of time by default for each phase GM.RoundStages = { "Build", "Fight" }[/lua]
Sorry, you need to Log In to post a reply to this thread.