Raised This Month: $32 Target: $400
 8% 

[Bug] Fakemeta - register_forward(FM_AlertMessage,...


  
 
 
Thread Tools Display Modes
Author Message
teame06
i have a hat
Join Date: Feb 2005
Location: Hat City
Old 02-05-2006 , 01:44   [Bug] Fakemeta - register_forward(FM_AlertMessage,...
#1

Ok this is what happens with the example below. When you start up the server with this. It will print out only one message on Round_Start. Then if you change map. It will print two of the same message out. Then change map again it will print 3 of the same message out and so on and so on. I have include a log

Code:
#include <amxmodx> #include <fakemeta> public plugin_init() {     register_plugin("", "", "")     register_forward(FM_AlertMessage, "fn_alertmessage", 0) } public fn_alertmessage(at_type, const message[]) {     log_amx("AlertMessage %i", at_type)     log_amx("AlertMessage %s", message)     return FMRES_IGNORED }

Quote:
L 02/04/2006 - 19:12:08: -------- Mapchange to cs_office --------
L 02/04/2006 - 19:12:18: [fakemeta_register_foward.amxx] AlertMessage 5
L 02/04/2006 - 19:12:18: [fakemeta_register_foward.amxx] AlertMessage World triggered "Round_Start"

L 02/04/2006 - 19:12:59: [admincmd.amxx] Cmd: "Counter-Strike 1.6 Server<0><><>" changelevel "cs_office"
L 02/04/2006 - 19:13:02: -------- Mapchange to cs_office --------
L 02/04/2006 - 19:13:10: [fakemeta_register_foward.amxx] AlertMessage 5
L 02/04/2006 - 19:13:10: [fakemeta_register_foward.amxx] AlertMessage World triggered "Round_Start"

L 02/04/2006 - 19:13:10: [fakemeta_register_foward.amxx] AlertMessage 5
L 02/04/2006 - 19:13:10: [fakemeta_register_foward.amxx] AlertMessage World triggered "Round_Start"

L 02/04/2006 - 19:13:28: [admincmd.amxx] Cmd: "Counter-Strike 1.6 Server<0><><>" changelevel "de_dust"
L 02/04/2006 - 19:131: -------- Mapchange to de_dust --------
L 02/04/2006 - 19:13:40: [fakemeta_register_foward.amxx] AlertMessage 5
L 02/04/2006 - 19:13:40: [fakemeta_register_foward.amxx] AlertMessage World triggered "Round_Start"

L 02/04/2006 - 19:13:40: [fakemeta_register_foward.amxx] AlertMessage 5
L 02/04/2006 - 19:13:40: [fakemeta_register_foward.amxx] AlertMessage World triggered "Round_Start"

L 02/04/2006 - 19:13:40: [fakemeta_register_foward.amxx] AlertMessage 5
L 02/04/2006 - 19:13:40: [fakemeta_register_foward.amxx] AlertMessage World triggered "Round_Start"
I think this is an another bug below. This one is that when you register both non-post and post it uses the same public function even though you have register each register_forward to it own public function.

Code:
#include <amxmodx> #include <fakemeta> public plugin_init() {     register_plugin("", "", "")     register_forward(FM_AlertMessage, "fn_alertmessage", 0)     register_forward(FM_AlertMessage, "fn_alertmessage_post", 1)     register_logevent("NewRound", 2, "0=World triggered", "1=Round_Start") } public NewRound() {     log_amx("New Round") } public fn_alertmessage(at_type, const message[]) {     log_amx("AlertMessage_Post %i", at_type)     log_amx("AlertMessage_Post %s", message) } public fn_alertmessage_post(at_type, const message[]) {     log_amx("AlertMessage_Post %i", at_type)     log_amx("AlertMessage_Post %s", message) }


L 02/04/2006 - 22:177: [fakemeta_register_foward.amxx] AlertMessage_Post 5
L 02/04/2006 - 22:177: [fakemeta_register_foward.amxx] AlertMessage_Post World triggered "Round_Start"

L 02/04/2006 - 22:177: [fakemeta_register_foward.amxx] New Round

L 02/04/2006 - 22:177: [fakemeta_register_foward.amxx] AlertMessage_Post 5
L 02/04/2006 - 22:177: [fakemeta_register_foward.amxx] AlertMessage_Post World triggered "Round_Start"




This is another one bug below I believe. register_forward(FM_AlertMessage Post will not be called without having to register_foward(FM_AlertMessage Non-Post.

Code:
#include <amxmodx> #include <fakemeta> public plugin_init() {     register_plugin("", "", "")     register_forward(FM_AlertMessage, "fn_alertmessage_post", 1)     register_logevent("NewRound", 2, "0=World triggered", "1=Round_Start") } public NewRound() {     log_amx("New Round") } public fn_alertmessage_post(at_type, const message[]) {     log_amx("AlertMessage_Post %i", at_type)     log_amx("AlertMessage_Post %s", message) }


I have tried using fakemeta 1.60 and fakemeta 1.65 in the cvs with the same result. I also tried using another forward's sand they do not do this.
__________________
No private support via Instant Message
GunGame:SM Released
teame06 is offline
Send a message via AIM to teame06
BAILOPAN
Join Date: Jan 2004
Old 02-05-2006 , 02:09  
#2

#1 and #3 sound related and I'll look into them.

#2 is your own bug, your method prints _Post for both things.
__________________
egg
BAILOPAN is offline
teame06
i have a hat
Join Date: Feb 2005
Location: Hat City
Old 02-05-2006 , 02:42  
#3

Sorry about that. I fixed that part and it still does it..

Code:
#include <amxmodx> #include <fakemeta> public plugin_init() {     register_plugin("", "", "")     register_forward(FM_AlertMessage, "fn_alertmessage", 0)     register_forward(FM_AlertMessage, "fn_alertmessage_post", 1)     register_logevent("NewRound", 2, "0=World triggered", "1=Round_Start") } public NewRound() {     log_amx("New Round") } public fn_alertmessage(at_type, const message[]) {     log_amx("Non-Post")     log_amx("AlertMessage %i", at_type)     log_amx("AlertMessage %s", message) } public fn_alertmessage_post(at_type, const msg[]) {     log_amx("Post")     log_amx("AlertMessage_Post %i", at_type)     log_amx("AlertMessage_Post %s", msg) }

Quote:
L 02/04/2006 - 23:43:13: [fakemeta_register_foward.amxx] Non-Post
L 02/04/2006 - 23:43:13: [fakemeta_register_foward.amxx] AlertMessage 5
L 02/04/2006 - 23:43:13: [fakemeta_register_foward.amxx] AlertMessage World triggered "Round_Start"

L 02/04/2006 - 23:43:13: [fakemeta_register_foward.amxx] New Round

L 02/04/2006 - 23:43:13: [fakemeta_register_foward.amxx] Non-Post
L 02/04/2006 - 23:43:13: [fakemeta_register_foward.amxx] AlertMessage 5
L 02/04/2006 - 23:43:13: [fakemeta_register_foward.amxx] AlertMessage World triggered "Round_Start"
__________________
No private support via Instant Message
GunGame:SM Released
teame06 is offline
Send a message via AIM to teame06
BAILOPAN
Join Date: Jan 2004
Old 02-05-2006 , 03:18  
#4

this was two bugs - first, about 5-10 of the FM forwards accidentally hooked pre instead of post. second, AlertMessage was a late addition and when I committed it ages ago, I never bothered making it reset its hooks each mapchange.

they should be fixed in CVS.
__________________
egg
BAILOPAN is offline
 



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 15:48.


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