AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Approved Plugins (https://forums.alliedmods.net/forumdisplay.php?f=8)
-   -   Infinite Round (v2.1.2) (https://forums.alliedmods.net/showthread.php?t=117782)

Arkshine 02-04-2010 16:28

Infinite Round (v2.1.2)
 
1 Attachment(s)


Infinite Round
∞ v2.1.2, released May 6th, 2013


Simple and efficient way to have no round end whatever the situation like :
  • when all players on one team are dead ;
  • when the round timer has ended ;
  • when the objectives has been completed.
It doesn't use bots (no extra slots used) like others plugins, it simply blocks some CS functions.



Contents :


REQUIREMENTS
∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙

  • Counter-Strike 1.6 / Condition Zero.
  • AMX Mod X 1.8.2 and higher.
  • Orpheu 2.4 and higher.
  • Cvar Utilities v1.6 and higher.
  • Steam server.


USAGE (CVARS)
∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙

  • ir_block_roundend <Flags|*>
    ├ What round type you wish to block.
    Default value : "*".

    Tip : If you want to block all, it's recommended to use "*" as value.

    Flags :
    a - Round Time Expired
    b - Bomb Exploded
    c - Bomb Defused
    d - Hostages Rescued
    e - Vip Escaped
    f - Vip Assassinated
    g - Terrorist Win
    h - CT Win
    i - Round Draw
    j - Terrorists Escaped
    k - CTs Prevent Escape
    Flags are additive. Example : ir_block_roundend "ah"
  • ir_block_gamecommencing <0|1>
    ├ Whether you want to block GameCommencing message be triggered.
    Default value : "0".

    This message happens when the game has not yet started and there are 2 players at least.
    If you want to test something, you may want to enable this cvar.
    It's by default disabled because some plugins/mods rely on this message to do stuffs, like Gungame.
  • ir_active_api <0|1>
    ├ Whether you want to activate the API or not. It concerns only the forward.
    Default value : "0".

    For more informations, you can see the developper details below.


DEVELOPPERS NOTES
∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙

  • Technical details - How works the plugin ?

    All rounds ends are handled by three functions, more specifically :

    CHalfLifeMultiplay::HasRoundTimeExpired()

    • Round time [Linux only]

    CHalfLifeMultiplay::Think()

    • Round time [Windows only];
    • Default round end (game not started or no more player ; we don't touch them in this plugin).

    CHalfLifeMultiplay::CheckWinConditions()

    • Game commencing
    • Vip round ;
    • Prison round ;
    • Bomb round ;
    • Hostage round ;
    • Team extermination.

    Note about HasRoundTimeExpired() : this function is called from Think() and checks for round time. Unfortunately, because of optimization at compilation time, the content of this function under windows is integrated directly in Think(), which disallow us to hook it, even though the function still exists, but not called.

  • API

    - forward OnRoundEnd( const RoundEndType:type );
    This forward is called when a round end is triggered before it happens.
    You can return PLUGIN_HANDLED to block the round end happening.

    Note #1 : it supercedes the value of the ir_block_roundend cvar.
    Note #2 : since CheckWinConditions function can be called few times at once, it will happen for the forward too. Nothing is filtered, so keep that in mind.
    - native SetBlockingRoundEnd( const RoundEndType:type );
    Same behavior as the ir_block_roundend cvar.
    Any suggestions to improve the API are welcomed.
    Don't forget to take a look in the include file to see the available constants.


GENERAL NOTES
∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙



CHANGE LOG
∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙


list


INSTALLATION
∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙
  1. If you don't have Orpheu module - Go there and follow instructions at the end of the post.
  2. If you don't have Cvar Utilises module - Follow the install instructions from the module thread ;
  3. Download infinite_round-files-xx.zip and unzip the content in your $mod/ directory ;
  4. In your plugins.ini file, add infinite_round.amxx where you want ;
  5. Restart your server.

INSTALLATION FILES
∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙


Arkshine 02-04-2010 16:29

Re: Infinite Round
 
reserved.

DarkGod 02-04-2010 16:32

Re: Infinite Round
 
Where is the plugin again? :crab:

Sounds hecka awesome! DAMN STRAIGHT! Way to fucking go, Arkshine.

EDIT: There it is. :)

Arkshine 02-04-2010 16:33

Re: Infinite Round
 
I was uploading. I wanted to know the thread link to put in the plugin. It's done now.

DarkGod 02-04-2010 16:35

Re: Infinite Round
 
Also, it's the 4th of February, not January.

Arkshine 02-04-2010 16:37

Re: Infinite Round
 
Ah damn. I was wondering if I was fucked up something... :mrgreen:

hleV 02-04-2010 16:40

Re: Infinite Round
 
Define for strings which are used more than once? Bad idea.

Is this anyhow better than the No Round End module?

Arkshine 02-04-2010 16:42

Re: Infinite Round
 
It's fine like that but thanks for your consideration.

EXteRmiNaToR 02-04-2010 16:46

Re: Infinite Round
 
Nice!:up:

01101101 02-04-2010 16:50

Re: Infinite Round
 
By the way, what is

PHP Code:

public EnableForwards () <> {}
public 
EnableForwards () <disabled

(I know this is not the place to ask but starting a new thread for just this seemed useless)


All times are GMT -4. The time now is 21:12.

Powered by vBulletin®
Copyright ©2000 - 2020, vBulletin Solutions, Inc.