AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Respawn on connect Plugin Zp4.3 (https://forums.alliedmods.net/showthread.php?t=204202)

Bacau.AlphaCs.Ro 12-28-2012 14:13

Respawn on connect Plugin Zp4.3
 
I have this plugin : http://forums.alliedmods.net/showthread.php?t=179546
And in ASsassin & SNIPER mode not work perfectly... At aSSassin respawn in zombie... And at sniper respawn in human..


Someone can help me ?:)


I would be grateful for life :)

LAMMPARD8_PRO 12-28-2012 15:31

Re: Respawn on connect Plugin Zp4.3
 
Sniper and Assassin mods are custom mods, with is mean, that they already have an re-spawn system (especially this two have). As i know this are enabled in Zombie Plague Advance not in Zombie Plague 4.3. or 5.0.
You can just remove the custom modes from the plugins-zplague.ini or i can remove the re-spawns on them. But you have to wait a little.

LAMMPARD8_PRO 12-28-2012 15:33

Re: Respawn on connect Plugin Zp4.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;



Bacau.AlphaCs.Ro 12-28-2012 15:56

Re: Respawn on connect Plugin Zp4.3
 
I want to remove respawn at sniper&assassin mode ... or at sniper respawn in zombie and at assassin respawn in human.

Bacau.AlphaCs.Ro 12-28-2012 16:02

Re: Respawn on connect Plugin Zp4.3
 
Can convert this for ZP4.3 ?:)

Code:

#include <amxmodx>
#include <zombie_plague_advance>

#define PLUGIN "ZP: AutoRespawn"
#define VERSION "1.0.0"
#define AUTHOR "yokomo"

public plugin_init()
{
   
register_plugin(PLUGIN, VERSION, AUTHOR)
   
register_event( "TeamInfo", "join_team", "a")
}

public
join_team()
{
    new
id = read_data(1)
    static
user_team[32]
   
   
read_data(2, user_team, 31)
   
    if(!
is_user_connected(id))
        return
0;
   
    switch(
user_team[0])
    {
        case
'C'
        {
            if(!
is_user_alive(id))
            {
               
remove_task(id)
               
set_task(15.0,"SpawnPlayer",id);
            }
        }       
        case
'T':
        { 
            if(!
is_user_alive(id))
            {
               
remove_task(id)
               
set_task(15.0,"SpawnPlayer",id);
            }
        }   
        case
'S'
        {
           
// No need to spawn player when he/she spectating
           
client_print(id, print_chat, "[ZP] You cannot respawn when in Spectator")   
        }
    }
    return
0;
}

public
SpawnPlayer(id
{
    if(
is_user_alive(id) || zp_is_assassin_round() || zp_is_sniper_round()) return
   
    if ((
zp_is_survivor_round() || zp_is_lnj_round() || zp_is_plague_round() || zp_is_swarm_round()) && (zp_get_human_count() > 1 || zp_get_zombie_count() > 1))
    {
       
// Spawn player as zombi on survivor, LNJ, plague, swarm round
       
zp_respawn_user (id, ZP_TEAM_ZOMBIE)
       
client_print(id, print_chat, "[ZP] You have been respawned as Zombie")
    }
    else if(
zp_is_nemesis_round() && zp_get_human_count() > 1)
    {
       
// Spawn player as human on nemesis round
       
zp_respawn_user (id, ZP_TEAM_HUMAN)
       
client_print(id, print_chat, "[ZP] You have been respawned as Human")
    }
    else
    {
        if(
zp_get_human_count() > 1 && zp_get_zombie_count() > 1)
        {
           
// Spawn player as zombi on infection round
           
zp_respawn_user (id, ZP_TEAM_ZOMBIE)
           
client_print(id, print_chat, "[ZP] You have been respawned as Zombie")
        }   
    }
}

public
zp_round_ended(id) remove_task(id)


LAMMPARD8_PRO 12-28-2012 16:22

Re: Respawn on connect Plugin Zp4.3
 
That is pointless, just include and zombieplague.
I gived u the script that may remove the snipers and assassins re-spawn did u check it?

Bacau.AlphaCs.Ro 12-29-2012 02:44

Re: Respawn on connect Plugin Zp4.3
 
Yes i try :)

I'm looking for the assassin and sniper to disable this plugin.

Vrau as infection, SWARM, MULTI infection, plague - no matter what just to give them respawn :)
SI: Survivor, Sniper - either the zombies or have not respawn at all :)
And: Nemesis, Assasin - either in person or have not respawn at all :)


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

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