1. These forums are still being retired! Please use GitHub discussions or Discord. You cannot create new threads or new accounts now. If you need to contact some user of the forums, you should do it sooner, rather than later. This notice was last updated on May 30th, 2021.

[v1.14] C3Mod

Discussion in 'Unsupported / Outdated Plugins' started by Olink, Mar 15, 2012.

  1. Olink

    Olink Admin note: Actually a really nice person now

    Joined:
    Jul 21, 2011
    Messages:
    1,397
    [​IMG]

    V2.1.3 has Released! v2.2.2 is currently available to donator's!
    Follow me on Twitter @TheTwitchy for updates on my coding progress

    Or C3 for short is a Game Modes plugin that runs directly with TShock. Its super simple to setup too! It allows you to create your own arenas, set flag rooms and spawn points and have working automated Game Modes run on your server. Teams for each game are autoassigned, PvP is auto forced. Teleporting out the arena is blocked.

    Changlog for Public (v2.1.3) and Donator (v2.2.2)

    • Updated to TShock v3.8
    Updated both Public (v2.1.2) and Donator (v2.2.1) Editions
    • Fixes hooks returning null errors when they are not being intercepted by another plugin (this may have been causing crashes)
    • Fixes /list tdm (for Donators)
    • Fixes /duel <arena> "<playername>"
    Just re-download guys. (Donators using the links from your last update email)

    [Changelog for v2.2]
    • Added a bunch of Hooks to C3Mod for plugin developers (also included in v2.1.1)
    • Added FFA gametype
    • NOTE - There is only one spawn point for FFA, but there is spawn protection for people who spawn
    • Added a config option to enable or disable C3 Welcome message on player join
    • Added config options that allow you to set each teams colour
    • 1 = Red
    • 2 = Green
    • 3 = Blue
    • 4 = Yellow
    • NOTE - When you set a colour, that colour name is now changed for each command
      • E.G - /setctfredflag changes to /setctfgreenflag when you set Team1 = 2
    • Also note that invalid settings here will result in an exception being thrown, and TShock closing. Check you c3config.json for errors
    • All game types are now disabled by default for new c3config.json's (Does not affect people who have already set stuff up)
    • Added a config option to set the time (in seconds) that FFA players will be spawn protected after spawning, default 10 seconds
    • Added a /list <gametype> <pagenumber> command, to list all arenas for that gametype AND its respective ID
    • File size increase of 30kb = :confused:
    NOTE - I am not changing the SQL Field names to colours set in the config, mainly because of being a pain in the butt.. But also.. I don't want to cause another SQL upset

    [Changelog for v2.1.1]
    • Fixed a couple of minor bugs with CTF flags resetting.
    • Added C3API hooks for plugin developers (reference the plugin to use them, or wait for my "PlugBook" (vharonftw's word for hook cheatsheet) Tutorial)
    • Working multiple arena's - from what I have tested - for CTF, TDM, OneFlag and Duels. I decided not to do apocalypse, as I am still unsure whether to continue working on that, or remove it entirely. Feedback on this is appreciated.
    • Slight performance improvements when game types are disabled
    • Each "arena" now has a name, set when created
    • Addition of spawns as well as flags for each game type.
    You will need to DELETE the old database tables (using a SQL manager) - FlagPoints, TDMSpawns, OneFlagPoints, and DuelSpawns. This means you have to set up all your game types again due to the change in the way they are stored in the DB (new fields)
    When setting up arena's now, you "temporarily" set them, then define it (much like regions), you will then be returned with a confirmation, and an ID, note this down somewhere as this is the ID the players will need to use when voting for arena's. Both Spawns AND Flags (if CTF or One Flag) must be set before you can define it.

    [Changelog for v2.1]
    • Multiple arenas for TDM, CTF, OneFlag, and Duels
    • Slight performance improvements when gametype are disabled (yes disabled)
    • Each "arena" now has a name, set when the arena is created
    • Addition of spawns, as well as flags for each game type
    [Changelog for V2.0.4]
    • Removes all XNA references.
    • Updates to v1.8 API
    [Donate]
    Donating is the best way to help me out, it goes towards Internet fees, and the odd coffee. There is no minimum donation amount\ but the more the merrier! (Some who is cheap and donates $1 will get less attention than someone who donates $10)
    [​IMG]

    Featuring...
    • Capture the Flag
    • Dueling
    • One Flag CTF
    • Team Deathmatch
    • THE APOCALYPSE!
    [How to Install]
    1. Download the latest plugin here: https://github.com/Olink/Twitchys-C3Mod/releases/tag/V1.20001
    2. View the v2.1.1 Command List - http://dl.dropbox.com/u/31822515/cmdlist.txt
    3. Extract and place the .dll in your ServerPlugins folder
    4. Read the readme found in the .zip file downloaded for more info on the commands.
    5. Edit the config file in the tshock folder!
    [Source]
    https://github.com/Olink/Twitchys-C3Mod


    [Sponsors - Try It Out!]
    I would like to personally thank Alerek for his absolutely awesome support in helping me release V2.0! He is an amazing person and has provided me with the motivation to continue on and release V2.0. Please support him by joining his server!
    Forum member Alerek is hosting an excellent server called 2Dforts! He is using C3 mod and is constantly being supplied my developer test builds of the plugin. If you want to try out a blazing new update of the mod, and support Alerek at the same time click on the image below.
    [​IMG]
    Stay tuned for exciting future updates in v2.3+!
    Twitchy
     
    • Like Like x 3
  2. DarkOS

    DarkOS tShock supporter and programming hack.

    Joined:
    Aug 17, 2011
    Messages:
    849
    Awesome! I'll see if the erpsystem integration still works. Thanks for updating! Is this publicly available I notice it mentions donors to twitchy
     
  3. Olink

    Olink Admin note: Actually a really nice person now

    Joined:
    Jul 21, 2011
    Messages:
    1,397
    uhh yes? I just copied his old page and couldnt be bothered to update it. If people like it they should still donate as twitchy put alot of time into his plugins.
     
  4. Olink

    Olink Admin note: Actually a really nice person now

    Joined:
    Jul 21, 2011
    Messages:
    1,397
  5. DarkOS

    DarkOS tShock supporter and programming hack.

    Joined:
    Aug 17, 2011
    Messages:
    849
    excellent work ill give it a spin!
    olink- does your c3rewardsystem.dll reference twichys-c3mod.dll ?

    ie. i see in the references of pluginmain.cs of c3rewardsystem it has:
    using C3Mod;
     
  6. Olink

    Olink Admin note: Actually a really nice person now

    Joined:
    Jul 21, 2011
    Messages:
    1,397
    c3Mod is the namespace, regardless of what I named my plugin :D

    But do feel free to use the new c3mod dll in your version of vharons stuff...makes no sense for me to duplicate your work.
     
  7. DarkOS

    DarkOS tShock supporter and programming hack.

    Joined:
    Aug 17, 2011
    Messages:
    849
    ok great- well it seems to be working well so far. will be doing more testing today.
     
  8. DarkOS

    DarkOS tShock supporter and programming hack.

    Joined:
    Aug 17, 2011
    Messages:
    849
    got this:

    3/16/2012 7:10:52 PM
    System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
    at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
    at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
    at System.Collections.Generic.List`1.Enumerator.MoveNext()
    at C3Mod.C3Mod.OnUpdate()
    at System.Action.Invoke()
    at Hooks.GameHooks.OnUpdate(Boolean pre)
    at Terraria.Main.DedServ()
    at Terraria.ProgramServer.Main(String[] args)

    dont want you to get caught debugging this though olink- i think this may have been around even before your update.
     
  9. Olink

    Olink Admin note: Actually a really nice person now

    Joined:
    Jul 21, 2011
    Messages:
    1,397
    yea, twitchy cant code worth beans...all he cares about is his triangle count
    jkjk inside joke ftw :D

    Added a patch...try now.
     
  10. shwarc

    shwarc Level 0

    Joined:
    Oct 24, 2011
    Messages:
    3
    Very nice work still I need a hand — for now I care only about CtF mode.
    Is there any way to make possible for players who disconnect or join the server to join game mode, like with command /join ctf or just joining corresponding team, because I can't make a good game if someone leaves or reconnects.
    Thanks.
     
  11. Deanthelis

    Deanthelis Level 4

    Joined:
    Dec 20, 2011
    Messages:
    64
    Exact same error ~5 minutes ago. This may be a problem bigger than the plugin itself, this particular error popped up from Jail and some other plugins.
    3/16/2012 10:10:52 PM
    System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
    at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
    at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
    at System.Collections.Generic.List`1.Enumerator.MoveNext()
    at C3Mod.C3Mod.OnUpdate()
    at System.Action.Invoke()
    at Hooks.GameHooks.OnUpdate(Boolean pre)
    at Terraria.Main.DedServ()
    at Terraria.ProgramServer.Main(String[] args)
     
  12. DarkOS

    DarkOS tShock supporter and programming hack.

    Joined:
    Aug 17, 2011
    Messages:
    849
    we werent running olinks updated one when the next error occurred. i just updated and will apply at next restart
     
  13. Deanthelis

    Deanthelis Level 4

    Joined:
    Dec 20, 2011
    Messages:
    64
    Disregard this, I suck.
     
  14. Olink

    Olink Admin note: Actually a really nice person now

    Joined:
    Jul 21, 2011
    Messages:
    1,397

    If you took the time to read, you'd see that I just updated the mod. Go read his original thread wherever it may be if you want help. I don't know one thing about this mod.
     
  15. DarkOS

    DarkOS tShock supporter and programming hack.

    Joined:
    Aug 17, 2011
    Messages:
    849
    olink can u replace the OnPvPDeath with this:

    Code:
            private static void OnPvPdeath(C3Mod.DeathArgs e)
            {
                if (e.PvPKill)
                {
                    if( e.Killer.TSPlayer.IsLoggedIn && e.Killed.TSPlayer.IsLoggedIn)
                    {
                        EPRPlayer EKiller = ServerPointSystem.ServerPointSystem.GetEPRPlayerByIndex(e.Killer.TSPlayer.Index);
                        EPRPlayer EKilled = ServerPointSystem.ServerPointSystem.GetEPRPlayerByIndex(e.Killed.TSPlayer.Index);
                        //The two ints here are the two account balances.
                        int killerbal = EKiller.DisplayAccount;
                        int killedbal = EKilled.DisplayAccount;
                        //If the two are within the proper range, it will add and deduct.
                        if(InPointRange(killerbal, killedbal))
                        {
                            //gain is one percent of the balance of the player killed multiplied by one hundred minus the deathtoll.
                            float gain = (killedbal * (100 - ServerPointSystem.ServerPointSystem.DeathToll)/100) + PvPKillReward;
                            //This notifies the player that they just pwned someone, and got some shards from them.
                            e.Killer.TSPlayer.SendMessage("You gained " + ((int)gain).ToString() + " " + ServerPointSystem.ServerPointSystem.currname + "(s)!", Color.Green);
                            //This adds points to the killer's shard count.
                            EPREvents.PointOperate(EKiller, (int)gain, PointOperateReason.PVP);
                            //The following is my proposed changes.
                            //Notify the loser of his losses.
                            e.Killed.TSPlayer.SendMessage("You lost " + ((int)gain).ToString() + " " + ServerPointSystem.ServerPointSystem.currname +"(s)!", Color.Green);
                            //Deduct the amount the killer gained by adding a negative amount. This appears to be how /deduct works, so I am mimicking it.
                            EPREvents.PointOperate(EKilled, -((int)gain),PointOperateReason.PVP);
                            //The comments were mainly for my own use, by the way.
                           
                        }
                    }
                }
            }
    It wasnt deducting shards from the loser causing an exploit. i would do it on my side but since u updated the c3rewards i dont know if mine works.
     
  16. Olink

    Olink Admin note: Actually a really nice person now

    Joined:
    Jul 21, 2011
    Messages:
    1,397
    Sure, did the patch fix the issue?

    edit: updated
     
  17. Deanthelis

    Deanthelis Level 4

    Joined:
    Dec 20, 2011
    Messages:
    64
    It looks like it.
     
  18. DarkOS

    DarkOS tShock supporter and programming hack.

    Joined:
    Aug 17, 2011
    Messages:
    849
    id like to find out but 26 ppl decided to log on so now im at a bad spot to reboot.

    ill know by tomorrow morning. thanks for the help olink (and dean)
     
  19. DarkOS

    DarkOS tShock supporter and programming hack.

    Joined:
    Aug 17, 2011
    Messages:
    849
    just got this:
    3/20/2012 8:58:24 PM
    System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
    at System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource)
    at System.Collections.Generic.List`1.Enumerator.MoveNextRare()
    at System.Collections.Generic.List`1.Enumerator.MoveNext()
    at C3Mod.C3Mod.OnUpdate()
    at System.Action.Invoke()
    at Hooks.GameHooks.OnUpdate(Boolean pre)
    at Terraria.Main.DedServ()
    at Terraria.ProgramServer.Main(String[] args)

    sorry man :\


    EDIT: hmm looks like the same error as before.. i will redownload the plugin.
     
  20. TerrariaOnline.de

    Joined:
    Jan 4, 2012
    Messages:
    4
    First of all... Thanks Olink for updating this great mod... But... Im running tschock 3.0.6.204 and all plugins are running fine... The only thing i miss in this one is choosing different arenas after selecting the game-mode... So my question is... Is it possible now (after updating the plugin to the newest tshock-version) to select different arenas for a duel (for example)? The problem seems to be the "arena-id" with the version i´m using...

    best regard, Keinheld