U ovom tutorialu cu objasniti kako napraviti pravi Online radio u igri u samo nekoliko koraka.
za igrace.
Kada skinete audio server plugin, raspakirajte audio.dll u svoj plugins folder, te dodajte u server.cfg "plugins audio".
Nakon sto ste to napravili dodajte audio.inc u codeo/includes folder, te dodajte u gamemodu "#include
". Nakon toga mozemo krenuti na komande, dodajte izvan callbacka:new musicc; U callback OnPlayerConnect(playerid) dodajte:musicc = -1; Pronadjite callback OnPlayerStateChange(playerid, newstate, oldstate) i unutra pronadjiteif(newstate == PLAYER_STATE_ONFOOT) { te dodajte unutar tog newstatea:Audio_Stop(playerid, musicc); Ukoliko nemozete pronaci taj newstate, jednostavno ga kreirajte, pa bi vam kod ovako morao izgledati:if(newstate == PLAYER_STATE_ONFOOT) { Audio_Stop(playerid, musicc); } Kada ste to zavrsili mozete preci na komande, u OnPlayerCommandText callback dodajte ovo: Komanda /setvolume stavlja igracu glasnocu radia na koju on odredi. Komanda /setradio radi jedino kada ste vozac vozila, ako ima suvozaca (putnika) i oni ce cuti vas radio, ako izadete iz vozila, radio se automatski gasi.if(strcmp(cmd, "/setvolume", true) == 0) { if(IsPlayerConnected(playerid)) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD1, "Pomoc: /setvolume [1-100]"); return 1; } new volume = strval(tmp); Audio_SetVolume(playerid, musicc, volume); format(string, sizeof(string), "Volume postavljen na %d", volume); SendClientMessage(playerid, COLOR_GRAD1, string); } return 1; } if(strcmp(cmd, "/setradio", true) == 0) { if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == 2) { new x_nr; x_nr = strtok(cmdtext, idx); if(!strlen(x_nr)) { SendClientMessage(playerid, COLOR_WHITE, "Pomoc: /setradio (IME) | Imena: (0-3) | /setvolume"); SendClientMessage(playerid, COLOR_WHITE, "0: Ugasi radio"); SendClientMessage(playerid, COLOR_WHITE, "1: Radio1"); SendClientMessage(playerid, COLOR_WHITE, "2: Radio2"); SendClientMessage(playerid, COLOR_WHITE, "3: Radio3"); return 1; } if(strcmp(x_nr,"0",true) == 0) { format(string, sizeof(string), "*%s gasi radio u vozilu", GetPlayerNameEx(playerid)); ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5); Audio_Stop(playerid, musicc); for(new i=0; i { new vehicleid = GetPlayerVehicleID(playerid); if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == 3) { Audio_Stop(i, musicc); } } return 1; } else if(strcmp(x_nr,"1",true) == 0) { format(string, sizeof(string), "*%s stavlja radio stanicu u vozilu na Radio 1", GetPlayerNameEx(playerid)); ProxDetector(20.0, playerid, string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); Audio_Stop(playerid, musicc); musicc = Audio_PlayStreamed(playerid, "http://URL/radio1.asx", false, false, false); Audio_SetVolume(playerid, musicc, 50); for(new i=0; i { new vehicleid = GetPlayerVehicleID(playerid); if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == 3) { Audio_Stop(i, musicc); musicc = Audio_PlayStreamed(i, "http://URL/radio1.asx", false, false, false); Audio_SetVolume(i, musicc, 50); } } return 1; } else if(strcmp(x_nr,"2",true) == 0) { format(string, sizeof(string), "*%s stavlja radio stanicu u vozilu na Radio 2", GetPlayerNameEx(playerid)); ProxDetector(20.0, playerid, string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); Audio_Stop(playerid, musicc); musicc = Audio_PlayStreamed(playerid, "http://URL/radio2.m3u", false, false, false); Audio_SetVolume(playerid, musicc, 50); for(new i=0; i { new vehicleid = GetPlayerVehicleID(playerid); if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == 3) { Audio_Stop(i, musicc); musicc = Audio_PlayStreamed(i, "http://URL/radio2.m3u", false, false, false); Audio_SetVolume(i, musicc, 50); } } return 1; } else if(strcmp(x_nr,"3",true) == 0) { format(string, sizeof(string), "*%s stavlja radio stanicu u vozilu na Radio3", GetPlayerNameEx(playerid)); ProxDetector(20.0, playerid, string,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); Audio_Stop(playerid, musicc); musicc = Audio_PlayStreamed(playerid, "http://URL/radio3.pls", false, false, false); Audio_SetVolume(playerid, musicc, 50); for(new i=0; i { new vehicleid = GetPlayerVehicleID(playerid); if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == 3) { Audio_Stop(i, musicc); musicc = Audio_PlayStreamed(i, "http://URL/radio3.pls", false, false, false); Audio_SetVolume(i, musicc, 50); } } return 1; } } return 1; } Mozete dodati jos svojih radia, to valjda znate posto imate primjer, za Audio_PlayStreamed funkciju mozete koristiti fileove tipa m3u, pls, asx, mp3... Ukoliko nemate GetPlayerNameEx funkciju, morate ju dodati izvan Callbacka.stock GetPlayerNameEx(playerid) { new string; GetPlayerName(playerid,string,24); new str; strmid(str,string,0,strlen(string),24); for(new i = 0; i < MAX_PLAYER_NAME; i++) { if (str == '_') str = ' '; } return str; }