Duelist

Moved

Total Downloads: 2,050 - First Release: Jun 15, 2017 - Last Update: Jul 20, 2018

5/5, 19 likes
  1. still get this

    (19:10:15) | [Oxide] 19:10 [Error] Failed to call hook 'OnPlayerSleepEnded' on plugin 'Duelist v0.1.2' (NullReferenceException: Object reference not set to an instance of an object)

    (19:10:15) | [Oxide] 19:10 [Stacktrace] at Oxide.Plugins.Duelist.OnPlayerSleepEnded (.BasePlayer player) [0x00000] in <filename unknown>:0

    at Oxide.Plugins.Duelist.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00000] in <filename unknown>:0

    at Oxide.Plugins.CSharpPlugin.InvokeMethod (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
     
  2. nivex updated Duelist with a new update entry:

    0.1.3

     
  3. 20:15 [Error] Failed to call hook 'CanNetworkTo' on plugin 'Duelist v0.1.3' (NullReferenceException: Object reference not set to an instance of an object)
    20:15 [Stacktrace] at Oxide.Plugins.Duelist.CanNetworkTo (.BaseNetworkable entity, .BasePlayer target) [0x00000] in <filename unknown>:0
    at Oxide.Plugins.Duelist.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00000] in <filename unknown>:0
    at Oxide.Plugins.CSharpPlugin.InvokeMethod (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.Plugin.CallHook (System.String hook, System.Object[] args) [0x00000] in <filename unknown>:0
     
  4. Delete your config and data file and try again :|
     
  5. Wulf

    Wulf Community Admin

    Have you added any debug output to see what is coming up null in CanNetworkTo?
     
  6. Yeah. That's how I found that the player object was null. I fixed that and I haven't had any issues since :|
     
  7. Wulf

    Wulf Community Admin

    Yeah, you should always check if the player exist or not if that's what you expect from a hook with BaseEntity or BaseCombatEntity as the arg.
     
  8. nivex updated Duelist with a new update entry:

    0.1.4

     
  9. (23:42:53) | [Oxide] 23:42 [Error] Failed to call hook 'OnLootEntity' on plugin 'Duelist v0.1.4' (NullReferenceException: Object reference not set to an instance of an object)

    (23:42:53) | [Oxide] 23:42 [Stacktrace] at Oxide.Plugins.Duelist.OnLootEntity (.BasePlayer player, .BaseEntity entity) [0x00000] in <filename unknown>:0

    at Oxide.Plugins.Duelist.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00000] in <filename unknown>:0

    at Oxide.Plugins.CSharpPlugin.InvokeMethod (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.Plugin.CallHook (System.String hook, System.Object[] args) [0x00000] in <filename unknown>:0
    [DOUBLEPOST=1497681877][/DOUBLEPOST]and
    (23:42:53) | [Oxide] 23:42 [Error] Failed to call hook 'Unload' on plugin 'Duelist v0.1.4' (NullReferenceException: Object reference not set to an instance of an object)

    (23:42:53) | [Oxide] 23:42 [Stacktrace] at Oxide.Plugins.Duelist.ResetTemporaryData () [0x00000] in <filename unknown>:0

    at Oxide.Plugins.Duelist.Unload () [0x00000] in <filename unknown>:0

    at Oxide.Plugins.Duelist.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00000] in <filename unknown>:0

    at Oxide.Plugins.CSharpPlugin.InvokeMethod (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.Plugin.CallHook (System.String hook, System.Object[] args) [0x00000] in <filename unknown>:0
     
  10. Eat

    Eat

    lost cold damage
     
    • Any chance this could deal with names better instead of needing steamid?
    • would it be possible to add restore data so players dont have to be naked to enter duels?
    • Also the winner goes back to where they originally were, the loser has to respawn at a bag or spawnpoint :/
    • Would it be possible for there to be 1 duel per zone and a configurable max zones at a time option, so that when you enter the queue, if 5 out of 5 of your zones are being fought it, one of em must be freed up before someone else can play in em.
    • Can you make it so there's a config option for admins to not see the other players too? It's fun to play but we can see everyone dueling at once! :D
    • Any chance the zone could generate walls around it?
    • Apparently the projectiles from separate duels damage other duelists if they hit em.
    • Can this also be integrated with Z-levels so you dont lose levels on death like you do normally
    • Lot of projectile anti hack console spam.
    Apart from all that it's a very smooth plugin.

    @nivex

    upload_2017-6-17_16-0-22.png
     
    Last edited by a moderator: Jun 17, 2017
  11. If I use it on a PVE server players receive no damage. How can I fix that?
     
  12. I doubt you can, pve would override
     
  13. editnvm
     
    Last edited by a moderator: Jun 17, 2017
  14. Seems like multiple can join the same duel ( not just 1v1 ) - is this intended?
     
  15. How is this being done?

    Multiple players are allowed in the same dueling zone because they all have invisibility.
     
    Last edited by a moderator: Jun 18, 2017
  16. i would be very nice if the players didnt need the steamid.
    you can use this for search the player from a name .

    Code:
    private static BasePlayer FindPlayer(string nameOrIdOrIp)
            {
                foreach (var activePlayer in BasePlayer.activePlayerList)
                {
                    if (activePlayer.UserIDString == nameOrIdOrIp)
                        return activePlayer;
                    if (activePlayer.displayName.Contains(nameOrIdOrIp))
                        return activePlayer;
                    if (activePlayer.net?.connection != null && activePlayer.net.connection.ipaddress == nameOrIdOrIp)
                        return activePlayer;
                }
                return null;
            }

    also would it be awesome to get a setting for giving Reward points not only at wipe. :p

    but despite that, awesome plugin, great work!
     
    Last edited by a moderator: Jun 17, 2017
  17. I got it working Only thing is people can access server rewards with the /s command and the gui shop on my server with the /shop command and buy guns while in the duel
    [DOUBLEPOST=1497740981][/DOUBLEPOST]also people in the duel can shoot out of the sphere and kill other players that may happen by
     
  18. @Soulconsumer

    I'm not sure how to resolve this. If you figure it out I will add it.

    @Crushed

    It's saying try to use their steam id because it can't find the player. And it can't find the player because of clan tags. This is fixed in the next update.

    Players are given points when they win a duel and confirmed with a message to them. Just set the amount above 0 in the config to enable this.

    @MeatCircus

    I have a solution for people acquiring item's.

    I've fixed damage in the next update

    • Fixed in next update
    • I'll consider this in a future update
    • This is a bug and not intended. If it's not fixed in the next update please let me know
    • Added in next update via your request
    • I can add this
    • No plans to use walls unless someone contributes the code for it. Walls must be level at the top to avoid issues on hills.
    • Fixed in next update
    • I can look into this
    • Not sure how to resolve this.
     
    Last edited by a moderator: Jun 18, 2017
  19. nivex updated Duelist with a new update entry:

    0.1.5