Raised This Month: $ Target: $400
 0% 

Admin Join-Sound


  
 
 
Thread Tools Display Modes
Author Message
Eagle112
Senior Member
Join Date: Mar 2011
Old 11-27-2011 , 14:19   Admin Join-Sound
#1

Hallo!

Kann mir jemand genau erklären, wie ich auf meinem Linux CZ-Server einen Sound speichern muss für einen Admin-Sound?

es handelt sich um einen mp.3-Sound, der immer abgespielt werden soll, wenn 1 ganz bestimmter Admin ( mit seiner gespeicherten STEAM-ID) auf den Server joint.

Wäre nett, wenn Ihr mir auch gleich das dazu benötigte Plugin nennen könntet, da ich einen Admin-Join-Sound vorher noch nie installiert habe.


mfg
Eagle112 is offline
Eagle112
Senior Member
Join Date: Mar 2011
Old 11-28-2011 , 09:42   Re: Admin Join-Sound
#2

Hat keiner dazu eine Idee?
Eagle112 is offline
lgund
Senior Member
Join Date: Jul 2009
Location: Berlin
Old 11-28-2011 , 10:29   Re: Admin Join-Sound
#3

http://forums.alliedmods.net/showthr...ight=joinsound

Vllt hilft es dir ;)
__________________
You need help on Coding ?? Look on my Homepage: http://First-Coder.de/
You want FUN in Counter-Strike ;) ?? Look on my Community:
http://deathmanns.first-coder.de/
lgund is offline
Send a message via MSN to lgund Send a message via Skype™ to lgund
Eagle112
Senior Member
Join Date: Mar 2011
Old 11-29-2011 , 10:44   Re: Admin Join-Sound
#4

hab mir jetzt das "acs.V1.4.amxx" runter geladen, aber irgendiwe funzt das nicht.

Kann mir viel einer sagen, wie genau ich das installieren muss und wie ich da meinen gewünschten .mp3-Sound einbinden muss?
Eagle112 is offline
Eagle112
Senior Member
Join Date: Mar 2011
Old 12-06-2011 , 15:24   Re: Admin Join-Sound
#5

Ich habe das "acs.V1.4.amxx" wie alle anderen Plugins auch im Plugin-Ordner installiert, in die plugin.ini eingetragen und die .sma-Datei in den scripting-Ordner getan.

Mein FTP- Pfad sieht nun so aus:

/server/gs_9/czero/sound/misc/xxx.mp3

Anmerkung: "gs_9" ist mein Public- CZ Server und "xxx.mp3" ist der Sound.

in den "misc"- Ordner habe ich den gewünschten mp.3- Sound eingefügt, der abgespielt werden soll, wenn ich als Admin auf den Server joine.

die .sma- Datei sieht so aus:

/********************************************* ***********

Admin connect sound plugin V1.4

by flintst0nes http://flintst0nes.de.vu
for flintst0nes FUNSERVER FAST DL
visit steam CS1.6 @ 85.131.217.14:27025

based on AMX MOD X MESSENGER and SDM

********************************************* ************

This plugin for AMX Mod X simply plays a wav or mp3
file if an Admin joins the server.
This is different to the sank join / part sound,
because sank plays sounds on CONNECT, not on join

Furthermore, a short notice is given, when a player
joins or leaves.
When an admin joins, this notice is green.

I added sound support for user joins, too.

The plugin automatically downloads the soundfile if
necesary and - yes - it is compatible to
sv_downloadurl ;)

Just install the plugin the usual way copying the
amxx-file to addons/amxmodx/plugins and append
acs.amxx to yout plugins.ini
A sampe addons/amxmodx/configs/acs.cfg will be
automatically created.

Please NOTE that mp3 files are located to
e.g: sound/misc/cl_adminjoin.mp3 whereas
wave files are typed without a leading sound/ in
the pathname
e.g: misc/cl_adminjoin.wav
* DON'T USE SPACES*

Therefora they are used by the parser, the followings
strings are restricted for use in your custom strings:

.mp3
.wav

Don't use them or your server will crash !

No cvars need to be set.

********************************************* ************

EXAMPLE acs.cfg

#ADMINJOINSOUND=misc/cl_adminjoin.wav
#ADMINJOINMSG=Admin %s has joined the server
#ADMINPARTSOUND=misc/cl_part.wav
#ADMINPARTMSG=Admin %s has left the server
#USERJOINSOUND=misc/cl_join.wav
#USERJOINMSG=User %s has joined the server
#USER PARTSOUND=misc/cl_part.wav
#USERPARTMSG=User %s has left the server
STEAM_0:0:47110815=JOINSOUND:misc/cl_specialadmin.wav
STEAM_0:0:47110815=PARTSOUND:sound/misc/cl_part.wav
STEAM_0:0:47110815=JOINMSG:Admin FOO has joined the server, with nick %s
STEAM_0:0:47110815=PARTMSG:Admin BAR has left the building, with nick %s

********************************************* ************

CHANGELOG

Version 1.4

- used get_configsdir instead of hardcoded path
- added geoip support / set by cvar amx_acs_addgeo 0|1
- did some minor code optimisation

Version 1.3

- added multilingual support by using customizable textstrings
- added soundsupport for users also (by steam id)
- added admin / user leave sounds
- autoassign default settings when acs.cfg is incorrect
- increased performance through less code and variables
- checks if soundfile exists before precaching (server crashed)
- agein new config format. I'm sorry for that

Version 1.2

- added STEAM ID Support / every admin got his own sound

Version 1.1

- added text message on Admin / Users join
- added automatic sound download
- added mp3 support
- customized soundfile (set in acs.cfg)

Version 1.0

- plays a sound on admin connect

********************************************* ***********/

#include <amxmodx>
#include <amxmisc>
#include <geoip>

public plugin_init() {
register_plugin("Admin Connect Sound","1.4","flintst0nes.de.vu")
register_cvar("amx_acs_addgeo","1",0)
return PLUGIN_CONTINUE
}

public plugin_precache() {

new soundstring[128]
new soundfile[128]
new line
new txtlen

new admin_steam_id[34]
new soundpath[128]
new temp[5]

new cfgdir[128]
new cfgpath[136]

get_configsdir ( cfgdir, 128 )
format(cfgpath, 128, "%s/acs.cfg", cfgdir)

if(file_exists(cfgpath)){
while(((line=read_file(cfgpath,line,soundstri ng,140,txtlen))!=0)){

strtok(soundfile, admin_steam_id, 34, soundstring, 128, '=')
trim (admin_steam_id)
trim (soundstring)
strtok(soundstring, temp, 10, soundpath, 118, ':')

if(containi(soundpath,".wav") != -1){
if (file_exists (soundpath)){
precache_sound(soundpath)
}
}else if(containi(soundpath,".mp3") != -1){
if (file_exists (soundpath)){
precache_generic(soundpath)
}
}
}
}else{
write_file(cfgpath,"#ALL=misc/cl_adminjoin.wav\n#ADMINJOINMSG=Admin %s has joined the server\n#ADMINPARTMSG=Admin %s has left the server\n #USERJOINMSG=User %s has joined the server\n#USERPARTMSG=User %s has left the server\n",-1)
}
}

//
// plays a sound by given path
//
public playSoundfile(soundfile[]){

new players[32]
new player,num,i
get_players(players,num,"c")

for(i=0;i<num;i++){
player = players[i]
if(containi(soundfile,".wav") != -1){
client_cmd(player, "play ^"%s^"", soundfile)
}else if(containi(soundfile,".mp3") != -1){
client_cmd(i, "mp3 play ^"%s^"", soundfile)
}
}
}

//
// client join event
//
public client_putinserver(id){

// cfg file handling
new line, txtlen, cfgline[128], cfgcontent[128], soundpath[128]

// user handling
new szName[32], authid[34], admin_steam_id[34]

// messagestring
new szMsg[169]

// config variables
new ADMINJOINSOUND[128], ADMINJOINMSG[128], USERJOINSOUND[128], USERJOINMSG[128]
new STEAMJOINSOUND[128], STEAMJOINMSG[128], DIRECTOR[10], isAdmin = 0

// geoip data
new userip[16], usercountry[45]

// get user data
get_user_name(id, szName, 31)
get_user_authid (id, authid, 34)
if(is_user_admin(id)){
isAdmin = 1
}
get_user_ip ( id, userip, 16, 1 )
geoip_country ( userip, usercountry, 45 )

// configdir
new cfgdir[128]
new cfgpath[136]

get_configsdir ( cfgdir, 128 )
format(cfgpath, 128, "%s/acs.cfg", cfgdir)
if(file_exists(cfgpath)){
while(((line=read_file(cfgpath,line,cfgline,1 40,txtlen))!=0)){

strtok(cfgline, admin_steam_id, 34, cfgcontent, 128, '=')
trim (admin_steam_id)
trim (cfgcontent)

if(equal(admin_steam_id,"#ADMINJOINSOUND")){
ADMINJOINSOUND = cfgcontent
}
if(equal(admin_steam_id,"#ADMINJOINMSG")){
ADMINJOINMSG = cfgcontent
}
if(equal(admin_steam_id,"#USERJOINSOUND")){
USERJOINSOUND = cfgcontent
}
if(equal(admin_steam_id,"#USERJOINMSG")){
USERJOINMSG = cfgcontent
}
if(equal(authid, admin_steam_id)){
strtok(cfgcontent, DIRECTOR, 10, soundpath, 118, ':')
if(equal(DIRECTOR,"JOINSOUND")){
STEAMJOINSOUND = soundpath
}
if(equal(DIRECTOR,"JOINMSG")){
STEAMJOINMSG = soundpath
}
}
}
}

// check data for sounds
if(!equal(STEAMJOINSOUND, "")){
playSoundfile(STEAMJOINSOUND)
}else{
if( (!equal(ADMINJOINSOUND, "")) && (isAdmin) ){
playSoundfile(ADMINJOINSOUND)
}else if (!equal(USERJOINSOUND, "")){
playSoundfile(USERJOINSOUND)
}
}

// check data for msgs
if(!equal(STEAMJOINMSG, "")){
format(szMsg, 169, STEAMJOINMSG, szName)
szMsg = addGEOIP(szMsg, usercountry)
sendChatMessage(0, szMsg, 1)
}else{
if( (!equal(ADMINJOINMSG, "")) && (isAdmin) ){
format(szMsg, 169, ADMINJOINMSG, szName)
szMsg = addGEOIP(szMsg, usercountry)
sendChatMessage(0, szMsg, 1)
}else if( (equal(ADMINJOINMSG, "")) && (isAdmin) ){
format(szMsg, 169, "Admin %s has joined the server", szName)
szMsg = addGEOIP(szMsg, usercountry)
sendChatMessage(0, szMsg, 1)
}else if (!equal(USERJOINMSG, "")){
format(szMsg, 169, USERJOINMSG, szName)
szMsg = addGEOIP(szMsg, usercountry)
sendChatMessage(0, szMsg,0)
}else{
format(szMsg, 169, "%s has joined the server", szName)
szMsg = addGEOIP(szMsg, usercountry)
sendChatMessage(0, szMsg,0)
}
}
}

//
// client leave event
//
public client_disconnect(id){

// cfg file handling
new line, txtlen, cfgline[128], cfgcontent[128], soundpath[128]

// user handling
new szName[32], authid[34], admin_steam_id[34]

// messagestring
new szMsg[128]

// config variables
new ADMINPARTSOUND[128], ADMINPARTMSG[128], USERPARTSOUND[128], USERPARTMSG[128]
new STEAMPARTSOUND[128], STEAMPARTMSG[128], DIRECTOR[10], isAdmin = 0

// get user data
get_user_name(id, szName, 31)
get_user_authid (id, authid, 34)
if(is_user_admin(id)){
isAdmin = 1
}

// configdir
new cfgdir[128]
new cfgpath[136]

get_configsdir ( cfgdir, 128 )
format(cfgpath, 128, "%s/acs.cfg", cfgdir)
if(file_exists(cfgpath)){
while(((line=read_file(cfgpath,line,cfgline,1 40,txtlen))!=0)){

strtok(cfgline, admin_steam_id, 34, cfgcontent, 128, '=')
trim (admin_steam_id)
trim (cfgcontent)

if(equal(admin_steam_id,"#ADMINPARTSOUND")){
ADMINPARTSOUND = cfgcontent
}
if(equal(admin_steam_id,"#ADMINPARTMSG")){
ADMINPARTMSG = cfgcontent
}
if(equal(admin_steam_id,"#USERPARTSOUND")){
USERPARTSOUND = cfgcontent
}
if(equal(admin_steam_id,"#USERPARTMSG")){
USERPARTMSG = cfgcontent
}
if(equal(authid, admin_steam_id)){
strtok(cfgcontent, DIRECTOR, 10, soundpath, 118, ':')
if(equal(DIRECTOR,"PARTSOUND")){
STEAMPARTSOUND = soundpath
}
if(equal(DIRECTOR,"PARTMSG")){
STEAMPARTMSG = soundpath
}
}
}
}

// check data for sounds
if(!equal(STEAMPARTSOUND, "")){
playSoundfile(STEAMPARTSOUND)
}else{
if( (!equal(ADMINPARTSOUND, "")) && (isAdmin) ){
playSoundfile(ADMINPARTSOUND)
}else if (!equal(USERPARTSOUND, "")){
playSoundfile(USERPARTSOUND)
}
}

// check data for msgs
if(!equal(STEAMPARTMSG, "")){
format(szMsg, 128, STEAMPARTMSG, szName)
sendChatMessage(0, szMsg, 0)
}else{
if( (!equal(ADMINPARTMSG, "")) && (isAdmin) ){
format(szMsg, 128, ADMINPARTMSG, szName)
sendChatMessage(0, szMsg, 0)
}else if( (equal(ADMINPARTMSG, "")) && (isAdmin) ){
format(szMsg, 128, "Admin %s has left the server", szName)
sendChatMessage(0, szMsg, 0)
}else if (!equal(USERPARTMSG, "")){
format(szMsg, 128, USERPARTMSG, szName)
sendChatMessage(0, szMsg,0)
}else{
format(szMsg, 128, "%s has left the server", szName)
sendChatMessage(0, szMsg,0)
}
}
}

//
// public chat msg
//
public sendChatMessage(id, szArgs[], green)
{
new szMsg[128]

if(green == 1){
format(szMsg,127,"^x04%s",szArgs)
}else{
format(szMsg,127,"%s",szArgs)
}
if (id == 0){
new Players[32],Num
get_players(Players,Num)

for (new i = 0; i < Num; i++){
message_begin(MSG_ONE,get_user_msgid("SayText "),{0,0,0},Players[i])
write_byte(Players[i])
write_string(szMsg)
message_end()
}
}else{
message_begin(MSG_ONE, get_user_msgid("SayText"), {0, 0, 0}, id)
write_byte(id)
write_string(szMsg)
message_end()
}
}

public addGEOIP(msg[], country[]){
new newMsg[169]
if(get_cvar_num("amx_acs_addgeo")){
format(newMsg,169,"%s (%s)",msg,country)
}else{
format(newMsg,169,"%s",msg)
}
return newMsg
}


die acs.cfg sieht so aus:

; #ADMINJOINSOUND=misc/cl_adminjoin.wav
; #ADMINJOINMSG=Admin %s has joined the server
; #ADMINPARTSOUND=misc/cl_part.wav
; #ADMINPARTMSG=Admin %s has left the server
; #USERJOINSOUND=misc/cl_join.wav
; #USERJOINMSG=User %s has joined the server
; #USER PARTSOUND=misc/cl_part.wav
; #USERPARTMSG=User %s has left the server
STEAM_0:1xxxxxxx=JOINSOUND:misc/xxx.mp3
STEAM_0:1xxxxxxx=JOINMSG:.:Mein Name betritt den Server



Hat irgendjemand eine Idee, warum der sound nicht abgespielt wird, wenn ich auf den Server connecte?

Ich weiss echt nicht, wo der Fehler liegen könnte...


Wäre nett, wenn mir einer helfen könnte, das Problem zu lösen.


Danke schonmal im Voraus für eure Hilfe
Eagle112 is offline
bibu
Veteran Member
Join Date: Sep 2010
Old 12-07-2011 , 06:56   Re: Admin Join-Sound
#6

Lad mal das Lied hier hoch. CS kann nicht alle Sounds abspielen, da sie höchstwahrscheinlich andere Einstellungen habe.
__________________
Selling tons of my own private works.
Accepting paid work for clans and communities.
Don't hesitate to contact me.
bibu is offline
Eagle112
Senior Member
Join Date: Mar 2011
Old 12-07-2011 , 07:45   Re: Admin Join-Sound
#7

Hallo!

Anbei der gepackte Sound, vielleicht hilfts dir ja weiter, denn mein Latein ist am Ende
Attached Files
File Type: zip Goldberg.zip (534.3 KB, 116 views)
Eagle112 is offline
bibu
Veteran Member
Join Date: Sep 2010
Old 12-07-2011 , 09:47   Re: Admin Join-Sound
#8

Ok, versuchs mal damit.
Attached Files
File Type: zip mp3.zip (355.5 KB, 134 views)
__________________
Selling tons of my own private works.
Accepting paid work for clans and communities.
Don't hesitate to contact me.
bibu is offline
Eagle112
Senior Member
Join Date: Mar 2011
Old 12-07-2011 , 10:03   Re: Admin Join-Sound
#9

@ bibu:

Erstmal Danke für Deine Hilfe.

Wie ich bemerkt habe, haste den Sound jetzt von der Größe her verändert

Habe ihn auch brav in meinen "misc"-Ordner geladen und den Server neu gestartet.

Leider funktioniert es immer noch nicht, dass andere Spieler den Sound auf dem Server hören, wenn ich mit meiner STEAM-ID connecte.

Was mich ausserdem etwas verwundert ist, daß die User den Sound beim Connecten auf den Server nicht einmal downloaden ( was,meines wisssens nach, ja nötig ist, damit sie ihn überhaupt hören können)

Wüsstest Du sonst eventuell ein anderes Plugin, was mir diesen Admin-Joinsound ermöglicht?

Denn langsam glaube ich nicht mehr daran, dass ich es mit acs jemals hin bekommen werde


Gruß
__________________
Eagle112 is offline
bibu
Veteran Member
Join Date: Sep 2010
Old 12-07-2011 , 13:48   Re: Admin Join-Sound
#10

Falls du den Sound im misc Ordner hast, also auch lokal gespeichert. Mach dein CS auf, und schreib mal in die Konsole:

"spk misc/goldberg.mp3"

Und schreib dann nochmal ob du den Sound so hörst oder nicht.
__________________
Selling tons of my own private works.
Accepting paid work for clans and communities.
Don't hesitate to contact me.
bibu 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 07:49.


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