AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Fix Pliss Invis (https://forums.alliedmods.net/showthread.php?t=75180)

AntiBots 07-31-2008 19:34

Fix Pliss Invis
 
Hi Friend this plugin put a random player in T and invis only with a knife, and he cant buy. But it is a problem. The T dont is Invis.
Someone can change this plugin to work with hamsandwich?

PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
new solonewsolofirstround
public plugin_init()

 
register_plugin("invis""1""atambo")
 
register_cvar("sv_invis""0")
 
register_concmd("amx_invis","toggle",ADMIN_CVAR,"1=on/0=off")
 
register_event("DeathMsg""death_event""a")
 
register_logevent("event_round_end"2"0=World triggered""1=Round_End")
 
register_menucmd(register_menuid("Team_Select",1), (1<<0)|(1<<1)|(1<<4)|(1<<5), "team_select")
    
register_clcmd("jointeam""join_team")
 
register_event("CurWeapon""check_change""be""1=1")
}
public 
client_connected_msg(id)
 
client_print(idprint_chat"Invisible Man Mod is currently enabled. Kill the invisible man to become the next invisible man.")
public 
client_putinserver(id)
 if(
get_cvar_num("sv_invis") == 1)
  
set_task(20.0"client_connected_msg"id)
public 
check_change(id)
{
 if(
get_cvar_num("sv_invis") != 1) return PLUGIN_CONTINUE
 
new wpnid read_data(2)
 new 
CsTeams:team cs_get_user_team(id)
 if(
wpnid!=CSW_KNIFE && team==CS_TEAM_T)
 {
  
strip_user_weapons(id)
  
give_item(id,"weapon_knife")
 }
 return 
PLUGIN_CONTINUE
}
public 
toggle(id,level,cid)
{
 if(!
cmd_access(id,level,cid,2))
  return 
PLUGIN_HANDLED
 
new arg1[32]
 
read_argv(1,arg1,31)
 if(
equali(arg1,"1"))
 {
  
set_hudmessage(01000, -1.00.6520.0210.00.010.12)
  
show_hudmessage(0,"Invisible Man Mode Enabled!")
  
set_cvar_num("mp_limitteams",0)
  
set_cvar_num("mp_autoteambalance",0)
  
set_cvar_num("sv_invis",1)
  
firstround=1
  set_cvar_num
("sv_restart",1)
  
event_round_end()
  return 
PLUGIN_CONTINUE
 
}
 if(
equali(arg1,"0"))
 {
  
set_hudmessage(01000, -1.00.6520.0210.00.010.12)
  
show_hudmessage(0,"Invisible Man Mode Disabled!")
  
set_cvar_num("mp_limitteams",1)
  
set_cvar_num("mp_autoteambalance",1)
  
set_cvar_num("sv_invis",0)
  
set_cvar_num("sv_restartround",1)
  
set_user_rendering(newsolo,kRenderFxNone,0,0,0,kRenderNormal,0)
  return 
PLUGIN_CONTINUE
 
}
 return 
PLUGIN_CONTINUE
}
public 
team_select(idkey)
{
 if(
get_cvar_num("sv_invis") != 1) return PLUGIN_CONTINUE
        
if(key==|| key==4)
 {
                
engclient_cmd(id,"chooseteam")
                return 
PLUGIN_HANDLED
        
}
        return 
PLUGIN_CONTINUE
}
public 
join_team(id)
{
 if(
get_cvar_num("sv_invis") != 1) return PLUGIN_CONTINUE
        
new arg[2]
        
read_argv(1,arg,1)
        if((
str_to_num(arg)-1)==|| (str_to_num(arg)-1)==4)
 {
                
engclient_cmd(id,"chooseteam")
                return 
PLUGIN_HANDLED
        
}
        return 
PLUGIN_CONTINUE
}
public 
death_event()
{
 if(
get_cvar_num("sv_invis") != 1) return PLUGIN_CONTINUE
 newsolo 
read_data(1)
    
solo read_data(2)
 return 
PLUGIN_CONTINUE
}
public 
event_round_end()
{
 if(
get_cvar_num("sv_invis") != 1) return PLUGIN_CONTINUE
 
if(firstround==1)
 {
  if(!
get_playersnum()) return PLUGIN_CONTINUE
  
new playersT[32], playersCT[32], numTnumCT
  get_players
(playersT,numT,"e","TERRORIST")
  for(new 
i=0;i<numT;i++)
  
cs_set_user_team(playersT[i],CS_TEAM_CT)
  
get_players(playersCT,numCT,"e","CT")
  
newsolo playersCT[random_num(0,numCT-1)]
  
cs_set_user_team(newsolo,CS_TEAM_T)
  
set_user_rendering(newsolokRenderFxGlowShell000kRenderTransAlpha0)
  
firstround=0
 
}
 else
 {
  if(!
get_playersnum()) return PLUGIN_CONTINUE
  
if(newsolo==solo || newsolo==0)
  {
   new 
playersCT[32], numCT
   get_players
(playersCT,numCT,"e","CT")
   
newsolo playersCT[random_num(0,numCT-1)]
   
cs_set_user_team(newsolo,CS_TEAM_T)
   
cs_set_user_team(solo,CS_TEAM_CT)
   
set_user_rendering(solo,kRenderFxNone,0,0,0,kRenderNormal,0)
   
set_user_rendering(newsolokRenderFxGlowShell000kRenderTransAlpha0)
  }
  else
  {
   
cs_set_user_team(newsolo,CS_TEAM_T)
   
cs_set_user_team(solo,CS_TEAM_CT)
   
set_user_rendering(solo,kRenderFxNone,0,0,0,kRenderNormal,0)
   
set_user_rendering(newsolokRenderFxGlowShell000kRenderTransAlpha0)
  }
 }
 return 
PLUGIN_CONTINUE
}
public 
plugin_end()
{
 
set_cvar_num("mp_limitteams",1)
 
set_cvar_num("mp_autoteambalance",1)
 
set_cvar_num("sv_invis",0)


Thank

AntiBots 08-02-2008 09:35

Re: Fix Pliss Invis
 
Ok, ot_207 :D

grimvh2 08-02-2008 13:40

Re: Fix Pliss Invis
 
I am looking at it right now , maybe some advace its always cleaner if you use tabs instead of space .

Edit : you set render at the end of the round?

edit 2:

I did not clean it all up but you should try this

PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
new solonewsolofirstround
new plugin_on;
public 
plugin_init()

     
register_plugin("invis""1""atambo")
     
plugin_on register_cvar("sv_invis""0")
     
register_concmd("amx_invis","toggle",ADMIN_CVAR,"1=on/0=off")
     
register_event("DeathMsg""death_event""a")
     
register_logevent("event_round_end"2"0=World triggered""1=Round_End")
     
register_menucmd(register_menuid("Team_Select",1), (1<<0)|(1<<1)|(1<<4)|(1<<5), "team_select")
     
register_clcmd("jointeam""join_team")
     
register_event("CurWeapon""check_change""be""1=1")
}
public 
client_connected_msg(id)
{
    
client_print(idprint_chat"Invisible Man Mod is currently enabled. Kill the invisible man to become the next invisible man.")
}
public 
client_putinserver(id)
{
     if(
get_cvar_num("sv_invis") == 1)
     {
        
set_task(20.0"client_connected_msg"id)
     }
}

public 
check_change(id)
{
     if(
get_pcvar_num(plugin_on) != 1) return PLUGIN_CONTINUE
     
new wpnid read_data(2)
     new 
CsTeams:team cs_get_user_team(id)
     if(
wpnid!=CSW_KNIFE && team==CS_TEAM_T)
     {
        
strip_user_weapons(id)
        
give_item(id,"weapon_knife")
     }
     return 
PLUGIN_CONTINUE
}

public 
toggle(id,level,cid)
{
    if(!
cmd_access(id,level,cid,2))
        return 
PLUGIN_HANDLED
    
new arg1[32]
    
read_argv(1,arg1,31)
    if(
equali(arg1,"1"))
    {
        
set_hudmessage(01000, -1.00.6520.0210.00.010.12)
        
show_hudmessage(0,"Invisible Man Mode Enabled!")
        
set_cvar_num("mp_limitteams",0)
        
set_cvar_num("mp_autoteambalance",0)
        
set_cvar_num("sv_invis",1)
        
firstround=1
        set_cvar_num
("sv_restart",1)
        
event_round_end()
        return 
PLUGIN_CONTINUE
    
}
    if(
equali(arg1,"0"))
    {
    
set_hudmessage(01000, -1.00.6520.0210.00.010.12)
    
show_hudmessage(0,"Invisible Man Mode Disabled!")
    
set_cvar_num("mp_limitteams",1)
    
set_cvar_num("mp_autoteambalance",1)
    
set_cvar_num("sv_invis",0)
    
set_cvar_num("sv_restartround",1)
    
set_user_rendering(newsolo,kRenderFxNone,0,0,0,kRenderNormal,0)
    return 
PLUGIN_CONTINUE
    
}
    return 
PLUGIN_CONTINUE
}

public 
team_select(idkey)
{
    if(
get_pcvar_num(plugin_on) == 1) return PLUGIN_CONTINUE
    
{
        if(
key==|| key==4)
        {
            
engclient_cmd(id,"chooseteam")
            return 
PLUGIN_HANDLED
        
}
        }
        return 
PLUGIN_CONTINUE
}


public 
join_team(id)
{
    if(
get_pcvar_num(plugin_on) == 1) return PLUGIN_CONTINUE
    
{
        new 
arg[2]
        
read_argv(1,arg,1)
        if((
str_to_num(arg)-1)==|| (str_to_num(arg)-1)==4)
        {
            
engclient_cmd(id,"chooseteam")
            return 
PLUGIN_HANDLED
        
}
        }
        return 
PLUGIN_CONTINUE
}
public 
death_event()
{
 if(
get_pcvar_num(plugin_on) == 1) return PLUGIN_CONTINUE
 newsolo 
read_data(1)
    
solo read_data(2)
 return 
PLUGIN_CONTINUE
}
public 
event_round_end()
{
 if(
get_cvar_num(plugin_on) == 1) return PLUGIN_CONTINUE
 
if(firstround==1)
 {
  if(!
get_playersnum()) return PLUGIN_CONTINUE
  
new playersT[32], playersCT[32], numTnumCT
  get_players
(playersT,numT,"e","TERRORIST")
  for(new 
i=0;i<numT;i++)
  
cs_set_user_team(playersT[i],CS_TEAM_CT)
  
get_players(playersCT,numCT,"e","CT")
  
newsolo playersCT[random_num(0,numCT-1)]
  
cs_set_user_team(newsolo,CS_TEAM_T)
  
set_user_rendering(newsolokRenderFxGlowShell000kRenderTransAlpha0)
  
firstround=0
 
}
 else
 {
  if(!
get_playersnum()) return PLUGIN_CONTINUE
  
if(newsolo==solo || newsolo==0)
  {
   new 
playersCT[32], numCT
   get_players
(playersCT,numCT,"e","CT")
   
newsolo playersCT[random_num(0,numCT-1)]
   
cs_set_user_team(newsolo,CS_TEAM_T)
   
cs_set_user_team(solo,CS_TEAM_CT)
   
set_user_rendering(solo,kRenderFxNone,0,0,0,kRenderNormal,0)
   
set_user_rendering(newsolokRenderFxGlowShell000kRenderTransAlpha0)
  }
  else
  {
   
cs_set_user_team(newsolo,CS_TEAM_T)
   
cs_set_user_team(solo,CS_TEAM_CT)
   
set_user_rendering(solo,kRenderFxNone,0,0,0,kRenderNormal,0)
   
set_user_rendering(newsolokRenderFxGlowShell000kRenderTransAlpha0)
  }
 }
 return 
PLUGIN_CONTINUE
}
public 
plugin_end()
{
 
set_cvar_num("mp_limitteams",1)
 
set_cvar_num("mp_autoteambalance",1)
 
set_cvar_num("sv_invis",0)



ot_207 08-03-2008 07:08

Re: Fix Pliss Invis
 
Sorry, I haven't written the script becouse I had some problems lately.
But here are some suggestions that will help you.
I will be busy these days, if you have small questions I will answer them.

First thing is.
Register new round event not last round.
PHP Code:

register_event("HLTV","event_new_round","a","1=0","2=0"

Second.
The idea to block the ability of the invisible man to buy is good.
But I thought of a better and easier way.
You should register the curweapon event (when the player changes weapons)
And if automaticly force the client to use the knife weapon.
[EDIT] Here you can make the client invisible also![/EDIT]

Example usage:
PHP Code:

register_event("CurWeapon""change_weapon""b""1=1"// in plugin_init()

public change_weapon(id)
{
new 
weapon read_data(2)
if (
weapon == CSW_C4 || weapon == CSW_KNIFE)
 return 
PLUGIN_CONTINUE

client_cmd
(id,"weapon_knife")
return 
PLUGIN_CONTINUE


Hope it helps!


All times are GMT -4. The time now is 05:31.

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