[QUOTE=PortalGod;47685096][url=https://github.com/PortalGod/gANL]here[/url]'s the module I used back when I was doing my minecraft gamemode, it's a little weird but really good once you get used to it[/QUOTE]
gANL, penetrating since 2009.
[img]http://ph129.net/i/LSLn8Q.png[/img]
Multi-Theme support coming soon!
[QUOTE=0V3RR1D3;47684986]I Would love to see where this project goes. I once made a voxel engine with unity and c#. It was simple, could remove/place blocks and it had a chunk based loading system. I Used the marching cubes algorithm to draw the mesh around the generated voxels. Also perlin noise is a great algorithm for generating landscapes. Simplex noise is less detailed but much more efficient. Anyway good luck!
[URL]http://en.wikipedia.org/wiki/Marching_cubes[/URL]
[URL]http://en.wikipedia.org/wiki/Perlin_noise[/URL]
[URL]http://en.wikipedia.org/wiki/Simplex_noise[/URL]
And also useful for creating bioms/vallys
[URL]http://en.wikipedia.org/wiki/Voronoi_diagram[/URL]
Hope this helps you in some way[/QUOTE]
[QUOTE=PortalGod;47685096][URL="https://github.com/PortalGod/gANL"]here[/URL]'s the module I used back when I was doing my minecraft gamemode, it's a little weird but really good once you get used to it[/QUOTE]
Awesome, thanks for the help. I've used marching squares for stupid little projects before. I assume you'd be using the 3D version to smooth the meshes out?
I'll totally look into using perlin/simplex noise when I finally get around to generation. Unfortunately I'm not sure if biomes are ever going to be a thing, don't know if the maps will ever get that big.
[QUOTE=_FR_Starfox64;47675020]Pretty much finished the notification system for my Cards Against Humanity addon.
[video=youtube;8pcj3zXcWgw]http://www.youtube.com/watch?v=8pcj3zXcWgw[/video]
Do any of you know why the little triangle only shows up on the last notification?
[URL="https://github.com/Starfox64/cards-against-humanity/blob/master/lua/cah/vgui/cl_notification.lua"][B]cl_notification.lua[/B][/URL][/QUOTE]
You know how it moves in and out of the screen in a cool animation, is this only using PANEL:MoveTo or are you doing some other wizardry?
[QUOTE=AIX-Who;47685733]You know how it moves in and out of the screen in a cool animation, is this only using PANEL:MoveTo or are you doing some other wizardry?[/QUOTE]
I'd say it's been done in MoveTo considering it eases, and normal linear interpolations won't have such an effect. However, if you're looking for cool animations like that, with some variations, I suggest you have a look at a lua port of the easings from [url=http://easings.net]easings.net[/url], which can be found [url=https://github.com/EmmanuelOga/easing/blob/master/lib/easing.lua]here[/url].
[QUOTE=AIX-Who;47685733]You know how it moves in and out of the screen in a cool animation, is this only using PANEL:MoveTo or are you doing some other wizardry?[/QUOTE]
Yup, [url]https://github.com/Starfox64/cards-against-humanity/blob/master/lua/cah/cl_cah.lua#L291[/url]
What am I working on? Something I'm almost done with. I need to add console commands for tweaking the settings, cus I know some people won't like mine. You can guess why. This is a lot of text, so I put a summary at the end.
<a very huge snip>
removed the excessive amount of info I originally typed. Here's all you need to know:
I've made, and am improving, a shielding system that basically augments suit armor to shields rather than damage reduction. I will also simulate fall damage, and drowning, but offer settings to disable or simply tweak these potentially annoying features, as well as the shields. There is also a module to increase the maximum armor recharge to 200 rather than 100.
I wish I had something visual to show for this, but I'm having trouble recording a good demo.
[editline]9th May 2015[/editline]
Oh. The way this works, it should work perfectly fine with any other content you have on your server, unless you have something that deals with taking damage. There may be a conflict there. That said, while I'm making it in sandbox, it should work for other gamemodes' too.
[QUOTE=_FR_Starfox64;47686005]Yup, [url]https://github.com/Starfox64/cards-against-humanity/blob/master/lua/cah/cl_cah.lua#L291[/url][/QUOTE]
You should try using the Lerp(t,f,t) function. It is a simple equation but can be used to create some cool animations. I used it on my inventory system(each tile is a panel)
[url]https://www.youtube.com/watch?v=sd2Ci-qb0-Q[/url]
And also for my notifications
[url]https://www.youtube.com/watch?v=Qqew5TLyINw[/url]
[url]http://wiki.garrysmod.com/page/Global/Lerp[/url]
(May be helpfull too [url]http://en.wikipedia.org/wiki/Linear_interpolation[/url])
If i were to make a decent looking UI library how many people would be interested in using it?
Mainly to help those people who don't have as good design skills as others.
Depends on what it looks like
[QUOTE=Exho;47689849]Depends on what it looks like[/QUOTE]
I will get some designs draw up and post them later, see what people think of it
I made a Rocket Interceptor for the Micro Planes
[t]http://puu.sh/hH0uE/fd17d2e67f.jpg[/t]
It's pretty much a manned ballistics missile
[media]http://www.youtube.com/watch?v=CkxGl-r94S0[/media]
[media]http://www.youtube.com/watch?v=yTPUBGWh8uI[/media]
[QUOTE=AIX-Who;47689846]If i were to make a decent looking UI library how many people would be interested in using it?
Mainly to help those people who don't have as good design skills as others.[/QUOTE]
an good idea, but you can't stop people from using Comic Sans.
Okay, so i know i'm not the best at drawing things up in photoshop and what not but here is a very basic idea of the general design, i will also be making a glass ui set aswell, but my photoshop skills are way too bad to draw that up.
[IMG]http://i.imgur.com/Mz6E9JI.png[/IMG]
[t]http://i.imgur.com/3koJvwI.png[/t]
I think the glass ui will be the first for me to release, so maybe expect that sometime over the next week or so.
isn't that exactly what derma skins are for? what's the point of your own ui library?
[t]http://rp.braxnet.org/scr/2015-05-09_23-46-35_24.jpg[/t]
clipping for cosmetic items where the head usually pop through!
I've been working on a TableLayout component (based on [url]https://github.com/EsotericSoftware/tablelayout[/url] but not religiously). It should make the life of GUI creators a bit easier as you no longer have to deal with magic values for positioning.
[IMG]http://i.imgur.com/gX5sZOr.png[/IMG]
[code]
comp:SetPadding(10)
comp:Add(Label("Name:")):SetWidth(100)
comp:Add(Entry()):Fill():SetExpandedX(true)
comp:Add(Validator(function(txt) return string.len(txt) >= 3 end)):SetWidth(25)
comp:Row():SetMarginTop(10)
comp:Add(Label("Age:"))
comp:Add(Entry()):Fill()
comp:Add(Validator(function(txt) return string.match(txt, "%d+") end))
comp:Row():SetMarginTop(10)
comp:Add(Label("Color:"))
comp:Add(vgui.Create("DColorCombo")):Fill():SetHeight(200):SetColspan(2)
comp:Row():SetMarginTop(10)
comp:Add(Button("Accept")):SetFilledX(true)
comp:Add():SetColspan(2)
[/code]
Where comp is an instance of NSTable docked to a frame and Button, Label etc are helper functions that return normal VGUI components. Code is a bit WIP but it's shaping up nicely.
[QUOTE=AIX-Who;47691180]Okay, so i know i'm not the best at drawing things up in photoshop and what not but here is a very basic idea of the general design, i will also be making a glass ui set aswell, but my photoshop skills are way too bad to draw that up.
[IMG]http://i.imgur.com/Mz6E9JI.png[/IMG]
[t]http://i.imgur.com/3koJvwI.png[/t]
I think the glass ui will be the first for me to release, so maybe expect that sometime over the next week or so.[/QUOTE]
Honestly not at all what people think about when they hear "UI library". I expect generic widgets, events and hooks, maybe some skins. The default derma widgets could be extended to include tons of things for ease of use, just recolouring and repainting them isn't really a "UI library".
[editline]9th May 2015[/editline]
[QUOTE=Wyozi;47692743]I've been working on a TableLayout component (based on [url]https://github.com/EsotericSoftware/tablelayout[/url] but not religiously). It should make the life of GUI creators a bit easier, as you no longer have to change all the hardcoded values after merely resizing the frame.
[IMG]http://i.imgur.com/gX5sZOr.png[/IMG]
[code]
comp:SetPadding(10)
comp:Add(Label("Name:")):SetWidth(100)
comp:Add(Entry()):Fill():SetExpandedX(true)
comp:Add(Validator(function(txt) return string.len(txt) >= 3 end)):SetWidth(25)
comp:Row():SetMarginTop(10)
comp:Add(Label("Age:"))
comp:Add(Entry()):Fill()
comp:Add(Validator(function(txt) return string.match(txt, "%d+") end))
comp:Row():SetMarginTop(10)
comp:Add(Label("Color:"))
local clr = vgui.Create("DColorCombo")
comp:Add(clr):Fill():SetHeight(200):SetColspan(2)
comp:Row():SetMarginTop(10)
comp:Add(Button("Accept")):SetFilledX(true)
comp:Add():SetColspan(2)
[/code]
Where comp is an instance of NSTable docked to a frame and Button, Label etc are helper functions that return normal VGUI components. Code is a bit WIP but it's shaping up nicely.[/QUOTE]
Like this noise for example. Provides a new layout manager, therefore extending the default stuff.
Making NPCs a little more in depth with a vgui layout similar to Fallout's. I'm not entirely sure yet what project this will get attached to but at the moment its just conversation trees and some Derma to go through them.
[code]
local convo = interaction.createNew( "myConversation" )
local option1 = convo.createOption( "How are you?" )
option1.addResponse( "I'm doing good, thanks" )
local option1a = option1.createOption( "Thats good to hear", CONVO_GO_START )
local option2 = convo.createOption( "You wanna fite m8?" )
option2.addResponse( "Bring it holmes", CONVO_CLOSE, CONVO_REACT_FIGHT )
interaction.display( "myConversation" )
[/code]
[QUOTE=Exho;47693093]Making NPCs a little more in depth with a vgui layout similar to Fallout's. I'm not entirely sure yet what project this will get attached to but at the moment its just conversation trees and some Derma to go through them.
[code]
local convo = interaction.createNew( "myConversation" )
local option1 = convo.createOption( "How are you?" )
option1.addResponse( "I'm doing good, thanks" )
local option1a = option1.createOption( "Thats good to hear", CONVO_GO_START )
local option2 = convo.createOption( "You wanna fite m8?" )
option2.addResponse( "Bring it holmes", CONVO_CLOSE, CONVO_REACT_FIGHT )
interaction.display( "myConversation" )
[/code][/QUOTE]
You should be using metatables, this syntax doesn't makes much sense. Other than that sounds like a cool idea.
Can you explain a bit further? I knew I needed metatables but couldn't figure out how to use them in here
[QUOTE=Exho;47693840]Can you explain a bit further? I knew I needed metatables but couldn't figure out how to use them in here[/QUOTE]
It looks like you're keeping a global state and just using library functions.
You want each option/conversation to be an object.
[QUOTE=Exho;47693093]Making NPCs a little more in depth with a vgui layout similar to Fallout's. I'm not entirely sure yet what project this will get attached to but at the moment its just conversation trees and some Derma to go through them.
[code]
local convo = interaction.createNew( "myConversation" )
local option1 = convo.createOption( "How are you?" )
option1.addResponse( "I'm doing good, thanks" )
local option1a = option1.createOption( "Thats good to hear", CONVO_GO_START )
local option2 = convo.createOption( "You wanna fite m8?" )
option2.addResponse( "Bring it holmes", CONVO_CLOSE, CONVO_REACT_FIGHT )
interaction.display( "myConversation" )
[/code][/QUOTE]
[code]
local newConvo = convo("Hey m8")
local option = convo.option("How are you m7")
option:addResponse("I'm good thanks m6")
local postOption = convo.option("That's good to hear m5")
postOption:setFlag(CONVO_GO_START)
postOption:showWhen(option:wasSelected())
local option2 = convo.option("You wanna fite m4?")
option2:addResponse("Bring it m3")
option2:setFlag(CONVO_CLOSE,CONVO_REACT_FIGHT)
newConvo:addOption(option,option2)
[/code]
I'm not sure how good this alternative is but yeah.
[QUOTE=arcaneex;47694401]
code
I'm not sure how good this alternative is but yeah.[/QUOTE]
Optimal for me is
[lua]local newConvo = interaction( "myConversation" )
local option1 = newConvo:addOption("How are you m7")
option1:addResponse("I'm good thanks m6")
local option1a = newConvo:addOption("That's good to hear m5")
option1a:setFlag(CONVO_GO_START)
option1a:showWhen(option:wasSelected())
local option2 = newConvo:addOption("You wanna fite m4?")
option2:addResponse("Bring it m3")
option2:setFlag(CONVO_CLOSE, CONVO_REACT_FIGHT)
newConvo:display()
[/lua]
[editline]9th May 2015[/editline]
(Difference is we use newConvo:addOption as the option constructor function instead of convo.option, which allows us to skip newConvo:addOptions at the end)
[img]http://i.imgur.com/NGi3Qk8.png[/img]
[url=https://github.com/DaaOtt/maestro/commits/master]Made some major progress on my admin mod.[/url]
Stuff I've done:
-ranks, users, saving to data folder for both
-rank inheritance
-bypasses for all vanilla admin stuff
-autocomple
-access strings (e.g. "<#admin" means "all players that don't inherit from rank admin")
-access restriction (access string for who a group can target, "<#groupname" by default)
-access exceptions for commands (e.g. a pm command would be "*")
-commands print to chat if successful, print to caller's chat if unsuccessful
-named parameters for commands
-target strings (same as access but you use it for targeting players)
-plugins: fly, goto, kick, noclip, a shitload of rank management, slap, who
-variable arguments
-run commands via chat
Stuff I need to do:
-undercover option for ranks (half-implemented)
-finish all the plugins and match the feature set of ulx
-help command
Commands are defined like this:
[lua]maestro.command("kick", {"player:target", "reason"}, function(caller, targets, reason) --Anything after the colon is ignored, unknown types default to string
if not IsValid(targets[1]) then
return true, "Query matched no players." --True for error
end
if #targets > 1 then
return true, "Query matched more than 1 player."
end
targets[1]:Kick(reason)
return false, "kicked %% (%%)" --False for success. %% is replaced with the corresponding argument. Prefixed by player name, multiple results are comma separated.
end)[/lua]
Currently I have it set up so you start out with one rank, user. You can then build your rank hierarchy to your liking.
[QUOTE=Giraffen93;47692497][t]http://rp.braxnet.org/scr/2015-05-09_23-46-35_24.jpg[/t]
clipping for cosmetic items where the head usually pop through![/QUOTE]
What is they wield the crowbar?
[QUOTE=Ott;47694817][img]http://i.imgur.com/NGi3Qk8.png[/img]
[url=https://github.com/DaaOtt/maestro/commits/master]Made some major progress on my admin mod.[/url]
Stuff I've done:
-ranks, users, saving to data folder for both
-rank inheritance
-bypasses for all vanilla admin stuff
-autocomple
-access strings (e.g. "<#admin" means "all players that don't inherit from rank admin")
-access restriction (access string for who a group can target, "<#groupname" by default)
-access exceptions for commands (e.g. a pm command would be "*")
-commands print to chat if successful, print to caller's chat if unsuccessful
-named parameters for commands
-target strings (same as access but you use it for targeting players)
-plugins: fly, goto, kick, noclip, a shitload of rank management, slap, who
-variable arguments
-run commands via chat
Stuff I need to do:
-undercover option for ranks (half-implemented)
-finish all the plugins and match the feature set of ulx
-help command
Commands are defined like this:
[lua]maestro.command("kick", {"player:target", "reason"}, function(caller, targets, reason) --Anything after the colon is ignored, unknown types default to string
if not IsValid(targets[1]) then
return true, "Query matched no players." --True for error
end
if #targets > 1 then
return true, "Query matched more than 1 player."
end
targets[1]:Kick(reason)
return false, "kicked %% (%%)" --False for success. %% is replaced with the corresponding argument. Prefixed by player name, multiple results are comma separated.
end)[/lua]
Currently I have it set up so you start out with one rank, user. You can then build your rank hierarchy to your liking.[/QUOTE]
This may sound like I'm being a dick, but it's a honest question. Why is this better than ULX/what does this have that ULX doesn't?
Not being a dick, just asking.
well for one thing it doesn't have the slow replacement of the hook system.
[QUOTE=SkitZz;47695662]This may sound like I'm being a dick, but it's a honest question. Why is this better than ULX/what does this have that ULX doesn't?
Not being a dick, just asking.[/QUOTE]
- ULX overrides the hook library to allow itself being called first.
This got some advantages but can mess up if something errors.
- ULX have been out for some time. So you're less likely to run into a bug.
- Its easier to make commands for Maestro.
- Maestro seems to have some key elements that I failed with in my adminmod. So it should be more stable and mod-friendly.
[Damn .. ½ ninjaed]
[QUOTE=skullorz;47695685]well for one thing it doesn't have the slow replacement of the hook system.[/QUOTE] They already improved the performance of it alot. [url]https://github.com/Nayruden/Ulysses/pull/386[/url]
[QUOTE=Nak;47695732]- ULX overrides the hook library to allow itself being called first.
This got some advantages but can mess up if something errors.
- ULX have been out for some time. So you're less likely to run into a bug.
- Its easier to make commands for Maestro.
- Maestro seems to have some key elements that I failed with in my adminmod. So it should be more stable and mod-friendly.
[Damn .. ½ ninjaed][/QUOTE]
Sounds very interesting. Looking forward to see how his admin mod progresses in the future.
Sorry, you need to Log In to post a reply to this thread.