How do you know it didn't work in game?
Did you shoot someone who has PvP = False

PvX Selector
Allows PvE/PvP Gameplay on one server.
Total Downloads: 683 - First Release: Apr 21, 2016 - Last Update: Mar 10, 2017
- 5/5, 14 likes
-
Yes I try with my modo has done on the request Two All PvP Then I accept both ticket in the data I have seen that it is a false move but could not touch neither one nor the other then 2 3 hours after I notice that I made to him of the damage so I do not understand too ..
I'll try again but I test well pensse that its does not function : /
EDIT: Ok last test for pvx its good, he working i dont understand why lather i have this beug so
I prefer to put deceive que la plugins do not work ^^ Sorry if you have loose lot of time at screach the the bug :$Last edited by a moderator: Jul 12, 2016 -
-
Yes no problem, google translate is not very good for talk english realy sorry guy.. :/
[DOUBLEPOST=1468433643][/DOUBLEPOST]
I sends you a copy in English is so is still not very correct but people will know it works well
Yes I try with my moderator to demand pvp , I accept the two tickets in the data files I noted that the pvp go well true, but I could not do dmg , then 2 3 hours later I noticed that I could do him damage, so I do not understand too ..
I'll try again , but I pensse although this does not work : /
EDIT: Okay I redid a test it works I do not understand why but I prefer to deceive and the plugins do not work ^^ Sorry if you lose a lot of time searching for the bug: /
I hope that I do not really have to worry about with but I do not pensse
If you expect to make the new update I would still be the test for her for you : D -
How can I fix that problem:
[Oxide] 21:28 [Debug] at Oxide.Plugins.PvXselector.DamageEntity (.BasePlayer attacker, .BaseEntity _entity) [0x00000] in <filename unknown>:0
at Oxide.Plugins.PvXselector.OnEntityTakeDamage (.BaseCombatEntity entity, .HitInfo hitinfo) [0x00000] in <filename unknown>:0
at Oxide.Plugins.PvXselector.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 name, System.Object[] args) [0x00000] in <filename unknown>:0 -
When did this error happen? -
I'm a pve player, if I try to destroy a building from a pve/pvp player, I can see this error code in rcon and not in the gui (not allowed message).
Plugin: 0.6.0 (08.07.2016)
Server+Client+Oxide: Update from 15.07.2016 (16 o'clock)Last edited by a moderator: Jul 15, 2016 -
-
I'm using the latest oxide (released since 44 minutes, GitHub - OxideMod/Snapshots: Latest and greatest snapshots for all Oxide projects.)
-
This mod is dependent on that mod, if that mod does not work or is out of date I can not guarantee my mod will work.
As per my test today the mod works on my test server running just Oxide and RustIO with everything up to day.
Please confirm RustIO and Oxide are both correctly up to date.
############################################################
Development Update
So I have done some more work on my Dev version of this mod.
State:
- Overlay shows
- new ticket system partly functional - Creates tickets
- some chat commands are writen
Code:namespace Oxide.Plugins { [Info("PvXSelector", "Alphawar", "0.6.0", ResourceId = 1817)] [Description("Player vs x Selector")] class PvXselector : RustPlugin { void OnServerInitialized() { LoadData(); InfoCache = playerData.Info; checkPlayersRegistered(); } void Loaded() { PlayerData = Interface.Oxide.DataFileSystem.GetFile("PvX/PlayerData"); TicketData = Interface.Oxide.DataFileSystem.GetFile("PvX/TicketData"); TicketLog = Interface.Oxide.DataFileSystem.GetFile("PvX/TicketLog"); lang.RegisterMessages(messages, this); permissionHandle(); LoadVariables(); } void saveInfoCache() { playerData.Info = InfoCache; PlayerData.WriteObject(playerData); } void saveTicketData() { TicketData.WriteObject(ticketData); } void saveTicketLog() { TicketLog.WriteObject(TicketLog); } void SaveAll() { playerData.Info = InfoCache; PlayerData.WriteObject(playerData); TicketData.WriteObject(ticketData); TicketLog.WriteObject(ticketLog); } // Main Controlls [ChatCommand("pvx")] void PvXCmd(BasePlayer _player, string cmd, string[] args) { if ((args == null || args.Length == 0)) return; switch (args[0].ToLower()) { case "admin": AdminFunction(); return; case "change": //Working, Not fully tested, No Debugg includded if ((args.Length < 2) && (args[1] != "pve") && (args[1] != "pvp")){ LangMSG(_player, "IncoFormPleaUse"); ChatMessageHandle(_player, "/pvx change [pvp/pve]"); return; } if (isplayerNA(_player)){ LangMSG(_player, "IncoFormPleaUse"); ChatMessageHandle(_player, "/pvx select [pvp/pve]"); return; } changeFunction(_player, args[1]); return; case "debug": debugFunction(); return; case "developer": developerFunction(); return; case "help": helpFunction(); return; case "select": //Working, Not fully tested, No Debugg includded if ((args.Length < 2) && (args[1] != "pve") && (args[1] != "pvp")){ LangMSG(_player, "IncoFormPleaUse"); ChatMessageHandle(_player, "/pvx select [pvp/pve]");} selectFunction(_player, args[1]); return; case "ticket": //Ticket Edit Cancel working, Not fully tested, No Debugg includded if (args.Length < 3) { LangMSG(_player, "IncoFormPleaUse"); if (IsAllowed(_player, "admin", "null")) ChatMessageHandle(_player, "/pvx ticket admin [list/accept/decline/display]"); ChatMessageHandle(_player, "/pvx ticket edit [cancel/reason]"); } if (args.Length > 4) { LangMSG(_player, "IncoFormPleaUse"); if (IsAllowed(_player, "admin", "null")) ChatMessageHandle(_player, "/pvx ticket admin [list/accept/decline/display]"); ChatMessageHandle(_player, "/pvx ticket edit [cancel/reason]"); } if (args.Length == 3) ticketFunction(_player, args[1].ToLower(), args[2].ToLower(), "NA"); else ticketFunction(_player, args[1].ToLower(), args[2].ToLower(), args[3]); return; default: return; } } // Functions void createTicket(BasePlayer _player, string selection) { int _TicketNumber = GetNewID(); string _username = _player.UserIDString; string _requested = selection; string _reason = lang.GetMessage("TicketDefaultReason", this, _player.UserIDString); double _timeStamp = GetTimeStamp(); ticketData.Link.Add(_TicketNumber, _player.userID); ticketData.Info.Add(_player.userID, new Ticket { username = _username, TicketNumber = _TicketNumber, reason = _reason, requested = _requested, timeStamp = _timeStamp }); InfoCache[_player.userID].ticket = true; SaveAll(); } void editTicket(BasePlayer _player, string _reason) { if (InfoCache[_player.userID].ticket == false) { ChatMessageHandle(_player, "NoActTick"); return; } else ticketData.Info[_player.userID].reason = _reason; ChatMessageHandle(_player, "RSNChan"); } bool playerHasTicket(BasePlayer _player) { if (InfoCache[_player.userID].ticket == true) return true; else return false; } bool IsAllowed(BasePlayer _player, string perm, string reason) { if (permission.UserHasPermission(_player.UserIDString, perm)) return true; if (reason != "null") SendReply(_player, reason); return false; } double GetTimeStamp() { return (DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds; } bool isplayerNA(BasePlayer _player) { if (InfoCache[_player.userID].mode == "NA") return true; else return false; } void checkPlayersRegistered() { foreach (BasePlayer _player in BasePlayer.activePlayerList) if (!(InfoCache.ContainsKey(_player.userID))) { InfoCache.Add(_player.userID, new PlayerInfo { username = _player.displayName, mode = "NA", previousMode = "NA", ticket = false, timeStamp = GetTimeStamp() }); saveInfoCache(); SelectorOverlay(_player); } } // Chat Functions void AdminFunction() { } void changeFunction(BasePlayer _player, string _Selection) { if (playerHasTicket(_player) == true) { ChatMessageHandle(_player, "AlreadySubmitted"); return; } createTicket(_player, _Selection); } void selectFunction(BasePlayer _player, string _Selection) { if (InfoCache[_player.userID].mode == "NA") { InfoCache[_player.userID].mode = _Selection.ToUpper(); InfoCache[_player.userID].previousMode = _Selection.ToUpper(); saveInfoCache(); } } void ticketFunction(BasePlayer _player, string _mode, string _selection, string _value) { if (_mode == "edit") { if (!(_selection == "cancel")&&(_selection == "reason")) { LangMSG(_player, "IncoFormPleaUse"); ChatMessageHandle(_player, "/pvx ticket edit [cancel/reason]"); } if (_selection == "cancel") { int _ticketNumber = ticketData.Info[_player.userID].TicketNumber; ticketData.Link.Remove(_ticketNumber); ticketData.Info.Remove(_player.userID); InfoCache[_player.userID].ticket = false; SaveAll(); } } else if ((_mode == "admin")&&(IsAllowed(_player,"admin","null"))) { } else { LangMSG(_player, "IncoFormPleaUse"); if (IsAllowed(_player, "admin", "null")) ChatMessageHandle(_player, "/pvx ticket admin [list/accept/decline/display]"); ChatMessageHandle(_player, "/pvx ticket edit [cancel/reason]"); } }
-
Now it works, I have reinstalled the server
@Alphawar: How can I easily add the overlay function in the current stable version? -
-
Hello, I come to you now because there's a little more regular player on my server and a lot of PvE and PvP player we find a lot of fault which may give a bad gameplay pvp players or PvE same. So I wonder if I offer ideas would be possible to see her and choose the one that best emblem for me as for all your plugins. So the real question is what you are available for rework on your plugins
-
So please let me know your ideas and I will see if they can be added.
Thanks. -
Infact I would like when a player reach a certain level they should choose PvP or PvE. So if he chose pvp it will continue to xp normally and if they then decided to spend the PvE they can no longer remain xp and block level decide.
And the best would be that at 30 all players can have a Hud (Gui) with choice PvP / PvE and a changeable background image for why should he choose now
This would experience a server until a selected level for PvE players and of course if the players want to start pvp they can choose to start
Then her would be nice to define a maximum number of ticket (pvx exchange)
I had a lot of things in head but unfortunately I do not reminds me of all, I would not hesitate if they ever come back to me
Thank you very much for your quick response
And told me if u dont understand -
If they go PvE, They will stay at there current XP level, But will not gain any more levels.
Would this be correct
-
All new player can choose Pvp/Pve and choose one lvl limit (example 30) if one player is lvl 30 the plugins spawn a Gui with choose PvP or PvE and if he choice PvE xp is stop for him (lvl 30 max for all guy PvE), if he choice PvP he can xp normaly. Need a background on this GUI for explain why he choose now pvp or pve and say if he want he can demands switch pvp for xp alright and never swtich pve if he is 31 or more so can come back on pve after lvl 30 so if this ticket is accept the player is reset at lvl 30 (Can just use XpControl for this if you dont have many time)
And if you can add a variable for choose how many can change demand a new ticket for change pvp or pve.
Google transalte is bad, i try again with my bad english x)
@LaserHydra
I post an idea a little push here to see if it was possible to do so only with the PvxSelector here but here you have my idea a little more clearly ^^Last edited by a moderator: Jul 20, 2016 -
-
You are just amazing if you happen to make her !! : D PvP PvE still some flaws ingame , pvp player who lives in a PvE player ( home not raid ) .
Then I do not know if it was desired but deployable from a PvE player ( campfires chests etc.) can be destroyed leaving the pvp players ( I do not know for between two player PvE )
May be only one variable to activate the xp this block etc (this idea) and can change the max lvl for PvE and How Many ticket demands ( I would be able to wipe the plugins months after leaving (all data as of lvl ) ).
This would permit the people to continue downloading your plugins without the PvE players will either block a selected level.
If I have something other in head I would share his pleasureLast edited by a moderator: Jul 20, 2016 -
Progress Update:
Completed commands: /pvx {options}
- select pve/pvp
- change pve/pvp
- ticket edit "..."
- ticket cancel
- ticket admin list {options} - 80% Completed
Commands to include soon:
- ticket admin accept/decline
- Finsh ticket admin list
- help
Funtions to be added
- Improved gui
- replace old damage system with new damage system
- impliment customisation
Next working Patch:
Eta 1-2 days - for testing