[Tutorial] Systиme de musique alйatoire а la connection
#1

Salut tout le monde !

Aujourd'hui je vais vous apprendre а inclure mon systиme de musique sur votre GM.
Je cherchait ce genre de systиme sur les forums, mais je n'avais rien trouvй. Je l'ai alors codй moi-mкme. Certains diront qu'il est mal optimisй, mais c'est le seul Tuto qui vous apprends comment dйmarrer une musique alйatoirement.


Nous apprendrons ci-dessous comment ajouter des musiques, ou en retirer. A noter que vous ne pouvez mettre que des groupes de 3 musiques, donc soit 3, 6, 9, ect..

Bon Tuto !

Les variables


Pour commencer, inclure ce code sur l'entкte de votre GM
PHP Code:
new Music1[ ][ ] = { "http://www.getosell.com/koonadance/Dr%20Dre%20-%20Instrumental%20-%20west%20Still.mp3""http://pleer.com/browser-extension/files/7576848VgUC.mp3""http://fimimp3.com/mymp3/Skrillex-Scary_Monsters_and_Nice_Sprites.mp3"  };
new 
Music2[ ][ ] = { "http://soundofmyshoesdotcom.files.wordpress.com/2011/07/champagne-showers-r3hab-remix.mp3""http://awmusic.ca/1/mp3/Kid%20Cudi%20-%20Pursuit%20Of%20Happiness%20Steve%20Aoki%20Dan.mp3""http://dbstepmusic.files.wordpress.com/2012/02/gotye-somebody-that-i-used-to-know-thefatrat-remix.mp3" };
new 
Music3[ ][ ] = { "http://phun.sysonline.hu/B%20Complex%20%20HOSPITAL%20Records%20-Beautiful%20Lies-www.mrtzcmp3.net.mp3""http://www.deejaycee.com/wp-content/uploads/2011/06/13-Brookes-Brothers-Daybreak-feat.-Tasha-Baxter.mp3""http://trama.audio.uol.com.br/m_51/257475.mp3" };
new 
Music4[ ][ ] = { "a""b""c" };// Je l'ai appelй la variable "vide", elle rйsout un bug. Vous devez toujours la laisser a la fin. 
Ce sont les variables qui seront utilsйs. J'ai distribuй les musiques pour que chaque variable en a 3. C'est plus facile а se retrouver, mais le plus important c'est que sur mon GM, il refuse de se compiler avec plus de 4 musiques par variable.
Nous verrons a la fin comment retirer ou ajouter des musiques.

Demarrer une musique alйatoirment

Ce code permet de dйmarrer une musique au hasard, sauf que lа, le code choisit au hasard une variable, qui choisira au hasard une musique de la variable :
PHP Code:
public OnPlayerConnect(playerid)
{
    new 
MusicAleatoire randomExMUS(1,4); // MusicAleatoire est une nouvelle variable qui piochera un nombre entre 1 et 4, et qui choisit variables, grace a la fonction randomEx, que nous verrons plus bas.
    
if(MusicAleatoire == 1// Si le nombre piochй est 1, on utilisera la premiиre variable.
    
{
       new 
rand random(sizeof(Music1)); // Nouvelle variable "rand" qui choisirat une des 3 musiques de la variable "music1" contenant les musiques.
       
PlayAudioStreamForPlayer(playeridMusic1[rand]); //On dйmarre la musique, a partir de la variable "music1"
    
}
    if(
MusicAleatoire == 2// Le nombre piochй est 2, "music2" sera donc utilisй.
    
{
       new 
rand random(sizeof(Music2)); // On choisit une des 3 musiques de "music2" au hasard
       
PlayAudioStreamForPlayer(playeridMusic2[rand]); // On demarre la musique choisie
    
}
    if(
MusicAleatoire == 3)
    {
       new 
rand random(sizeof(Music3));
       
PlayAudioStreamForPlayer(playeridMusic3[rand]);
    }
    if(
MusicAleatoire == 4// Rйsout un bug, toujours laisser une variable "vide" a la fin
    
{
       new 
rand random(sizeof(Music4));
       
PlayAudioStreamForPlayer(playeridMusic4[rand]);
    }
    return 
1;

Ajoutez la variable RandomExMUS a la fin de votre GM

PHP Code:
stock randomExMUS(minmax)
{
    
//par y_less
    
new rand random(max-min)+min;
    return 
rand;


Arrкter la musique


Jusque lа, pour arrкter la musique vous avez 2 choix :
Stopper la musique au spawn


PHP Code:
public OnPlayerSpawn(playerid)
{
    
StopAudioStreamForPlayer(playerid);
    return 
1;

Stopper la musique quand un joueur tape une commande

PHP Code:
if(strcmp("/m"cmdtexttrue10) == 0)
    {
       
StopAudioStreamForPlayer(playerid);
       
SendClientMessage(playeridJAUNE"Vous avez arrкtй la musique.");
       return 
1;
    } 
Attention ! Ajoutez ce code dans le public OnPlayerCommandText(playerid, cmdtext[])

Ajouter, ou retirer une musique


Maintenant que vous avez vus tous les codes et le fonctionnement du GM, je vais vous expliquer comment retirer ou ajouter des variables de musiques
Nous voulons rajouter une variable


[CENTER]Tout d'abord, nous allons crйer notre variable :

PHP Code:
new Music??[ ][ ] = { "URL1""URL2""URL3" }; 
Comme vous pouvez le voir, jai mit des "??". C'est le numйro de la variable. Dans le code initial, celle avec tout les new music, la derniиre variable etait "music4" qui etait la variable "vide"

Alors, renommer la variable vide en lui rajoutant +1 sur son numero
PHP Code:
new Music1[ ][ ] = { "http://www.getosell.com/koonadance/Dr%20Dre%20-%20Instrumental%20-%20west%20Still.mp3""http://pleer.com/browser-extension/files/7576848VgUC.mp3""http://fimimp3.com/mymp3/Skrillex-Scary_Monsters_and_Nice_Sprites.mp3",  };
new 
Music2[ ][ ] = { "http://soundofmyshoesdotcom.files.wordpress.com/2011/07/champagne-showers-r3hab-remix.mp3""http://awmusic.ca/1/mp3/Kid%20Cudi%20-%20Pursuit%20Of%20Happiness%20Steve%20Aoki%20Dan.mp3""http://dbstepmusic.files.wordpress.com/2012/02/gotye-somebody-that-i-used-to-know-thefatrat-remix.mp3" };
new 
Music3[ ][ ] = { "http://phun.sysonline.hu/B%20Complex%20%20HOSPITAL%20Records%20-Beautiful%20Lies-www.mrtzcmp3.net.mp3""http://www.deejaycee.com/wp-content/uploads/2011/06/13-Brookes-Brothers-Daybreak-feat.-Tasha-Baxter.mp3""http://trama.audio.uol.com.br/m_51/257475.mp3" };
new 
Music5[ ][ ] = { "a""b""c" };// On a rajoutй +1 a la variable vide. On passe donc de music4 а music5. 
A ce moment lа vous mettez votre nouvelle variable, avec vos nouvelles musiques au dessus de la variable vide. Vous lui donnerez comme numero, l'ancien numйro de la variable vide. Ici le numero est 4 (new music4)

PHP Code:
new Music1[ ][ ] = { "http://www.getosell.com/koonadance/Dr%20Dre%20-%20Instrumental%20-%20west%20Still.mp3""http://pleer.com/browser-extension/files/7576848VgUC.mp3""http://fimimp3.com/mymp3/Skrillex-Scary_Monsters_and_Nice_Sprites.mp3",  };
new 
Music2[ ][ ] = { "http://soundofmyshoesdotcom.files.wordpress.com/2011/07/champagne-showers-r3hab-remix.mp3""http://awmusic.ca/1/mp3/Kid%20Cudi%20-%20Pursuit%20Of%20Happiness%20Steve%20Aoki%20Dan.mp3""http://dbstepmusic.files.wordpress.com/2012/02/gotye-somebody-that-i-used-to-know-thefatrat-remix.mp3" };
new 
Music3[ ][ ] = { "http://phun.sysonline.hu/B%20Complex%20%20HOSPITAL%20Records%20-Beautiful%20Lies-www.mrtzcmp3.net.mp3""http://www.deejaycee.com/wp-content/uploads/2011/06/13-Brookes-Brothers-Daybreak-feat.-Tasha-Baxter.mp3""http://trama.audio.uol.com.br/m_51/257475.mp3" };
new 
Music4[ ][ ] = { "URL1""URL2""URL3" };// Votre nouvelle variable.
new Music5[ ][ ] = { "a""b""c" };//Notre variable vide. 
Maintenant passons а la suite.

Nous allons configurer notre RandomExMUS et ajouter la comptabilisation de la variable dans le OnPlayerConnect

Tout d'abord revenons au code initial
PHP Code:
public OnPlayerConnect(playerid)
{
    new 
MusicAleatoire randomExMUS(1,4); // le 1 est la valeur minimale, le 4 est la valeur maximum --> Donc la variable maximum, Ici 4.
    
if(MusicAleatoire == 1// Si le nombre piochй est 1, on utilisera la premiиre variable.
    
{
       new 
rand random(sizeof(Music1)); // Nouvelle variable "rand" qui choisira une des 3 musiques de la variable "music1" contenant les musiques.
       
PlayAudioStreamForPlayer(playeridMusic1[rand]); //On dйmarre la musique, a partir de la variable "music1"
    
}
    if(
MusicAleatoire == 2)
    {
       new 
rand random(sizeof(Music2));
       
PlayAudioStreamForPlayer(playeridMusic2[rand]);
    }
    if(
MusicAleatoire == 3)
    {
       new 
rand random(sizeof(Music3));
       
PlayAudioStreamForPlayer(playeridMusic3[rand]);
    }
    if(
MusicAleatoire == 4// variable vide
    
{
       new 
rand random(sizeof(Music4));
       
PlayAudioStreamForPlayer(playeridMusic4[rand]);
    }
    return 
1;

ajoutez ceci
PHP Code:
if(MusicAleatoire == X)             // Remplacez les X par le numйro de la variable (Ici le numйro est 4) 
    
{
       new 
rand random(sizeof(MusicX));
       
PlayAudioStreamForPlayer(playeridMusicX[rand]);
    } 
Vous devez remplacer le numйro de la variable vide par le nouveau numйro que nous lui avons attribuй au dйbut.
Voici ce que зa devrait donner :
PHP Code:
public OnPlayerConnect(playerid)
{
    new 
MusicAleatoire randomExMUS(1,4); // Nous verrons comment modifier le randomExMUS juste en dessous.
    
if(MusicAleatoire == 1)
    {
       new 
rand random(sizeof(Music1));
       
PlayAudioStreamForPlayer(playeridMusic1[rand]);
    }
    if(
MusicAleatoire == 2)
    {
       new 
rand random(sizeof(Music2));
       
PlayAudioStreamForPlayer(playeridMusic2[rand]);
    }
           if(
MusicAleatoire == 3)
    {
       new 
rand random(sizeof(Music3));
       
PlayAudioStreamForPlayer(playeridMusic3[rand]);
    }
        if(
MusicAleatoire == 4// Notre nouveau code
    
{
       new 
rand random(sizeof(Music4));
       
PlayAudioStreamForPlayer(playeridMusic4[rand]);
    }
    if(
MusicAleatoire == 5// variable vide
    
{
       new 
rand random(sizeof(Music5)); // On oublie pas de remplacer partout oщ il y a des "4" sur la variable vide
       
PlayAudioStreamForPlayer(playeridMusic5[rand]); //idem
    
}
    return 
1;

Vous devez aussi modifier le randomExMUS(1,4) par randomExMUS(1,4); juste en dessous du OnPlayeronnect :
-Le 1 est la variable minimum, donc logiquement зa reste 1.
-Le 4 est la derniиre variable, donc, vu qu'au total on a maintenant 5 variables "music", elle devient 5.

Voici le rйsultat final :

PHP Code:
public OnPlayerConnect(playerid)
{
    new 
MusicAleatoire randomExMUS(1,5);
    if(
MusicAleatoire == 1)
    {
       new 
rand random(sizeof(Music1));
       
PlayAudioStreamForPlayer(playeridMusic1[rand]);
    }
    if(
MusicAleatoire == 2)
    {
       new 
rand random(sizeof(Music2));
       
PlayAudioStreamForPlayer(playeridMusic2[rand]);
    }
           if(
MusicAleatoire == 3)
    {
       new 
rand random(sizeof(Music3));
       
PlayAudioStreamForPlayer(playeridMusic3[rand]);
    }
        if(
MusicAleatoire == 4)            
    {
       new 
rand random(sizeof(Music4));
       
PlayAudioStreamForPlayer(playeridMusic4[rand]);
    }
    if(
MusicAleatoire == 5)
    {
       new 
rand random(sizeof(Music5));
       
PlayAudioStreamForPlayer(playeridMusic5[rand]);
    }
    return 
1;

Pour retirer une variable regroupant 3 musiques, lisez le Tuto а l'envers

Voilа c'est finit !
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)