Hello mindenki.
Szerveremnek volt egy zenesystemje, viszont egyfolytában pawnoban kellet új zenét hozzá adjak, ezért össze dobtam ezt a kis scriptet.
A lényege az hogy bárki, bármikor új zenét tud berakni szerverébe, csak egy linkre és egy zenenévre lessz szüksége.
Két nyelvre írtam ezért nem kell bajlódni az angollá/magyarrá írason.
A script elején találsz pár konfigot, amivel a script mûködésén változtathatsz.
Elõre mondom, hogy van benne pár szükségtelen dolog.Ezek azért maradtak benne mert siettem és még akarom folytatni.
Akit zavar kiszedheti.
Mit is tud?A script egy dialogra alapúl szóval csak egy parancsot kell megtanuljál, ami nem más mint a /zene
1.A dialog menüben megállíthatod a zenét.
2.Megnyithatod a zene listát.(Ha még nincs zene hozzáadva, akkor üres.
3.Zenét lejátszhatsz linkröl
4.Új zenét adhatsz a listádról, ami már azonnal meg is található a listán.
5.Mindezt elmeni, úgyhogy nem kell újra berakni a zenéket.
A script elején állíthatol pár dolgot, mint példáúl:
1.Zene csak jármûben
2.Új zenét csak RCON Adminok adhatnak
3.A zenék lementési helye.
Milyen includera van szükséged?
- dfile by DrAkE
- zcmd by Zeex
Nagyjából ennyi.Akarom újítani pár dologgal mint például:
- Zene keresés
- Saját zene lista
- Zene vezérlés Clickable Textdrawwal is
#include <a_samp>
#include <zcmd>
#include <dfile>
//CONFIG
#define SL 0 // 1 if ENGLISH , 0 if HUNGARIAN || 1 ha Angol, 0 ha Magyar
#define ADD_SONG_ONLY_ADMINS 1 // 1 if only admins can put new songs in the music list, 0 if all || 1 ha csak adminok adhatnak új zenéket, 0 ha mindenki
#define SONGS_ONLY_IN_CAR 0 //Players can listen music only in vehicle || A játékosok csak jármûben hallgathatják a zenét
#define SAVE_SONGS_IN \"Songs.ini\" //Save songs in || Zenék lementése ide
//DIALOGS
#define DIALOG_1 789
#define DIALOG_2 790
#define DIALOG_3 791
#define DIALOG_4 792
#define DIALOG_5 793
#define DIALOG_6 793
//COLORS || SZINEK
#define BLUE 0x0055ffAA // {0055ff}
#define RED 0xeb1717AA // {eb1717}
#define GREEN 0x17eb17AA // {17eb17}
#define BBLUE \"{0055ff}\"
#define RRED \"{eb1717}\"
#define GGREEN \"{17eb17}\"
//-------------
new ssstr[126],ssstr2[2000], ssstr3[260], musicnumber, Songs[1000][500], musicname[30], musiclink[100];
//-------------
public OnFilterScriptInit()
{
#if SL == 1
print(\"\\n--------------------------------------\");
print(\"Extra Music System by SkillZ Loaded Succesfully\");
print(\"--------------------------------------\\n\");
#else
print(\"\\n--------------------------------------\");
print(\"Extra Zene System by SkillZ Sikeresen Betöltve\");
print(\"--------------------------------------\\n\");
#endif
if(!dfile_FileExists(SAVE_SONGS_IN)) {
dfile_Create(SAVE_SONGS_IN);
#if SL == 1
printf(\"File Created:%s\", SAVE_SONGS_IN);
#else
printf(\"File Elkészítve:%s\", SAVE_SONGS_IN);
#endif
}
return 1;
}
public OnFilterScriptExit()
{
#if SL == 1
print(\"\\n--------------------------------------\");
print(\"Extra Music System by SkillZ Unloaded Succesfully\");
print(\"--------------------------------------\\n\");
#else
print(\"\\n--------------------------------------\");
print(\"Extra Zene System by SkillZ Sikeresen Kikapcsolva\");
print(\"--------------------------------------\\n\");
#endif
return 1;
}
public OnPlayerConnect(playerid)
{
#if SL == 1
SendClientMessage(playerid, BLUE, \"If you wanna see the servers music list write:{eb1717} /music\");
#else
SendClientMessage(playerid, BLUE, \"Ha szeretnéd látni a szerver zenelistáját írd:{eb1717} /zene\");
#endif
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
return 1;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_1)
{
if(response)
{
switch(listitem) {
case 0: { // Stop
StopAudioStreamForPlayer(playerid);
} case 1: { // Lista
dfile_Open(SAVE_SONGS_IN);
musicnumber = dfile_ReadInt(\"MusicNumber\");
for(new ss; ss <= musicnumber; ss++) {
format(ssstr, sizeof(ssstr), \"S%d\", ss);
Songs[ss] = dfile_ReadString(ssstr);
format(ssstr2, sizeof(ssstr2), \"%s\\n%s\", ssstr2, Songs[ss]);
}
ShowPlayerDialog(playerid,DIALOG_5,DIALOG_STYLE_LIST,\"Zene\",ssstr2,\"Kiválaszt\", \"Vissza\");
ssstr2 = \"\";
dfile_CloseFile();
} case 2: { //Link
#if SL == 1
ShowPlayerDialog(playerid, DIALOG_4, DIALOG_STYLE_INPUT, \"New Song\", \"Write the url of the song\\n(http://...)\\n\"RRED\"ATTENTION:The url must be direct\\n(If you write that link on your webbrowser\\nthe song must start immediatly\", \"Play\", \"Back\");
#else
ShowPlayerDialog(playerid, DIALOG_4, DIALOG_STYLE_INPUT, \"Új Zene\", \"Írd be a zene url-ját\\n(http://...)\\n\"RRED\"FIGYELEM:Az url élõ kell hogy legyen\\n(Ha beírod a linket a keresõdbe(webbrowser)\\na zene azonnal el is kell induljon\", \"Lejátszás\", \"Vissza\");
#endif
} case 3: { //Új zene
#if SL == 1
ShowPlayerDialog(playerid, DIALOG_2, DIALOG_STYLE_INPUT, \"New Song\", \"Write the name of the song\\n(Artist - Songname)\", \"Next\", \"Back\");
#else
ShowPlayerDialog(playerid, DIALOG_2, DIALOG_STYLE_INPUT, \"Új Zene\", \"Írd be a beilleszteni kivánt zene pontos címét\\n(Elõadó - ZeneCím)\", \"Tovább\", \"Vissza\");
#endif
}
}
}
return 1;
}
if(dialogid == DIALOG_2)
{
if(!response)
{
#if SL == 1
if(IsPlayerAdmin(playerid)) return ShowPlayerDialog(playerid,DIALOG_1,DIALOG_STYLE_LIST,\"Music\",\"Stop Music\\nMusic List\\nStarting Music\\nNew Song\",\"Select\", \"Close\");
#if ADD_SONG_ONLY_ADMINS == 1
ShowPlayerDialog(playerid,DIALOG_1,DIALOG_STYLE_LIST,\"Music\",\"Stop Music\\nMusic List\\nStarting Music\",\"Select\", \"Close\");
#else
ShowPlayerDialog(playerid,DIALOG_1,DIALOG_STYLE_LIST,\"Music\",\"Stop Music\\nMusic List\\nStarting Music\\nNew Song\",\"Select\", \"Close\");
#endif
#else
if(IsPlayerAdmin(playerid)) return ShowPlayerDialog(playerid,DIALOG_1,DIALOG_STYLE_LIST,\"Zene\",\"Zene megállítása\\nZene Lista\\nKezdõ Zene\\nÚj zene\",\"Kiválaszt\", \"Bezár\");
#if ADD_SONG_ONLY_ADMINS == 1
ShowPlayerDialog(playerid,DIALOG_1,DIALOG_STYLE_LIST,\"Zene\",\"Zene megállítása\\nZene Lista\\nKezdõ Zene\",\"Kiválaszt\", \"Bezár\");
#else
ShowPlayerDialog(playerid,DIALOG_1,DIALOG_STYLE_LIST,\"Zene\",\"Zene megállítása\\nZene Lista\\nKezdõ Zene\\nÚj zene\",\"Kiválaszt\", \"Bezár\");
#endif
#endif
}
else
{
if(strfind(inputtext, \"-\", false) != -1)
{
#if SL == 1
ShowPlayerDialog(playerid, DIALOG_3, DIALOG_STYLE_INPUT, \"New Song\", \"Write the url of the song\\n(http://...)\\n\"RRED\"ATTENTION:The url must be direct\\n(If you write that link on your webbrowser\\nthe song must start immediatly\", \"Next\", \"Back\");
#else
ShowPlayerDialog(playerid, DIALOG_3, DIALOG_STYLE_INPUT, \"Új Zene\", \"Írd be a zene url-ját\\n(http://...)\\n\"RRED\"FIGYELEM:Az url élõ kell hogy legyen\\n(Ha beírod a linket a keresõdbe(webbrowser)\\na zene azonnal el is kell induljon\", \"Tovább\", \"Vissza\");
#endif
strcat(musicname, inputtext);
}
else
{
#if SL == 1
ShowPlayerDialog(playerid, DIALOG_2, DIALOG_STYLE_INPUT, \"New Song\", \"You forget the ( - ) from the songname\\nWrite the name of the song\\n(Artist - Songname)\", \"Next\", \"Back\");
#else
ShowPlayerDialog(playerid, DIALOG_2, DIALOG_STYLE_INPUT, \"Új Zene\", \"Elfelejtetted a ( - ) -t a zenenévbõl\\nÍrd be a beilleszteni kivánt zene pontos címét\\n(Elõadó - ZeneCím)\", \"Tovább\", \"Vissza\");
#endif
}
}
return 1;
}
if(dialogid == DIALOG_3)
{
if(!response)
{
#if SL == 1
ShowPlayerDialog(playerid, DIALOG_2, DIALOG_STYLE_INPUT, \"New Song\", \"You forget the ( - ) from the songname\\nWrite the name of the song\\n(Artist - Songname)\", \"Next\", \"Back\");
#else
ShowPlayerDialog(playerid, DIALOG_2, DIALOG_STYLE_INPUT, \"Új Zene\", \"Elfelejtetted a ( - ) -t a zenenévbõl\\nÍrd be a beilleszteni kivánt zene pontos címét\\n(Elõadó - ZeneCím)\", \"Tovább\", \"Vissza\");
#endif
}
else
{
strcat(musiclink, inputtext);
#if SL == 1
SendClientMessage(playerid, GREEN, \"Your song was saved succesfully.Now you can search it from musiclist.\");
SendClientMessage(playerid, GREEN, \"If your song don\'t starts you need to contact with an admin, who can help for you\");
printf(\"%s Saved a song\\nName:%s || Link:%s\", PName(playerid), musicname, musiclink);
#else
SendClientMessage(playerid, GREEN, \"Sikeresen lementetted a zenéd.Azonnal megtudod hallgatni a zenelistában.\");
SendClientMessage(playerid, GREEN, \"Ha nem mûködik, akkor vedd fel a kapcsolatot egy adminnal, aki megoldhatja a gondjaid\");
printf(\"%s elmentett egy zenét\\nNév:%s || Link:%s\", PName(playerid), musicname, musiclink);
#endif
dfile_Open(SAVE_SONGS_IN);
musicnumber = dfile_ReadInt(\"MusicNumber\");
musicnumber++;
dfile_WriteInt(\"MusicNumber\", musicnumber);
format(ssstr, sizeof(ssstr), \"S%d\", musicnumber);
dfile_WriteString(ssstr, musicname);
format(ssstr, sizeof(ssstr), \"SL%d\", musicnumber);
dfile_WriteString(ssstr, musiclink);
dfile_SaveFile();
dfile_CloseFile();
}
return 1;
}
if(dialogid == DIALOG_4)
{
if(!response)
{
#if SL == 1
if(IsPlayerAdmin(playerid)) return ShowPlayerDialog(playerid,DIALOG_1,DIALOG_STYLE_LIST,\"Music\",\"Stop Music\\nMusic List\\nStarting Music\\nNew Song\",\"Select\", \"Close\");
#if ADD_SONG_ONLY_ADMINS == 1
ShowPlayerDialog(playerid,DIALOG_1,DIALOG_STYLE_LIST,\"Music\",\"Stop Music\\nMusic List\\nStarting Music\",\"Select\", \"Close\");
#else
ShowPlayerDialog(playerid,DIALOG_1,DIALOG_STYLE_LIST,\"Music\",\"Stop Music\\nMusic List\\nStarting Music\\nNew Song\",\"Select\", \"Close\");
#endif
#else
if(IsPlayerAdmin(playerid)) return ShowPlayerDialog(playerid,DIALOG_1,DIALOG_STYLE_LIST,\"Zene\",\"Zene megállítása\\nZene Lista\\nKezdõ Zene\\nÚj zene\",\"Kiválaszt\", \"Bezár\");
#if ADD_SONG_ONLY_ADMINS == 1
ShowPlayerDialog(playerid,DIALOG_1,DIALOG_STYLE_LIST,\"Zene\",\"Zene megállítása\\nZene Lista\\nKezdõ Zene\",\"Kiválaszt\", \"Bezár\");
#else
ShowPlayerDialog(playerid,DIALOG_1,DIALOG_STYLE_LIST,\"Zene\",\"Zene megállítása\\nZene Lista\\nKezdõ Zene\\nÚj zene\",\"Kiválaszt\", \"Bezár\");
#endif
#endif
}
else
{
PlayAudioStreamForPlayer(playerid, inputtext);
}
return 1;
}
if(dialogid == DIALOG_5)
{
if(response)
{
format(ssstr, sizeof(ssstr), \"SL%d\", listitem + 1);
dfile_Open(SAVE_SONGS_IN);
ssstr3 = dfile_ReadString(ssstr);
PlayAudioStreamForPlayer(playerid, ssstr3);
}
return 1;
}
if(dialogid == DIALOG_6)
{
if(response)
{
format(ssstr, sizeof(ssstr), \"SL%d\", listitem + 1);
dfile_Open(SAVE_SONGS_IN);
ssstr3 = dfile_ReadString(ssstr);
PlayAudioStreamForPlayer(playerid, ssstr3);
}
return 1;
}
return 0;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
#if SL == 1
CMD:music(playerid) {
#if SONGS_ONLY_IN_CAR == 1
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, BLUE, \"You can listen sound only in vehicle!\");
#endif
if(IsPlayerAdmin(playerid)) return ShowPlayerDialog(playerid,DIALOG_1,DIALOG_STYLE_LIST,\"Music\",\"Stop Music\\nMusic List\\nPlay from link\\nNew Song\",\"Select\", \"Close\");
#if ADD_SONG_ONLY_ADMINS == 1
ShowPlayerDialog(playerid,DIALOG_1,DIALOG_STYLE_LIST,\"Music\",\"Stop Music\\nMusic List\\nPlay from link\",\"Select\", \"Close\");
#else
ShowPlayerDialog(playerid,DIALOG_1,DIALOG_STYLE_LIST,\"Music\",\"Stop Music\\nMusic List\\nPlay from link\\nNew Song\",\"Select\", \"Close\");
#endif
return 1;
}
#else
CMD:zene(playerid) {
#if SONGS_ONLY_IN_CAR == 1
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, BLUE, \"Zenét csak jármûben hallgathatsz!\");
#endif
if(IsPlayerAdmin(playerid)) return ShowPlayerDialog(playerid,DIALOG_1,DIALOG_STYLE_LIST,\"Zene\",\"Zene megállítása\\nZene Lista\\nLejátszás linkröl\\nÚj zene\",\"Kiválaszt\", \"Bezár\");
#if ADD_SONG_ONLY_ADMINS == 1
ShowPlayerDialog(playerid,DIALOG_1,DIALOG_STYLE_LIST,\"Zene\",\"Zene megállítása\\nZene Lista\\nLejátszás linkröl\",\"Kiválaszt\", \"Bezár\");
#else
ShowPlayerDialog(playerid,DIALOG_1,DIALOG_STYLE_LIST,\"Zene\",\"Zene megállítása\\nZene Lista\\nLejátszás linkröl\\nÚj zene\",\"Kiválaszt\", \"Bezár\");
#endif
return 1;
}
#endif
stock PName(playerid) {
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
return pname;
}
Letöltés itt:
http://www.solidfiles.com/d/ae62728a29/Képet és videót hamarosan rakok:P
FIGYELEMHa nincs meg a teljes lista, akkor az ssstr2
- ben az \"x\" et írjátok feljebb.