EasyVote

Moved

Total Downloads: 4,115 - First Release: Aug 27, 2016 - Last Update: Mar 24, 2018

5/5, 14 likes
  1. voting.png

    As you can see from SS above the claim function doesn't seem to be pulling the info from the API (I think, I'm not 100%)

    Edit/update: doing multiple voting sites and claiming in one go seems to break the plugin. Claiming individually works however. See my next post for detailed info.
     
    Last edited by a moderator: Nov 3, 2017
  2. Hmm, we're updated to the most current version, but none of the commands seem to be working.
     
  3. New plugin update doesnt work.
    Code:
    (09:59:51) | Failed to initialize plugin 'EasyVote v2.0.1' (NullReferenceException: Object reference not set to an instance of an object)
    (09:59:51) | at Oxide.Plugins.EasyVote.Merge[String,String] (IDictionary`2 current, IDictionary`2 defaultDict, Boolean bypass) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.EasyVote.LoadConfigValues () [0x00000] in <filename unknown>:0
      at Oxide.Plugins.EasyVote.Init () [0x00000] in <filename unknown>:0
      at Oxide.Plugins.EasyVote.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Core.Plugins.CSPlugin.HandleAddedToManager (Oxide.Core.Plugins.PluginManager manager) [0x00000] in <filename unknown>:0
    (09:59:51) | Failed to initialize plugin 'EasyVote v2.0.1' (NullReferenceException: Object reference not set to an instance of an object)
    (09:59:51) | at Oxide.Plugins.EasyVote.BuildNumberMax () [0x00000] in <filename unknown>:0
      at Oxide.Plugins.EasyVote.Loaded () [0x00000] in <filename unknown>:0
      at Oxide.Plugins.EasyVote.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.CSharpPlugin.HandleAddedToManager (Oxide.Core.Plugins.PluginManager manager) [0x00000] in <filename unknown>:0
    (09:59:51) | Unloaded plugin EasyVote v2.0.1 by Exel80
     
  4. did you remove the previous config before uploading the update?
     
  5. Yes I did at least lol
     
  6. I rolled back to previous plugin and it still didnt compile as well.
     
  7. weird as it compiles fine for me and actually works as just had a player test it for me both with rust servers and top rust servers and both were able to be claimed. Though it was claimed in 2 separate /claim commands. So voted for Top Rust Servers first then claimed and got rewards then did same for Rust Servers. However If you do both sites then go onto server and do /claim nothing happens and you can't "re-claim" so you loose rewards for that day.
     
  8. Hello, i ve updated my plugin with last version, before this i ve deleted old confing file, so i ve setup mu id and api key for rustservers on new config file, when a player claim his vote, plugin tell them that they haven't any claim waiting. Someone can help me pls?
     

    Attached Files:

  9. Have this Error

    Code:
    (20:26:25) | Failed to initialize plugin 'EasyVote v2.0.1' (NullReferenceException: Object reference not set to an instance of an object)
    (20:26:25) | at Oxide.Plugins.EasyVote.Merge[String,String] (IDictionary`2 current, IDictionary`2 defaultDict, Boolean bypass) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.EasyVote.LoadConfigValues () [0x00000] in <filename unknown>:0
      at Oxide.Plugins.EasyVote.Init () [0x00000] in <filename unknown>:0
      at Oxide.Plugins.EasyVote.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Core.Plugins.CSPlugin.HandleAddedToManager (Oxide.Core.Plugins.PluginManager manager) [0x00000] in <filename unknown>:0
    (20:26:25) | Failed to initialize plugin 'EasyVote v2.0.1' (NullReferenceException: Object reference not set to an instance of an object)
    (20:26:25) | at Oxide.Plugins.EasyVote.BuildNumberMax () [0x00000] in <filename unknown>:0
      at Oxide.Plugins.EasyVote.Loaded () [0x00000] in <filename unknown>:0
      at Oxide.Plugins.EasyVote.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.CSharpPlugin.HandleAddedToManager (Oxide.Core.Plugins.PluginManager manager) [0x00000] in <filename unknown>:0
    (20:26:25) | Unloaded plugin EasyVote v2.0.1 by Exel80
     
  10. i have the same
    Code:
    at Oxide.Plugins.EasyVote.BuildNumberMax () [0x00000] in <filename unknown>:0
    at Oxide.Plugins.EasyVote.Loaded () [0x00000] in <filename unknown>:0
    at Oxide.Plugins.EasyVote.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00000] in <filename unknown>:0
    at Oxide.Plugins.CSharpPlugin.InvokeMethod (Oxide.Core.Plugins.HookMethod method, System.Object[] args) [0x00000] in <filename unknown>:0
    at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x00000] in <filename unknown>:0
    at Oxide.Plugins.CSharpPlugin.HandleAddedToManager (Oxide.Core.Plugins.PluginManager manager) [0x00000] in <filename unknown>:0
    (20:40:18) | Unloaded plugin EasyVote v2.0.0 by Exel80
    (20:40:18) | No previous version to rollback plugin: EasyVote
     
  11. It worked to install, but some people are not getting any replies from /vote or /claim
    [DOUBLEPOST=1509740445][/DOUBLEPOST]Found out in the plugin that default group needs "EasyVote.Use" permission... :)
     
  12. Just updated and has anyone got any idea what this error is caused by? It loads the /vote and /claim with no issues but as you can see when you do /claim and it says checking voting sites please wait . then errors this in the console.

    (03:00:27) | [EasyVote] Player "name" tried to claim a reward but this happened ...

    System.InvalidOperationException: No elements in source list

    at System.Linq.Enumerable.Aggregate[Int32] (IEnumerable`1 source, System.Func`3 func) [0x00000] in <filename unknown>:0

    at Oxide.Plugins.EasyVote.RewardHandler (.BasePlayer player, System.String serverName) [0x00000] in <filename unknown>:0

    Thanks.
     
  13. hmmm might be what caused my issue with me claiming yesterday. though other players were able to claim. @Exel80 sorry bro I think something needs to be fixed in latest update.
     
  14. Player has to have "EasyVote.Use" permission, before he can use commands.
    [DOUBLEPOST=1509801596][/DOUBLEPOST]
    Null object reference. It mostly happen when config file doesnt match. Try remove old config and reload plugin. If it not work, check out overview tab. There is current config file
    [DOUBLEPOST=1509801826][/DOUBLEPOST]
    This error happen when/if "Rewards" is null/empty. Try copy paste your config file here, The JSON Validator
    There you can easily see if you have error in your config file.

    Also have you set servers ID and KEY in config file? Like this
    Code:
    "Servers": {
        "ServerName1": {
          "RustServers": "123:hfHPnb"
        }
      },
    [DOUBLEPOST=1509801909][/DOUBLEPOST]
    I will try figure this out. Have you been trouble with multiple vote servers?
    [DOUBLEPOST=1509801970][/DOUBLEPOST]
    Check that your in config file "rewards" isnt empty or null.
    You can also check your config here, The JSON Validator
     
  15. Hi
    There does seem to be an issue. 3 of my players that I know of cannot claim once they have voted. I've given permission to Default group and also to them players individually. It just tells them there are no rewards to collect..... I've setup discordmessages so I know its working for other players. anybody got any suggestions.
    Code:
    {
      "Commands": {
        "money": "eco.c deposit {playerid} {value}",
        "oxidegrantgroup": "oxide.usergroup add {playerid} {value}",
        "oxidegrantperm": "oxide.grant user {playerid} {value}",
        "oxiderevokegroup": "oxide.usergroup remove {playerid} {value}",
        "oxiderevokeperm": "oxide.revoke user {playerid} {value}",
        "rp": "sr add {playerid} {value}",
        "tempaddgroup": "addgroup {playerid} {value} {value2}",
        "tempgrantperm": "grantperm {playerid} {value} {value2}",
        "zlvl-*": "zl.lvl {playername} * +{value}",
        "zlvl-c": "zl.lvl {playername} C +{value}",
        "zlvl-m": "zl.lvl {playername} M +{value}",
        "zlvl-s": "zl.lvl {playername} S +{value}",
        "zlvl-wc": "zl.lvl {playername} WC +{value}"
      },
      "Discord": {
        "Discord webhook (URL)": "https://discordapp.com/api/webhooks/My discord Hook is here",
        "DiscordMessage Enabled (true / false)": "true",
        "Enable @here alert (true / false)": "true",
        "Title": "PureVote"
      },
      "Rewards": {
        "vote1": [
          "supply.signal: 1"
        ],
        "vote2": [
          "supply.signal: 1",
          "money: 50"
        ],
        "vote3": [
          "supply.signal: 1",
          "money: 100"
        ],
        "vote4": [
          "supply.signal: 1",
          "money: 150"
        ],
        "vote5": [
          "supply.signal: 1",
          "money: 200"
        ],
        "vote6": [
          "supply.signal: 1",
          "money: 200"
        ],
        "vote7": [
          "supply.signal: 1",
          "money: 250"
        ],
        "vote8": [
          "supply.signal: 1",
          "money: 275"
        ],
        "vote9": [
          "supply.signal: 1",
          "money: 300"
        ],
        "vote10": [
          "supply.signal: 1",
          "money: 325"
        ],
        "vote11": [
          "supply.signal: 1",
          "money: 350"
        ],
        "vote12": [
          "supply.signal: 1",
          "money: 375"
        ],
        "vote13": [
          "supply.signal: 1",
          "money: 400"
        ],
        "vote14": [
          "supply.signal: 1",
          "money: 425"
        ],
        "vote15": [
          "supply.signal: 1",
          "money: 450"
        ],
        "vote16": [
          "supply.signal: 1",
          "money: 475"
        ],
        "vote17": [
          "supply.signal: 1",
          "money: 500"
        ],
        "vote18": [
          "supply.signal: 1",
          "money: 525"
        ],
        "vote19": [
          "supply.signal: 1",
          "money: 550"
        ],
        "vote20": [
          "supply.signal: 1",
          "money: 575"
        ],
        "vote21": [
          "supply.signal: 1",
          "money: 600"
        ],
        "vote22": [
          "supply.signal: 1",
          "money: 625"
        ],
        "vote23": [
          "supply.signal: 1",
          "money: 650"
        ],
        "vote24": [
          "supply.signal: 1",
          "money: 675"
        ],
        "vote25": [
          "supply.signal: 1",
          "money: 700"
        ],
        "vote26": [
          "supply.signal: 1",
          "money: 725"
        ],
        "vote27": [
          "supply.signal: 1",
          "money: 750"
        ],
        "vote28": [
          "supply.signal: 1",
          "money: 775"
        ],
        "vote29": [
          "supply.signal: 1",
          "money: 800"
        ],
        "vote30": [
          "supply.signal: 1",
          "money: 1000"
        ]
      },
      "Servers": {
        "ServerName1": {
                "RustServers": "76904:My Key is here"
        }
      },
      "Settings": {
        "Globally announcment in chat when player voted (true / false)": "true",
        "Prefix": "<color=cyan>[PureVote]</color>",
        "Send thank you message to player who voted (true / false)": "true",
        "Vote rewards cumulative (true / false)": "false"
      },
      "VoteSitesAPI": {
        "Beancan": {
          "API Claim Reward (GET URL)": "http://beancan.io/vote/put/{0}/{1}",
          "API Vote status (GET URL)": "http://beancan.io/vote/get/{0}/{1}",
          "Vote link (URL)": "http://beancan.io/server/{0}"
        },
        "RustServers": {
          "API Claim Reward (GET URL)": "http://rust-servers.net/api/?action=custom&object=plugin&element=reward&key={0}&steamid={1}",
          "API Vote status (GET URL)": "http://rust-servers.net/api/?object=votes&element=claim&key={0}&steamid={1}",
          "Vote link (URL)": "http://rust-servers.net/server/{0}"
        }
      }
    }
     
  16. @Exel80 I have done further testing today and I was able to claim for the Rust-Servers vote with no issues at all. but the vote for Top Rust Servers stated I had a claim waiting but when I did claim nothing happened and no errors in console / log's I tried doing /claim again but then no outstanding claim was found.

    If someone does do multiple voting sites then come onto the server and claim does the plugin try to process all at once or is there a timer that separates the claim calls so as to make it show all voted sites have been claimed..

    Example:

    Player votes on Top Rust Servers / Rust Server / BeanCan

    Comes onto server and does /claim

    Plugin checks first site in config... Confirms and produces awards. Plugin then checks next site in config, confirms and produces awards. Plugin check final site in config, confirms and produces awards.
     
  17. @PUREjaguar How many time these player has voted? Also it they vote might be over 24h old, RustServer reset every 24h.

    P.S: If you want gave Supply.signal everytime, you can make your rewards json look like this.
    Code:
    "Rewards": {
        "@": [
          "supply.signal: 1"
        ],
        "vote2": [
          "money: 50"
        ],
        "vote3": [
          "money: 100"
        ],
        "vote4": [
          "money: 150"
        ],
        "vote5": [
          "money: 200"
        ],
        "vote7": [
          "money: 250"
        ],
        "vote8": [
          "money: 275"
        ],
        "vote9": [
          "money: 300"
        ],
        "vote10": [
          "money: 325"
        ],
        "vote11": [
          "money: 350"
        ],
        "vote12": [
          "money: 375"
        ],
        "vote13": [
          "money: 400"
        ],
        "vote14": [
          "money: 425"
        ],
        "vote15": [
          "money: 450"
        ],
        "vote16": [
          "money: 475"
        ],
        "vote17": [
          "money: 500"
        ],
        "vote18": [
          "money: 525"
        ],
        "vote19": [
          "money: 550"
        ],
        "vote20": [
          "money: 575"
        ],
        "vote21": [
          "money: 600"
        ],
        "vote22": [
          "money: 625"
        ],
        "vote23": [
          "money: 650"
        ],
        "vote24": [
          "money: 675"
        ],
        "vote25": [
          "money: 700"
        ],
        "vote26": [
          "money: 725"
        ],
        "vote27": [
          "money: 750"
        ],
        "vote28": [
          "money: 775"
        ],
        "vote29": [
          "money: 800"
        ],
        "vote30": [
          "money: 1000"
        ]
      },
    [DOUBLEPOST=1509809743][/DOUBLEPOST]@PryMary I have heard that Top Rust Servers maybe changed API link little bit, so maybe i should take a look that.

    Should plugin gave message to player when it check each site?
    Like: "Now checking ServerName1 RustServers vote status..." "No rewards" or "already claimed" etc?

    Also i should add log system, so server owners now when the error happen.
     
  18. That would be handy yes if it of course is not to much issue. When I get paid I will make a donation for all the work you have put in to help us. A log would really be helpful yes as that way we as server owners can verify and prove should a dispute happen.
     
  19. Thank you :)
    And its not issue at all, i just think how much spam it going to print to player chat. Maybe i can figure something out ;)
     
  20. Thank you for that @Exel80
    1 of the guys voted 10 mins ago as I saw on the website but when he came into the game and claimed reward nothing to claim and nothing in discord but I'm getting discord messages all the time saying other players have received their rewards. weird.......