Create an account

Infinite Round (v2.1.2)  

Upload: 17 Aug 2022, 12:21
Uploaded by: Aqxaro

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.


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
∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙

Weapon Menu API

Weapon Menu API

17 Aug 2022
0
639
0

Why did i create this plugin? I've seen weapon menu hard code in ze and zp mods and to edit or add something you need to do this on the original source.

Comments
The minimum comment length is 10 characters.