Jump to content
View in the app

A better way to browse. Learn more.

Forum Supreme-Elite

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[EN COURS] Plugin Round sound ++

Featured Replies

Bonjour à tous :)

 

Le problème concerne cette fois ci un plugin nommé Round Sound ++ qui consiste à jouer un son à la fin de chaque round. Par défaut, il joue 6 sons différents en tout. Concernant l'installation par défaut (avec les 6 sons), tout marche bien sans problème.

Trouvant que 6 ce n'est pas assez, je décide de modifié le .sp pour rajouter deux sons en plus ( un pour les ct et un pour les terros ) donc voici la config :

 

 * Changelog
*   changelog.txt
* Readme
*   readme.txt
* Credits
*   Old CS 1.6 Plugin
*   by "PaintLancer"
* Thxs
*   To NAT for his help!
* -------------------------
* by TanaToS aka ANTiCHRiST
*/
#include <sourcemod>
#include <sdktools>
#include <sdktools_sound>
#include <console>
#include <string>

#pragma semicolon 1

#define PLUGIN_VERSION "1.1.0"
#define MAX_FILE_LEN 256

new Handle:g_hEnabled = INVALID_HANDLE;
new bool:g_bEnabled = true;

public Plugin:myinfo = {
name = "RoundSound++",
author = "ANTiCHRiST",
description = "Plays a Sound at RoundEnd.",
version = PLUGIN_VERSION,
url = "http://passionfighters.de"
};

public OnPluginStart() {
CreateConVar("sm_roundsound_version", PLUGIN_VERSION, "RoundSound++ version.", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY);
g_hEnabled = CreateConVar("sm_roundsound_enable", "1", "RoundSound++ Enable/Disable CVar.", FCVAR_PLUGIN|FCVAR_NOTIFY);

HookEvent("round_end", EventRoundEnd);
HookConVarChange(g_hEnabled, CVarEnabled);
}

public OnMapStart()
{
decl String:tewin_snd1[MAX_FILE_LEN];
decl String:tewin_snd2[MAX_FILE_LEN];
decl String:tewin_snd3[MAX_FILE_LEN];
decl String:ctwin_snd1[MAX_FILE_LEN];
decl String:ctwin_snd2[MAX_FILE_LEN];
decl String:ctwin_snd3[MAX_FILE_LEN];

Format(tewin_snd1, sizeof(tewin_snd1), "sound/misc/twinnar.mp3");
Format(tewin_snd2, sizeof(tewin_snd2), "sound/misc/twinnar2.mp3");
Format(tewin_snd3, sizeof(tewin_snd3), "sound/misc/twinnar3.mp3");
Format(ctwin_snd1, sizeof(ctwin_snd1), "sound/misc/ctwinnar2.mp3");
Format(ctwin_snd2, sizeof(ctwin_snd2), "sound/misc/ctwinnar3.mp3");
Format(ctwin_snd3, sizeof(ctwin_snd3), "sound/misc/ctwinnar4.mp3");

if(FileExists(tewin_snd1) && FileExists(tewin_snd2) && FileExists(tewin_snd3) && FileExists(ctwin_snd1) && FileExists(ctwin_snd2) && FileExists(ctwin_snd3)) {
	AddFileToDownloadsTable(tewin_snd1);
	AddFileToDownloadsTable(tewin_snd2);
	AddFileToDownloadsTable(tewin_snd3);
	AddFileToDownloadsTable(ctwin_snd1);
	AddFileToDownloadsTable(ctwin_snd2);
	AddFileToDownloadsTable(ctwin_snd3);

	PrecacheSound("misc/ctwinnar2.mp3", true);
	PrecacheSound("misc/ctwinnar3.mp3", true);
	PrecacheSound("misc/ctwinnar4.mp3", true);
	PrecacheSound("misc/twinnar.mp3", true);
	PrecacheSound("misc/twinnar2.mp3", true);
	PrecacheSound("misc/twinnar3.mp3", true);
}
else {
	LogError("Not all sound files exists.");
	LogError("Unload the Plugin.");
	ServerCommand("sm plugins unload \"RoundSound++.smx\"");
}
}

public OnConfigsExecuted() {
if(GetConVarBool(g_hEnabled)) {
	g_bEnabled = true;
}
else if(!GetConVarBool(g_hEnabled)) {
	g_bEnabled = false;
}
else {
	g_bEnabled = true;
	LogError("False value plugin continued");
}
}

public CVarEnabled(Handle:convar, const String:oldValue[], const String:newValue[]) {
if(GetConVarBool(g_hEnabled)) {
	g_bEnabled = true;
}
else if(!GetConVarBool(g_hEnabled)) {
	g_bEnabled = false;
}
else {
	g_bEnabled = true;
	LogError("False value plugin continued");
}
}

public EventRoundEnd(Handle:event, const String:name[], bool:dontBroadcast) {
new rnd_sound = GetRandomInt(1, 3);
new ev_winner = GetEventInt(event, "winner");
if(g_bEnabled) {
	if(ev_winner == 2) {
		if(rnd_sound == 1) {
			EmitSoundToAll("misc/twinnar.mp3");
		}
		else if(rnd_sound == 2) {
			EmitSoundToAll("misc/twinnar2.mp3");
		}
		else if(rnd_sound == 3) {
			EmitSoundToAll("misc/twinnar3.mp3");
		}
		else {
			LogError("Ramdom Sound CVar Error.");
		}
	}
	else if(ev_winner == 3) {
		if(rnd_sound == 1) {
			EmitSoundToAll("misc/ctwinnar2.mp3");
		}
		else if(rnd_sound == 2) {
			EmitSoundToAll("misc/ctwinnar3.mp3");
		}
		else if(rnd_sound == 3) {
			EmitSoundToAll("misc/ctwinnar4.mp3");
		}
		else {
			LogError("Ramdom Sound CVar Error.");
		}
	}
	else {
		LogError("No team has win the round.");
	}
}
}

 

Je le recompile ensuite pour avoir le plugin .smx et lorsque je veux me connecter au serveur, bien entendu les sons ne se téléchargent pas et le plugin par conséquent ne marche pas du tout.

Et voiçi ce que ca donne dans les log :

L 10/24/2010 - 15:11:34: [RoundSound++.smx] Not all sound files exists.

L 10/24/2010 - 15:11:34: [RoundSound++.smx] Unload the Plugin.

 

Pourtant j'ai bien regardé, et le nom des sons sont exactement ceux que j'ai mis dans le .sp

 

Auriez vous une solution ?

 

Cordialement

Hmm suffit de lire.

Le log d'erreur que tu cites apparait si le plugin ne trouve pas tous les sons aux endroits indiqué. Donc soit tu t'es trompé dans le chemin de tes sons, soit tu ne les a simplement pas mis sur ton serveur ;).

 

Je t'ai modifié le plugin de base. Oublie pas de remplacer les "TON SON PERSO POUR LES...". Fait attention ... parfois il faut démarrer le chemin avec le dossier "sound" (sound/misc/...), parfois directement commencer par le sous dossier (donc sans le "sound/").

 

 

/* *
* ANTiCHRiST RoundSound++ 
* -------------------------
* Changelog
*   changelog.txt
* Readme
*   readme.txt
* Credits
*   Old CS 1.6 Plugin
*   by "PaintLancer"
* Thxs
*   To NAT for his help!
* -------------------------
* by TanaToS aka ANTiCHRiST
*/
#include <sourcemod>
#include <sdktools>
#include <sdktools_sound>
#include <console>
#include <string>

#pragma semicolon 1

#define PLUGIN_VERSION "1.1.0"
#define MAX_FILE_LEN 256

new Handle:g_hEnabled = INVALID_HANDLE;
new bool:g_bEnabled = true;

public Plugin:myinfo = {
name = "RoundSound++",
author = "ANTiCHRiST",
description = "Plays a Sound at RoundEnd.",
version = PLUGIN_VERSION,
url = "http://passionfighters.de"
};

public OnPluginStart() {
CreateConVar("sm_roundsound_version", PLUGIN_VERSION, "RoundSound++ version.", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY);
g_hEnabled = CreateConVar("sm_roundsound_enable", "1", "RoundSound++ Enable/Disable CVar.", FCVAR_PLUGIN|FCVAR_NOTIFY);

HookEvent("round_end", EventRoundEnd);
HookConVarChange(g_hEnabled, CVarEnabled);
}

public OnMapStart()
{
decl String:tewin_snd1[MAX_FILE_LEN];
decl String:tewin_snd2[MAX_FILE_LEN];
decl String:tewin_snd3[MAX_FILE_LEN];
decl String:tewin_snd4[MAX_FILE_LEN];
decl String:ctwin_snd1[MAX_FILE_LEN];
decl String:ctwin_snd2[MAX_FILE_LEN];
decl String:ctwin_snd3[MAX_FILE_LEN];
decl String:ctwin_snd4[MAX_FILE_LEN];

Format(tewin_snd1, sizeof(tewin_snd1), "sound/misc/twinnar.wav");
Format(tewin_snd2, sizeof(tewin_snd2), "sound/misc/twinnar2.wav");
Format(tewin_snd3, sizeof(tewin_snd3), "sound/misc/twinnar3.wav");
Format(tewin_snd4, sizeof(tewin_snd4), "TON SON PERSO POUR LES T");
Format(ctwin_snd1, sizeof(ctwin_snd1), "sound/misc/ctwinnar2.wav");
Format(ctwin_snd2, sizeof(ctwin_snd2), "sound/misc/ctwinnar3.wav");
Format(ctwin_snd3, sizeof(ctwin_snd3), "sound/misc/ctwinnar4.wav");
Format(ctwin_snd4, sizeof(ctwin_snd4), "TON SON PERSO POUR LES CT");

if(FileExists(tewin_snd1) && FileExists(tewin_snd2) && FileExists(tewin_snd3) && FileExists(tewin_snd4) && FileExists(ctwin_snd1) && FileExists(ctwin_snd2) && FileExists(ctwin_snd3) && FileExists(ctwin_snd4)) {
	AddFileToDownloadsTable(tewin_snd1);
	AddFileToDownloadsTable(tewin_snd2);
	AddFileToDownloadsTable(tewin_snd3);
	AddFileToDownloadsTable(tewin_snd4);
	AddFileToDownloadsTable(ctwin_snd1);
	AddFileToDownloadsTable(ctwin_snd2);
	AddFileToDownloadsTable(ctwin_snd3);
	AddFileToDownloadsTable(ctwin_snd4);

	PrecacheSound("misc/ctwinnar2.wav", true);
	PrecacheSound("misc/ctwinnar3.wav", true);
	PrecacheSound("misc/ctwinnar4.wav", true);
	PrecacheSound("TON SON PERSO POUR LES T", true);
	PrecacheSound("misc/twinnar.wav", true);
	PrecacheSound("misc/twinnar2.wav", true);
	PrecacheSound("misc/twinnar3.wav", true);
	PrecacheSound("TON SON PERSO POUR LES CT", true);
}
else {
	LogError("Not all sound files exists.");
	LogError("Unload the Plugin.");
	ServerCommand("sm plugins unload \"RoundSound++.smx\"");
}
}

public OnConfigsExecuted() {
if(GetConVarBool(g_hEnabled)) {
	g_bEnabled = true;
}
else if(!GetConVarBool(g_hEnabled)) {
	g_bEnabled = false;
}
else {
	g_bEnabled = true;
	LogError("False value plugin continued");
}
}

public CVarEnabled(Handle:convar, const String:oldValue[], const String:newValue[]) {
if(GetConVarBool(g_hEnabled)) {
	g_bEnabled = true;
}
else if(!GetConVarBool(g_hEnabled)) {
	g_bEnabled = false;
}
else {
	g_bEnabled = true;
	LogError("False value plugin continued");
}
}

public EventRoundEnd(Handle:event, const String:name[], bool:dontBroadcast) {
new rnd_sound = GetRandomInt(1, 4);
new ev_winner = GetEventInt(event, "winner");
if(g_bEnabled) {
	if(ev_winner == 2) {
		if(rnd_sound == 1) {
			EmitSoundToAll("misc/twinnar.wav");
		}
		else if(rnd_sound == 2) {
			EmitSoundToAll("misc/twinnar2.wav");
		}
		else if(rnd_sound == 3) {
			EmitSoundToAll("misc/twinnar3.wav");
		}
		else if(rnd_sound == 4) {
			EmitSoundToAll("TON SON PERSO POUR LES T");
		}
		else {
			LogError("Ramdom Sound CVar Error.");
		}
	}
	else if(ev_winner == 3) {
		if(rnd_sound == 1) {
			EmitSoundToAll("misc/ctwinnar2.wav");
		}
		else if(rnd_sound == 2) {
			EmitSoundToAll("misc/ctwinnar3.wav");
		}
		else if(rnd_sound == 3) {
			EmitSoundToAll("misc/ctwinnar4.wav");
		}
		else if(rnd_sound == 3) {
			EmitSoundToAll("TON SON PERSO POUR LES CT");
		}
		else {
			LogError("Ramdom Sound CVar Error.");
		}
	}
	else {
		LogError("No team has win the round.");
	}
}
}

  • Author

Tous les sons marchent, enfin du moins il me semble :)

Ce qui est déjà une très très bonne chose, encore merci à toi .

 

Mais ils se jouent de manière aléatoire. Par exemple le terros gagnent un round, un son est joué, puis le round suivant rien...

D'autre fois c'est le même son qui se joue plusieurs round de suite.

 

J'aimerai en fait qu'à chaque fin de round ce soit un son différent qui se joue : round1 ct win = sound 1, round2 ct win = sound 2..... puis quand c'est arrivé au son 4 que ca recommence au son 1 pour les ct. Et de même pour les terros.

 

J'ai jeté un oeil au .sp et je ne vois pas quel valeurs il faut modifier ...

 

Pourrais tu stp me donner un dernier coup de main ? :)

new rnd_sound = GetRandomInt(1, 4);

 

rnd_sound est un nombre aléatoire entre 1 et 4. Ensuite un des 4 sons est joué selon ce nombre. C'est pour cela que c'est aléatoire.

 

/* *
* ANTiCHRiST RoundSound++ 
* -------------------------
* Changelog
*   changelog.txt
* Readme
*   readme.txt
* Credits
*   Old CS 1.6 Plugin
*   by "PaintLancer"
* Thxs
*   To NAT for his help!
* -------------------------
* by TanaToS aka ANTiCHRiST
*/
#include <sourcemod>
#include <sdktools>
#include <sdktools_sound>
#include <console>
#include <string>

#pragma semicolon 1

#define PLUGIN_VERSION "1.1.0"
#define MAX_FILE_LEN 256

new Handle:g_hEnabled = INVALID_HANDLE;
new bool:g_bEnabled = true;
new rnd_sound;

public Plugin:myinfo = {
       name = "RoundSound++",
       author = "ANTiCHRiST",
       description = "Plays a Sound at RoundEnd.",
       version = PLUGIN_VERSION,
       url = "http://passionfighters.de"
};

public OnPluginStart() {
       CreateConVar("sm_roundsound_version", PLUGIN_VERSION, "RoundSound++ version.", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY);
       g_hEnabled = CreateConVar("sm_roundsound_enable", "1", "RoundSound++ Enable/Disable CVar.", FCVAR_PLUGIN|FCVAR_NOTIFY);

       HookEvent("round_end", EventRoundEnd);
       HookConVarChange(g_hEnabled, CVarEnabled);
}

public OnMapStart()
{
			rnd_sound = 0;
			
       decl String:tewin_snd1[MAX_FILE_LEN];
       decl String:tewin_snd2[MAX_FILE_LEN];
       decl String:tewin_snd3[MAX_FILE_LEN];
       decl String:tewin_snd4[MAX_FILE_LEN];
       decl String:ctwin_snd1[MAX_FILE_LEN];
       decl String:ctwin_snd2[MAX_FILE_LEN];
       decl String:ctwin_snd3[MAX_FILE_LEN];
       decl String:ctwin_snd4[MAX_FILE_LEN];

       Format(tewin_snd1, sizeof(tewin_snd1), "sound/misc/twinnar.wav");
       Format(tewin_snd2, sizeof(tewin_snd2), "sound/misc/twinnar2.wav");
       Format(tewin_snd3, sizeof(tewin_snd3), "sound/misc/twinnar3.wav");
       Format(tewin_snd4, sizeof(tewin_snd4), "TON SON PERSO POUR LES T");
       Format(ctwin_snd1, sizeof(ctwin_snd1), "sound/misc/ctwinnar2.wav");
       Format(ctwin_snd2, sizeof(ctwin_snd2), "sound/misc/ctwinnar3.wav");
       Format(ctwin_snd3, sizeof(ctwin_snd3), "sound/misc/ctwinnar4.wav");
       Format(ctwin_snd4, sizeof(ctwin_snd4), "TON SON PERSO POUR LES CT");

       if(FileExists(tewin_snd1) && FileExists(tewin_snd2) && FileExists(tewin_snd3) && FileExists(tewin_snd4) && FileExists(ctwin_snd1) && FileExists(ctwin_snd2) && FileExists(ctwin_snd3) && FileExists(ctwin_snd4)) {
               AddFileToDownloadsTable(tewin_snd1);
               AddFileToDownloadsTable(tewin_snd2);
               AddFileToDownloadsTable(tewin_snd3);
               AddFileToDownloadsTable(tewin_snd4);
               AddFileToDownloadsTable(ctwin_snd1);
               AddFileToDownloadsTable(ctwin_snd2);
               AddFileToDownloadsTable(ctwin_snd3);
               AddFileToDownloadsTable(ctwin_snd4);

               PrecacheSound("misc/ctwinnar2.wav", true);
               PrecacheSound("misc/ctwinnar3.wav", true);
               PrecacheSound("misc/ctwinnar4.wav", true);
               PrecacheSound("TON SON PERSO POUR LES T", true);
               PrecacheSound("misc/twinnar.wav", true);
               PrecacheSound("misc/twinnar2.wav", true);
               PrecacheSound("misc/twinnar3.wav", true);
               PrecacheSound("TON SON PERSO POUR LES CT", true);
       }
       else {
               LogError("Not all sound files exists.");
               LogError("Unload the Plugin.");
               ServerCommand("sm plugins unload \"RoundSound++.smx\"");
       }
}

public OnConfigsExecuted() {
       if(GetConVarBool(g_hEnabled)) {
               g_bEnabled = true;
       }
       else if(!GetConVarBool(g_hEnabled)) {
               g_bEnabled = false;
       }
       else {
               g_bEnabled = true;
               LogError("False value plugin continued");
       }
}

public CVarEnabled(Handle:convar, const String:oldValue[], const String:newValue[]) {
       if(GetConVarBool(g_hEnabled)) {
               g_bEnabled = true;
       }
       else if(!GetConVarBool(g_hEnabled)) {
               g_bEnabled = false;
       }
       else {
               g_bEnabled = true;
               LogError("False value plugin continued");
       }
}

public EventRoundEnd(Handle:event, const String:name[], bool:dontBroadcast) {
			rnd_sound ++;
			if(rnd_sound == 5) rnd_sound = 1;
			
       new ev_winner = GetEventInt(event, "winner");
       if(g_bEnabled) {
               if(ev_winner == 2) {
                       if(rnd_sound == 1) {
                               EmitSoundToAll("misc/twinnar.wav");
                       }
                       else if(rnd_sound == 2) {
                               EmitSoundToAll("misc/twinnar2.wav");
                       }
                       else if(rnd_sound == 3) {
                               EmitSoundToAll("misc/twinnar3.wav");
                       }
                       else if(rnd_sound == 4) {
                               EmitSoundToAll("TON SON PERSO POUR LES T");
                       }
                       else {
                               LogError("Ramdom Sound CVar Error.");
                       }
               }
               else if(ev_winner == 3) {
                       if(rnd_sound == 1) {
                               EmitSoundToAll("misc/ctwinnar2.wav");
                       }
                       else if(rnd_sound == 2) {
                               EmitSoundToAll("misc/ctwinnar3.wav");
                       }
                       else if(rnd_sound == 3) {
                               EmitSoundToAll("misc/ctwinnar4.wav");
                       }
                       else if(rnd_sound == 3) {
                               EmitSoundToAll("TON SON PERSO POUR LES CT");
                       }
                       else {
                               LogError("Ramdom Sound CVar Error.");
                       }
               }
               else {
                       LogError("No team has win the round.");
               }
       }
}

 

Vu que c'est la même variable qui détermine le numéro du son joué, elle sera incrémentée si ce sont les T ou les CTs qui gagnent (bref, a chaque round). Donc si les CTs gagnent par exemple le round 1 (son ctwin1 lancé), les T gagnent le 2 (son twin2 lancé), par si les CTs gagnent le 3, c'est le son ctwin3 (et pas le ctwin2) qui est lancé.

 

Après je peux changer si tu veux différencier les rounds gagnés par les T et les CTs.

 

Ah, sinon ca redémarre a 9 a chaque début de map.

  • Author

ah d'accord ^^

Et bien dis donc heureusement que tu es la, parce que j'aurai galéré tout seul :/ . Et pour l'instant j'ai posté sur plusieurs forum tu es le seul à avoir réussit à me donner une réponse qui marche :)

 

Après je peux changer si tu veux différencier les rounds gagnés par les T et les CTs.

 

Oui je veux bien, si ca ne te dérange pas trop et si tu as le temps ...

Je souhaiterai que tout simplement lorsque les ct gagnent leur premier round, se soit le 1ier son qui soit joué. Puis si ils gagnent le deuxième round que ce soit le 2ième son qui soit joué. Et si par exemple les terros gagnent le 3ième round que se soit le 1ier son des terros qui soit joué...

Et lorsque les 4 sons des ct sont joués, si ils gagnent un nouveau round, que ce soit le 1ier son qui soit rejoué etc ...

 

Merci encore :)

/* *
* ANTiCHRiST RoundSound++ 
* -------------------------
* Changelog
*   changelog.txt
* Readme
*   readme.txt
* Credits
*   Old CS 1.6 Plugin
*   by "PaintLancer"
* Thxs
*   To NAT for his help!
* -------------------------
* by TanaToS aka ANTiCHRiST
*/
#include <sourcemod>
#include <sdktools>
#include <sdktools_sound>
#include <console>
#include <string>

#pragma semicolon 1

#define PLUGIN_VERSION "1.1.0"
#define MAX_FILE_LEN 256

new Handle:g_hEnabled = INVALID_HANDLE;
new bool:g_bEnabled = true;
new t_rnd_sound;
new ct_rnd_sound;

public Plugin:myinfo = {
name = "RoundSound++",
author = "ANTiCHRiST",
description = "Plays a Sound at RoundEnd.",
version = PLUGIN_VERSION,
url = "http://passionfighters.de"
};

public OnPluginStart() {
CreateConVar("sm_roundsound_version", PLUGIN_VERSION, "RoundSound++ version.", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY);
g_hEnabled = CreateConVar("sm_roundsound_enable", "1", "RoundSound++ Enable/Disable CVar.", FCVAR_PLUGIN|FCVAR_NOTIFY);

HookEvent("round_end", EventRoundEnd);
HookConVarChange(g_hEnabled, CVarEnabled);
}

public OnMapStart()
{
ct_rnd_sound = 0;
t_rnd_sound = 0;
       
decl String:tewin_snd1[MAX_FILE_LEN];
decl String:tewin_snd2[MAX_FILE_LEN];
decl String:tewin_snd3[MAX_FILE_LEN];
decl String:tewin_snd4[MAX_FILE_LEN];
decl String:ctwin_snd1[MAX_FILE_LEN];
decl String:ctwin_snd2[MAX_FILE_LEN];
decl String:ctwin_snd3[MAX_FILE_LEN];
decl String:ctwin_snd4[MAX_FILE_LEN];

Format(tewin_snd1, sizeof(tewin_snd1), "sound/misc/twinnar.wav");
Format(tewin_snd2, sizeof(tewin_snd2), "sound/misc/twinnar2.wav");
Format(tewin_snd3, sizeof(tewin_snd3), "sound/misc/twinnar3.wav");
Format(tewin_snd4, sizeof(tewin_snd4), "TON SON PERSO POUR LES T");
Format(ctwin_snd1, sizeof(ctwin_snd1), "sound/misc/ctwinnar2.wav");
Format(ctwin_snd2, sizeof(ctwin_snd2), "sound/misc/ctwinnar3.wav");
Format(ctwin_snd3, sizeof(ctwin_snd3), "sound/misc/ctwinnar4.wav");
Format(ctwin_snd4, sizeof(ctwin_snd4), "TON SON PERSO POUR LES CT");

if(FileExists(tewin_snd1) && FileExists(tewin_snd2) && FileExists(tewin_snd3) && FileExists(tewin_snd4) && 
FileExists(ctwin_snd1) && FileExists(ctwin_snd2) && FileExists(ctwin_snd3) && FileExists(ctwin_snd4)) {
	AddFileToDownloadsTable(tewin_snd1);
	AddFileToDownloadsTable(tewin_snd2);
	AddFileToDownloadsTable(tewin_snd3);
	AddFileToDownloadsTable(tewin_snd4);
	AddFileToDownloadsTable(ctwin_snd1);
	AddFileToDownloadsTable(ctwin_snd2);
	AddFileToDownloadsTable(ctwin_snd3);
	AddFileToDownloadsTable(ctwin_snd4);

	PrecacheSound("misc/ctwinnar2.wav", true);
	PrecacheSound("misc/ctwinnar3.wav", true);
	PrecacheSound("misc/ctwinnar4.wav", true);
	PrecacheSound("TON SON PERSO POUR LES T", true);
	PrecacheSound("misc/twinnar.wav", true);
	PrecacheSound("misc/twinnar2.wav", true);
	PrecacheSound("misc/twinnar3.wav", true);
	PrecacheSound("TON SON PERSO POUR LES CT", true);
}
else {
	LogError("Not all sound files exists.");
	LogError("Unload the Plugin.");
	ServerCommand("sm plugins unload \"RoundSound++.smx\"");
}
}

public OnConfigsExecuted() {
if(GetConVarBool(g_hEnabled)) g_bEnabled = true;
else if(!GetConVarBool(g_hEnabled)) g_bEnabled = false;
else {
	g_bEnabled = true;
	LogError("False value plugin continued");
}
}

public CVarEnabled(Handle:convar, const String:oldValue[], const String:newValue[]) {
if(GetConVarBool(g_hEnabled)) g_bEnabled = true;
else if(!GetConVarBool(g_hEnabled)) g_bEnabled = false;
else {
	g_bEnabled = true;
	LogError("False value plugin continued");
}
}

public EventRoundEnd(Handle:event, const String:name[], bool:dontBroadcast) {
new ev_winner = GetEventInt(event, "winner");

if(g_bEnabled) {
	if(ev_winner == 2) {
		t_rnd_sound ++;
		if(t_rnd_sound == 5) t_rnd_sound = 1;
		
		if(t_rnd_sound == 1) {
			EmitSoundToAll("misc/twinnar.wav");
		}
		else if(t_rnd_sound == 2) {
			EmitSoundToAll("misc/twinnar2.wav");
		}
		else if(t_rnd_sound == 3) {
			EmitSoundToAll("misc/twinnar3.wav");
		}
		else if(t_rnd_sound == 4) {
			EmitSoundToAll("TON SON PERSO POUR LES T");
		}
		else {
			LogError("Ramdom Sound CVar Error.");
		}
	}
	else if(ev_winner == 3) {
		ct_rnd_sound ++;
		if(ct_rnd_sound == 5) ct_rnd_sound = 1;
		
		if(ct_rnd_sound == 1) {
			EmitSoundToAll("misc/ctwinnar2.wav");
		}
		else if(ct_rnd_sound == 2) {
			EmitSoundToAll("misc/ctwinnar3.wav");
		}
		else if(ct_rnd_sound == 3) {
			EmitSoundToAll("misc/ctwinnar4.wav");
		}
		else if(ct_rnd_sound == 3) {
			EmitSoundToAll("TON SON PERSO POUR LES CT");
		}
		else {
			LogError("Ramdom Sound CVar Error.");
		}
	}
	else {
		LogError("No team has win the round.");
	}
}
}

  • Author

/* *
* ANTiCHRiST RoundSound++ 
* -------------------------
* Changelog
*   changelog.txt
* Readme
*   readme.txt
* Credits
*   Old CS 1.6 Plugin
*   by "PaintLancer"
* Thxs
*   To NAT for his help!
* -------------------------
* by TanaToS aka ANTiCHRiST
*/
#include <sourcemod>
#include <sdktools>
#include <sdktools_sound>
#include <console>
#include <string>

#pragma semicolon 1

#define PLUGIN_VERSION "1.1.0"
#define MAX_FILE_LEN 256

new Handle:g_hEnabled = INVALID_HANDLE;
new bool:g_bEnabled = true;
new t_rnd_sound;
new ct_rnd_sound;

public Plugin:myinfo = {
       name = "RoundSound++",
       author = "ANTiCHRiST",
       description = "Plays a Sound at RoundEnd.",
       version = PLUGIN_VERSION,
       url = "http://passionfighters.de"
};

public OnPluginStart() {
       CreateConVar("sm_roundsound_version", PLUGIN_VERSION, "RoundSound++ version.", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY);
       g_hEnabled = CreateConVar("sm_roundsound_enable", "1", "RoundSound++ Enable/Disable CVar.", FCVAR_PLUGIN|FCVAR_NOTIFY);

       HookEvent("round_end", EventRoundEnd);
       HookConVarChange(g_hEnabled, CVarEnabled);
}

public OnMapStart()
{
       ct_rnd_sound = 0;
       t_rnd_sound = 0;
       
       decl String:tewin_snd1[MAX_FILE_LEN];
       decl String:tewin_snd2[MAX_FILE_LEN];
       decl String:tewin_snd3[MAX_FILE_LEN];
       decl String:tewin_snd4[MAX_FILE_LEN];
       decl String:ctwin_snd1[MAX_FILE_LEN];
       decl String:ctwin_snd2[MAX_FILE_LEN];
       decl String:ctwin_snd3[MAX_FILE_LEN];
       decl String:ctwin_snd4[MAX_FILE_LEN];

       Format(tewin_snd1, sizeof(tewin_snd1), "sound/misc/twinnar.mp3");
       Format(tewin_snd2, sizeof(tewin_snd2), "sound/misc/twinnar2.mp3");
       Format(tewin_snd3, sizeof(tewin_snd3), "sound/misc/twinnar3.mp3");
       Format(tewin_snd4, sizeof(tewin_snd4), "sound/misc/twinnar4.mp3");
       Format(ctwin_snd1, sizeof(ctwin_snd1), "sound/misc/ctwinnar2.mp3");
       Format(ctwin_snd2, sizeof(ctwin_snd2), "sound/misc/ctwinnar3.mp3");
       Format(ctwin_snd3, sizeof(ctwin_snd3), "sound/misc/ctwinnar4.mp3");
       Format(ctwin_snd4, sizeof(ctwin_snd4), "sound/misc/ctwinnar5.mp3");

       if(FileExists(tewin_snd1) && FileExists(tewin_snd2) && FileExists(tewin_snd3) && FileExists(tewin_snd4) && 
       FileExists(ctwin_snd1) && FileExists(ctwin_snd2) && FileExists(ctwin_snd3) && FileExists(ctwin_snd4)) {
               AddFileToDownloadsTable(tewin_snd1);
               AddFileToDownloadsTable(tewin_snd2);
               AddFileToDownloadsTable(tewin_snd3);
               AddFileToDownloadsTable(tewin_snd4);
               AddFileToDownloadsTable(ctwin_snd1);
               AddFileToDownloadsTable(ctwin_snd2);
               AddFileToDownloadsTable(ctwin_snd3);
               AddFileToDownloadsTable(ctwin_snd4);

               PrecacheSound("misc/ctwinnar2.mp3", true);
               PrecacheSound("misc/ctwinnar3.mp3", true);
               PrecacheSound("misc/ctwinnar4.mp3", true);
               PrecacheSound("misc/ctwinnar5.mp3", true);
               PrecacheSound("misc/twinnar.mp3", true);
               PrecacheSound("misc/twinnar2.mp3", true);
               PrecacheSound("misc/twinnar3.mp3", true);
               PrecacheSound("misc/twinnar4.mp3", true);
       }
       else {
               LogError("Not all sound files exists.");
               LogError("Unload the Plugin.");
               ServerCommand("sm plugins unload \"RoundSound++.smx\"");
       }
}

public OnConfigsExecuted() {
       if(GetConVarBool(g_hEnabled)) g_bEnabled = true;
       else if(!GetConVarBool(g_hEnabled)) g_bEnabled = false;
       else {
               g_bEnabled = true;
               LogError("False value plugin continued");
       }
}

public CVarEnabled(Handle:convar, const String:oldValue[], const String:newValue[]) {
       if(GetConVarBool(g_hEnabled)) g_bEnabled = true;
       else if(!GetConVarBool(g_hEnabled)) g_bEnabled = false;
       else {
               g_bEnabled = true;
               LogError("False value plugin continued");
       }
}

public EventRoundEnd(Handle:event, const String:name[], bool:dontBroadcast) {
       new ev_winner = GetEventInt(event, "winner");

       if(g_bEnabled) {
               if(ev_winner == 2) {
                       t_rnd_sound ++;
                       if(t_rnd_sound == 5) t_rnd_sound = 1;
                       
                       if(t_rnd_sound == 1) {
                               EmitSoundToAll("misc/twinnar.mp3");
                       }
                       else if(t_rnd_sound == 2) {
                               EmitSoundToAll("misc/twinnar2.mp3");
                       }
                       else if(t_rnd_sound == 3) {
                               EmitSoundToAll("misc/twinnar3.mp3");
                       }
                       else if(t_rnd_sound == 4) {
                               EmitSoundToAll("misc/twinnar4.mp3");
                       }
                       else {
                               LogError("Ramdom Sound CVar Error.");
                       }
               }
               else if(ev_winner == 3) {
                       ct_rnd_sound ++;
                       if(ct_rnd_sound == 5) ct_rnd_sound = 1;
                       
                       if(ct_rnd_sound == 1) {
                               EmitSoundToAll("misc/ctwinnar2.mp3");
                       }
                       else if(ct_rnd_sound == 2) {
                               EmitSoundToAll("misc/ctwinnar3.mp3");
                       }
                       else if(ct_rnd_sound == 3) {
                               EmitSoundToAll("misc/ctwinnar4.mp3");
                       }
                       else if(ct_rnd_sound == 4) {
                               EmitSoundToAll("misc/ctwinnar5.mp3");
                       }
                       else {
                               LogError("Ramdom Sound CVar Error.");
                       }
               }
               else {
                       LogError("No team has win the round.");
               }
       }
}

 

 

Merci ca marche nickel pour les ct, mais pour les terros defois des musiques ne se load pas :/ . Surtout quand les terros gagnent en faisant explosé une bombe :)

Ah oui aussi, pour augmenter le volume du son des musiques, c'est un commande client ou je peux le faire moi même pour tous ?

Merci ca marche nickel pour les ct, mais pour les terros defois des musiques ne se load pas :/ . Surtout quand les terros gagnent en faisant explosé une bombe :)

 

Des logs d'erreur ?

Sinon, bombe ou pas ca ne change rien dans ton cas ;)

 

Ah oui aussi, pour augmenter le volume du son des musiques, c'est un commande client ou je peux le faire moi même pour tous ?

 

Je regarderais.

  • Author

ah oui désolé pour les log d'erreur j'ai oublié :)

16:23:24: [RoundSound++.smx] No team has win the round

 

C'est tout ce qu'il y a ;)

Et bien c'est "normal". Le plugin ne lance aucun son si aucune des équipes n'a gagné. Par contre, je vois pas trop dans quel cas aucune équipe ne gagne .. :sweat: (si c'est bien sur des maps cs ou de)

Et bien c'est "normal". Le plugin ne lance aucun son si aucune des équipes n'a gagné. Par contre, je vois pas trop dans quel cas aucune équipe ne gagne .. :sweat: (si c'est bien sur des maps cs ou de)

 

Sur CSS il y a toujours une équipe qui gagne le round (même sur le Jail avec le forcetimelimit ce sont les CT qui gagne à la fin du roundtime)

  • 2 weeks later...

Yop

 

Je repasse vite fait sur le topic pour finir ;)

 

Donc pour le volume du son, EmitSoundToAll

Le 4è paramètre est le niveau du son. En gros, le nombre de décibel.

 

Tu as des constantes prédéfinies :

 

enum

{

SNDLEVEL_NONE = 0, /**< None */

SNDLEVEL_RUSTLE = 20, /**< Rustling leaves */

SNDLEVEL_WHISPER = 25, /**< Whispering */

SNDLEVEL_LIBRARY = 30, /**< In a library */

SNDLEVEL_FRIDGE = 45, /**< Refridgerator */

SNDLEVEL_HOME = 50, /**< Average home (3.9 attn) */

SNDLEVEL_CONVO = 60, /**< Normal conversation (2.0 attn) */

SNDLEVEL_DRYER = 60, /**< Clothes dryer */

SNDLEVEL_DISHWASHER = 65, /**< Dishwasher/washing machine (1.5 attn) */

SNDLEVEL_CAR = 70, /**< Car or vacuum cleaner (1.0 attn) */

SNDLEVEL_NORMAL = 75, /**< Normal sound level */

SNDLEVEL_TRAFFIC = 75, /**< Busy traffic (0.8 attn) */

SNDLEVEL_MINIBIKE = 80, /**< Mini-bike, alarm clock (0.7 attn) */

SNDLEVEL_SCREAMING = 90, /**< Screaming child (0.5 attn) */

SNDLEVEL_TRAIN = 100, /**< Subway train, pneumatic drill (0.4 attn) */

SNDLEVEL_HELICOPTER = 105, /**< Helicopter */

SNDLEVEL_SNOWMOBILE = 110, /**< Snow mobile */

SNDLEVEL_AIRCRAFT = 120, /**< Auto horn, aircraft */

SNDLEVEL_RAIDSIREN = 130, /**< Air raid siren */

SNDLEVEL_GUNFIRE = 140, /**< Gunshot, jet engine (0.27 attn) */

}

 

A toi de voir quel "volume" tu souhaites.

 

Au final, tu remplaces les EmitSoundToAll("...") par EmitSoundToAll("...", _, _, SNDLEVEL_TRAIN), par exemple.

  • 2 weeks later...
  • Author

Merci pour tes explications :)

Pour le son apparament ca c'est réglé automatiquement (bizarre ><)

Désolé de ne pas avoir répondu plutôt j'étais très occupé ces derniers temps :)

 

Alors comme disait psycho, je l'ai mis sur un serveur FFA donc il y a toujours une team qui gagne

[RoundSound++.smx] No team has win the round

, pour ca que le log d'erreur me paraît bizarre :/

 

J'ai voulu modifier par la suite le .sp pour rajouter une musique en plus dans chaque team (donc 5 en ct et 5 en terro), et là il m'est impossible de compiler le .sp :

/home/groups/sourcemod/upload_tmp/phpVxDmq5.sp(97) : warning 217: loose indentation
/home/groups/sourcemod/upload_tmp/phpVxDmq5.sp(143) : error 017: undefined symbol "rnd_sound"

 

Voiçi le .sp que j'ai modifié :

 

/* *
* ANTiCHRiST RoundSound++ 
* -------------------------
* Changelog
*   changelog.txt
* Readme
*   readme.txt
* Credits
*   Old CS 1.6 Plugin
*   by "PaintLancer"
* Thxs
*   To NAT for his help!
* -------------------------
* by TanaToS aka ANTiCHRiST
*/
#include <sourcemod>
#include <sdktools>
#include <sdktools_sound>
#include <console>
#include <string>

#pragma semicolon 1

#define PLUGIN_VERSION "1.1.0"
#define MAX_FILE_LEN 256

new Handle:g_hEnabled = INVALID_HANDLE;
new bool:g_bEnabled = true;
new t_rnd_sound;
new ct_rnd_sound;

public Plugin:myinfo = {
       name = "RoundSound++",
       author = "ANTiCHRiST",
       description = "Plays a Sound at RoundEnd.",
       version = PLUGIN_VERSION,
       url = "http://passionfighters.de"
};

public OnPluginStart() {
       CreateConVar("sm_roundsound_version", PLUGIN_VERSION, "RoundSound++ version.", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY);
       g_hEnabled = CreateConVar("sm_roundsound_enable", "1", "RoundSound++ Enable/Disable CVar.", FCVAR_PLUGIN|FCVAR_NOTIFY);

       HookEvent("round_end", EventRoundEnd);
       HookConVarChange(g_hEnabled, CVarEnabled);
}

public OnMapStart()
{
       ct_rnd_sound = 0;
       t_rnd_sound = 0;
       
       decl String:tewin_snd1[MAX_FILE_LEN];
       decl String:tewin_snd2[MAX_FILE_LEN];
       decl String:tewin_snd3[MAX_FILE_LEN];
       decl String:tewin_snd4[MAX_FILE_LEN];
  decl String:tewin_snd5[MAX_FILE_LEN]; 
       decl String:ctwin_snd1[MAX_FILE_LEN];
       decl String:ctwin_snd2[MAX_FILE_LEN];
       decl String:ctwin_snd3[MAX_FILE_LEN];
       decl String:ctwin_snd4[MAX_FILE_LEN];
  decl String:ctwin_snd5[MAX_FILE_LEN]; 

       Format(tewin_snd1, sizeof(tewin_snd1), "sound/misc/twinnar.mp3");
       Format(tewin_snd2, sizeof(tewin_snd2), "sound/misc/twinnar2.mp3");
       Format(tewin_snd3, sizeof(tewin_snd3), "sound/misc/twinnar3.mp3");
       Format(tewin_snd4, sizeof(tewin_snd4), "sound/misc/twinnar4.mp3");
  Format(tewin_snd5, sizeof(tewin_snd5), 
"sound/misc/twinnar5.mp3");
       Format(ctwin_snd1, sizeof(ctwin_snd1), "sound/misc/ctwinnar2.mp3");
       Format(ctwin_snd2, sizeof(ctwin_snd2), "sound/misc/ctwinnar3.mp3");
       Format(ctwin_snd3, sizeof(ctwin_snd3), "sound/misc/ctwinnar4.mp3");
       Format(ctwin_snd4, sizeof(ctwin_snd4), "sound/misc/ctwinnar5.mp3");
  Format(ctwin_snd5, sizeof(ctwin_snd5), "sound/misc/ctwinnar6.mp3");

       if(FileExists(tewin_snd1) && FileExists(tewin_snd2) && FileExists(tewin_snd3) && FileExists(tewin_snd4) && FileExists(tewin_snd5) && FileExists(ctwin_snd1) && FileExists(ctwin_snd2) && FileExists(ctwin_snd3) && FileExists(ctwin_snd4) && FileExists(ctwin_snd5)) {
               AddFileToDownloadsTable(tewin_snd1);
               AddFileToDownloadsTable(tewin_snd2);
               AddFileToDownloadsTable(tewin_snd3);
               AddFileToDownloadsTable(tewin_snd4);
	    AddFileToDownloadsTable(tewin_snd5);
               AddFileToDownloadsTable(ctwin_snd1);
               AddFileToDownloadsTable(ctwin_snd2);
               AddFileToDownloadsTable(ctwin_snd3);
               AddFileToDownloadsTable(ctwin_snd4);
	    AddFileToDownloadsTable(ctwin_snd5);        

               PrecacheSound("misc/ctwinnar2.mp3", true);
               PrecacheSound("misc/ctwinnar3.mp3", true);
               PrecacheSound("misc/ctwinnar4.mp3", true);
               PrecacheSound("misc/ctwinnar5.mp3", true);	
	    PrecacheSound("misc/ctwinnar6.mp3", true); 
               PrecacheSound("misc/twinnar.mp3", true);
               PrecacheSound("misc/twinnar2.mp3", true);
               PrecacheSound("misc/twinnar3.mp3", true);
               PrecacheSound("misc/twinnar4.mp3", true);
	    PrecacheSound("misc/twinnar5.mp3", true);        
       }
       else {
               LogError("Not all sound files exists.");
               LogError("Unload the Plugin.");
               ServerCommand("sm plugins unload \"RoundSound++.smx\"");
       }
}

public OnConfigsExecuted() {
       if(GetConVarBool(g_hEnabled)) g_bEnabled = true;
       else if(!GetConVarBool(g_hEnabled)) g_bEnabled = false;
       else {
               g_bEnabled = true;
               LogError("False value plugin continued");
       }
}

public CVarEnabled(Handle:convar, const String:oldValue[], const String:newValue[]) {
       if(GetConVarBool(g_hEnabled)) g_bEnabled = true;
       else if(!GetConVarBool(g_hEnabled)) g_bEnabled = false;
       else {
               g_bEnabled = true;
               LogError("False value plugin continued");
       }
}

public EventRoundEnd(Handle:event, const String:name[], bool:dontBroadcast) {
       new ev_winner = GetEventInt(event, "winner");
       if(g_bEnabled) {
               if(ev_winner == 2) {
                       t_rnd_sound ++;
                       if(t_rnd_sound == 5) t_rnd_sound = 1;
                       
                       if(t_rnd_sound == 1) {
                               EmitSoundToAll("misc/twinnar.mp3");
                       }
                       else if(t_rnd_sound == 2) {
                               EmitSoundToAll("misc/twinnar2.mp3");
                       }
                       else if(t_rnd_sound == 3) {
                               EmitSoundToAll("misc/twinnar3.mp3");
                       }
                       else if(t_rnd_sound == 4) {
                               EmitSoundToAll("misc/twinnar4.mp3");
                       }
			else if(rnd_sound == 5) {
               			  EmitSoundToAll("misc/twinnar5.mp3");
			}
                       else {
                               LogError("Ramdom Sound CVar Error.");
                       }
               }
               else if(ev_winner == 3) {
                       ct_rnd_sound ++;
                       if(ct_rnd_sound == 5) ct_rnd_sound = 1;
                       
                       if(ct_rnd_sound == 1) {
                               EmitSoundToAll("misc/ctwinnar2.mp3");
                       }
                       else if(ct_rnd_sound == 2) {
                               EmitSoundToAll("misc/ctwinnar3.mp3");
                       }
                       else if(ct_rnd_sound == 3) {
                               EmitSoundToAll("misc/ctwinnar4.mp3");
                       }
                       else if(ct_rnd_sound == 4) {
                               EmitSoundToAll("misc/ctwinnar5.mp3");
                       }
			else if(rnd_sound == 5) {
               			  EmitSoundToAll("misc/ctwinnar6.mp3");
           		}          
                       else {
                               LogError("Ramdom Sound CVar Error.");
                       }
               }
               else {
                       LogError("No team has win the round.");
               }
       }
}

Edited by Poney

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.