Giter Site home page Giter Site logo

Comments (18)

maks100 avatar maks100 commented on May 16, 2024 2

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.

GerardSmit avatar GerardSmit commented on May 16, 2024

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.

js6pak avatar js6pak commented on May 16, 2024

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.

AeonLucid avatar AeonLucid commented on May 16, 2024

@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.

BrightSkyz avatar BrightSkyz commented on May 16, 2024

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.

Mm2PL avatar Mm2PL commented on May 16, 2024

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.

Akilestar avatar Akilestar commented on May 16, 2024

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.

roobscoob avatar roobscoob commented on May 16, 2024

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.

A-Cloud-Ninja avatar A-Cloud-Ninja commented on May 16, 2024

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.

roobscoob avatar roobscoob commented on May 16, 2024

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.

js6pak avatar js6pak commented on May 16, 2024

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.

Fredthedoggy avatar Fredthedoggy commented on May 16, 2024

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.

Trolldemorted avatar Trolldemorted commented on May 16, 2024

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.

DiamondDagger590 avatar DiamondDagger590 commented on May 16, 2024

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.

real2two avatar real2two commented on May 16, 2024

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.

real2two avatar real2two commented on May 16, 2024

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.

gideongrinberg avatar gideongrinberg commented on May 16, 2024

What about using another scripting language for extensions. Also are extensions server or client?

from impostor.

AeonLucid avatar AeonLucid commented on May 16, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.