One question: do you have to have Aseco or Fast installed in your computer to install this plugin? I dont have Aseco or Fast because i'm not running any server, im just a player, so can i have this plugin installed?

=THC=Flash wrote:One question: do you have to have Aseco or Fast installed in your computer to install this plugin? I dont have Aseco or Fast because i'm not running any server, im just a player, so can i have this plugin installed?

It's a server script plugin.

I don't know any client script actually, but anyway such feature can be done only on server side.

Suggestion: When someone leaves near the end of the match, then kick 1 less player, or 2 less for 2 leavers etc. Otherwise, if you have 8 players total, the last 2 leave before the end, and 3 get kicked, players 4 and 5 will get kicked unfairly.

f*ckfish wrote:This play command has nothing to do with the queue plugin. I saw it today on Delirium and don't know, where it comes from.

A possibility for the AutoQueue would be to set all players who are not supposed to play in force spectator state, this way they would not be able to try to enter as player, and the /play command would be disabled for them.

Mmh.. actually that's what I do. I use ForceSpectator(login, 1) on every spectator. If you press "Enter", you'll get the message "You are not allowed..." Is there another thing I forgot that is needed to force them so FAST will know, they are forced spectators?
When I release players, I use ForceSpectator(login, 2) and ForceSpectator(login, 0) to make them able to drive and remove the forced mode, but as soon as they reenter the spectator mode, ForceSpectator(login, 1) is called and they have to wait for the plugin to release them.

Wow, i did not looked the code before... nice work to do a plugin for several scripts system in the same file !

The difficulty is that aseco use a direct synchronous query() with immediate response, while Fast use asynchronous addCall() and the response will be in a future events calls or a callback, and for most stored in global datas. It premit to use multicall queries and so avoid to wait dedicated response at each query and permit to store uptodate datas available to all plugins, but forbid immediate response. Both have advantages and drawbacks...

f*ckfish wrote: Is there another thing I forgot that is needed to force them so FAST will know, they are forced spectators?

If you were using addCall(null,'ForceSpectator', $login, $mode) and not a making a direct query() to the dedicated then Fast would know. Or else do a addCall(null,'GetPlayerInfo',$login) after the query('ForceSpectator', $login, $mode).

In fact with Fast most of your query() could be avoid : GetPlayerInfo and GetDetailedPlayerInfo values are already in the global $_player[$login] array ; maxplayers and maxspecs are already in global the $_ServerOptions array ; GetWarmUp is already in global $_WarmUp. And those arrays are up-to-date (or it's a bug).

I noticed a little inversion (lines 849-850) :
registerCommand('unqueue', 'Put yourself into the waiting queue.');
registerCommand('queue', 'Remove yourself out of the waiting queue.');

Zooz wrote:Suggestion: When someone leaves near the end of the match, then kick 1 less player, or 2 less for 2 leavers etc. Otherwise, if you have 8 players total, the last 2 leave before the end, and 3 get kicked, players 4 and 5 will get kicked unfairly.

This problem still exists and it's still highly unfair for the players who get hit by it. Fix please?

Another suggestion: Time delay for loserkick. Currently they can't even check out the scoreboard before getting kicked, if you allow admins to set a delay they can allow the losers to look at the scoreboard for X seconds before getting the kick.

Zooz wrote:Suggestion: When someone leaves near the end of the match, then kick 1 less player, or 2 less for 2 leavers etc. Otherwise, if you have 8 players total, the last 2 leave before the end, and 3 get kicked, players 4 and 5 will get kicked unfairly.

Another suggestion: Time delay for loserkick. Currently they can't even check out the scoreboard before getting kicked, if you allow admins to set a delay they can allow the losers to look at the scoreboard for X seconds before getting the kick.
...
I can still use /play after this, somehow. It only seems to remove /play from the help texts.

I'll try to fix all of it in the next weak, although I cannot promise anything since I'm currently moving into another apartment.

Zooz wrote:Idlekick kicks anyone who doesn't finish in warmups, even though they are driving through checkpoints. That's kind of a problem, is it fixable? ^^

That's indeed weird, I'll have a look at it.

Slig wrote:Wow, i did not looked the code before... nice work to do a plugin for several scripts system in the same file !

Thanks =)

Slig wrote:The difficulty is that aseco use a direct synchronous query() with immediate response, while Fast use asynchronous addCall() and the response will be in a future events calls or a callback, and for most stored in global datas. It premit to use multicall queries and so avoid to wait dedicated response at each query and permit to store uptodate datas available to all plugins, but forbid immediate response. Both have advantages and drawbacks...

If you were using addCall(null,'ForceSpectator', $login, $mode) and not a making a direct query() to the dedicated then Fast would know. Or else do a addCall(null,'GetPlayerInfo',$login) after the query('ForceSpectator', $login, $mode).

That's good to know

Slig wrote:In fact with Fast most of your query() could be avoid : GetPlayerInfo and GetDetailedPlayerInfo values are already in the global $_player[$login] array ; maxplayers and maxspecs are already in global the $_ServerOptions array ; GetWarmUp is already in global $_WarmUp. And those arrays are up-to-date (or it's a bug).

I can still use /play after this, somehow. It only seems to remove /play from the help texts.

Really strange
You can just delete the file ./plugins/cmd/chat.spec.php
Btw when fufi will have fixed the plugin about that the command will just be disabled automatically when the player is forced spec.