Magyar GTA Közösség

Üdvözlünk a Magyar GTA Közösség fórumán!

Csatlakozz közösségünkhöz még ma!
Regisztráció
Hírek
[Filterscript]Zenelejátszó
Indította: Rolux
2018. június 16. - 14:46:28

Szerző Téma: [Filterszkript] [Filterscript]Zenelejátszó  (Megtekintve 49085 alkalommal)

0 Felhasználó és 2 vendég van a témában

Nem elérhető Rolux

  • Újonc
  • 3
  • 2018.06.08
  • 0
2018. június 16. - 14:46:28
Áthoztam ide a másik fórumról.


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:
https://i.imgur.com/aNPE0T9.jpg
https://i.imgur.com/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;

Maga a 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[i][m_artist],artist) == 0 && strcmp(mInfo[i][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[i][m_id] = 0;
mInfo[i][m_artist] = EOS;
mInfo[i][m_song] = EOS;
mInfo[i][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[i][m_artist],mInfo[i][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[i][m_id] = cache_get_row_int(i,0);
cache_get_row(i, 1,mInfo[i][m_artist],1,32);
cache_get_row(i, 2,mInfo[i][m_song],1,32);
cache_get_row(i, 3,mInfo[i][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:https://pastebin.com/HMqLVaxR
Utoljára szerkesztve: 2018. június 16. - 17:01:22 írta Rolux
Tetszik
0
0
Szerelmes
0
Mérges
0
Szomorú
0
Hehe
0
Miiii?
0
Pszt
0
Bleee
0
Bomb
0
Nem láthatsz!
0
Kaki
0
Pezsgő
0

 

Regisztrálj vagy jelentkezz be, hogy válaszolhass!

Regisztrálj

Csatlakozz a közésségünkhöz!
Regisztrálok

Jelentkezz be

Már regiszttráltál? Lépj be!
Bejelentkezek

Ez a weboldal sütiket használ!
Ez a weboldal sütiket használ a felhasználói élmény javítása érdekében. A weboldalunk használatával Ön hozzájárul az összes süti használatához, a Cookie szabályzatunknak megfelelően. Bővebben
Összes elfogadása
Csak a szükséges elfogadása
×