Raised This Month: $ Target: $400
 0% 

Join/Leave Message rescript help


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
CrazymFer
Junior Member
Join Date: Aug 2004
Old 12-20-2005 , 16:20   Join/Leave Message rescript help
Reply With Quote #1

Alright, I have been rescripting big baller's Join/leave Announce plugin to incorporate the server's hostname and user's team...

Everything works so far exept when a user chooses a team, it fails to replace the team: CrazymFer has joined the $team$!

I have included a debug so that it would tell me if it is having a problem.

Code:
/* Join/Leave Message 1.2 by BigBaller Just shows a basic Tsay like message to all players when user is connecting, has established connection and disconnected from your server. Just upload into your amxx/plugins folder Add join_leave.amx in your amxx/plugins.ini Restart server or change map. ENJOY! *New, You are able to turn messages off and on using the cvar amx_join_leave 1 = On 0 = Off Plugin by default is 1 Change Log v 1.0 - Started with basic messages. v 1.1 - Created a cvar to disable messages (cvar is amx_join_leave 1|0) v 1.2 - Moved the messages up, they conflicted with plugins such as StatsX and PTB */ #include <amxmodx> #include <amxmisc> #include <cstrike> #define DEBUG new sName[64], userID public plugin_init() {   register_plugin("Join/Leave Message","1.2","BigBaller")   register_cvar("amx_join_message", "$name$ has connected to $server$.")   register_cvar("amx_joined_message", "$name$ has joined the $team$!")   register_cvar("amx_leave_message", "$name$ has left $server$.")   register_cvar("amx_join_leave","1")   get_cvar_string("hostname", sName, 63) } public client_connect(id){     new user[32], len     user[0] = id     len = get_user_name(id,user[1],31)     set_task(2.0, "join_msg", 0, user, len + 2)     return PLUGIN_CONTINUE } public client_putinserver(id){     new user[32], len     user[0] = id     userID = id     len = get_user_name(id,user[1],31)     set_task(2.0, "joined_msg", 0, user, len + 2)     return PLUGIN_CONTINUE } public client_disconnect(id){     new user[32], len     user[0] = id     len = get_user_name(id, user[1], 31)     set_task(2.0, "leave_msg", 0, user, len + 2)     return PLUGIN_CONTINUE } public join_msg(user[]) {         if (get_cvar_num("amx_join_leave")==0) return PLUGIN_HANDLED     new message[192]     get_cvar_string("amx_join_message", message, 191)     replace(message, 191, "$server$", sName[0])     replace(message, 191, "$name$", user[1])     set_hudmessage(0, 225, 0, 0.05, 0.55, 0, 6.0, 6.0, 0.5, 0.15, 3)     show_hudmessage(0, message)     return PLUGIN_CONTINUE } public joined_msg(user[]) {         if (get_cvar_num("amx_join_leave")==0) return PLUGIN_HANDLED     new message[192]     get_cvar_string("amx_joined_message", message, 191)     new CsTeams:userTeam = cs_get_user_team( userID )     if( userTeam == CS_TEAM_T )         replace(message, 191, "$team$", "Terrorist Force")     else if( userTeam == CS_TEAM_CT )         replace(message, 191, "$team$", "Counter-Terrorist Force")     else if( userTeam == CS_TEAM_SPECTATOR )         replace(message, 191, "$team$", "Spectators")     #if defined DEBUG     else {         new players[32], inum         get_players(players,inum)         for (new i=0; i<inum; ++i){             if( access(players[i], ADMIN_LEVEL_H) )             client_print(players[i],print_chat, "  [AMXX]{amx_join_leave} ERROR: CANNOT DECIFER TEAM!! " )         }     }     #endif     replace(message, 191, "$name$", user[1])     set_hudmessage(0, 225, 0, 0.05, 0.55, 0, 6.0, 6.0, 0.5, 0.15, 3)     show_hudmessage(0, message)     return PLUGIN_CONTINUE } public leave_msg(user[]) {         if (get_cvar_num("amx_join_leave")==0) return PLUGIN_HANDLED     new message[192]     get_cvar_string("amx_leave_message", message, 191)     replace(message, 191, "$server$", sName[0])     replace(message, 191, "$name$", user[1])     set_hudmessage(0, 225, 0, 0.05, 0.55, 0, 6.0, 6.0, 0.5, 0.15, 3)     show_hudmessage(0, message)     return PLUGIN_CONTINUE }

Any help would be greatly appreciated.


-ZeonSoldier
-BoB-J Server Tech
__________________
CrazymFer is offline
Send a message via AIM to CrazymFer
Geesu
Veteran Member
Join Date: Mar 2004
Location: Cincinnati, OH
Old 12-20-2005 , 16:33  
Reply With Quote #2

Code:
new sName[64] public plugin_init() {   register_plugin("Join/Leave Message","1.2","BigBaller")   register_cvar("amx_join_message", "$name$ has connected to $server$.")   register_cvar("amx_joined_message", "$name$ has joined the $team$!")   register_cvar("amx_leave_message", "$name$ has left $server$.")   register_cvar("amx_join_leave","1")   get_cvar_string("hostname", sName, 63) } public client_connect(id) {     new parm[1]     parm[0] = id     set_task(2.0, "join_msg", 0, parm, 1)     return PLUGIN_CONTINUE } public client_putinserver(id){     new parm[1]     parm[0] = id     set_task(2.0, "joined_msg", 0, parm, 1)     return PLUGIN_CONTINUE } public client_disconnect(id){     new parm[1]     parm[0] = id     set_task(2.0, "leave_msg", 0, parm, 1)     return PLUGIN_CONTINUE } public join_msg(user[]) {     if (get_cvar_num("amx_join_leave")==0) return PLUGIN_HANDLED     new username[32]     get_user_name(user[0], sName, 31)     new message[192]     get_cvar_string("amx_join_message", message, 191)     replace(message, 191, "$server$", sName)     replace(message, 191, "$name$", username)     set_hudmessage(0, 225, 0, 0.05, 0.55, 0, 6.0, 6.0, 0.5, 0.15, 3)     show_hudmessage(0, message)     return PLUGIN_CONTINUE } public joined_msg(user[]) {         if (get_cvar_num("amx_join_leave")==0) return PLUGIN_HANDLED     new username[32]     get_user_name(user[0], sName, 31)     new message[192]     get_cvar_string("amx_joined_message", message, 191)     new CsTeams:userTeam = cs_get_user_team( userID )     if( userTeam == CS_TEAM_T )         replace(message, 191, "$team$", "Terrorist Force")     else if( userTeam == CS_TEAM_CT )         replace(message, 191, "$team$", "Counter-Terrorist Force")     else if( userTeam == CS_TEAM_SPECTATOR )         replace(message, 191, "$team$", "Spectators")     #if defined DEBUG     else {         new players[32], inum         get_players(players,inum)         for (new i=0; i<inum; ++i){             if( access(players[i], ADMIN_LEVEL_H) )             client_print(players[i],print_chat, "  [AMXX]{amx_join_leave} ERROR: CANNOT DECIFER TEAM!! " )         }     }     #endif     replace(message, 191, "$name$", user[1])     set_hudmessage(0, 225, 0, 0.05, 0.55, 0, 6.0, 6.0, 0.5, 0.15, 3)     show_hudmessage(0, message)     return PLUGIN_CONTINUE } public leave_msg(user[]) {         if (get_cvar_num("amx_join_leave")==0) return PLUGIN_HANDLED     new username[32]     get_user_name(user[0], sName, 31)     new message[192]     get_cvar_string("amx_leave_message", message, 191)     replace(message, 191, "$server$", sName)     replace(message, 191, "$name$", username)     set_hudmessage(0, 225, 0, 0.05, 0.55, 0, 6.0, 6.0, 0.5, 0.15, 3)     show_hudmessage(0, message)     return PLUGIN_CONTINUE }
__________________
Need war3ft help? DO NOT PM ME... Check the forums
Geesu is offline
Send a message via AIM to Geesu Send a message via MSN to Geesu
CrazymFer
Junior Member
Join Date: Aug 2004
Old 12-20-2005 , 16:36  
Reply With Quote #3

Ty Geesu, greatly appreciated.

<3!
__________________
CrazymFer is offline
Send a message via AIM to CrazymFer
Geesu
Veteran Member
Join Date: Mar 2004
Location: Cincinnati, OH
Old 12-21-2005 , 09:06  
Reply With Quote #4

I forgot to change

replace(message, 191, "$name$", user[1])

how the others are
__________________
Need war3ft help? DO NOT PM ME... Check the forums
Geesu is offline
Send a message via AIM to Geesu Send a message via MSN to Geesu
CrazymFer
Junior Member
Join Date: Aug 2004
Old 12-21-2005 , 10:49  
Reply With Quote #5

Well... I been modifying the code and I got this so far, but when testing it, I think it creates an infinite loop, because while the server stops responding, it didn't crash :-\... and it runs fine with no players.

Code:
#include <amxmodx> #include <amxmisc> #include <cstrike> #define DEBUG public plugin_init() {   register_plugin("Join/Leave Message","1.3","BigBaller | Edited by ZeonSoldier")   register_cvar("amx_join_message", "#name is connecting to #server.")   register_cvar("amx_joined_message", "#name has joined the #team!")   register_cvar("amx_leave_message", "#name has left #server.")   register_cvar("amx_join_leave","1") } public client_connect(id){     new parm[1]     parm[0] = id     set_task(2.0, "join_msg", 0, parm, 1)     return PLUGIN_CONTINUE } public client_putinserver(id){     new parm[1]     parm[0] = id     set_task(2.0, "joined_msg", 0, parm, 1)     return PLUGIN_CONTINUE } public client_disconnect(id){     new parm[1]     parm[0] = id     set_task(2.0, "leave_msg", 0, parm, 1)     return PLUGIN_CONTINUE } public join_msg(user[]) {     if (get_cvar_num("amx_join_leave")==0) return PLUGIN_HANDLED     new username[32], message[192], hostname[64]     get_user_name(user[0], username, 31)     get_cvar_string("hostname", hostname, 63)     get_cvar_string("amx_join_message", message, 191)     replace(message, 191, "#name", username)     replace(message, 191, "#server", hostname)     set_hudmessage(0, 225, 0, 0.05, 0.55, 0, 6.0, 6.0, 0.5, 0.15, 3)     show_hudmessage(0, message)     return PLUGIN_CONTINUE } public joined_msg(user[]) {     if (get_cvar_num("amx_join_leave")==0) return PLUGIN_HANDLED     new username[32]     get_user_name(user[0], username, 31)     new message[192]     get_cvar_string("amx_joined_message", message, 191)     replace(message, 191, "#name", username)     findTeam( user, message )     set_hudmessage(0, 225, 0, 0.05, 0.55, 0, 6.0, 6.0, 0.5, 0.15, 3)     show_hudmessage(0, message)     return PLUGIN_CONTINUE } public findTeam(user[], message[]) {     new CsTeams:userTeam = cs_get_user_team( user[0] )     while( contain( message, "#team") != -1 ){       //Checks for team       if( userTeam == CS_TEAM_T ){          replace(message, 191, "#team", "Terrorist Force")       }       else if( userTeam == CS_TEAM_CT ){           replace(message, 191, "#team", "Counter-Terrorist Force")       }       else if( userTeam == CS_TEAM_SPECTATOR ){           replace(message, 191, "#team", "Spectators")       }     } } /*Debugger     #if defined DEBUG     else {         new players[32], inum         get_players(players,inum)         for (new i=0; i<inum; ++i){             if( access(players[i], ADMIN_LEVEL_H) )             client_print(players[i],print_chat, "  [AMXX]{amx_join_leave} ERROR: CANNOT DECIFER TEAM!! " )         }     break     }     #endif */ public leave_msg(user[]) {     if (get_cvar_num("amx_join_leave")==0) return PLUGIN_HANDLED     new username[32], message[192], hostname[64]     get_user_name(user[0], username, 31)     get_cvar_string("hostname", hostname, 63)     get_cvar_string("amx_join_message", message, 191)     replace(message, 191, "#name", username)     replace(message, 191, "#server", hostname)     set_hudmessage(0, 225, 0, 0.05, 0.55, 0, 6.0, 6.0, 0.5, 0.15, 3)     show_hudmessage(0, message)     return PLUGIN_CONTINUE }

This is the line that would do it, and if fixed, I believe this would finally work successfully

Code:
while( contain( message, "#team") != -1 )
__________________
CrazymFer is offline
Send a message via AIM to CrazymFer
CrazymFer
Junior Member
Join Date: Aug 2004
Old 12-22-2005 , 13:30  
Reply With Quote #6

Problem solved. I had to rescript more of it than I thought, but it works this way.

It announces centered at the bottom of the screen.
-It announces when the are connecting. Once they have connected, it announces that they are choosing a team, and says that every 10 seconds until they choose a team, then it announces the team they chose. Finally, when they leave, it announces again that they have left.

I know, it has been done before, but I don't care since I have jumped up my knowledge of pawn quickly, and at least this one displays centered at the bottom of the screen out of the way.
Attached Files
File Type: sma Get Plugin or Get Source (amx_join_leave.sma - 752 views - 4.3 KB)
__________________
CrazymFer is offline
Send a message via AIM to CrazymFer
Reply



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:52.


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