The gui is nice,in-game editing is also nice,but I don't think I'll use it.
even though it has some bugs and whatnot, I prefer moocow :)
The gui is nice,in-game editing is also nice,but I don't think I'll use it.
even though it has some bugs and whatnot, I prefer moocow :)
I like that you called it Management and now like admin mod
I tried the SVN beta of moocow and I really did not like it at all. It is boring and old. I see no "newness". This could be THE first admin mod to do EVERYTHING, and look awesome while it's doing it.
EVERYTHING minus chat and console commands,besides I like the fact you can edit what the message is,same with the teams,even though it isn't in game it could be,because of moocow_load you can edit the script outside and load the changes in game without having to restart.
I don't like having the option of only 1 method,I could do without the console commands,but I NEED chat commands.
EDIT:when did you try it?
There are console commands, just that you don't need to use them. They are styled like:
'gmanage_sv <command> <playerid>'
I can add chat commands really easily too, just to keep people happy. I personally hate using chat commands, but I know that alot of people love them so I'll add them.
The point of chat commands are to do things quickly,instead of taking 14 seconds on a gui you can spend 3 seconds typing a command.especially for those "fun" commands such as rocket,it would be annoying going to have to go to the menu over and over and over again -.-
I know what the point of them are, I just personally hate them. I am planning on adding a Quick Menu too, which would, when binded to a key, be quicker than typing a chat command to do something to a player.
You should add chat commands as well though, because I think its just piss annoying to have to go through a plethora of menus just to ban a person. And when they are spamming or whatever, or creating mass amounts of FPS lag, navigating those menus are even harder.
I already said, I am adding chat commands. Read the thread.
Oh sorry, I was only reading your post. It sounded like you were implying what you were just doing menus because its quicker.
You can't hate something amazing,it goes against the rules I made up D:
Unless that something happens to be a huge super-duper(-pooper-scooper) laser thing that is aimed at your head, and is about to fire.
I do believe you would be both amazed and hateful of it...
Not saying that's how that is with GManage, though :P
Looks promising, thomas. I do hope it turns out nicely! From the looks of your descriptions and screenshots, I'm sure it will :D
Are you using GLoN?
If you had spent as much time on the admin mod as you did with the GUI it would of been done by now :P
and my special laser is for my eyes only
Yes, I'm using glon to save/load data. I'm also using Datastream to send stuff from server to client, and at one instance, client to server (for setting applying limit changes).
* The 'plugs' can be used clientside, meaning you can code your own extensions to GManage that you can use without the server needing the plugs! (As long as there is no script enforce)
Don't you think that's overdoing it a bit...I mean...A clientside command that you can use and edit without the serving having it?Imagine how many servers would be under attack by that feature :S
The only thing clientside plugs can do is manipulate the menu, and stuff like the HUD. You can't add any serverside stuff using it. The only thing malicious you could do with it is code stuff like aimbots, wallhacks etc. But those only work if script enforce is disabled.
How do the plugs look like? And are they mountable? So that we can enable/disable them.
Plugs = Plugins
they look however you design them to look -.-"
I know what he means by plugs. What I'm asking is how the plugins work(or look like in this case). They can work by just including files or, in a more advanced way, work like entities, sweps or tools in gmod.
Code:local PLUG = {}; PLUG.Name = "Plug name"; PLUG.Author = "Author"; function PLUG:PlayerSpawn(Pl) end gmanage.RegisterPlug(PLUG);Or something different?Code:local function PlayerSpawn(Pl) end gmanage.RegisterPlugHook("PlugName","PlayerSpawn",PlayerSpawn);
I haven't added the ability to mount/unmount plugs as of yet, but because of the structure, it is really easy to do. Here is the prop protection plug:
PLUG.Platform = true PLUG.AddCSLuaFile = true PLUG.ClassName = "sh_pprotect" PLUG.PrintName = "GManage Prop Protection" function PLUG:Init() end function PLUG:AddHooks() plugs.Hook( SERVER, "PlayerSpawnedProp" ) plugs.Hook( SERVER, "PlayerSpawnedNPC" ) plugs.Hook( SERVER, "PlayerSpawnedSENT" ) plugs.Hook( SERVER, "PlayerSpawnedVehicle" ) plugs.Hook( SERVER, "PlayerSpawnedEffect" ) plugs.Hook( SERVER, "PlayerSpawnedRagdoll" ) plugs.Hook( SERVER, "CanPlayerUnfreeze" ) plugs.Hook( SERVER, "CanTool" ) plugs.Hook( true, "PhysgunPickup" ) plugs.Hook( CLIENT, "HUDPaint" ) end function PLUG:PlayerSpawnedProp( ply, mdl, ent ) ent:G_SetOwner( ply ) end function PLUG:PlayerSpawnedRagdoll( ply, mdl, ent ) ent:G_SetOwner( ply ) end function PLUG:PlayerSpawnedEffect( ply, mdl, ent ) ent:G_SetOwner( ply ) end function PLUG:PlayerSpawnedNPC( ply, ent ) ent:G_SetOwner( ply ) end function PLUG:PlayerSpawnedSENT( ply, ent ) ent:G_SetOwner( ply ) end function PLUG:PlayerSpawnedVehicle( ply, ent ) ent:G_SetOwner( ply ) end function PLUG:CanPlayerUnfreeze( ply, ent, physobj ) return self:CanAffectObject( ply, ent, "physgun" ) end function PLUG:CanTool( ply, tr, mode ) local ent = tr.Entity if (ent && ent:IsValid()) then return self:CanAffectObject( ply, ent, "toolgun" ) end end function PLUG:PhysgunPickup( ply, ent ) return self:CanAffectObject( ply, ent, "physgun" ) end function PLUG:CanAffectObject( ply, ent, priv ) if (ent:GetClass() == "player") then if (CLIENT) then return false end if (SERVER) then return ply:HasPriv( priv .. "_players" ) end end local owner = ent:G_GetOwner() if (owner && owner:IsValid()) then return (owner == ply) || (ply:HasPriv( priv .. "_all" )) end return false end local red = Color( 200, 0, 0 ) function PLUG:HUDPaint() local tr = LocalPlayer():GetEyeTrace() if (tr.Entity && tr.Entity:IsValid()) then local owner = tr.Entity:G_GetOwner() if (owner && owner:IsValid()) then surface.SetFont( "ScoreboardText" ) local t = "Owned by: " .. owner:Nick() local tw, th = surface.GetTextSize( t ) draw.SimpleText( t, "ScoreboardText", ScrW()-tw, ScrH()-th, red, TEXT_ALIGN_LEFT, TEXT_ALIGN_TOP ) end end end function PLUG:EntityExtend( meta ) if (SERVER) then function meta:G_SetOwner( ply ) self._OWNER = ply self:SetNWEntity( "G_Owner", ply ) end end function meta:G_GetOwner() if (SERVER) then return self._OWNER end if (CLIENT) then return self:GetNWEntity( "G_Owner" ) end end end
(It's shared)
plugs.Hook hooks the gamemode hook into the entire plug system. If the hook already exists, it will skip it. It means that to disable a plug, all I need to do is remove it's instance from the plug instance list and it will unhook itself. (Well, technically, it will just stop calling all functions on the targeted plugs.)
Oooh that looks really easy :O
Yep, that's the idea. It means adding chat commands will be INCREDIBLY easy too, I would say under 80 lines for basic player action.
I bet even I could make a basic Plug(I have little to none Lua knowledge FYI)
EDIT:could we have a current and future command list?
Uhh, well, not really. The con commands are designed for backend use, ie, for the gui to run rather than the user. And I can't be bothered to fish out all the concommand names from the code.
For chat commands, you will see all the standard ones (!kick, !ban, !blind etc) and maybe group related ones, but maybe not - I prefer people to use the gui to setup and do stuff with groups.
Honestly the only group chat we need is to set someones group,anything else is easier done in the GUI
Mmm why aren't respected allowed to use the igniter tool while clients can?(I'm refering to you're picture)
Do you have a server which you test GManage on?
Well instead of naming all of them,name the ones that aren't in other admin mods(if there are any commands that aren't in any admin mods)
Chat commands, or console commands?
And yes, GManage is installed on my build server (details below).
And the igniter tool thing, I wasn't actually setting up a proper server - I was in singleplayer, testing the system.
http://www.fortfn.co.uk/forum/forumdisplay.php?fid=11 << Info for my server
does it really matter?a command is a command ,whether its run in chat,a gui or in the console,as long as it effects the/a player
EDIT: I just noticed how many mods you have on you're server, so I don't think i'll be joining it :P
Hehe, there aren't that many mods installed. If I had enough money, I would get myself a dev server which I use just for testing my own stuff.
And in terms of commands, console commands tend to be more backend. For example, here is a command that kicks the target player:
Console: gmanage_sv ply_kick 16 Noob
(Where 16 is the player's GID)
Chat: !kick persontokick Noob
Big difference.
chat or gui then
and yes there are alot of mods,3/4 sweps,phx3 + wire(good,you should have that :P) pc mod(It's you'res so I understand why its there,but I personally find it useless) stargate mod(its big,its annoying,its useless) the stools are fine(but there should be more considering how small they are,glad to see smart weld and stacker,but weight should also be there)and to top it off those sweps are admin only
I deleted stargate some time ago, although maybe I missed something if people still have to download stuff. And all the admin sweps put together add up to about 5 lua files and a few models/materials.
oh,well without the stargate mod I probably will join,just need to download PC mod
You won't be able to see/do anything unless I am there to promote you to a group which has access to the menu.
I don't really mind/care, there seems to be 0 people on the server and I have to download 374 or something files..I'm using PC mod 2.0.4 latest phx3 and wire,I got the stools,I suppose the admin mod takes up MAYBE 100 files,probably less,so whats up with the other 200 or so files?
EDIT:it seemed to go quickly,maybe I have my multiplayer settings for don't download any custom files,if it is on I'll download everything
EDIT:yeah I did have it on,*sigh*
EDIT:its downloading PC mod as if I don't even have it in my addon folder -.-?
EDIT:done,I'll probably come back when there's more then 1 person though
Since the updates, the server likes to force everyone to download everything again, even if they already have them. In fact, I think it did it before the updates. But oh well.
And the admin mod is <10 files.
how can a admin mod be less then 10 files?does it work properly?
EDIT: by that I mean can it actually do something(do all the gui features work or are the pictures just for show and you haven't done anything to it yet)
It works fine. 3 files make up the basic structure, ie, loading and doing stuff with the plugs. The whole of the admin mod is contained within the plugs. There's a serverside structure plug, clientside structure plug, serverside usergroup plug, shared prop protect plug and something else - can't remember. That adds up to 7, minus the something else I can't remember.
It's made up for in file size though :P
Just shows how versatile the system is.
File size < # of files
Having a low amount of files is better then file size,because in gmod it doesn't take long to actually download a lua file,but it gets annoying having to download 50+ of them and it increases the chances there going to leave because of the amount of files they don't have.
so when do you think this is going to be ready?a month?or 2?
Not sure, depends on how well my other projects pan out. I am planning on entering for the gamemode contest this time, and progress is good on that (will announce officially tommorow). I have 2 weeks of no-school time to work on stuff, which means it will be before the end of the 2 week holiday. (Probably)