AdminMod.de
https://www.adminmod.de/

admin_connect_sound
https://www.adminmod.de/viewtopic.php?t=8232
Seite 1 von 2

Autor:  D-naekk [ 21.01.2004, 00:15 ]
Betreff des Beitrags:  admin_connect_sound

Hi Leute habe hir im orum mal ein Code gefunden wo man den connect sound ausführen kann über den admin Level. siehe hier:
Code:
/* ********************************************************* 
* This plugin was created by: @vus 
* Plugin created: ------------> 2002-05-12 <--------------- 
* avus@facs-clan.de 
* http://www.facs-clan.de 
* *********************************************************/ 

#include <core> 
#include <console> 
#include <string> 
#include <admin> 
#include <adminlib> 

#define ACCESS_ADMIN 8                  //Nötiges Recht 
#define TIMER_DELAY 20                  //Zeit die vergeht vom connecten bis zur Teamauswahl (20sek) 

new SoundFile[MAX_DATA_LENGTH] = "misc\hitler.wav";       //Sounddatei die abgespielt werden soll 

new STRING_VERSION[MAX_DATA_LENGTH] = "1.0"; 


/* ********************************************************* 
*                       | DAS HERZ | 
* *********************************************************/ 


public plugin_init() { 
  plugin_registerinfo("Admin Sound","This Plugin Play a Sound on all AdminClients when a Admin joins",STRING_VERSION); 

  return PLUGIN_CONTINUE; 
} 


public plugin_connect(HLUserName, HLIP, UserIndex){ 

   new strName[MAX_NAME_LENGTH]; 
   convert_string(HLUserName, strName, MAX_NAME_LENGTH); 

   set_timer("check_admin",TIMER_DELAY, 1, strName); 

   return PLUGIN_CONTINUE; 
} 

public check_admin(Timer,Repeat,HLName,HLParam){ 

new strName[MAX_NAME_LENGTH]; 

convert_string(HLParam,strName,MAX_NAME_LENGTH); 

  if (access(ACCESS_ADMIN, strName)!=0){         //Ist der User ein Admin? 
         centersay("Ein Admin ist auf den Server gekommen!",7, 255, 0, 0); 
         playfile(SoundFile); 
    
  } 
} 


playfile( sFileName[ ] ) 
{ 
   new Name[ MAX_NAME_LENGTH ]; 
   new iUserID; 
   new iWONID; 
   new maxplayers = maxplayercount(); 

   for( new i = 1; i <= maxplayers; i++ ) 
   { 
      if( playerinfo(i, Name, MAX_NAME_LENGTH, iUserID, iWONID ) ) { 
         //if its not a bot 
         if( iWONID != 0 ) { 
            if(access(ACCESS_ADMIN, Name)!= 0){      //Ist der User ein Admin 
               playsound(Name, sFileName ); 
            } 
         } 
      } 
   } 
   return PLUGIN_CONTINUE; 
} 
hab die in einer .sma geschrieben und in einer .amx umgewandelt Problem ist nur das es nicht funktioniert. Ist dort irgend ein Fehler im Code?

Autor:  [-=THH=-]Stillsetzhut [ 21.01.2004, 00:54 ]
Betreff des Beitrags: 

Hast Du auch die entsprechende Datei:
Code:
misc\hitler.wav
auf dem Server plaziert?
Oder kommt auch die Meldung: Ein Admin ist auf den Server gekommen! als Centersay nicht?
Fuer den Sound wird auch ein entsprechender Eintrag in eine .res Datei benoetigt.

Autor:  *BoWu* [ 21.01.2004, 01:22 ]
Betreff des Beitrags: 

genau,
schreib das z.B. so rein:
Code:
sound/misc/hitler.wav

sound/misc/message.wav
sound/misc/humiliation.wav
sound/misc/prepare.wav
sound/misc/tdwarn.wav
sound/misc/fu.wav
sound/ambience/abschaum.wav
usw.
Benenn die Datei in cs_italy.res, ab damit in den cstrike\maps Ordner und lass mal bei Gelegenheit ein paar leute auf italy connecten, die ziehen sich dann die sounds und koennen die dann auch hoeren.
OK, vielleicht weisst Du das alles schon, egal, nix fuer ungut :) Wollt auch mal wieder einen Post mit Hilfestellung und nich -Bitte schreiben, gar ned so einfach hier...loel :wink:

Autor:  D-naekk [ 21.01.2004, 02:17 ]
Betreff des Beitrags: 

jep hab eine admin.wav angelegt und in der .sma als stat hitler.wav admin.wav angegeben und das mit der .res hab ich auch schon gemacht, die Leute saugen sich die. Es funtzt halt nichts wenn ein admin connectet. kein Soundund kein Text zusehen.

Autor:  *BoWu* [ 21.01.2004, 18:34 ]
Betreff des Beitrags: 

mmh, schon mal in den Logs nachgeschaut? Daraus kann man manchmal die Fehlerquellle ausfindig machen, steht oft in Klartext drinn was madig ist. Was steht denn da wenn der Befehl ausgefuehrt werden muesste?

Autor:  D-naekk [ 21.01.2004, 18:49 ]
Betreff des Beitrags: 

naja so sehen die logs aus:
Code:
 01/21/2004 - 16:27:10: Log file started (file "logs/L0121096.log") (game "cstrike") (version "46/3.1.1.1/2469")
L 01/21/2004 - 16:27:10: [ADMIN] Loading users from file 'addons/adminmod/config/users.ini'
L 01/21/2004 - 16:27:10: [ADMIN] Loaded 11 users
L 01/21/2004 - 16:27:10: [ADMIN] Loading vault records from file 'addons/adminmod/config/vault.ini'
L 01/21/2004 - 16:27:10: [ADMIN] Loaded 45 vault records
L 01/21/2004 - 16:27:10: [ADMIN] Loading plugins from file 'addons/adminmod/config/plugin.ini'
L 01/21/2004 - 16:27:10: [ADMIN] exec de_dust2.cfg
L 01/21/2004 - 16:27:10: [ADMIN] Executing command: exec de_dust2.cfg
L 01/21/2004 - 16:27:10: Counter-Strike Plugin: Keine gesicherten Waffenverbote gefunden.
L 01/21/2004 - 16:27:10: [ADMIN] Loaded 14 plugins
L 01/21/2004 - 16:27:10: [ADMIN] Plugins loaded successfully.
L 01/21/2004 - 16:27:10: Waffe/Ausruestung Magnum Sniper Rifle ist verboten
L 01/21/2004 - 16:27:10: [ADMIN] (say) Command: Admin used command admin_restrict 4 6
L 01/21/2004 - 16:27:10: Rcon: "rcon ****** status" from "217.231.106.128:4328"
L 01/21/2004 - 16:27:11: Server cvar "public_slots_free" = "15"
L 01/21/2004 - 16:27:11: [STATSME] Loading statsme rank (file "cstrike/addons/statsme/statsme.log") (game "cstrike") (version "14")
L 01/21/2004 - 16:27:11: [STATSME] Loaded 306 records
L 01/21/2004 - 16:27:12: Rcon: "rcon ****** sv_contact "{CL OPT3 13040awin 13830}"" from "217.231.106.128:4328"


Autor:  [-=THH=-]Stillsetzhut [ 22.01.2004, 01:31 ]
Betreff des Beitrags: 

Ok, das ist der Anfang einer Map ..........
Hier waere ein Auszug interessant, der das Connecten eine Admins dokumentiert.

Autor:  *BoWu* [ 22.01.2004, 01:52 ]
Betreff des Beitrags: 

Jep,
da muesste irgendwann die Ausfuehrung der Begruessung auftauchen, das Plugin wurde ja erfolgreich geladen, ich weiss ned, vielleicht gehoerte ja mal eine cfg zu diesem Plugin :?:
..und wenn alles ned weiterhilft gibs als alternative statsme :))

sieh mal das script sm_greet
Code:
// Begruessungs.Funktion
sm_mode2 set d
sm_reg "SM_PutInServer d 2" "sm_tell2 * \'<{C.hostname}> {p.name} betritt den Server.\' 3" be
sm_reg "SM_Disconnect d 2" "sm_tell2 * \'<{C.hostname}> {p.name} verlaesst den Server.\' 3" be

sm_reg "SM_PutInServer d 2" "sm_task 15 \'set_hs;sm_tell2 #{p.uid} \\'** Bei "say" eintippen: .statsme oder .stats **\\'\' a" bde


// Admin-Begruessung
// STEAM-IDs der Admins bitte in statsme.cfg mit eintragen
sm_mode3 set z

[color=blue][b]sm_reg "SM_PutInServer z 3" "{%.auth=p}{#.idauth}sm_clexec * \'spk fvox/alert\';set_fb;sm_tell2 * \' .:| Server Admin {p.name} kommt Online |:. \'" be[/b][/color]

sm_reg "SM_Disconnect z 3" "{%.auth=p}{#.idauth}sm_clexec * \'spk fvox/alert\';set_fb;sm_tell2 * \' .:| Server Admin {p.name} ging Offline |:. \'" be


sm_menu "Begruessung.Admin\\y\\R{sm_mode3&z?an:aus}" "sm_mode3 {sm_mode3&z?remove:set} z"
sm_menu "Begruessung.Client\\y\\R{sm_mode2&d?an:aus}" "sm_mode2 {sm_mode2&d?remove:set} d"
Einfach die valve\sounds\fvox\alert.wav gegen die gewuenschte tauschen oder anderes dir eintragen

Autor:  [-=THH=-]Stillsetzhut [ 22.01.2004, 11:59 ]
Betreff des Beitrags: 

Zitat:
da muesste irgendwann die Ausfuehrung der Begruessung auftauchen, das Plugin wurde ja erfolgreich geladen, ich weiss ned, vielleicht gehoerte ja mal eine cfg zu diesem Plugin :?:
Wenn ich den Quelltext richtig interpretiere, benoetigt das Plugin keine .cfg

Autor:  Sir Drink a lot [ 22.01.2004, 14:00 ]
Betreff des Beitrags: 

aber wenn man genau hinsieht, dann fällt auf, dass er nur den Sound mit WONID !=0 abspielt.

Und mit CS 1.6 wird es da etwas problematisch :)

Also in PlayFile folgendes löschen:

new iWONID;
im playerinfo(...) die ,iWONID
und den if( iWONID != 0 ) { }

übrigens brauchen wir auch keine iUserID. könnte man auch noch löschen...

Naja..hier mal der Code:
Code:
playfile(sFileName[]){
	new Name[MAX_NAME_LENGTH];
	new iPlayerCount = maxplayercount( );
	new i;

	for( i=1; i <= iPlayerCount; i++ ){
		if( playerinfo( i, Name, MAX_NAME_LENGTH ) ){
			playsound(Name,sFileName);
		}
	}
}

Autor:  Sir Drink a lot [ 22.01.2004, 14:08 ]
Betreff des Beitrags: 

Hm...wieso im playfile auch nochmal access?

Sollte der Sound nur für Admins ertönen? Bei meinem Code Beispiel oben, ertönt der Sound dann bei allen Spielern.

Autor:  D-naekk [ 22.01.2004, 16:10 ]
Betreff des Beitrags: 

sollte nur bei Admins ertönen, aber gut das du das jetzt für 1.6 schon mal gemacht hast das bräuchte ich dann später ;) zur Zeit haben wir aber noch 1.5 zulaufen ;)

Autor:  Sir Drink a lot [ 23.01.2004, 13:39 ]
Betreff des Beitrags: 

Um Missverständnissen vorzubeugen:

Wenn ein Admin connected, dann wird ein Timer von 20 Sekunden gesetzt.

Nach den 20 Sekunden wird dann, mit meinem Code oben, bei jedem Spieler auf dem Server veranlasst, bei sich den Sound abzuspielen.

Vorher war es so, dass nach den 20 Sekunden nur bei den bereits anwesenden Admins auf dem Server veranlasst wird, bei sich den Sound abzuspielen.

Jetzt können folgende Fehler passieren:
- Der Admin wird beim Connect nicht erkannt und es wird kein Timer gesetzt.
- Die Pfadangaben im Plugin stimmen nicht mit dem Ort überein, wo die Clients den Sound bei sich gespeichert haben.
- Die Clients besitzen den Sound gar nicht.
- Die Timer sind mal wieder gestorben, was sehr häufig bei einem Listenserver vorkommt :(

Das Anlegen von *.res Dateien hat ja jemand oben schon erwähnt. Da steht dann z.B. "sound/misc/message.wav", damit sich die Clients den Sound herunterladen können und ihn bei sich an der selben Stelle abspeichern. sv_allowdownload muss natürlich beim Server aktiviert sein und der Client muss cl_allowdownload aktiviert haben. Sonst wird nichts übertragen.

Im Source muss dann
new SoundFile[MAX_DATA_LENGTH] = "sound/misc/message.wav";
stehen und kompiliert werden.

In dem Code, den Du gepostet hast, macht mir schon die Pfadangabe zum Soundfile sowie die \ anstatt / sorgen...

Und zum Abschluss: Der Server spielt den Clients den Sound nicht vor! Das Plugin veranlasst den Spieler, bei sich den Sound abzuspielen.

Die Änderung, die ich gemacht habe, gilt also für CS 16 wie auch für CS 15

Autor:  D-naekk [ 23.01.2004, 13:44 ]
Betreff des Beitrags: 

hey thx werd ich heut Abend mal testen ;)

Autor:  MeisterEder [ 27.01.2004, 18:05 ]
Betreff des Beitrags: 

bei mir kommt bei compliren
kommt
Code:
plugin_admin_connect.sma(50) Warning [217]: loose indentation
will für 1.5

Autor:  [-=THH=-]Stillsetzhut [ 27.01.2004, 21:11 ]
Betreff des Beitrags: 

Es ist nur eine Warnung. Das PI wird vermutlich trotzdem funktionieren. Oft haengt es mit dem Editor zusammen, mit dem das Script bearbeitet wird.

Autor:  MeisterEder [ 28.01.2004, 12:31 ]
Betreff des Beitrags: 

ja okey
aber ich hätte gerne das plugin als sma
wo das nicht kommt kann mir jemand die sma geben

Autor:  Sir Drink a lot [ 28.01.2004, 12:40 ]
Betreff des Beitrags: 

editiere die Zeile 50 doch so, dass die Einrückung stimmt.
Das kriegst Du hin!

Autor:  MeisterEder [ 30.01.2004, 12:36 ]
Betreff des Beitrags: 

danke für deine unterstützung habs jetzt weg bekommen so langsam raffe ich das au mit dem umändern und so.

hab vor kurzem das impressive plugin übersetzt in deutsch und des war garnet so schwer.aber mir fehlt hat noch die übung und richtig verstehen muss ichs au noch aber danke nomal.

Mit was für ein programm macht ihr die plugins
würde mich gerne dort versuchen

Autor:  [WING] Black Knight [ 30.01.2004, 12:45 ]
Betreff des Beitrags: 

Notetab Light oder Notepad

Seite 1 von 2 Alle Zeiten sind UTC+01:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/