PuffyPanda 7 Posted August 14, 2020 Report Share Posted August 14, 2020 (edited) Steam Name: [IG]Dripping wet SteamID32: STEAM_0:0:83434927 Steam Profile Link: https://steamcommunity.com/profiles/76561198127135582/ Age?: 24 What Part of the community are you from? Imperial RP Server Programming languages you know (etc. LUA, CPP, C#, PYTHON - MUST KNOW ONE LANGUAGE): LUA, JS, C#, a bit of python. I have had experience in lua before as I have modded for the binding of isaac in the past and I have had several semesters in university working with c# so i am familiar game programming principles. What type of content do you want to create for our server? QOL of life changes and new weapons. The QOL changes made me want to develop for the server in the first place as I saw opportunity to automate some of the more tedious actions in the game and creating new weapons / altering existing is a lot of fun. Have you made any other scripts or content we should know about? for gmod specifically I have created two dueling related commands and altered the lightsabre with a new ability command 1.) 1v1 Sith dueling being in RG I found asking a mod to set health anytime I wanted to duel to be rather annoying; both for myself and the mod and the alternative of shooting one another until health is about the same also proved to rather tedious. So I made a sith specific command that allows any member of sith to challenge another member of sith to a duel. Should the duel be accepted both parties HP will be automatically set command 2.) sith tournament a sith higher up (Grand inquistor, darth vader etc) can start a tournament. Every valid sith on the server will get a notification saying the tournament will start in the chosen time. During that time any sith can opt in to go in on the tournament and once the timer is up or the person who started the tournament decided to start early, everyone who opted in will automatically have their hp set Force paralyze (if DT get tasers SG can have one too) being a member of the RG has taught me a lot about just how terrible it feels to try and capture someone without a taser. It is the most horrible feeling in the world spending 45 minutes trying to capture cad bane for the 50th time that night and it just tiresome and tedious. So I made force paralyze. with a very big force tax you can very temporarily keep someone in place. However the person performing the force paralyze is unable to move for the duration of the skill (essentially both parties are stuck in place) this emphasizes RG/SG working together as a member of SG can lock someone down whilst a member of RG can cuff them. link to the video showing off the stun. (the sith lightning is just a placeholder sound effect) Video of force paralyze Link to my very basic derma / networking example (was told I just need to show I can do it. If more is needed let me know) video Naturally these scripts / modifications I have made are very personalized to my current experiences in gmod but I am more than happy to hear suggestions on other things people would like automated / made EDIT: Just occurred to me I should have included my scripts so you can determine my level of programming skill (not that the scripts are that difficult or anything) So I have included them in this post. Do you accept the Terms & Conditions of this application? Yes sith_tourney.lua sith_challenge.lua Edited August 16, 2020 by PuffyPanda 5 Link to post Share on other sites
HenDoge 56 Posted August 14, 2020 Report Share Posted August 14, 2020 (edited) +1 Seems experienced and has some interesting ideas. Nice to see an example that's different as well. If you include a brief example of derma and the net library this will be a great app. Edited August 14, 2020 by HenDoge Link to post Share on other sites
Cracked 66 Posted August 14, 2020 Report Share Posted August 14, 2020 +1. Good ideas to the table, able to execute them as well. Link to post Share on other sites
PuffyPanda 7 Posted August 14, 2020 Author Report Share Posted August 14, 2020 Thanks for the info. I am uploading my (very very basic) derma, networking example to youtube now and will link in the post. Link to post Share on other sites
PuffyPanda 7 Posted August 14, 2020 Author Report Share Posted August 14, 2020 1 hour ago, HenDoge said: +1 Seems experienced and has some interesting ideas. Nice to see an example that's different as well. If you include a brief example of derma and the net library this will be a great app. Thanks for the info. I am uploading my (very very basic) derma, networking example to youtube now and will link in the post. 1 Link to post Share on other sites
Josh 32 Posted August 14, 2020 Report Share Posted August 14, 2020 +1 Trustworthy Great ideas Great application Overall in my opinion the more developers we have more the fun stuff they can create for the server. Link to post Share on other sites
Delta 1,018 Posted August 15, 2020 Report Share Posted August 15, 2020 16 hours ago, HenDoge said: +1 Seems experienced and has some interesting ideas. Nice to see an example that's different as well. If you include a brief example of derma and the net library this will be a great app. This guy is smart +1 Link to post Share on other sites
Lucas 12 Posted August 17, 2020 Report Share Posted August 17, 2020 +1, Great guy and is also very talented. Link to post Share on other sites
PuffyPanda 7 Posted August 27, 2020 Author Report Share Posted August 27, 2020 Bump: Not sure if I have to bump for a dev app but I heard I have to every couple of days 2 Link to post Share on other sites
Jesse 6 Posted September 25, 2020 Report Share Posted September 25, 2020 Seems to be capable for this position therefor I'm going to +1 your application. Good luck Link to post Share on other sites
PuffyPanda 7 Posted September 25, 2020 Author Report Share Posted September 25, 2020 5 hours ago, Jesse said: Seems to be capable for this position therefor I'm going to +1 your application. Good luck Thanks for the kind words Link to post Share on other sites
PuffyPanda 7 Posted September 30, 2020 Author Report Share Posted September 30, 2020 bump: Changed name to Crix Link to post Share on other sites
Eclipse 133 Posted September 30, 2020 Report Share Posted September 30, 2020 Some suggestions for your code. Instead of doing a bunch of nested "if" statements that don't have "else" or "elseif", you should return makes it more readable and a little itty bitty quicker. hook.Add("PlayerSay", "SomeCoolCommand", function(ply, txt) if text ~= "!gamer" then return end if not ply:IsSuperAdmin() then return end --[[ Some gamer code here ]] end) -- Better yet. hook.Add("PlayerSay", "SomeCoolCommand", function(ply, txt) if text ~= "!gamer" or not ply:IsSuperAdmin() then return end --[[ Some gamer code here ]] end) It would also be more efficient to combine all the hooks instead of having 3 separate ones. Hooks aren't as efficient as they could be. Some good standards are here: https://www.gmodstore.com/help/script-submissions/topics/developer-guidelines-for-addons-must-read Link to post Share on other sites
PuffyPanda 7 Posted September 30, 2020 Author Report Share Posted September 30, 2020 1 minute ago, Eclipse said: Some suggestions for your code. Instead of doing a bunch of nested "if" statements that don't have "else" or "elseif", you should return makes it more readable and a little itty bitty quicker. hook.Add("PlayerSay", "SomeCoolCommand", function(ply, txt) if text ~= "!gamer" then return end if not ply:IsSuperAdmin() then return end --[[ Some gamer code here ]] end) -- Better yet. hook.Add("PlayerSay", "SomeCoolCommand", function(ply, txt) if text ~= "!gamer" or not ply:IsSuperAdmin() then return end --[[ Some gamer code here ]] end) It would also be more efficient to combine all the hooks instead of having 3 separate ones. Hooks aren't as efficient as they could be. Some good standards are here: https://www.gmodstore.com/help/script-submissions/topics/developer-guidelines-for-addons-must-read Hi eclipse. Thanks for the good suggestions. When it comes to if statements without an else they are generally multi line. When applicaable I like to use single line if statements such as for my modifications for the saber checking privileges . However I really like the idea of combing hooks and using functions to process a command where necessary. I will modfiy my sith challenge and sith tourney scripts and resubmit them to the application. Also with regards overall efficiency it is always at the top of my mind and the more I learn about gmod the better I will become at it. Any other overall suggestions for general efficiency ? Link to post Share on other sites
Eclipse 133 Posted September 30, 2020 Report Share Posted September 30, 2020 Just now, PuffyPanda said: When it comes to if statements without an else they are generally multi line. I didn't phrase it right, sorry. If it a single check, then it shouldn't be multiline. Here is an example of a hook that I made that has multiple checks. In this case isFake is a unique variable for the server it was made for, and the last argument for hook.Add is a ULib thing for order of hooks. hook.Add("EntityFireBullets", "WarnShotRadius", function(ply, _, isFake) if isFake then return end --print(ply, ply:GetInfo("Baielywarnshot"), ply.WarnCooldown, ply.MsgWarnCooldown, CurTime()) if not ply:IsPlayer() or ply:GetInfo("Baielywarnshot") ~= "1" then return end ply.WarnCooldown = ply.WarnCooldown or 0 if ply.WarnCooldown > CurTime() then -- Make sure we're not spamming constantly ply.MsgWarnCooldown = ply.MsgWarnCooldown or 0 if ply.MsgWarnCooldown < CurTime() then SendMsg(ply, "Woah there! Calm down before giving another warning shot!") ply.MsgWarnCooldown = CurTime() + 3 end return end local hitPos = ply:GetEyeTraceNoCursor().HitPos local entities = ents.FindInSphere(hitPos, BaielywarnshotConfig.Radius) -- Filter out non-players local playersToSend = {} for k, ent in pairs(entities) do if not ent:IsPlayer() then continue end table.insert(playersToSend, ent) end if #playersToSend < 1 then return end table.insert(playersToSend, ply) hook.Run("baielyWarnedPlayers", ply, playersToSend) net.Start("BaielywarnshotNot") net.WriteEntity(ply) net.Send(playersToSend) ply.WarnCooldown = CurTime() + 7 end, -2) Link to post Share on other sites
PuffyPanda 7 Posted September 30, 2020 Author Report Share Posted September 30, 2020 3 minutes ago, Eclipse said: I didn't phrase it right, sorry. If it a single check, then it shouldn't be multiline. I just looked through my code and found some if statements that could definitely be single line for more readability . I know switch cases are constant lookup time so I am going to convert each of my hooks into a function and have a single hook that checks the command and if it is valid call on the function. Probably should have done that from the start haha Link to post Share on other sites
PuffyPanda 7 Posted September 30, 2020 Author Report Share Posted September 30, 2020 (edited) Actually found out gmod lua doesn't have switch statements so I will figure something else out Edited September 30, 2020 by PuffyPanda 1 Link to post Share on other sites
Eclipse 133 Posted September 30, 2020 Report Share Posted September 30, 2020 Just now, PuffyPanda said: Actually found out gmod lua doesn't have switch statements so I will figure something else out Depending on the scenario, tables are good, you can store functions which a string key Link to post Share on other sites
PuffyPanda 7 Posted September 30, 2020 Author Report Share Posted September 30, 2020 Yea I was looking up alternatives and found that as a neat alternative. Since key lookup times are constant I will most likely go for this approach. Cheers for the recommendation 6 minutes ago, Eclipse said: Depending on the scenario, tables are good, you can store functions which a string key Link to post Share on other sites
PuffyPanda 7 Posted September 30, 2020 Author Report Share Posted September 30, 2020 (edited) Fixed up the sith duel script thanks to the advice from @Eclipse I made it so there is only a singular hook with a variety of functions that the hook can call upon. Modified the challenger table so that it also takes the actual player object at the index. This saved me having to do a for loop whenever I needed to involve the ply that didnt activate the hook. Overall it should be much more efficient and easier to understand. Also working on making the light saber more personalized. I have made it so that different users have access to different force powers and in the coming weeks I will add functionality to allow a select few people to be able to give force powers to select people. Atm the force powers granted list (that is the force powers that specific user has access to ) is only a json text file but I found out gmod supports mySQL so I will look to port it to that sith_challenge.lua Edited September 30, 2020 by PuffyPanda Link to post Share on other sites
Eclipse 133 Posted September 30, 2020 Report Share Posted September 30, 2020 (edited) 1 hour ago, PuffyPanda said: Fixed up the sith duel script thanks to the advice from @Eclipse I made it so there is only a singular hook with a variety of functions that the hook can call upon. Modified the challenger table so that it also takes the actual player object at the index. This saved me having to do a for loop whenever I needed to involve the ply that didnt activate the hook. Overall it should be much more efficient and easier to understand. Also working on making the light saber more personalized. I have made it so that different users have access to different force powers and in the coming weeks I will add functionality to allow a select few people to be able to give force powers to select people. Atm the force powers granted list (that is the force powers that specific user has access to ) is only a json text file but I found out gmod supports mySQL so I will look to port it to that sith_challenge.lua 4.02 kB · 0 downloads Much more readable and efficient. As for your next project, although gmod has a SQL binary here I suggest you use the inbuilt SQLite gmod uses. Different syntax (Kinda)https://wiki.facepunch.com/gmod/sql I'm unsure of what bar Imperial has anymore, but PuffyPanda seems to be effective at utilizing feedback and LUA programming. + 1 Edited September 30, 2020 by Eclipse Link to post Share on other sites
Anderson 40 Posted October 1, 2020 Report Share Posted October 1, 2020 (edited) +1, I don't know much about developing but from what I have seen in game this man would be a good fit. His examples are good and I can see them being very applicable to the server. Edited October 1, 2020 by Pvtanderson Link to post Share on other sites
Phobia 108 Posted October 2, 2020 Report Share Posted October 2, 2020 GL Puffy hope you get dev +1 1 Link to post Share on other sites
PuffyPanda 7 Posted October 8, 2020 Author Report Share Posted October 8, 2020 Bump!! Link to post Share on other sites
Stryker 244 Posted October 10, 2020 Report Share Posted October 10, 2020 Passed into Interview stage. Link to post Share on other sites
Recommended Posts