About PveMode
This plugin does not have its own functionality
This plugin is only used as an API for other plugins
Creates a configurable PVE mode out of compatible events and plugins
Supported Plugins
- AirEvent
- HarborEvent
- WaterEvent
- Satellite Dish Event
- Power Plant Event
- JunkyardEvent
- Defendable Bases
- BossMonster
- BetterNpc
- Convoy
API
void EventAddPveMode(string shortname, JObject configJson, Vector3 position, float radius, HashSet<uint> crates, HashSet<uint> scientists, HashSet<uint> tanks, HashSet<ulong> owners, BasePlayer owner)
Creates a PVE event mode
- shortname – name of event
- configJson – PVE mode configuration (more details below in the description)
- position – event position on the map
- radius – radius of the event zone
- crates – list of all event crates (including locked crates)
- scientists – list of all NPCs active during event
- tanks – list of all Bradley events
- owners – list of all event owners (this parameter is necessary if you need to create an event zone several times)
- owner – event owner (this parameter is required if you need to run an event with the owner)
void EventRemovePveMode(string shortname, bool addCooldownOwners)
Removes PVE mode for the event
- shortname – name of event
- addCooldownOwners – should there be a cooldown for all event owners if this parameter is active in the PVE mode configuration? (this parameter is necessary if you need to create an event zone several times and issue a cooldown only in the last iteration)
void EventAddCrates(string shortname, HashSet<uint> crates)
Adds crates to the event if active in PVE mode
- shortname – name of event
- crates – list of event crates to be added (including locked crates)
void EventAddScientists(string shortname, HashSet<uint> scientists)
Adds NPCs to the event if active in PVE mode
- shortname – name of event
- scientists – list of added event NPCs to be added
void EventAddTanks(string shortname, HashSet<uint> tanks)
Adds Bradley to the event if active in PVE mode
- shortname – name of event
- tanks – list of added Bradleys event to be added
HashSet<ulong> GetEventOwners(string shortname)
Returns a list of SteamID for all of the Event Owners during the operation of an event
- shortname – name of event
ulong GetEventOwner(string shortname)
Returns the SteamID of the current Event Owner (if there is no Event Owner, it returns 0)
- shortname – name of event
void SetEventOwner(string shortname, ulong owner)
Sets the current Event Owner
- shortname – name of event
- owner – SteamID of the player
HashSet<string> GetEventsPlayer(ulong id)
Returns a list of event zones where the player is located
- id - SteamID of the player
Dictionary<string, double> GetTimesPlayer(ulong id)
Returns a list of events and the time when the player participated in the event the last time
- id - SteamID of the player
PVE Mode Configuration
- float Damage – The amount of damage that the player has to do to become the Event Owner
- HashSet<ScaleDamageConfig> ScaleDamage – Damage coefficients for calculation to become the Event Owner
- bool LootCrate – Can other players and teams loot the crates if not Event Owner or their team? [true/false]
- bool HackCrate – Can other players and teams hack locked crates if not Event Owner or their team? [true/false]
- bool LootNpc – Can other players and teams loot NPC corpses if not Event Owner or their team? [true/false]
- bool DamageNpc – Can other players and teams deal damage to the NPC if not Event Owner or their team? [true/false]
- bool DamageTank – Can other players and teams do damage to Bradley if not Event Owner or their team? [true/false]
- bool TargetNpc – Can an Npc attack other players and teams if not Event Owner or their team? [true/false]
- bool TargetTank – Can Bradley attack other players and teams if not Event Owner or their team? [true/false]
- bool CanEnter – Allow other players and teams to enter the Event Zone if not Event Owner or their team? [true/false]
- bool CanEnterCooldownPlayer – Allow a player who has an active cooldown as the Event Owner to enter the event zone? [true/false]
- int TimeExitOwner – The time that the Event Owner can leave the Event Zone and retain title [sec.]
- int AlertTime – The Warning time until Event Owner status will end [sec.]
- bool RestoreUponDeath – Prevent RestoreUponDeath plugin from functioning in the Event Zone? (Player will drop gun and inventory when in Event Zone) [true/false]
- double CooldownOwner – Cooldown timer for Event Owner until they can achieve the title again, after the end of an event where the player was its owner [sec.]
- int Darkening – Darkening of the dome (0 – disables the dome)
Example:
JObject config = new JObject { ["Damage"] = 500f, ["ScaleDamage"] = new JArray { new JObject { ["Type"] = "NPC", ["Scale"] = 1f }, new JObject { ["Type"] = "Bradley", ["Scale"] = 2f } }, ["LootCrate"] = false, ["HackCrate"] = false, ["LootNpc"] = false, ["DamageNpc"] = false, ["DamageTank"] = false, ["TargetNpc"] = false, ["TargetTank"] = false, ["CanEnter"] = false, ["CanEnterCooldownPlayer"] = true, ["TimeExitOwner"] = 300, ["AlertTime"] = 60, ["RestoreUponDeath"] = true, ["CooldownOwner"] = 86400, ["Darkening"] = 12 };
Chat commands
EventsTime - shows the player a list of how much time has passed since participating in the event the last time
Console commands (RCON only)
ClearTimePveMode {steamid} - clears the list of the time when the player with SteamID ({steamid}) participated in the event the last time
My Discord: KpucTaJl#8923
Join the Mad Mappers Discord here!
Check out more of my work here!