Raised This Month: $ Target: $400
 0% 

[CS 1.6]/respawn protection


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
0lenny0
Member
Join Date: Apr 2009
Old 07-14-2010 , 18:22   [CS 1.6]/respawn protection
Reply With Quote #1

Hello.
I am having a knife server running here that used to have Advanced Respawn.
But some periods this plugin couses problems with health.
Like in maps with 1hp or 35 hp we have something around 60hp.
Sow i used Respawn Forever wich worked fine.
Only the problem is people can use /respawn to gain full health and if i switch to spectator i spawn :S
Could you make it sow only dead people can use /respawn or if you use /respawn you get teleported to spawn with the same health?
And fix the spectator bug .
This is the code:
Code:
/* AMXX Mod script.
*
* (c) Copyright 2004, developed by Geesu
* This file is provided as is (no warranties). 
*
* Changelog
* 1.1:
*   Added /respawn command to spawn a player if they're dead
*   Added a public cvar
* 1.0: 
*    Pistols are now given to players when they respawn
*    sv_checkpistols cvar added, if this is set to 0, then players will always spawn with a pistol, otherwise they will only spawn with a pistol when it is not scoutzknivez and not a ka map
*    sv_respawn cvar added, set this to 0 to disable the plugin
*/

new const VERSION[] =    "1.1"

#include <amxmodx>
#include <fun>
#include <cstrike>

#define DISABLE_CS 0

// team ids 
#define UNASSIGNED 0 
#define TS 1 
#define CTS 2 
#define AUTO_TEAM 5 

new bool:g_PistolsDisabled = false

public plugin_init(){

    register_plugin("Respawn Forever", VERSION, "Pimp Daddy (OoTOAoO)")

    register_event("DeathMsg","on_Death","a")
    
    register_cvar("sv_checkpistols", "1")
    register_cvar("sv_respawn", "1")
    register_cvar("respawn_forever_version", VERSION, FCVAR_SERVER)

    register_clcmd("say","on_Chat")
    register_clcmd("say_team","on_Chat")
}

public on_Chat(id)
{
    if ( !get_cvar_num("sv_respawn") )
    {
        client_print(id, print_chat, "* Respawn plugin disabled")
        return PLUGIN_CONTINUE
    }

    new szSaid[32]
    read_args(szSaid, 31) 

    if (equali(szSaid,"^"/respawn^"") || equali(szSaid,"^"respawn^""))
    {
        spawn_func(id)
    }
}

public check_pistols()
{
    /* Determine if we should give players a pistol or not */
    if ( get_cvar_num("sv_checkpistols") )
    {
        set_task(1.0, "check_pistols")
        new mapname[32]
        get_mapname(mapname,31) 
        if ( containi(mapname,"ka_")!=-1 || containi(mapname,"scoutzknivez")!=-1 )
                g_PistolsDisabled = true
    }
}

public spawn_func(id)
{
    new parm[1]
    parm[0]=id
    
    /* Spawn the player twice to avoid the HL engine bug */
    set_task(0.5,"player_spawn",72,parm,1)
    set_task(0.7,"player_spawn",72,parm,1)

    /* Then give them a suit and a knife */
    set_task(0.9,"player_giveitems",72,parm,1)
}

public on_Death()
{
    if ( !get_cvar_num("sv_respawn") )
        return PLUGIN_CONTINUE
    
    new victim_id = read_data(2)
    
    spawn_func( victim_id )

    return PLUGIN_CONTINUE
}

public player_giveitems(parm[1])
{
    new id = parm[0]

    give_item(id, "item_suit")
    give_item(id, "weapon_knife")

    /* Determines if a players should be given a pistol */
    if ( !g_PistolsDisabled )
    {
        new wpnList[32] = 0, number = 0, bool:foundGlock = false, bool:foundUSP = false 
        get_user_weapons(id,wpnList,number)
        
        /* Determine if the player already has a pistol */
        for (new i = 0;i < number;i++)
        { 
            if (wpnList[i] == CSW_GLOCK18) 
                foundGlock = true 
            if (wpnList[i] == CSW_USP) 
                foundUSP = true 
        }
        
        /* Give a T his/her pistol */
        if ( get_user_team(id)==TS && !foundGlock )
        {
                give_item(id,"weapon_glock18")
                give_item(id,"ammo_9mm")
                give_item(id,"ammo_9mm")
        }
        /* Give a CT his/her pistol */
        else if ( get_user_team(id)==CTS && !foundUSP )
        {
                give_item(id,"weapon_usp")
                give_item(id,"ammo_45acp")
                give_item(id,"ammo_45acp")
        }
    }

    return PLUGIN_CONTINUE
}

public player_spawn(parm[1])
{
    spawn(parm[0])
}
Thanks anyway.
0lenny0 is offline
mottzi
Veteran Member
Join Date: May 2010
Location: Switzerland
Old 07-14-2010 , 18:47   Re: [CS 1.6]/respawn protection
Reply With Quote #2

PHP Code:
new const VERSION[] =    "1.1"

#include <amxmodx>
#include <fun>
#include <cstrike>

#define DISABLE_CS 0

// team ids 
#define UNASSIGNED 0 
#define TS 1 
#define CTS 2 
#define AUTO_TEAM 5 

new bool:g_PistolsDisabled false

public plugin_init(){

    
register_plugin("Respawn Forever"VERSION"Pimp Daddy (OoTOAoO)")

    
register_event("DeathMsg","on_Death","a")
    
    
register_cvar("sv_checkpistols""1")
    
register_cvar("sv_respawn""1")
    
register_cvar("respawn_forever_version"VERSIONFCVAR_SERVER)

    
register_clcmd("say","on_Chat")
    
register_clcmd("say_team","on_Chat")
}

public 
on_Chat(id)
{
    if ( !
get_cvar_num("sv_respawn") )
    {
        
client_print(idprint_chat"* Respawn plugin disabled")
        return 
PLUGIN_CONTINUE
    
}

    new 
szSaid[32]
    
read_args(szSaid31

    if (
equali(szSaid,"^"/respawn^"") || equali(szSaid,"^"respawn^""))
    {
    if(!
is_user_alive(id) && (cs_get_user_team(id) != CS_TEAM_SPECTATOR))
    {
        
spawn_func(id)
    }
    else
    {
        
client_print(idprint_chat"[Respawn] Only death players can respawn!")
    }

    }
}

public 
check_pistols()
{
    
/* Determine if we should give players a pistol or not */
    
if ( get_cvar_num("sv_checkpistols") )
    {
        
set_task(1.0"check_pistols")
        new 
mapname[32]
        
get_mapname(mapname,31
        if ( 
containi(mapname,"ka_")!=-|| containi(mapname,"scoutzknivez")!=-)
                
g_PistolsDisabled true
    
}
}

public 
spawn_func(id)
{
    new 
parm[1]
    
parm[0]=id
    
    
/* Spawn the player twice to avoid the HL engine bug */
    
set_task(0.5,"player_spawn",72,parm,1)
    
set_task(0.7,"player_spawn",72,parm,1)

    
/* Then give them a suit and a knife */
    
set_task(0.9,"player_giveitems",72,parm,1)
}

public 
on_Death()
{
    if ( !
get_cvar_num("sv_respawn") )
        return 
PLUGIN_CONTINUE
    
    
new victim_id read_data(2)
    
    
spawn_funcvictim_id )

    return 
PLUGIN_CONTINUE
}

public 
player_giveitems(parm[1])
{
    new 
id parm[0]

    
give_item(id"item_suit")
    
give_item(id"weapon_knife")

    
/* Determines if a players should be given a pistol */
    
if ( !g_PistolsDisabled )
    {
        new 
wpnList[32] = 0number 0bool:foundGlock falsebool:foundUSP false 
        get_user_weapons
(id,wpnList,number)
        
        
/* Determine if the player already has a pistol */
        
for (new 0;number;i++)
        { 
            if (
wpnList[i] == CSW_GLOCK18
                
foundGlock true 
            
if (wpnList[i] == CSW_USP
                
foundUSP true 
        
}
        
        
/* Give a T his/her pistol */
        
if ( get_user_team(id)==TS && !foundGlock )
        {
                
give_item(id,"weapon_glock18")
                
give_item(id,"ammo_9mm")
                
give_item(id,"ammo_9mm")
        }
        
/* Give a CT his/her pistol */
        
else if ( get_user_team(id)==CTS && !foundUSP )
        {
                
give_item(id,"weapon_usp")
                
give_item(id,"ammo_45acp")
                
give_item(id,"ammo_45acp")
        }
    }

    return 
PLUGIN_CONTINUE
}

public 
player_spawn(parm[1])
{
    
spawn(parm[0])

here you are.

They just get respawned it they are dead and not Spectator now!
__________________
Quote:
#define true ((rand() % 2)? true: false) //Happy debugging suckers

Last edited by mottzi; 07-14-2010 at 18:50.
mottzi is offline
Send a message via MSN to mottzi
0lenny0
Member
Join Date: Apr 2009
Old 07-14-2010 , 19:00   Re: [CS 1.6]/respawn protection
Reply With Quote #3

Thanks,it still has the spectator bug but i can live with that .
0lenny0 is offline
mottzi
Veteran Member
Join Date: May 2010
Location: Switzerland
Old 07-14-2010 , 19:11   Re: [CS 1.6]/respawn protection
Reply With Quote #4

hm dont know why but if its OK...

No problem
__________________
Quote:
#define true ((rand() % 2)? true: false) //Happy debugging suckers
mottzi is offline
Send a message via MSN to mottzi
Sanzdes
Junior Member
Join Date: Nov 2013
Old 01-02-2015 , 21:34   Re: [CS 1.6]/respawn protection
Reply With Quote #5

It's imposibble to make,that CT have spawn protection and T don't have it?
Sanzdes is offline
Sanzdes
Junior Member
Join Date: Nov 2013
Old 01-02-2015 , 21:35   Re: [CS 1.6]/respawn protection
Reply With Quote #6

Sorry wrong forrum :/
Sanzdes is offline
Reply



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 07:04.


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