Zumbis Online
Frases filosóficas Zplague:
....
Os membros mais ativos da semana
[Dk]Serial-Killer
 
marcos.a
 
devil-square
 
[D]etonado[R]
 
rotam
 

Adsense

[ZP] Spectador Invisivel

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[ZP] Spectador Invisivel

Mensagem por [D]etonado[R] em 18/11/2013, 8:30 pm

Este plugin deixa admins com acesso ADMIN_RCON ser espectadores, mas ainda aparece em uma equipe.
Ele pode ser útil para spectate potenciais cheaters.

Cheaters prestar atenção aos espectadores, de modo a manter em mente que quanto mais jogadores estarão em seu servidor, o mais difícil será ver você não está realmente vivo.
Observe também que será facilmente detectado muitos dos espectadores invisíveis ", ao mesmo tempo, e que dos espectadores invisíveis" são contados como jogadores mortos (cvar amx_inv_dead_percent).


Comandos:

amx_spectate

Digite este comando, uma vez que você está morto ou specator, você não vai aparecer na lista de espectadores.
Digite o mesmo comando ou participar de uma equipe para desativar sua "invisibilidade"
-------------------------------------------------------------------------------------------------------

Cvars:

amx_inv_dead_percent < value >



Quando o valor% do total de jogadores estão mortos ", espectadores invisíveis" parece estar morto.
-------------------------------------------------------------------------------------------------------

Modules:

Fakemeta
-------------------------------------------------------------------------------------------------------

Changelog:


v0.2 (14/11/2007)
- added amx_inv_dead_percent cvar



SMA:


Código:
/* http://forums.alliedmods.net/showthread.php?p=551999#post551999
*
* Changelog
* added cvar amx_inv_dead_percent <value>
*
*/

#include <amxmodx>
#include <fakemeta>

#if AMXX_VERSION_NUM < 180
 #define charsmax(%1) sizeof(%1) - 1
#endif

#define MAX_PLAYERS 32

#define DEAD_FLAG   (1<<0)

#define OFFSET_TEAM 114

enum {
 CS_TEAM_UNASSIGNED,
 CS_TEAM_T,
 CS_TEAM_CT,
 CS_TEAM_SPECTATOR
}

new bool:g_roundend
new pcvar_percent
new g_invisible[MAX_PLAYERS+1][2]
new gmsgScoreAttrib, gmsgTeamInfo

public plugin_init() {
 register_plugin("Invisible Spectator", "0.2", "ConnorMcLeod")

 pcvar_percent = register_cvar("amx_inv_dead_percent", "40")

 register_clcmd("amx_spectate", "make_invis")

 gmsgScoreAttrib = get_user_msgid("ScoreAttrib")
 gmsgTeamInfo = get_user_msgid("TeamInfo")

 register_message( gmsgScoreAttrib, "msg_ScoreAttrib")
 register_message( gmsgTeamInfo, "msg_TeamInfo")

 register_event("HLTV", "eNewRound", "a", "1=0", "2=0")
 register_logevent("eRoundEnd", 2, "1=Round_End")
 register_event("ResetHUD", "eResetHUD", "be")
 register_event("DeathMsg", "eDeathMsg", "a")
}

public make_invis(id) {
 if( !(get_user_flags(id) & ADMIN_RCON) )
 return PLUGIN_CONTINUE

 if(g_invisible[id][0])
 {
 client_print(id, print_console, "You're not invisible anymore")
 g_invisible[id][0] = 0
 return PLUGIN_HANDLED
 }
 
if( is_user_alive(id) )
 {
 client_print(id, print_console, "You have to be dead first to be an invisible spectator !")
 return PLUGIN_HANDLED
 }

 g_invisible[id][0] = 1
 client_print(id, print_console, "You're now an invisible spectator")

 new team = get_pdata_int(id, OFFSET_TEAM)
 if( CS_TEAM_T <= team <= CS_TEAM_CT )
 {
 g_invisible[id][1] = team
 set_pdata_int(id, OFFSET_TEAM, CS_TEAM_SPECTATOR)
 }
 else
 {
 new players[MAX_PLAYERS], tnum, ctnum
 get_players(players, tnum, "e", "TERRORIST")
 get_players(players, ctnum, "e", "CT")
 g_invisible[id][1] = ctnum > tnum ? 1 : 2
 }

 send_ScoreAttrib(id, 0)

 new teamname[12]
 switch( g_invisible[id][1] )
 {
 case 1:formatex(teamname, charsmax(teamname), "TERRORIST")
 case 2:formatex(teamname, charsmax(teamname), "CT")
 }
 send_TeamInfo(id, teamname)

 return PLUGIN_HANDLED
}

public eDeathMsg() {
 if(g_roundend)
 return

 new players[MAX_PLAYERS], dead, inum, player, Float:percent = get_pcvar_float(pcvar_percent) / 100.0
 get_players(players, dead, "bh")
 get_players(players, inum, "h")

 if( float(dead) / float(inum) < percent)
return

 for(new i; i < inum; i++)
 {
 player = players[i]
 if( g_invisible[player][0] )
 send_ScoreAttrib(player, DEAD_FLAG)
 }
}

public eNewRound() {
 g_roundend = false
 new players[MAX_PLAYERS], inum, player
 get_players(players, inum)
 for(new i; i < inum; i++)
 {
 player = players[i]
 if( g_invisible[player][0] )
 send_ScoreAttrib(player, 0)
 }
}

public eRoundEnd() {
 g_roundend = true
 new players[MAX_PLAYERS], inum, player
 get_players(players, inum)
 for(new i; i < inum; i++)
 {
 player = players[i]
 if( g_invisible[player][0] )
 send_ScoreAttrib(player, DEAD_FLAG)
 }
}

public eResetHUD(id) {
 if( g_invisible[id][0] )
 g_invisible[id][0] = 0
}

// Doesn't seem to work so set flag to 0 at NewRound event.
public msg_ScoreAttrib(msg_type, msg_dest, target) {
 if(!g_invisible[get_msg_arg_int(1)][0])
 return PLUGIN_CONTINUE

 new flags = get_msg_arg_int(2)
 if(flags & DEAD_FLAG)
 set_msg_arg_int(2, 0, flags & ~DEAD_FLAG)

 return PLUGIN_CONTINUE
}

public msg_TeamInfo(msg_type, msg_dest, target) {
 new id = get_msg_arg_int(1)
 if(!g_invisible[id][0])
 return PLUGIN_CONTINUE

 new teamname[12]
 get_msg_arg_string(2, teamname, charsmax(teamname))
 if( g_invisible[id][1] == CS_TEAM_T && strcmp(teamname, "TERRORIST") != 0 )
 set_msg_arg_string(2, "TERRORIST")
 else if( g_invisible[id][1] == CS_TEAM_CT && strcmp(teamname, "CT") != 0 )
 set_msg_arg_string(2, "CT")

 return PLUGIN_CONTINUE
}

send_ScoreAttrib(id, flags)
{
 message_begin(MSG_ALL, gmsgScoreAttrib, _, 0)
 write_byte(id)
 write_byte(flags)
 message_end()
}

send_TeamInfo(id, teamname[])
{
 message_begin(MSG_ALL, gmsgTeamInfo, _, 0)
 write_byte(id)
 write_string(teamname)
 message_end()
}
Creditos: AlliedModders


____________________________________________


[D]etonado[R]
Humano
Humano

Nick : [D]etonado[R]
Masculino Número de Mensagens : 621
Ammo Packs : 1337
Honra : 19
Data de inscrição : 17/10/2013

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [ZP] Spectador Invisivel

Mensagem por Leozinho em 18/11/2013, 8:40 pm

Zplague12

____________________________________________


Leozinho
Administrador
Administrador

Masculino Número de Mensagens : 2854
Ammo Packs : 2506
Honra : 78
Data de inscrição : 20/11/2011

Ver perfil do usuário leozinho.zp

Voltar ao Topo Ir em baixo

Re: [ZP] Spectador Invisivel

Mensagem por 0wnderless em 19/11/2013, 1:38 pm

Esse plugin um amigo meu da Romênia que fez, foi feito pra fazer demo de players, Você entra como spectador mas fica na lista ou dos terroristas ou dos ct's, Bem feito.

____________________________________________


0wnderless
Moderador
Moderador

Masculino Número de Mensagens : 579
Love you Rafaella <3
Ammo Packs : 1532
Honra : 20
Data de inscrição : 24/08/2013

Ver perfil do usuário http://zplague.forumclan.com/ josh.griz1

Voltar ao Topo Ir em baixo

Re: [ZP] Spectador Invisivel

Mensagem por Conteúdo patrocinado Hoje à(s) 6:05 pm


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum