Comments (18)
Hi could anybode help me in code in which place it is crearly seen that meeting has started? (I wanna make discord mute functionality...)
PS: maybee we chould create additional discution flow for this essential feature?
from impostor.
We'll need to disable PublishTrimmed
so plugins don't get the issue that methods / assemblies are being trimmed that they want to use.
from impostor.
Simple and cool events based on attributes, i.e.
[Plugin] // info about plugin should be gathered from assembly attributes :)
public class TestPlugin
{
public TestPlugin([Inject] EventManager eventManager) // Dependency injection on constructor and properties?
{
eventManager.Subscribe(this);
}
[EventHandler]
public void OnPlayerConnect(PlayerConnectEvent @event)
{
this.Logger.LogInfo(@event.Player.Name); // Microsoft.Extensions.Logging?
}
}
I guess I just like reflection
from impostor.
@GerardSmit I want to put the plugin API stuff in a separate library so it can just be disabled in there. I believe it is also possible to exclude stuff from trimming with annotations but I can't find where I read that anymore.
from impostor.
I would like to see a way to get low level packet data for if something isn't implemented yet or you just need it. Also, I would like to see a way to cancel relaying the packet to the other players.
from impostor.
I would like to have a simple enough API for high level things, like chat, maybe commands. IMO it would be nice if plugins could change properties of players and Games directly. A good example to use here is a plugin that would change the number of impostors or the current map, which should technically be possible AFAIK, but isn't in the game probably due to searching for public lobbies. IMO Enabling things that aren't possible with the client's UI is a good use of commands.
from impostor.
I would like to have a simple enough API for high level things, like chat, maybe commands. IMO it would be nice if plugins could change properties of players and Games directly. A good example to use here is a plugin that would change the number of impostors or the current map, which should technically be possible AFAIK, but isn't in the game probably due to searching for public lobbies. IMO Enabling things that aren't possible with the client's UI is a good use of commands.
+1, especially for changing the number of imposters. We have "house rules" for game types that require different numbers of imposters. Adding the ability to modify the min and max settings for the in game rules would be nice too. ie. Override the Kill Cooldown minimum to 1 second. Adding webhooks would be really nice too. Even for something as simple as the server running.
from impostor.
This is awesome! I'm looking for access to to events such as
Functions:
- Create Game
- Destroy Game
Events:
- Game Start
- On Meeting Start
- On Meeting end
Live Data:
- Connected Players
- States of connected players (Name / Color / Hat / Position / Is Dead, etc.)
from impostor.
This is awesome! I'm looking for access to to events such as
Functions: - Create Game - Destroy Game Events: - Game Start - On Meeting Start - On Meeting end Live Data: - Connected Players - States of connected players (Name / Color / Hat / Position / Is Dead, etc.)
In terms of the live data, i think it would be better suited to effectively just serve those as events. Connected players? Just log all players who connect with an event callback. States of them? In theory, I would want to have them as an object to manipulate, or at the very least for querying info about them, and having a "playerUpdate" callback that receives the new updated player object whenever something happens to them.
from impostor.
I would like to have a WebSocket or TCP connection to Imposter, that way it can be interfaced with any language or multiple programs at once.
from impostor.
I would like to have a WebSocket or TCP connection to Imposter, that way it can be interfaced with any language or multiple programs at once.
Thats plugin territory
from impostor.
1 Suggestion that I talked with AeonLucid about on discord, is a way to cancel events.
This way I could cancel a meeting event if I wanted to, or cancel a message from being sent to everyone (Custom Filters/Chat)
This would not remove the action on the users-end, but would cancel it for everyone else (but canceling a meeting would have to cancel it for everyone).
from impostor.
Registering to all kind of events (movement, kill, vent usage, object usage) would be awesome, I'd like to create heatmaps like wot has.
from impostor.
Currently working on a system for decoding packets to turn these into events. Current project is the settings change packet and I plan to hook that into an event. I also have a semi functional PlayerJoinGame event with cancellable status, however it doesn't cleanly kick the player so there needs to be further modifications to make that work
from impostor.
This is awesome! I'm looking for access to to events such as
Functions: - Create Game - Destroy Game Events: - Game Start - On Meeting Start - On Meeting end Live Data: - Connected Players - States of connected players (Name / Color / Hat / Position / Is Dead, etc.)
maybe "On connect", "On join" and "On disconnect" if not already.
"on connect" would be while joining. (possibly cancellation of kicking the player even if the max players is already greater than 10)
"on join" would be if you successfully join the game (like the player successfully joins without any errors like there is already max players in the game).
"on disconnect"... well if you disconnect from the game.
from impostor.
If anyone actually is going to make plugins here, here's suggestions:
- Chat moderation plugin.
- Anticheat.
- Spectator (not you being a ghost... a spectator).
- Better chatting. (possibly make a "/imposchat" as an addition for chatting)
from impostor.
What about using another scripting language for extensions. Also are extensions server or client?
from impostor.
The initial beta api is now out, please see https://github.com/Impostor/Impostor/blob/dev/docs/Writing-a-plugin.md and use the issues on the bottom for further discussion.
from impostor.
Related Issues (20)
- Can't start server : address already in use HOT 1
- Anticheat incorrectly triggers on polus
- Only 1 impostor is recognized as an impostor in a game with 2 impostors HOT 4
- when i connect to my server it shows server_didn't_respond_to_modded_handshake HOT 1
- Cannot connect destination host HOT 2
- How to get a player's FriendCode HOT 1
- Anticheat can falsely ban host when client joins and leaves immediately HOT 1
- Cannot play with more than 23 players HOT 4
- You disconnected from the server HOT 2
- Can not create a room HOT 4
- How to let a player send message by using Impostor.API HOT 1
- [New API]Add API to check if other Games exist in the server to IGameDestroyedEvent HOT 2
- Creating a room will result in cancellation of login. Is there any way to solve it?
- Creating a room will result in cancellation of login. Is there any way to solve it? HOT 2
- DISCONNECTED HOT 2
- Disconnected HOT 5
- Issuses HOT 2
- Creating a room will result in cancellation of login. It is in Docker Version. HOT 11
- You disconnected from the server HOT 2
- host with TOH_ForE mod is disconnected from server when other joins HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from impostor.