Szerző Téma: [MYSQL] - Zenelejátszó  (Megtekintve 2805 alkalommal)

Nem elérhető gbr333

  • 670
    • Profil megtekintése
[MYSQL] - Zenelejátszó
« Dátum: 2016. Július 18. - 14:04:55 »
+2
Sziasztok!
 
Nemrégiben készítettem egy Zenelejátszó scriptet , amit szeretnék megosztani veletek!:
 
[Pár adat a scriptről]
 
-Sorok száma: 143
 
-Elkészítési idő: 10-20 perc
 
-Felhasznált includeok: a_samp , a_msql(r39) , zcmd , sscanf2
 
[Képek]
 
\"aNPE0T9.jpg\"
 
\"w6DfwP0.jpg\"
 
[MYSQL Tábla]
 

CREATE TABLE `songs` (
  `ID` int(11) NOT NULL,
  `Artist` text NOT NULL,
  `Song` text NOT NULL,
  `Link` text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
ALTER TABLE `songs`
  ADD PRIMARY KEY (`ID`);
 
ALTER TABLE `songs`
  MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT;

 
 
 
[script]
 

#include <a_samp>
#include <a_mysql>
#include <zcmd>
#include <sscanf2>
//»Definiciók
#define MAX_SONGS 100
#define DIALOG_ZENE 100
//»Változók
new sql;
new zenek;
enum music
{
m_id,
m_artist[32],
m_song[32],
m_link[96]
}
new mInfo[MAX_SONGS][music];
//»Forward(ok)
forward LoadSongs();
forward InsertSong(a[],b[],c[]);
public OnFilterScriptInit()
{
sql = mysql_connect(\"127.0.0.1\", \"root\", \"teszt\", \"\");
if(mysql_errno() != 0)
    {
        print(\"[MySQL] » Sikertelen csatlakozás!\");
}
    else
     {
        print(\"[MySQL] » Sikeres csatlakozás!\");
}
    print(\"[Zenelejátszó] » Zenék betöltése..\");
mysql_tquery(sql, \"SELECT * FROM songs\", \"LoadSongs\");
return 1;
}
CMD:zene(playerid)
{
return ShowMusic(playerid);
}
CMD:ujzene(playerid,params[])
{
new artist[32],song[32],link[96],string[96];
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xf03c3cAA,\"Nem vagy RCON admin!\");
if(sscanf(params, \"s[32]s[32]s[96]\",artist,song,link)) return SendClientMessage(playerid,0xf03c3cAA,\"/újzene [Előadó] [szám Címe] [Link]\");
for(new i = 0; i < zenek; i++)
{
if( strcmp(mInfo[m_artist],artist) == 0 && strcmp(mInfo[m_song],song) == 0 ) return SendClientMessage(playerid,0xf03c3cAA,\"Már van ilyen Előadó/Szám kombináció\");
}
new query[256];
mysql_format(sql, query, 256, \"INSERT INTO songs (Artist,Song,Link) VALUES (\'%s\',\'%s\',\'%s\')\",artist,song,link);
mysql_tquery(sql, query,\"InsertSong\",\"sss\",artist,song,link);
format(string,96,\"Sikeresen elmentettél egy új zenét! Előadó: %s , Szám : %s\",artist,song);
SendClientMessage(playerid,0x1cd657AA,string);
return 1;
}
 
CMD:refresh(playerid,params[])
{
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xf03c3cAA,\"Nem vagy RCON admin!\");
for(new i = 0; i < zenek; i++)
{
   mInfo[m_id] = 0;
   mInfo[m_artist] = EOS;
   mInfo[m_song] = EOS;
   mInfo[m_link] = EOS;
}
zenek = 0;
mysql_tquery(sql, \"SELECT * FROM songs\", \"LoadSongs\");
SendClientMessage(playerid,0x1cd657AA,\"Sikeresen frissítetted a zenéket!\");
return 1;
}
stock ShowMusic(playerid)
{
new str[512] = \"Előadó\\t-\\tSzám\\n{f03c3c}Zene megállítása\\n\",str2[100],count;
for(new i = 0; i < zenek; i++)
{
format(str2,sizeof(str2),\"%s\\t-\\t%s\\n\",mInfo[m_artist],mInfo[m_song]);
strcat(str,str2);
count = 1;
}
if(count != 1) return SendClientMessage(playerid,0xf03c3cAA,\"Sajnos még nincsenek zenék a szerveren :/\");
ShowPlayerDialog(playerid,DIALOG_ZENE,DIALOG_STYLE_TABLIST_HEADERS,\"Zenelejátszó\",str, \"Meghallgat\", \"Kilép\");
return 1;
}
 
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_ZENE)
{
   if(response)
   {
      if(listitem == 0)
      {
         StopAudioStreamForPlayer(playerid);
           SendClientMessage(playerid,0xf03c3cAA,\"Zene megállítva!\");
      }
      else
      {
            PlayAudioStreamForPlayer(playerid,mInfo[listitem-1][m_link]);
            new string[100];
            format(string,100,\"Zene elindítva! / Előadó: %s / Szám : %s /\",mInfo[listitem-1][m_artist],mInfo[listitem-1][m_song]);
         SendClientMessage(playerid,0x8a3cf0AA,string);
      }
   }
}
return 1;
}
public LoadSongs()
{
for(new i = 0; i < cache_get_row_count(); i++)
{
   mInfo[m_id] = cache_get_row_int(i,0);
   cache_get_row(i, 1,mInfo[m_artist],1,32);
   cache_get_row(i, 2,mInfo[m_song],1,32);
   cache_get_row(i, 3,mInfo[m_link],1,96);
   zenek ++;
}
printf(\"[Zenelejátszó] » %d db zene sikeresen betöltve.\",zenek);
return 1;
}
 
public InsertSong(a[],b[],c[])
{
mInfo[zenek][m_id] = cache_insert_id();
strins(mInfo[zenek][m_artist],a,0);
strins(mInfo[zenek][m_song],b,0);
strins(mInfo[zenek][m_link],c,0);
zenek++;
return 1;
}

 
 
 
Pastebin:http://pastebin.com/HMqLVaxR
« Utoljára szerkesztve: 2018. Június 16. - 14:46:44 írta RoLuX »

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
[MYSQL] - Zenelejátszó
« Válasz #1 Dátum: 2016. Július 18. - 14:25:09 »
+3
nem rossz, de ped mingyárt beleköt

[MYSQL] - Zenelejátszó
« Válasz #2 Dátum: 2016. Július 18. - 14:54:21 »
0
Ötletes, fasza lett.
Csak így tovább !   :-\\
+

Nem elérhető Pedró

  • 3341
  • 2014 © Az év Szkriptere
    • Profil megtekintése
[MYSQL] - Zenelejátszó
« Válasz #3 Dátum: 2016. Július 18. - 16:09:04 »
+2
Látom kezdő vagy, és meggondolatlan.

Nem elérhető gbr333

  • 670
    • Profil megtekintése
[MYSQL] - Zenelejátszó
« Válasz #4 Dátum: 2016. Július 19. - 12:27:05 »
0
Hozzáadtam még 2 parancsot.
/újzene [előadó] [szám] [link]
((Szerintem ezt nem kell magyaráznom))
/betoltes
((Újra betölti az összes zenét))

Nem elérhető MonKey

  • 125
    • Profil megtekintése
[MYSQL] - Zenelejátszó
« Válasz #5 Dátum: 2016. Július 19. - 20:24:30 »
0
Szép....!  :thumbsup:

[MYSQL] - Zenelejátszó
« Válasz #6 Dátum: 2016. Augusztus 04. - 16:53:03 »
0
nagyon szép lett csakígy tovább

Nem elérhető MonKey

  • 125
    • Profil megtekintése
[MYSQL] - Zenelejátszó
« Válasz #7 Dátum: 2016. Augusztus 06. - 19:15:34 »
0
Idézetet írta: SkyLan date=1470322383\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"62277\" data-ipsquote-contentclass=\"forums_Topic
nagyon szép lett csakígy tovább
 
Igy van! Még utólag is mert le maradtam róla! :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal