Quote:
Originally Posted by KliPPy
In the same thread you linked:
|
Hey,
Thanks, yes I noticed that. But also noticed that, error is an error. Harmless or not, it is called an "error" for a reason. If there's an error, there has to be a solution. It'd be a different case if it's not found yet.
Quote:
Originally Posted by ivomacedo
L 12/21/2010 - 09:43:16: [META] dll: Loaded plugin 'MySQL': MySQL v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
L 12/21/2010 - 09:43:16: [META] dll: Loaded plugin 'CSX': CSX v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
L 12/21/2010 - 09:43:16: [META] dll: Loaded plugin 'CStrike': CStrike v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
L 12/21/2010 - 09:43:16: [META] dll: Loaded plugin 'Engine': Engine v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
L 12/21/2010 - 09:43:16: [META] dll: Loaded plugin 'FakeMeta': FakeMeta v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
L 12/21/2010 - 09:43:16: [META] ERROR: Failed to find memloc for regcmd 'ham'
L 12/21/2010 - 09:43:16: [META] dll: Loaded plugin 'Ham Sandwich': Ham Sandwich v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
L 12/21/2010 - 09:43:16: [META] dll: Loaded plugin 'Fun': Fun v1.8.1.3746 Aug 16 2008, AMX Mod X Dev Team
But there's some solution how to fix that?
Error is a error :S
|
Also, not just being harmless, it doesn't let the server boot up. Everytime i try to run startserver CLI, it doesn't load the plugin up and stops with the mentioned error. The only way I could start it is by disabling the plugin. I'm currently using this code as brr_kill.amxx.
PHP Code:
#include <amxmodx>
#include <celltrie>
#include <hamsandwich>
#include <cstrike>
#include <fun>
#define MAX_PLAYERS 32
#define VERSION "1.4-kill"
//----------------------------------------------------------------------------------------------
new _pg_is_h
#define _IsHuman(%1) ( _pg_is_h & 1<<%1 )
#define _SetHuman(%1) _pg_is_h |= 1<<%1
#define _SetNotHuman(%1) _pg_is_h &= ~( 1<<%1 )
//----------------------------------------------------------------------------------------------
new _pg_spawned
#define _HasSpawned(%1) ( _pg_spawned & 1<<%1 )
#define _SetSpawned(%1) _pg_spawned |= 1<<%1
#define _SetNotSpawned(%1) _pg_spawned &= ~(1<<%1)
#define _GetSpawned() _pg_spawned
//----------------------------------------------------------------------------------------------
new _pg_block
#define _IsBlocked(%1) ( _pg_block & 1<<%1 )
#define _SetBlock(%1) _pg_block |= 1<<%1
#define _SetNoBlock(%1) _pg_block &= ~(1<<%1)
#define _GetBlocked() _pg_block
//----------------------------------------------------------------------------------------------
#define _NewRoundReset() _GetSpawned()&=_GetBlocked()&=_GetSpawned()
//----------------------------------------------------------------------------------------------
new bool:g_stored_ips
new g_p_ip[MAX_PLAYERS+1][16]
new Trie:g_trie_ips
new Float:g_late_spawn_time_limit
new pcvar_spawn_time
new pcvar_enabled
new bool:g_block_late_spawn
new g_enabled
public plugin_init(){
register_plugin("BlockReconnectRespawn", VERSION, "Sylwester")
register_cvar("brr_ver", VERSION, FCVAR_SERVER)
RegisterHam(Ham_Spawn, "player", "Player_Spawn", 1)
register_message(get_user_msgid("ClCorpse"), "block_ClCorpse_msg")
register_message(get_user_msgid("DeathMsg"), "block_DeathMsg_msg")
register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
register_logevent("logevent_round_start", 2, "1=Round_Start")
pcvar_spawn_time = register_cvar("brr_spawn_time", "0")
pcvar_enabled = register_cvar("brr_enabled", "1")
g_trie_ips = TrieCreate()
}
public block_ClCorpse_msg(msg_id, msg_dest, msg_entity){
if(_IsBlocked( get_msg_arg_int(12) ))
return PLUGIN_HANDLED
return PLUGIN_CONTINUE
}
public block_DeathMsg_msg(msg_id, msg_dest, msg_entity){
if(_IsBlocked( get_msg_arg_int(2) ))
return PLUGIN_HANDLED
return PLUGIN_CONTINUE
}
public Player_Spawn(id){
if(!is_user_alive(id) || !_IsHuman(id))
return
if(_HasSpawned(id)){
if(_IsBlocked(id)){
_SetNoBlock(id)
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255)
}
return
}
_SetSpawned(id)
if(!_IsBlocked(id)){
if(g_block_late_spawn && g_late_spawn_time_limit < get_gametime())
_SetBlock(id)
else
return
}
set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0)
strip_user_weapons(id)
set_user_frags(id, get_user_frags(id)+1)
cs_set_user_deaths(id, cs_get_user_deaths(id)-1)
user_kill(id)
}
public logevent_round_start(){
g_enabled = get_pcvar_num(pcvar_enabled)
new late_spawn_time = get_pcvar_num(pcvar_spawn_time)
if(late_spawn_time <= 0){
g_block_late_spawn = false
return
}
g_block_late_spawn = true
g_late_spawn_time_limit = get_gametime()+float(late_spawn_time)
}
public event_new_round(){
if(g_stored_ips){
TrieClear(g_trie_ips)
g_stored_ips = false
}
_NewRoundReset()
g_block_late_spawn = false
}
public client_putinserver(id){
if(is_user_bot(id) || is_user_hltv(id))
return
_SetHuman(id)
get_user_ip(id, g_p_ip[id], 15)
if(g_enabled && TrieKeyExists(g_trie_ips, g_p_ip[id])){
_SetBlock(id)
}
}
public client_disconnect(id){
if(_HasSpawned(id) && g_enabled){
g_stored_ips = true
TrieSetCell(g_trie_ips, g_p_ip[id], 0)
}
_SetNoBlock(id)
_SetNotSpawned(id)
_SetNotHuman(id)
}
public plugin_end(){
TrieDestroy(g_trie_ips)
}
Not very welcoming to kill players when they just joined, gotta deal with what I have here.
Plugin suggested by wickedd looked just fantastic, but somehow It doesn't seem to do anything on the server, I was sure I was setting it up right.
Hope that makes sense.
Regards,
ZEDD