View Single Post
Isobold
Veteran Member
Join Date: Mar 2004
Old 12-24-2004 , 21:23  
Reply With Quote #8

I don't understand what your code shall do:

Code:
public ct_respawn( svIndex[] ) {
	if( !climbtimer_on )
		return PLUGIN_CONTINUE

	new id = svIndex[0]
	if( save_respawn[2][id]	!= 0 ) return PLUGIN_CONTINUE
	save_respawn[2][id] = 1

	if( climbtimer_no_block )
		set_task( 2.0, "ct_no_block", 0, svIndex, 2 )

	if(get_user_team(id) == 0 || is_user_alive(id))
		return PLUGIN_CONTINUE

	#if defined COMPILE_AMX
		user_spawn(id)
	#else
		spawn(id)
	#endif

	set_task( 0.8, "ct_savty_respawn", 0, svIndex, 2 )
	save_respawn[2][id] = 0
	return PLUGIN_CONTINUE
}
Did you understood the sence of save_respawn[2][id]? Setting save_respawn[2][id] to 0 on this line will make save_respawn senseless. This will make the respawnbug exploitable again (or make it work more often, I don't know wether it has been eliminated 100%, but I think so, due to my serverlogs).

Concerning the spawn-function: does spawn(id) work on 1.0 or not? If not, why does they still list this function here: http://www.amxmodx.org/funcwiki.php?go=func&id=127?


@dumb assasin: as I did not wrote this plugin, I did not even noticed this little bug. I do not even know, wether it is a good idea to change this, because I have a thread in my mind, where problems with new registers on mapchange were mentioned. If I remember well, sometimes dynamic registers on mapchange do not work. Thats why I will let the code unchanged. If you know for shure, that you don't want to use checkpoint, you may delete the line before compile
Isobold is offline