Raised This Month: $ Target: $400
 0% 

Respawn on connect Plugin Zp4.3


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
LAMMPARD8_PRO
Member
Join Date: Dec 2012
Old 12-28-2012 , 15:33   Re: Respawn on connect Plugin Zp4.3
Reply With Quote #3

Remove it, replace with that code and compile. then replace the amxx plugin.
PHP Code:
/***************************************************************************\
           ========================================
            * || [ZPA] Example Game Mode v1.6 || *
           ========================================

    -------------------
     *||DESCRIPTION||*
    -------------------

    This is an example game mode in which there are half Assassins
    and half Snipers. You can use this plugin as a guide on how to
    make custom game modes for Zombie Plague Advance.

    -------------
     *||CVARS||*
    -------------

    - zp_avsm_minplayers 2
        - Minimum players required for this game mode to be
          activated

    - zp_avsm_sniper_hp 1.5
        - Snipers HP multiplier
    
    - zp_avsm_assassin_hp 1.0
        - Assassins HP multiplier

    - zp_avsm_inf_ratio 0.5
        - Infection ratio of this game mode i.e how many players
          will turn into assassins [Total players * infection ratio]
    
\***************************************************************************/

#include < amxmodx >
#include < fun >
#include < zombie_plague_advance >

/************************************************************\
|                  Customizations Section                    |
|         You can edit here according to your liking         |
\************************************************************/

// This is the chance value according to which this game mode will be called
// The higher the value the lesser the chance of calling this game mode
new const g_chance 15

// This is the access flag required to start the game mode
// through the admin menu. Look in users.ini for more details
new const g_access_flag[] = "a"

// This is the sound which is played when the game mode is triggered
// Add as many as you want [Randomly chosen if more than one]
new const g_play_sounds[][] =
{
    
"zombie_plague/nemesis1.wav" ,
    
"zombie_plague/survivor1.wav"
}

// Comment the following line to disable ambience sounds
// Just add two slashes ( // )
#define AMBIENCE_SOUNDS

#if defined AMBIENCE_SOUNDS
// Ambience Sounds (only .wav and .mp3 formats supported)
// Add as many as you want [Randomly chosen if more than one]
new const g_sound_ambience[][] =

    
"zombie_plague/ambience.wav"
}

// Duration in seconds of each sound
new const Float:g_sound_ambience_duration[] = { 58.0 56.0 }
#endif

/************************************************************\
|                  Customizations Ends Here..!!              |
|         You can edit the cvars in the plugin init          |
\************************************************************/

// Variables
new g_gameidg_maxplayerscvar_minplayerscvar_ratiocvar_sniperhpcvar_assahpg_msg_sync

// Ambience sounds task
#define TASK_AMB 3256

public plugin_init( )
{
    
// Plugin registeration.
    
register_plugin"[ZP] Assassin vs Snipers Mode","1.0""@bdul!" )
    
    
// Register some cvars
    // Edit these according to your liking
    
cvar_minplayers register_cvar("zp_avsm_minplayers""2")
    
cvar_sniperhp =      register_cvar("zp_avsm_sniper_hp""1.5")
    
cvar_assahp =      register_cvar("zp_avsm_assassin_hp""1.0")
    
cvar_ratio =       register_cvar("zp_avsm_inf_ratio""0.5")
    
    
// Get maxplayers
    
g_maxplayers get_maxplayers( )
    
    
// Hud stuff
    
g_msg_sync CreateHudSyncObj()
}

// Game modes MUST be registered in plugin precache ONLY
public plugin_precache( )
{
    
// Read the access flag
    
new access_flag read_flagsg_access_flag )
    new 
i
    
    
// Precache the play sounds
    
for (0sizeof g_play_soundsi++)
        
precache_soundg_play_sounds[i] )
    
    
// Precache the ambience sounds
    #if defined AMBIENCE_SOUNDS
    
new sound[100]
    for (
0sizeof g_sound_ambiencei++)
    {
        if (
equal(g_sound_ambience[i][strlen(g_sound_ambience[i])-4], ".mp3"))
        {
            
formatex(soundsizeof sound 1"sound/%s"g_sound_ambience[i])
            
precache_genericsound )
        }
        else
        {
            
precache_soundg_sound_ambience[i] )
        }
    }
    
#endif
    
    // Register our game mode
    
g_gameid zp_register_game_mode"Assassin vs Snipers Mode"access_flagg_chance0ZP_DM_BALANCE )
}

// Player spawn post

public zp_round_started_pregame )
{
    
// Check if it is our game mode
    
if( game == g_gameid )
    {
        
// Check for min players
        
if( fn_get_alive_players() < get_pcvar_num(cvar_minplayers) )
        {
            
/**
             * Note:
             * This very necessary, you should return ZP_PLUGIN_HANDLED if
             * some conditions required by your game mode are not met
             * This will inform the main plugin that you have rejected
             * the offer and so the main plugin will allow other game modes
             * to be given a chance
             */
            
return ZP_PLUGIN_HANDLED
        
}
        
// Start our new mode
        
start_avs_mode( )
    }
    
// Make the compiler happy =)
    
return PLUGIN_CONTINUE
}

public 
zp_round_startedgameid )
{
    
// Check if it is our game mode
    
if( game == g_gameid )
    {
        
// Show HUD notice
        
set_hudmessage(22115621, -1.00.1710.05.01.01.0, -1)
        
ShowSyncHudMsg(0g_msg_sync"Assassins vs Snipers Mode !!!")
        
        
// Play the starting sound
        
client_cmd(0"spk ^"%s^""g_play_soundsrandom_num(0sizeof g_play_sounds -1) ] )
        
        
// Remove ambience task affects
        
remove_taskTASK_AMB )
        
        
// Set task to start ambience sounds
        #if defined AMBIENCE_SOUNDS
        
set_task2.0"start_ambience_sounds"TASK_AMB )
        
#endif
    
}
}

public 
zp_game_mode_selectedgameidid )
{
    
// Check if our game mode was called
    
if( gameid == g_gameid )
        
start_avs_mode( )
    
    
// Make the compiler happy again =)
    
return PLUGIN_CONTINUE
}

// This function contains the whole code behind this game mode
start_avs_mode( )
{
    
// Create and initialize some important vars
    
static i_assassinsi_max_assassinsidi_alive
    i_alive 
fn_get_alive_players()
    
id 0
    
    
// Get the no of players we have to turn into assassins
    
i_max_assassins floatround( ( i_alive get_pcvar_floatcvar_ratio ) ), floatround_ceil )
    
i_assassins 0
    
    
// Randomly turn players into Assassins
    
while (i_assassins i_max_assassins)
    {
        
// Keep looping through all players
        
if ( (++id) > g_maxplayersid 1
        
        
// Dead
        
if ( !is_user_alive(id) )
            continue;
        
        
// Random chance
        
if (random_num(15) == 1)
        {
            
// Make user assassin
            
zp_make_user_assassin(id)
            
            
// Set his health
            
set_user_healthidfloatround(get_user_health(id) * get_pcvar_float(cvar_assahp)) )
            
            
// Increase counter
            
i_assassins++
        }
    }
    
    
// Turn the remaining players into snipers
    
for (id 1id <= g_maxplayersid++)
    {
        
// Only those of them who are alive and are not assassins
        
if ( !is_user_alive(id) || zp_get_user_assassin(id) )
            continue;
            
        
// Turn into a sniper
        
zp_make_user_sniper(id)
        
        
// Set his health
        
set_user_healthidfloatround(get_user_health(id) * get_pcvar_float(cvar_sniperhp)) )
    }
}

#if defined AMBIENCE_SOUNDS
public start_ambience_sounds( )
{
    
// Variables
    
static amb_sound[64], soundFloat:duration
    
    
// Select our ambience sound
    
sound random_num0sizeof g_sound_ambience )
    
copyamb_soundsizeof amb_sound g_sound_ambiencesound ] )
    
duration g_sound_ambience_durationsound ]
    
    
// Check whether it's a wav or mp3, then play it on clients
    
if ( equalamb_soundstrlenamb_sound ) - ], ".mp3" ) )
        
client_cmd0"mp3 play ^"sound/%s^""amb_sound )
    else
        
client_cmd0"spk ^"%s^""sound )
    
    
// Start the ambience sounds
    
set_taskduration"start_ambience_sounds"TASK_AMB )
}
public 
zp_round_endedwinteam )
{
    
// Stop ambience sounds on round end
    
remove_taskTASK_AMB )
}
#endif

// This function returns the no. of alive players
// Feel free to use this in your plugin when you 
// are making your own game modes.
fn_get_alive_players( )
{
    static 
i_aliveid
    i_alive 
0
    
    
for ( id 1id <= g_maxplayersid++ )
    {
        if( 
is_user_aliveid ) )
            
i_alive++
    }
    return 
i_alive;

__________________
[IMG]http://img24.**************/img24/3333/92810204.png[/IMG]
LAMMPARD8_PRO is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 13:37.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode