Advertisement
Guest User

by andmeida10

a guest
Oct 18th, 2012
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 18.37 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dini>
  3.  
  4.  
  5. #pragma tabsize 0
  6.  
  7.  
  8. #define MAX_MUSICS 35
  9. #define MAX_URL 100
  10. #define PASTA_MUS "/MusicasSys/Mus%d.ini"
  11.  
  12. #define DIALOG_ADD_Tit 1+5430
  13. #define DIALOG_ADD_Art 2+5430
  14. #define DIALOG_ADD_Gen 3+5430
  15. #define DIALOG_ADD_Dur 4+5430
  16. #define DIALOG_ADD_Ano 5+5430
  17. #define DIALOG_ADD_Url 6+5430
  18. #define DIALOG_ADD_Fim 7+5430
  19.  
  20.  
  21. #define DIALOG_INF_Lis 8+5430
  22. #define DIALOG_INF_Inf 9+5430
  23.  
  24.  
  25. #define DIALOG_REM_Mus 10+5430
  26. #define DIALOG_REM_Con 11+5430
  27.  
  28. #define DIALOG_MY_Mus 12+5430
  29.  
  30. //---------Cores----------
  31.  
  32. #define RED "{FF0000}"
  33. #define WHI "{FFFFFF}"
  34. #define YEL "{F5FF00}"
  35. #define PIK "{FF00EB}"
  36. #define BLU "{004BFF}"
  37.  
  38.  
  39.  
  40. forward LoadMusics();
  41. forward SaveMusics();
  42. forward LoadMusic(mid);
  43. forward SaveMusic(mid);
  44.  
  45.  
  46.  
  47.  
  48. new addMus[MAX_PLAYERS];
  49. new midfid[MAX_PLAYERS] = -1;
  50. new midrem[MAX_PLAYERS] = -1;
  51.  
  52.  
  53. enum mInfo
  54. {
  55.  
  56.     mTitulo[32],
  57.     mArtista[32],
  58.     mGenero[32],
  59.     Float: mDuracao,
  60.     mAno,
  61.     mURL[MAX_URL],
  62.     mAdicionou[MAX_PLAYER_NAME],
  63.     bool:mDefinida,
  64.    
  65. };
  66.  
  67. new MusicInfo[MAX_MUSICS][mInfo];
  68.  
  69.  
  70.  
  71.  
  72. public OnFilterScriptInit()
  73. {
  74.     print("\n--------------------------------------");
  75.     print("-------- MusicSys by andmeida10 --------");
  76.     print("--------------------------------------\n");
  77.    
  78.     //CarregarMusicas
  79.     LoadMusics();  
  80.     //Salvar as musicas
  81.     SetTimer("SaveMusics", 300000, true);//5min
  82.    
  83.     return 1;
  84. }
  85.  
  86.  
  87.  
  88. public OnPlayerConnect(playerid)
  89. {
  90.  
  91.     addMus[playerid] = 0;
  92.    
  93. return 1;
  94. }
  95.  
  96. public OnPlayerDisconnect(playerid)
  97. {
  98.  
  99.     addMus[playerid] = 0;
  100.    
  101. return 1;
  102. }
  103.  
  104.  
  105.  
  106.  
  107.  
  108. public OnPlayerCommandText(playerid, cmdtext[])
  109. {
  110.    
  111.     if(strcmp(cmdtext, "/mSalvar", true) == 0)
  112.         {
  113.         SaveMusics();
  114.         SendClientMessage(playerid, -1, "Musicas Salvas");
  115.         return 1;
  116.         }
  117.        
  118.     if(strcmp(cmdtext, "/mCarregar", true) == 0)
  119.         {
  120.         LoadMusics();
  121.         SendClientMessage(playerid, -1, "Musicas Carregadas");
  122.         return 1;
  123.         }
  124.    
  125.    
  126.     if(strcmp(cmdtext, "/mAdicionar", true) == 0)
  127.         {
  128.         SendClientMessage(playerid, -1, "Você vai adicionar uma musica á "#PIK"Biblioteca de Musicas");
  129.         ShowPlayerDialog(playerid, DIALOG_ADD_Tit, DIALOG_STYLE_INPUT, "Adicionar Uma Musica", ""#BLU"Digite o Titulo da Musica", "Seguinte", "Cancelar");
  130.         for(new mid; mid < MAX_MUSICS; mid++)
  131.             {
  132.             if(MusicInfo[mid][mDefinida] == false) return addMus[playerid] = mid;
  133.             }
  134.         return 1;
  135.         }
  136.        
  137.     if(strcmp(cmdtext, "/mRemover", true) == 0)
  138.         {
  139.         SendClientMessage(playerid, -1, "Você vai remover uma musica da biblioteca de Musicas");
  140.         SendClientMessage(playerid, -1, ""#BLU"Para ver os id's das musicas digite /mids");
  141.         ShowPlayerDialog(playerid, DIALOG_REM_Mus, DIALOG_STYLE_INPUT, "Remover Uma Musica", "Digite o "#PIK"ID "#WHI"da Musica", "Confirmar", "Cancelar");
  142.         return 1;
  143.         }
  144.        
  145.     if(strcmp(cmdtext, "/mPlayMyMusic", true) == 0)
  146.         {
  147.        
  148.         ShowPlayerDialog(playerid, DIALOG_MY_Mus, DIALOG_STYLE_INPUT, "Insira sua URL", "Insira a URL direta da Musica", "Play", "Cancelar");
  149.         return 1;
  150.         }
  151.    
  152.  
  153.     if(strcmp(cmdtext, "/mStop", true) == 0)
  154.         {
  155.         StopAudioStreamForPlayer(playerid);
  156.         SendClientMessage(playerid, -1, "Você parou a musica");
  157.         return 1;
  158.         }
  159.    
  160.    
  161.        
  162.     if(strcmp(cmdtext, "/mids", true) == 0)
  163.         {
  164.         new music[1200];
  165.         new mid = 0;
  166.        
  167.         //LoadMusics();
  168.         loop_ver:
  169.         while(mid < MAX_MUSICS && (strlen(music) < sizeof(music)))
  170.             {
  171.            
  172.             if(MusicInfo[mid][mDefinida] == false)
  173.                 {
  174.                 mid++;
  175.                 goto loop_ver;
  176.                 }
  177.            
  178.             LoadMusic(mid);
  179.             new mus1[50];
  180.             format(mus1, sizeof(mus1),""#RED"%d- "#WHI"%s\n", mid, MusicInfo[mid][mTitulo]);
  181.             format(music, sizeof(music), "%s%s", music,mus1);
  182.            
  183.             mid++;
  184.             }
  185.            
  186.        
  187.        
  188.         //if(strlen(music) == 0) return SendClientMessage(playerid, -1, "Sem Musicas na Biblioteca");
  189.            
  190.         SendClientMessage(playerid, -1, "Informações da "#RED"Biblioteca de Musicas:");
  191.         ShowPlayerDialog(playerid, DIALOG_INF_Lis, DIALOG_STYLE_LIST, "MusicasId", music, "Informacoes", "Fechar");
  192.         }
  193.        
  194.        
  195.     return 1;
  196. }
  197.  
  198.  
  199. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  200. {
  201.  
  202.  
  203.  
  204.     if(dialogid == DIALOG_MY_Mus)
  205.         {
  206.        
  207.         new musicmy[200];
  208.         format(musicmy, sizeof(musicmy), "%s", inputtext);
  209.         PlayAudioStreamForPlayer(playerid, musicmy);       
  210.         return 1;
  211.         }
  212.  
  213.     if(dialogid == DIALOG_ADD_Tit || dialogid == DIALOG_ADD_Art || dialogid == DIALOG_ADD_Gen || dialogid == DIALOG_ADD_Dur || dialogid == DIALOG_ADD_Ano || dialogid == DIALOG_ADD_Url)
  214.     {
  215.         if(!response)
  216.             {
  217.             SendClientMessage(playerid, -1, "Você cancelou a adição de uma nova musica na "#RED"Biblioteca");
  218.             addMus[playerid] = 0;
  219.             return 1;
  220.             }
  221.     }
  222.    
  223.    
  224.     //---------------------------------------------------<[TITULO]>------------------------------------------------------------------
  225.     if(dialogid == DIALOG_ADD_Tit)
  226.         {
  227.         strmid(MusicInfo[addMus[playerid]][mTitulo], inputtext, 0, strlen(inputtext), 255);
  228.         SendClientMessage(playerid, -1, "Titulo Salvo");
  229.         ShowPlayerDialog(playerid, DIALOG_ADD_Art, DIALOG_STYLE_INPUT, "Artista", "Insira o nome do "#YEL"Artista da música", "Seguinte", "Cancelar");
  230.         return 1;
  231.         }
  232.     //---------------------------------------------------<[ARTISTA]>------------------------------------------------------------------
  233.     if(dialogid == DIALOG_ADD_Art)
  234.         {
  235.         strmid(MusicInfo[addMus[playerid]][mArtista], inputtext, 0, strlen(inputtext), 255);
  236.         SendClientMessage(playerid, -1, "Artista Salvo");
  237.         ShowPlayerDialog(playerid, DIALOG_ADD_Gen, DIALOG_STYLE_INPUT, "Genero", "Insira o "#YEL"Genero da Música", "Seguinte", "Cancelar");
  238.         return 1;
  239.         }
  240.     //---------------------------------------------------<[GENERO]>------------------------------------------------------------------
  241.     if(dialogid == DIALOG_ADD_Gen)
  242.         {
  243.         strmid(MusicInfo[addMus[playerid]][mGenero], inputtext, 0, strlen(inputtext), 255);
  244.         SendClientMessage(playerid, -1, "Genero Salvo");
  245.         ShowPlayerDialog(playerid, DIALOG_ADD_Dur, DIALOG_STYLE_INPUT, "Duracao", "Insira a "#YEL"Duração da Música", "Seguinte", "Cancelar");
  246.         return 1;
  247.         }
  248.     //---------------------------------------------------<[DURACAO]>------------------------------------------------------------------
  249.     if(dialogid == DIALOG_ADD_Dur)
  250.         {
  251.         if(strfind(inputtext, ",", true) != -1)
  252.             {
  253.             SendClientMessage(playerid, -1, "Insira a duracao com pontos. Exemplo: 2.30");
  254.             ShowPlayerDialog(playerid, DIALOG_ADD_Dur, DIALOG_STYLE_INPUT, "Duracao", "Insira a "#YEL"Duracao da Música", "Seguinte", "Cancelar");        
  255.             return 1;
  256.             }
  257.            
  258.         MusicInfo[addMus[playerid]][mDuracao] = floatstr(inputtext);
  259.         SendClientMessage(playerid, -1, "Duracao Salva");
  260.         ShowPlayerDialog(playerid, DIALOG_ADD_Ano, DIALOG_STYLE_INPUT, "Ano", "Insira o "#YEL"Ano da Música", "Seguinte", "Cancelar");
  261.         return 1;
  262.         }
  263.     //---------------------------------------------------<[ANO]>------------------------------------------------------------------
  264.     if(dialogid == DIALOG_ADD_Ano)
  265.         {
  266.         MusicInfo[addMus[playerid]][mAno] = strval(inputtext);
  267.         SendClientMessage(playerid, -1, "Ano Salvo");
  268.         ShowPlayerDialog(playerid, DIALOG_ADD_Url, DIALOG_STYLE_INPUT, "URL", "Insira a "#YEL"URL Direta da Música", "Seguinte", "Cancelar");
  269.         return 1;
  270.         }
  271.     //---------------------------------------------------<[URL]>------------------------------------------------------------------
  272.     if(dialogid == DIALOG_ADD_Url)
  273.         {
  274.        
  275.         if(strlen(inputtext) > MAX_URL)
  276.             {
  277.             SendClientMessage(playerid, -1, ""#PIK"URL demasiado longo");
  278.             ShowPlayerDialog(playerid, DIALOG_ADD_Url, DIALOG_STYLE_INPUT, "URL", "Insira a "#YEL"URL Direta da Música", "Seguinte", "Cancelar");
  279.             return 1;
  280.             }
  281.            
  282.         if(strfind(inputtext, " ", true) != -1)
  283.             {
  284.             SendClientMessage(playerid, -1, "A "#RED"URL "#WHI"não pode conter espaços < >");
  285.             ShowPlayerDialog(playerid, DIALOG_ADD_Url, DIALOG_STYLE_INPUT, "URL", "Insira a "#YEL"URL Direta da Música", "Seguinte", "Cancelar");
  286.             return 1;
  287.             }
  288.            
  289.         strmid(MusicInfo[addMus[playerid]][mURL], inputtext, 0, strlen(inputtext), 255);
  290.         SendClientMessage(playerid, -1, ""#RED"URL Salvo");
  291.        
  292.         //Confirmacao Final
  293.         new msgMus[400];
  294.         format(msgMus, sizeof(msgMus), "Informações da Musica:\n"#RED"Titulo: "#WHI"%s \n"#RED"Artista: "#WHI"%s \n"#RED"Genero: "#WHI"%s \n"#RED"Duracao: "#WHI"%f\n"#RED"Ano: "#WHI"%i\n"#RED"URL: "#WHI"%s", MusicInfo[addMus[playerid]][mTitulo],MusicInfo[addMus[playerid]][mArtista],MusicInfo[addMus[playerid]][mGenero],MusicInfo[addMus[playerid]][mDuracao],MusicInfo[addMus[playerid]][mAno],MusicInfo[addMus[playerid]][mURL]);
  295.         ShowPlayerDialog(playerid, DIALOG_ADD_Fim, DIALOG_STYLE_MSGBOX, "Verificações", msgMus, "Adicionar", "Cancelar");
  296.         //Adicionar depois verificar se o URL é válido
  297.         return 1;
  298.         }
  299.        
  300.     //-------------------------------<[CONFIRMACAO DA ADICAO]>------------------------------------------
  301.     if(dialogid == DIALOG_ADD_Fim)
  302.         {
  303.         if(!response)
  304.             {
  305.             SendClientMessage(playerid, -1, "Você cancelou a adicao de uma "#RED"Musica na Biblioteca");
  306.             return 1;
  307.             }
  308.        
  309.         new pname[MAX_PLAYER_NAME];
  310.         GetPlayerName(playerid, pname, sizeof(pname));
  311.         strmid(MusicInfo[addMus[playerid]][mAdicionou], pname, 0, strlen(pname), 255);
  312.         MusicInfo[addMus[playerid]][mDefinida] = true;
  313.         SendClientMessage(playerid, -1, "Musica Salva");
  314.         GameTextForPlayer(playerid, "~b~Musica~n~~r~Adicionada", 1000, 1);
  315.         SaveMusic(addMus[playerid]);
  316.         addMus[playerid] = 0;
  317.         return 1;
  318.         }
  319.  
  320.     {
  321.     //----------------------------------------------<[REMOVER MUSICA]>--------------------------------------------
  322.     if(dialogid == DIALOG_REM_Mus)
  323.         {
  324.        
  325.         if(!response)
  326.             {
  327.             SendClientMessage(playerid, -1, ""#RED"Você optou por "#BLU"não "#RED"eliminar nenhuma musica");
  328.             return 1;
  329.             }
  330.        
  331.         midrem[playerid] = strval(inputtext);
  332.        
  333.         if(MusicInfo[midrem[playerid]][mDefinida] == false) return SendClientMessage(playerid, -1, "Musica ID não existe");
  334.         new minfo[500];
  335.         format(minfo, sizeof(minfo), ""#RED"ID: "#WHI"%d\n"#RED"Titulo: "#WHI"%s\n"#RED"Artista: "#WHI"%s\n"#RED"Genero: "#WHI"%s\n"#RED"Duracao: "#WHI"%f\n"#RED"Ano: "#WHI"%i\n"#RED"URL: "#WHI"%s\n"#RED"Adicionada por: "#WHI"%s",
  336.         midrem[playerid], MusicInfo[midrem[playerid]][mTitulo], MusicInfo[midrem[playerid]][mArtista], MusicInfo[midrem[playerid]][mGenero], MusicInfo[midrem[playerid]][mDuracao], MusicInfo[midrem[playerid]][mAno], MusicInfo[midrem[playerid]][mURL], MusicInfo[midrem[playerid]][mAdicionou]);
  337.         printf("%d", midrem[playerid]);
  338.         ShowPlayerDialog(playerid, DIALOG_REM_Con, DIALOG_STYLE_MSGBOX, "Informação", minfo, "Apagar", "Cancelar");      
  339.         return 1;
  340.         }
  341.     //----------------------------------------------<[REMOVER CONFIRMAR]>--------------------------------------------
  342.     if(dialogid == DIALOG_REM_Con)
  343.         {
  344.            
  345.             if(!response)
  346.                 {
  347.                 SendClientMessage(playerid, -1, ""#RED"Você optou por "#BLU"não "#RED"eliminar nenhuma musica");
  348.                 midrem[playerid] = -1;
  349.                 return 1;
  350.                 }
  351.             printf("%d", midrem[playerid]);
  352.             new string[256], ffile[45];
  353.             format(ffile, sizeof(ffile), PASTA_MUS, midrem[playerid]);
  354.             printf("%d", midrem[playerid]);
  355.             if(!dini_Exists(ffile)) return printf("Erro ao procurar o ficheiro de Musica ID %d", midrem[playerid]);
  356.            
  357.             //Remover o ficheiro da musica id "midrem[playerid]"
  358.             dini_Remove(ffile);
  359.             MusicInfo[midrem[playerid]][mDefinida] = false;
  360.             printf("%d", midrem[playerid]);
  361.             format(string, sizeof(string), "Você eliminou a musica ID "#RED"%d - "#PIK"%s", midrem[playerid], MusicInfo[midrem[playerid]][mTitulo]);
  362.             SendClientMessage(playerid, -1, string);
  363.             GameTextForPlayer(playerid, "~b~Musica~n~~r~Deletada", 1000, 1);
  364.             midrem[playerid] = -1;
  365.             SaveMusics();
  366.             return 1;
  367.         }
  368.            
  369.     }
  370.    
  371.     //-----------------------------------<[OUVIR]>------------------------------------------
  372.     //------------------------------------------------<[INFORMACAO]>----------------------------------------------------
  373.     if(dialogid == DIALOG_INF_Lis)
  374.         {
  375.        
  376.         if(!response)
  377.             {
  378.             return 1;
  379.             }
  380.             LoadMusics();
  381.            
  382.            
  383.             new
  384.                 nrvaz[MAX_PLAYERS] = 0,
  385.                 countnrvaz = 0;
  386.                
  387.             while(countnrvaz < listitem+1)
  388.                 {
  389.                 if(MusicInfo[countnrvaz][mDefinida] == false)
  390.                     {
  391.                     print("Mais um vazio encontrado");
  392.                     nrvaz[playerid]++;
  393.                     }
  394.                 countnrvaz++;
  395.                 }
  396.  
  397.             printf("Encontrados %d vazios", nrvaz[playerid]);
  398.                
  399.                
  400.             /* 
  401.             new
  402.                 nrid = 0;
  403.  
  404.             while(nrid < MAX_MUSICS)
  405.                 {
  406.                 if(MusicInfo[nrid][mDefinida] == true)
  407.                     {
  408.                    
  409.                     if(strcmp(MusicInfo[listitem][mTitulo], MusicInfo[nrid][mTitulo], true) == 0)
  410.                         {
  411.                         midfid[playerid] = nrid;
  412.                         printf("Musica Encontrada: %s || Id: %d || a =: %d || listitem: %d", MusicInfo[nrid][mTitulo], nrid, a, listitem);
  413.                         goto playMostrar;
  414.                         }
  415.                     }
  416.                 }*/
  417.            
  418.             midfid[playerid] = listitem + nrvaz[playerid];
  419.            
  420.             LoadMusic(midfid[playerid]);
  421.             new mustr[400];
  422.             format(mustr, sizeof(mustr),
  423.             ""#RED"ID: "#WHI"%i\n"#RED"Titulo: "#WHI"%s\n"#RED"Artista: "#WHI"%s\n"#RED"Genero: "#WHI"%s\n"#RED"Duracao: "#WHI"%f\n"#RED"Ano: "#WHI"%i\n"#RED"URL: "#WHI"%s\n"#RED"Adicionada Por: "#WHI"%s",
  424.             midfid[playerid], MusicInfo[midfid[playerid]][mTitulo], MusicInfo[midfid[playerid]][mArtista], MusicInfo[midfid[playerid]][mGenero],
  425.             MusicInfo[midfid[playerid]][mDuracao], MusicInfo[midfid[playerid]][mAno], MusicInfo[midfid[playerid]][mURL], MusicInfo[midfid[playerid]][mAdicionou]);
  426.             ShowPlayerDialog(playerid, DIALOG_INF_Inf, DIALOG_STYLE_MSGBOX, "Informacoes", mustr, "Play", "Fechar");
  427.             return 1;
  428.         }
  429.        
  430.     if(dialogid == DIALOG_INF_Inf)
  431.         {
  432.        
  433.         if(!response)
  434.             {
  435.             SendClientMessage(playerid, -1, "Você não quis ouvir a musica");
  436.             midfid[playerid] = -1;
  437.             return 1;
  438.             }
  439.        
  440.         //midfid[playerid] = strval(inputtext);
  441.        
  442.         LoadMusic(midfid[playerid]);
  443.         new musicplay[MAX_URL+1];
  444.         format(musicplay, sizeof(musicplay), "%s", MusicInfo[midfid[playerid]][mURL]);     
  445.  
  446.         /*
  447.         //Player the music
  448.         new musicplay[MAX_URL+1];
  449.         format(musicplay, sizeof(musicplay), "%s", MusicInfo[midfid[playerid]][mURL]);
  450.         */
  451.        
  452.         PlayAudioStreamForPlayer(playerid, musicplay);
  453.         printf("%d tocou: %s", playerid, musicplay);
  454.    
  455.         new string[256];
  456.         format(string, sizeof(string), "Tocando: "#YEL"%s", MusicInfo[midfid[playerid]][mTitulo]);
  457.         SendClientMessage(playerid, -1, string);
  458.         format(string, sizeof(string), "Artista: "#YEL"%s", MusicInfo[midfid[playerid]][mArtista]);
  459.         SendClientMessage(playerid, -1, string);
  460.         SendClientMessage(playerid, -1, "Para parar a musica: "#BLU"/mStop");
  461.    
  462.         midfid[playerid] = -1;
  463.         return 1;
  464.         }
  465.        
  466.        
  467. return 1;//Fim Public
  468. }
  469.  
  470.  
  471.  
  472.  
  473.  
  474. public LoadMusics()
  475. {
  476.     new mid = 0;
  477.     failEncontrar:
  478.     while(mid < MAX_MUSICS)
  479.         {
  480.        
  481.         new ffile[45];
  482.         format(ffile, sizeof(ffile), PASTA_MUS, mid);
  483.         if(!dini_Exists(ffile))
  484.             {
  485.             MusicInfo[mid][mDefinida] = false;
  486.             printf("Musica de ID %d nao encontrada/nao existe", mid);
  487.             mid++;
  488.             goto failEncontrar;
  489.            
  490.             }
  491.        
  492.         //Infos Musica
  493.         strmid(MusicInfo[mid][mTitulo],     dini_Get(ffile, "Titulo"),      0, strlen(dini_Get(ffile, "Titulo")),255);
  494.         strmid(MusicInfo[mid][mArtista],    dini_Get(ffile, "Artista"),     0, strlen(dini_Get(ffile, "Artista")),255);
  495.         strmid(MusicInfo[mid][mGenero],     dini_Get(ffile, "Genero"),      0, strlen(dini_Get(ffile, "Genero")),255);
  496.         MusicInfo[mid][mDuracao]    =       dini_Float(ffile, "Duracao");
  497.         MusicInfo[mid][mAno]        =       dini_Int(ffile, "Ano");
  498.         //Infos Servidor
  499.         strmid(MusicInfo[mid][mURL],        dini_Get(ffile, "URL"),         0, strlen(dini_Get(ffile, "URL")),255);
  500.         strmid(MusicInfo[mid][mAdicionou],  dini_Get(ffile, "Adicionou"),   0, strlen(dini_Get(ffile, "Adicionou")),255);
  501.         //Verifica se está definida
  502.         MusicInfo[mid][mDefinida] =         dini_Bool(ffile, "Definida") ? true : false;
  503.        
  504.         printf("Musica de ID %d carregada", mid);
  505.         mid++;
  506.         }
  507.  
  508. return 1;
  509. }
  510.  
  511.  
  512.  
  513.  
  514. public LoadMusic(mid)
  515. {
  516.         new ffile[45];
  517.         format(ffile, sizeof(ffile), PASTA_MUS, mid);
  518.         if(!dini_Exists(ffile))
  519.             {
  520.             printf("Musica de ID %d nao encontrada/nao existe", mid);
  521.             return 1;
  522.             }
  523.        
  524.         //Infos Musica
  525.         strmid(MusicInfo[mid][mTitulo],     dini_Get(ffile, "Titulo"),      0, strlen(dini_Get(ffile, "Titulo")),255);
  526.         strmid(MusicInfo[mid][mArtista],    dini_Get(ffile, "Artista"),     0, strlen(dini_Get(ffile, "Artista")),255);
  527.         strmid(MusicInfo[mid][mGenero],     dini_Get(ffile, "Genero"),      0, strlen(dini_Get(ffile, "Genero")),255);
  528.         MusicInfo[mid][mDuracao]    = dini_Float(ffile, "Duracao");
  529.         MusicInfo[mid][mAno]        = dini_Int(ffile, "Ano");
  530.         //Infos Servidor
  531.         strmid(MusicInfo[mid][mURL],        dini_Get(ffile, "URL"),         0, strlen(dini_Get(ffile, "URL")),255);
  532.         strmid(MusicInfo[mid][mAdicionou],  dini_Get(ffile, "Adicionou"),   0, strlen(dini_Get(ffile, "Adicionou")),255);
  533.         //Verifica se está definida
  534.         MusicInfo[mid][mDefinida] = dini_Bool(ffile, "Definida") ? true : false;
  535.         printf("Musica de ID %d carregada", mid);
  536.  
  537. return 1;
  538. }
  539.  
  540.  
  541.  
  542. public SaveMusics()
  543. {
  544.  
  545.     new mid = 0;
  546.     failCarregar:
  547.     while(mid < MAX_MUSICS)
  548.         {
  549.         new ffile[45];
  550.         if(MusicInfo[mid][mDefinida] == false)
  551.             {
  552.             printf("Musica %d nao salvada por nao existir", mid);
  553.             mid++;
  554.             goto failCarregar;
  555.             }
  556.         format(ffile, sizeof(ffile), PASTA_MUS, mid);
  557.        
  558.         if(!dini_Exists(ffile))
  559.             {
  560.             dini_Create(ffile);
  561.             }
  562.        
  563.         dini_Set(ffile,         "Titulo",       MusicInfo[mid][mTitulo]);
  564.         dini_Set(ffile,         "Artista",      MusicInfo[mid][mArtista]);
  565.         dini_Set(ffile,         "Genero",       MusicInfo[mid][mGenero]);
  566.         dini_FloatSet(ffile,    "Duracao",      MusicInfo[mid][mDuracao]);
  567.         dini_IntSet(ffile,      "Ano",          MusicInfo[mid][mAno]);
  568.         dini_Set(ffile,         "URL",          MusicInfo[mid][mURL]);
  569.         dini_Set(ffile,         "Adicionou",    MusicInfo[mid][mAdicionou]);
  570.         dini_BoolSet(ffile,     "Definida",     MusicInfo[mid][mDefinida]);    
  571.        
  572.         mid++;
  573.         }
  574.         print("MusicasSalvas");
  575.  
  576. return 1;
  577. }
  578.  
  579.  
  580. public SaveMusic(mid)
  581. {
  582.  
  583.         new ffile[45];
  584.         if(MusicInfo[mid][mDefinida] == false)
  585.             {
  586.             printf("Musica %d nao salvada por nao existir", mid);
  587.             return 1;
  588.             }
  589.         format(ffile, sizeof(ffile), PASTA_MUS, mid);
  590.        
  591.         if(!dini_Exists(ffile))
  592.             {
  593.             dini_Create(ffile);
  594.             }
  595.        
  596.         dini_Set(ffile,         "Titulo",       MusicInfo[mid][mTitulo]);
  597.         dini_Set(ffile,         "Artista",      MusicInfo[mid][mArtista]);
  598.         dini_Set(ffile,         "Genero",       MusicInfo[mid][mGenero]);
  599.         dini_FloatSet(ffile,    "Duracao",      MusicInfo[mid][mDuracao]);
  600.         dini_IntSet(ffile,      "Ano",          MusicInfo[mid][mAno]);
  601.         dini_Set(ffile,         "URL",          MusicInfo[mid][mURL]);
  602.         dini_Set(ffile,         "Adicionou",    MusicInfo[mid][mAdicionou]);
  603.         dini_BoolSet(ffile,     "Definida",     MusicInfo[mid][mDefinida]);    
  604.         printf("Musica ID %d salvada", mid);
  605.        
  606.     return 1;
  607. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement