1. Post #1
    Gold Member
    -TB-'s Avatar
    August 2008
    1,383 Posts


    [release]
    [h2]DOWNLOAD:[/h2]
    DO NOT UPLOAD ANYWHERE
    How To Install: Tutorial how to install
    SVN: http://advdupe2.googlecode.com/svn/trunk/AdvDupe2/
    WINDOWS USERS REQUIRE THE MODULE, INSTALL DIRECTORY IS garrysmod/lua/bin/
    Module:http://advdupe2.googlecode.com/svn/t...ream_win32.dll

    If you have paid hosting that uses Windows that doesn't allow .dll files; don't worry. AD2 can detect if the module isn't installed and use the gmod filestream. It is slower on Windows, but it'll still function.

    [h2]GMOD 13 COMPATIBLE![/h2]

    Current Revision: 172
    Last Updated: 6/30/2013 1:00 PM CST U.S.
    SVN Tutorial: How to use SVN

    Module Source:http://advdupe2.googlecode.com/svn/t...filestream.cpp
    [/release]

    [release]
    FEATURES:

    No saggy constraints.

    Copies contraptions without having to perfectly freeze them, can even pull it apart and it will copy perfectly.

    Area copy, A new kind of copy to copy everything inside a dynamic box. It will also copy parents that do not have any constraints.

    A totally redesigned GUI browser that is fast and user friendly.

    Lots of features to paste how you want to paste.

    Dynamic ghost, change the amount of ghost from 100% to 0% or any percentage in between.

    Contraption Spawner, a small portable spawner that you can weld to something, spawn with numpad keys, or with wire.

    An easy to use paste function.

    Efficient code to reduce stress from the server.

    A pasting job manager to effectively paste multiple dupes with out lag.

    A network manager to manage multiple uploads and downloads without lag.

    Angle modifications, pitch, yaw, roll.

    Auto save an area with a set interval

    Save an entire map and load it for later.

    File Features:
    Reliable file saving and opening.

    Files are dramatically smaller than AD1 files.

    Advanced Duplicator 1 file support.

    Duplication files are written in binary.

    Parenting Features:
    Since people like to use parents for more effective and less laggy contraptions I added some features to help them even further.

    With area copy you can parent things without constraints or no collides and be able to copy them, reducing the file size and the amount of constraints used on your server and contraptions. But most tools use no collides when parenting, this is an era of change for parenting duplication support so the parenting tools need to change to take advantage of this new duplication support.

    Parented props that have no constraints or just no collides are modified to have a world only collision, so that the fallen physics objects just sit on the ground and sleep without colliding with anything or continuously fall through the world, reducing server stress and random invisible collisions.

    A setting in the experimental section has been added to remove traces from the parented prop which allows you to phys gun through the parented props which makes grabbing the contraption easier and someone may find more uses for it, so it's there to use.

    Here's a modified Parent Tool with an option to no collide.
    [/release]

    [h2]WIKI Links[/h2]
    Main

    Controls

    Tool Settings

    How to use the Tool

    Server Settings

    F.A.Q.

    [h2]Bug Reporting[/h2]
    Bug Tracker


    MEDIA:

    Tool Screen & Menu


    Menu - sliding options tabs


    File and Folder interactive menu



    [h2]CREDITS:[/h2]
    Developers:
    [tab]TB[/tab]
    [tab]Donovan (emspike)[/tab]


    Advanced Duplicator 1:
    [tab]Tad2020[/tab]

    Testers:
    [tab]CrazKiller[/tab]
    [tab]Diggz[/tab]
    [tab]Drunkie[/tab]
    [tab]✘Haunter[/tab]
    [tab]Karbine[/tab]
    [tab]Riggsly[/tab]
    [tab]Rin[/tab]
    [tab]Unit-05[/tab]
    [tab]Winston[/tab]

    Special Thanks To
    Python1320 for helping me test on his dedicated server.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Lua King x 217Winner x 20Useful x 6Dumb x 4Agree x 4Friendly x 4Optimistic x 2Late x 1Informative x 1Funny x 1Disagree x 1Artistic x 1Lua Helper x 1Zing x 1 (list)

  2. Post #2
    GMODJunkie's Avatar
    October 2009
    146 Posts
    Installed in Addons if I'm not mistaken. I installed it, running it now :)

  3. Post #3
    Needs more suspension.
    Dennab
    February 2006
    4,484 Posts
    WHOO
    Reply With Quote Edit / Delete Reply Windows XP United States Show Events Agree Agree x 12Lua Helper Lua Helper x 2Winner Winner x 1 (list)

  4. Post #4
    Haunted by a dark and stupid past
    Key_in_skillee's Avatar
    December 2009
    3,244 Posts
    You are why we need a Lua God rating.
    Reply With Quote Edit / Delete Reply Windows XP United States Show Events Agree Agree x 23Lua King Lua King x 5Lua Helper Lua Helper x 2Winner Winner x 1 (list)

  5. Post #5
    exhale77's Avatar
    January 2010
    2,119 Posts
    Screenshots of new interface?
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Lua Helper Lua Helper x 1Dumb Dumb x 1 (list)

  6. Post #6

    July 2009
    110 Posts
    As expected.
    Reply With Quote Edit / Delete Reply Windows Vista United States Show Events Lua Helper Lua Helper x 1 (list)

  7. Post #7
    Gold Member
    MrWhite's Avatar
    March 2010
    3,609 Posts
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Agree x 30Funny x 1Informative x 1Friendly x 1Optimistic x 1Lua Helper x 1Artistic x 1 (list)

  8. Post #8
    Mr Donovan's Avatar
    August 2008
    124 Posts



    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Artistic Artistic x 8Lua Helper Lua Helper x 1 (list)

  9. Post #9
    Gold Member
    -TB-'s Avatar
    August 2008
    1,383 Posts
    Had a small bug found with vehicles. Important to update to revision 4.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Informative Informative x 1Lua Helper Lua Helper x 1 (list)

  10. Post #10
    Casual Bananas
    E X C L's Avatar
    February 2011
    1,716 Posts
    Good work.
    Reply With Quote Edit / Delete Reply Mac Netherlands Show Events Agree Agree x 2Lua Helper Lua Helper x 1 (list)

  11. Post #11
    Gold Member
    Stick it in her pooper's Avatar
    April 2009
    841 Posts
    good shit
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Agree Agree x 2Lua Helper Lua Helper x 1 (list)

  12. Post #12
    Gold Member
    Jackpody's Avatar
    August 2010
    2,635 Posts
    That is just perfect. I'll give you an internet hug, TB. How long did this actually take to make? Considering you didn't improve your other duplicator but started on this new project.
    Also, hopefully we'll see the majority of build servers using this tool at some point.

    Oh and, can you reverse the files? As if I have something saved in the new Adv_dupe2, can I move that into the regular adv_dupe folder, then spawn it through the regular adv_dupe? (sort of confused if you count the old TB's duplicator for adv_dupe, or if you mean Wiremods.) That would be neat if you were to spawn a contraption that doesn't have this new duplicator. (yet).
    Reply With Quote Edit / Delete Reply Denmark Show Events Agree Agree x 2Lua Helper Lua Helper x 1 (list)

  13. Post #13
    Gold Member
    -TB-'s Avatar
    August 2008
    1,383 Posts
    How long did this actually take to make?
    It was worked on for a year.

    Oh and, can you reverse the files?
    AD2 can open AD1's files. AD1 can not open AD2's files.
    There's no file support for TB's duplicator.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Friendly Friendly x 5Funny Funny x 1Lua Helper Lua Helper x 1Useful Useful x 1 (list)

  14. Post #14
    Quality over quantity.
    Unslinga's Avatar
    August 2010
    885 Posts
    Found one small bug. I got this when I no-collided all without any other constraints and copy-pasted it to a 90 degree difference when the smartsnap grid disappeared. the way to get it back seems to use the physgun to tap them again.

    It does happen no matter which direction, and if it's welded or not.
    Reply With Quote Edit / Delete Reply Windows 7 Norway Show Events Informative Informative x 1Lua Helper Lua Helper x 1 (list)

  15. Post #15
    Gold Member
    Divran's Avatar
    April 2008
    2,629 Posts
    Hey TB I think you forgot to mention it uses Donovan's Lua compression algorithms to compress the text files before saving.
    It still does that, right?


    Oh and did you clean up your messy code? Last time I checked, TB's code was uglier than Adv dupe 1. EDIT: Yeah the code looks a lot cleaner now. I see a lot of "tonumber(GetConVarString(...))" all over the place, though. Can't you just do G.GetConVarNumber ?

    (I was the one who, along with Donovan, started up this project, in case you're wondering. I invited TB in because of his experience with sagless dupes, and then I didn't do much more in the project myself.)
    Reply With Quote Edit / Delete Reply Windows 7 Sweden Show Events Lua Helper Lua Helper x 1 (list)

  16. Post #16
    Gold Member
    Deprehensio's Avatar
    September 2010
    899 Posts
    I'm liking this.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Agree Agree x 4Lua Helper Lua Helper x 1 (list)

  17. Post #17
    metromod.net
    _Chewgum's Avatar
    April 2010
    2,216 Posts
    Hey TB I think you forgot to mention it uses Donovan's Lua compression algorithms to compress the text files before saving.
    It still does that, right?


    Oh and did you clean up your messy code? Last time I checked, TB's code was uglier than Adv dupe 1. EDIT: Yeah the code looks a lot cleaner now. I see a lot of "tonumber(GetConVarString(...))" all over the place, though. Can't you just do G.GetConVarNumber ?

    (I was the one who, along with Donovan, started up this project, in case you're wondering. I invited TB in because of his experience with sagless dupes, and then I didn't do much more in the project myself.)
    Maybe replace the adv dup that comes with wire with this one?

    Also, good work. Looking good.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Agree Agree x 6Lua Helper Lua Helper x 1 (list)

  18. Post #18
    Grocel's Avatar
    October 2008
    1,249 Posts
    That would be an awesome improvement, the Adv Dupe 1 got very old and obsolete also it's tool menu is slow to handle.

    When the big gmod update is out, then the new Adv Dupe can use the new net liberty of gmod.
    Reply With Quote Edit / Delete Reply Windows 7 Germany Show Events Agree Agree x 1Lua Helper Lua Helper x 1 (list)

  19. Post #19
    Mr Donovan's Avatar
    August 2008
    124 Posts
    Hey TB I think you forgot to mention it uses Donovan's Lua compression algorithms to compress the text files before saving.
    It still does that, right?


    Oh and did you clean up your messy code? Last time I checked, TB's code was uglier than Adv dupe 1. EDIT: Yeah the code looks a lot cleaner now. I see a lot of "tonumber(GetConVarString(...))" all over the place, though. Can't you just do G.GetConVarNumber ?

    (I was the one who, along with Donovan, started up this project, in case you're wondering. I invited TB in because of his experience with sagless dupes, and then I didn't do much more in the project myself.)
    I'm credited >_> ('cept for making the logo, but I don't really care about that).
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Lua Helper Lua Helper x 1 (list)

  20. Post #20
    Grocel's Avatar
    October 2008
    1,249 Posts
    Could you change the clearing mechanism to just clicking on the ground instead of Shift+Alt+Right Click, just like the old Adv Dupe?

    It also (lua) errors when the dupe file try to load is corrupted, maybe there should be some more of "if (value) then" checks or some "value = value or 0/''/{}" stuff.
    Reply With Quote Edit / Delete Reply Windows 7 Germany Show Events Lua Helper Lua Helper x 1 (list)

  21. Post #21
    Mr Donovan's Avatar
    August 2008
    124 Posts
    Could you change the clearing mechanism to just clicking on the ground instead of Shift+Alt+Right Click, just like the old Adv Dupe?

    It also (lua) errors when the dupe file try to load is corrupted, maybe there should be some more of "if (value) then" checks or some "value = value or 0/''/{}" stuff.
    The idea was to prevent people from accidentally clearing, although in retrospect an option to disable the safety would be nice.

    Did you see this error in console or as a hint w/ buzz?
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Lua Helper Lua Helper x 1 (list)

  22. Post #22
    I do it all
    fruxodaily's Avatar
    November 2010
    14,155 Posts
    Adding into my gmod now, you're a god.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Friendly Friendly x 3Agree Agree x 2Lua Helper Lua Helper x 1 (list)

  23. Post #23
    Grocel's Avatar
    October 2008
    1,249 Posts
    The idea was to prevent people from accidentally clearing, although in retrospect an option to disable the safety would be nice.

    Did you see this error in console or as a hint w/ buzz?
    I got them in both. To reproduce the error: Save a dupe file, edit or just resave the file with notepad to corrupted it, then try to open it with the duplicator.
    Reply With Quote Edit / Delete Reply Windows 7 Germany Show Events Lua Helper Lua Helper x 1 (list)

  24. Post #24
    Mr Donovan's Avatar
    August 2008
    124 Posts
    The hint-buzz is the error notifier (for when the player can't see serverside errors), and the errors are explicitly thrown when there is no recourse to a default action.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Lua Helper Lua Helper x 1 (list)

  25. Post #25
    Grocel's Avatar
    October 2008
    1,249 Posts
    I tested it on a listen server and the error was serverside. Some staff that says you that the file is corrupted would be better, because someone could try to use a corrupted file and get an error and think that the duplicator is broken while the person don't know that the file is broken. Also it would reduce unnecessary bug reports that will come.
    Reply With Quote Edit / Delete Reply Windows 7 Germany Show Events Lua Helper Lua Helper x 1 (list)

  26. Post #26
    Gold Member
    joshjet's Avatar
    February 2011
    3,403 Posts
    Fantastic.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Lua Helper Lua Helper x 1 (list)

  27. Post #27
    Gold Member
    -TB-'s Avatar
    August 2008
    1,383 Posts
    I tested it on a listen server and the error was serverside. Some staff that says you that the file is corrupted would be better, because someone could try to use a corrupted file and get an error and think that the duplicator is broken while the person don't know that the file is broken. Also it would reduce unnecessary bug reports that will come.
    It doesn't help to say there's some kind of error. You have to post the exact error the it reports.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Lua Helper Lua Helper x 1 (list)

  28. Post #28
    Grocel's Avatar
    October 2008
    1,249 Posts
    Serverside:
    After trying to open a file that got resaved by notepad.
    Code:
    [addons\adv duplicator 2\lua\advdupe2\sv_codec.lua:436] attempt to perform arithmetic on a nil value
    [@addons\adv duplicator 2\lua\weapons\gmod_tool\stools\advdupe2.lua:921] bad key to string index (number expected, got string)
    After removing everything after the 5th line of the file or changing a char in the dupe data. (I know no one would, but the script should not give these errors below):
    Code:
    [addons\adv duplicator 2\lua\advdupe2\sv_codec.lua:409] attempt to perform arithmetic on local 'h3' (a nil value)
    [@addons\adv duplicator 2\lua\weapons\gmod_tool\stools\advdupe2.lua:921] bad key to string index (number expected, got string)
    
    [@addons\adv duplicator 2\lua\advdupe2\sv_codec.lua:482] bad argument #1 to 'gsub' (string expected, got nil)
    [@addons\adv duplicator 2\lua\weapons\gmod_tool\stools\advdupe2.lua:921] bad key to string index (number expected, got string)
    
    [addons\adv duplicator 2\lua\advdupe2\sv_codec.lua:656] attempt to index local 'encodedDupe' (a nil value)
    After opening a edited (removed a letter in the dupe data) Adv dupe 1 file:
    Code:
    [@lua\includes\extensions\table.lua:82] bad argument #1 to 'pairs' (table expected, got nil) (I know this error is not very informative, blame garry)
    [@addons\adv duplicator 2\lua\weapons\gmod_tool\stools\advdupe2.lua:921] bad key to string index (number expected, got string)
    All Without hint-buzz.

    Clientside:
    Sometimes this comes, when I try to download something from my listen server.
    Is has nothing to do with the errors above. The file is working.
    Code:
    [advdupe2\cl_networking.lua:36] attempt to concatenate field 'NetFile' (a nil value)
    also Without hint-buzz.
    Reply With Quote Edit / Delete Reply Windows 7 Germany Show Events Lua Helper Lua Helper x 1 (list)

  29. Post #29
    Gold Member
    Balto-the-Wolf-Dog's Avatar
    June 2009
    1,817 Posts
    All this and Advanced duplicator 1 file support? Thank you sir, thank you so very much. This shall soon be on my server.

    Edited:

    LuaKing[sup]2[/sup]
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Funny Funny x 6Lua Helper Lua Helper x 1 (list)

  30. Post #30
    Mr Donovan's Avatar
    August 2008
    124 Posts
    I'm unsure why codec errors wouldn't trip a hint-buzz-- everything's pcall-encapsulated, and a call to the Notify function comes right after the codec call if the codec fails.

    The first codec error is caused by some out-of-bounds pointing. I failed to anticipate truncation at this specific step.

    The second is caused by an incorrect assumption unconsciously made for the same reason.

    The third is caused by me not looking at that piece of code for 6 months :V (was originally for escaping nulls, later made to escape <sub>s instead).

    The fourth idkwtf, that's one of the parameters of a codec interface function. AFAIK the tool won't open nonexistent files, so I have no idea how it could be nil.

    The table extension error is from a table.Merge call I just copied verbatim from the AD1 deserializer.

    The bad key to string index thing appears to be from the checking of load success after certain limit checks rather than before.

    The NetFile thing looks like a usermessage receive order hiccup, or something, that causes NetFile to not be initialized.


    Props on your superior testing finesse/rigor.

    EDIT:

    Commited stuff.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Funny Funny x 1Friendly Friendly x 1Lua Helper Lua Helper x 1 (list)

  31. Post #31
    Grocel's Avatar
    October 2008
    1,249 Posts
    I just updated and did some further tests:

    The first one came after I resaved with notepad, the 2nd one was after I changed a char with notepad++ (just resaving with it doesn't corrupted the file), the 3rd also came after a char changing in the middle of the file.
    Code:
    [addons\adv duplicator 2\lua\advdupe2\sv_codec.lua:441] attempt to perform arithmetic on a nil value
    [@addons\adv duplicator 2\lua\advdupe2\sv_codec.lua:171] expected value, got EOF
    [addons\adv duplicator 2\lua\advdupe2\sv_codec.lua:346] attempt to perform arithmetic on a nil value
    This time they were in hint-buzz and in the console as server side errors.

    The handle for the empty dupe data works. And the errors in the toolgun and in the Download are also seeming to be gone.
    Reply With Quote Edit / Delete Reply Windows 7 Germany Show Events Friendly Friendly x 1Lua Helper Lua Helper x 1 (list)

  32. Post #32
    Quality over quantity.
    Unslinga's Avatar
    August 2010
    885 Posts
    Any way to fix the reoccurring problem with the smartsnap?
    Reply With Quote Edit / Delete Reply Windows 7 Norway Show Events Lua Helper Lua Helper x 1 (list)

  33. Post #33
    Gold Member
    -TB-'s Avatar
    August 2008
    1,383 Posts
    Oh, right sorry I forgot about that. Adding things to the bug tracker will always keep us reminded about everyone's bugs. I will look into it Unslinga.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Lua Helper Lua Helper x 1 (list)

  34. Post #34
    Quality over quantity.
    Unslinga's Avatar
    August 2010
    885 Posts
    Thanks. This basically means you can build anything save it, work on it another time.
    Reply With Quote Edit / Delete Reply Windows 7 Norway Show Events Lua Helper Lua Helper x 1Dumb Dumb x 1 (list)

  35. Post #35
    Psiablo's Avatar
    December 2009
    20 Posts
    Not sure if this is something to be fixed in your addon... or in Falco's. But when trying to spawn stuff I've built, Falco's prop protection thinks I'm spamming props and doesn't allow me to paste my dupe. Unlike regular adv dupe, which works fine. Not sure if this exception is coded into Falcos prop protection or not... any ideas?
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Lua Helper Lua Helper x 1Dumb Dumb x 1 (list)

  36. Post #36
    Gold Member
    -TB-'s Avatar
    August 2008
    1,383 Posts
    Thanks. This basically means you can build anything save it, work on it another time.
    I had found this bug before and spent hours trying to fix it. And I just spent hours trying to fix it. I think it's a bug with gmod but I'm not sure. I'm going to add an option to disable spawn protection in the expereimental section for a temporary fix.

    Edited:
    I finally figured it out. It does appear to be a bug in gmod and its also causing other problems.

    Not sure if this is something to be fixed in your addon... or in Falco's. But when trying to spawn stuff I've built, Falco's prop protection thinks I'm spamming props and doesn't allow me to paste my dupe. Unlike regular adv dupe, which works fine. Not sure if this exception is coded into Falcos prop protection or not... any ideas?
    That's FPP's bug for overriding cleanup. I fixed the errors it caused by screwing with the props though.
    Reply With Quote Edit / Delete Reply Windows 7 United States Show Events Lua Helper Lua Helper x 1 (list)

  37. Post #37
    Failure's Avatar
    October 2008
    1,448 Posts
    That's great.
    Finally I can have this useful thingy without the god damned wire.
    Reply With Quote Edit / Delete Reply Windows 7 Poland Show Events Lua Helper Lua Helper x 1 (list)

  38. Post #38
    Gold Member
    Divran's Avatar
    April 2008
    2,629 Posts
    That's great.
    Finally I can have this useful thingy without the god damned wire.
    You have always been able to have adv duplicator 1 without Wiremod.
    Reply With Quote Edit / Delete Reply Windows 7 Sweden Show Events Agree Agree x 2Lua Helper Lua Helper x 1 (list)

  39. Post #39
    Failure's Avatar
    October 2008
    1,448 Posts
    You have always been able to have adv duplicator 1 without Wiremod.
    Oh well
    Reply With Quote Edit / Delete Reply Windows 7 Poland Show Events Funny Funny x 3Lua Helper Lua Helper x 1 (list)

  40. Post #40
    Quality over quantity.
    Unslinga's Avatar
    August 2010
    885 Posts
    That's great.
    Finally I can have this useful thingy without the god damned wire.
    Why would you not want wire???
    Reply With Quote Edit / Delete Reply Windows 7 Norway Show Events Agree Agree x 9Dumb Dumb x 4Lua Helper Lua Helper x 1 (list)