/* SdalĀ“s PLUGIN-SPEECH with new command speakto()*/ /* Using plugin_sdal_allowsounds which manages if the client want to hear the voice! */ /* (c) 2003 by Sir Drink a lot */ #include <core> #include <console> #include <string> #include <admin> #include <adminlib> new STRING_VERSION[MAX_DATA_LENGTH] = "15.06.03"; new Key[]="am_sound"; public allowsound(User[]){ new Info[MAX_NUMBER_LENGTH]; new iInfo; new Authid[MAX_AUTHID_LENGTH]; get_userAuthID(User,Authid,MAX_AUTHID_LENGTH); if(strcmp(Authid,"BOT")!=0){ get_userinfo(User,Key,Info,MAX_NUMBER_LENGTH); iInfo=strtonum(Info); if(strlen(Info)==0 || iInfo>=1 ){/*damit wird automatisch immer der Sound auf 1 gesetzt,wenn kein setinfo vorhanden, bis 'stop' eingegeben wird*/ return 1; }else{ return 0; } } return 0; } public admin_speak(HLCommand,HLData,HLUserName,UserIndex) { new Data[MAX_DATA_LENGTH]; new Output[MAX_TEXT_LENGTH]; new Target[MAX_NAME_LENGTH]; new TargetName[MAX_NAME_LENGTH]; convert_string(HLData,Data,MAX_DATA_LENGTH); strbreak(Data,Target,Output,MAX_TEXT_LENGTH); if(check_user(Target) == 1){ get_username(Target,TargetName,MAX_NAME_LENGTH); if(allowsound(Target)==1){ speakto(TargetName,Output); } }else{ selfmessage("Unrecognized player: "); selfmessage(Target); } return PLUGIN_HANDLED; } public admin_speakall(HLCommand,HLData,HLUserName,UserIndex) { new Data[MAX_DATA_LENGTH]; new Target[MAX_NAME_LENGTH]; new i; new maxplayers=maxplayercount(); convert_string(HLData,Data,MAX_DATA_LENGTH); for(i=1;i<=maxplayers;i++){ if(playerinfo(i,Target,MAX_NAME_LENGTH)){ if(allowsound(Target)==1){ speakto(Target,Data); } } } return PLUGIN_HANDLED; } public admin_speakdead(HLCommand,HLData,HLUserName,UserIndex) { new Data[MAX_DATA_LENGTH]; new Target[MAX_NAME_LENGTH]; new i; new maxplayers=maxplayercount(); new iDead; new dummy; convert_string(HLData,Data,MAX_DATA_LENGTH); for(i=1;i<=maxplayers;i++){ if(playerinfo(i,Target,MAX_NAME_LENGTH,dummy,dummy,dummy,iDead)){ if(iDead==1){ if(allowsound(Target)==1){ speakto(Target,Data); } } } } return PLUGIN_HANDLED; } public admin_speakteam(HLCommand,HLData,HLUserName,UserIndex) { new Data[MAX_DATA_LENGTH]; new Target[MAX_NAME_LENGTH]; new TargetTeam[MAX_NAME_LENGTH]; new Output[MAX_TEXT_LENGTH]; new i; new maxplayers=maxplayercount(); new iTargetTeam; new iTeam; new dummy; convert_string(HLData,Data,MAX_DATA_LENGTH); strbreak(Data,TargetTeam,Output,MAX_TEXT_LENGTH); iTargetTeam=strtonum(TargetTeam); for(i=1;i<=maxplayers;i++){ if(playerinfo(i,Target,MAX_NAME_LENGTH,dummy,dummy,iTeam,dummy)){ if(iTeam==iTargetTeam){ if(allowsound(Target)==1){ speakto(Target,Output); } } } } return PLUGIN_HANDLED; } public plugin_init() { plugin_registerinfo("PLUGIN_SDAL_SPEECH","Speak to clients with HL-Voice",STRING_VERSION); plugin_registercmd("admin_speak","admin_speak",ACCESS_VOTE_MAP,"admin_speak <Person> <Output>: speak to single person with HL-Voice"); plugin_registercmd("admin_speakall","admin_speakall",ACCESS_VOTE_MAP,"admin_speakall <Output>: speak to all clients with HL-Voice"); plugin_registercmd("admin_speakdead","admin_speakdead",ACCESS_VOTE_MAP,"admin_speadead <Output>: speak to all clients who are dead with HL-Voice"); plugin_registercmd("admin_speakteam","admin_speakteam",ACCESS_VOTE_MAP,"admin_speakteam <TeamNr> <Output>: speak to all clients who are in same team with HL-Voice"); return PLUGIN_CONTINUE; }