Svim pocetnicima, ali i onim boljim skripterima, vrijedi za pogledati ;) ... Sve je pojasnjeno, tako da i tek skripteri, koji su tek instalirali pawno, mogu dodati radio, te nauciti neke nove stvari! Ako ima koja pogreska, ili sam zaboravio nesto napisati, molim vas recite mu to u komenatarima!
1 Korak:Prvo moramo staviti sve potrebne include-ve... Mala Skola Skriptanja
#include <a_samp> je potreban include za sve FilterScripte i GameModove#include <zcmd> je procesor komandi, koji cemo mi koristiti u ovom tutuKod vezan za tutorial
#include <a_samp> // Potrebni include za svaku FilterScriptu ili GameMod!
#include <zcmd> // Nije potrebno, ali mi cemo ga koristiti! zcmd--> Procesor komandi
2 Korak:Za sljedeci korak, potrebne su nam definicija boja, mi cemo koristiti samo jednu boju!Mala Skola Skriptanja
Kako naci odgovarajucu boju pitate se? Na ovom Web-Site-u, imate sve HTML boje, jako se lako snaci, i naci zeljenu boju! WebSite (http://www.computerhope.com/htmcolor.htm)Kako definirati boju? Definirati boju je vrlo jednostavno, sve sto je potrebno je unijeti ''#define ''Ime boje'' ''Kod boje''Kod vezan za tutorial
#define CRVENA 0xAA3333AA
3 Korak:Sada moramo definirati dialog...Mala Skola Skriptanja
Kako definirati dialog? Definirati dialog je jako jednostavno, sve sto je potrebno je ''#define Ime_Dialoga''Zašto nam dialog uopce sluzi? Dialog nam sluzi, kada upisemo neku komandu, da nam izbaci listu, te da nam ponudi odabir necega... Naravno imamo najosnovnije dialoge kao sto su ''DIALOG_STYLE_LIST'', ''DIALOG_STYLE_MSGBOX'', ''DIALOG_STYLE_INPUT'' i jos mnogo njih.Mozes li nam reci, sto je LIST, a sto MSGBOX, a sto INPUT?DIALOG_STYLE_MSGBOX vam pruza mogucnost, kada upisete neku komandu, da vam izbaci text, bez odabira, samo radi citanja, naprimjer, nekih pravila, ili nesto drugo... Takodjer, DIALOG_STYLE_LIST moze preusmjeravati na MSGBOXDIALOG_STYLE_LIST vam pruza mogucnost odabira nekih stvari, u nasem slucaju ovaj cemo dialog koristiti, za biranje radio stranica!DIALOG_STYLE_INPUT vam pruza mogucnost, da nesto napisete u dialog! Ovaj dialog se najcesce upotrebljava, prilikom registracije&logina!Kod vezan za tutorial
#define DIALOG_RADIO 1
4 Korak:Sada moramo napraviti provjeru, jeli igrac slusa radio...Kod vezan za tutorial
new slusaradio[MAX_PLAYERS];
5 Korak:Moramo napraviti, da kada se igrac poveze na server, da mu u provjeri, bude da ne slusa radio! To cemo uraditi u ''public OnPlayerConnect'', i tu moramo staviti verbijalu na 0! Kada je verbijala na 0, to se raspoznaje, kao da ne slusa radio, a na 1 kao da slusa!Kod vezan za tutorial
public OnPlayerConnect(playerid)
{
slusaradio[playerid] = 0;
return 1;
}
6 Korak:6 korak nam je da postavimo prve komande! Prva komanda nam je /pokreniradio !Mala Skola Skriptanja
Å to znaÄi IsPlayerInAnyVehicle? To nam radi provjeru, jeli igrac u ijednom vozilu, nebitno auto&brod&motor!Mozes nam pojasniti ShowPlayerDialog? ShowPlayerDialog, time pokazujemo mu dialog, ako upise tu komandu! U ovom slucaju je DIALOG_STYLE_LIST, to znaci da moze odabrati nesto s liste koje mu nudimo! Moramo takojer, napraviti da se to pokaze samo tom igracu a to napravimo s ''playerid'', moramo napisati i koji dialog, u nasem slucaju ''DIALOG_RADIO'', jer smo ga definirali u prijasnjim koracima! I na kraju, odaberemo koji ce nam biti dialog, u ovom slucaju ''DIALOG_STYLE_LIST''Å to znaÄi \r\n? To nam daje drugi izbor, u ovom slucaju imamo 4 stanice radia!Kod vezan za tutorial
CMD:pokreniradio(playerid,cmdtext[])
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, CRVENA, "Morate biti u vozilu, kako biste slusali radio!");
ShowPlayerDialog(playerid, DIALOG_RADIO, DIALOG_STYLE_LIST, "Radio Stanice","1. Radio 1\r\n2. Radio 2\r\n3. Radio 3\r\n4. Radio 4","Slusaj","Odustani");
return 1;
}
7 Korak:Sada idemo na komandu, koja ce zaustaviti radio! Komanda neka bude /stopradio!Mala Skola Skriptanja
Sada trebamo upotrijebiti, provjeru jeli slusa radio, zar ne? Upravo tako! Sada moramo upotrijebiti nasu provjeru, kako bismo, saznali jeli igrac koristi radio, ako koristi, da ga moze iskljuciti!A što je sada ''StopAudioStreamForPlayer''? To zaustavlja stream, koji cemo upotrijebiti u nekom od sljedecih koraka!Kod vezan za tutorial
CMD:stopradio(playerid,cmdtext[])
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, CRVENA, "Nisi u vozilu!"); //Objasnjeno u koraku prije!
if(slusaradio[playerid] == 1) // Verbijala je na 1, to znaci da ako slusa radio, da ce ga iskljuciti
{
StopAudioStreamForPlayer(playerid); // iskljucuje stream
SendClientMessage(playerid, CRVENA, "You turned your radio off!"); // Salje poruku igacu
}
else // a ako je verbijala na 0, tj. ako ne slusa radio
{
SendClientMessage(playerid, CRVENA, "Ne slusas radio!"); // salje poruku igracu!
}
return 1;
} //zatvara komandu!
8 Korak:Sada cemo napraviti da se radio ugasi, prilikom izlaska iz vozila!Mala Skola Skriptanja
Sto oznacava ''public OnPlayerExitVehicle''? S tim ''public-om'' možemo napraviti, da se nesto dogodi prilikom izlaska iz vozila! U ovom slucaju, da se radio ugasi, automatski, bez njegove potvrde!Kod vezan za tutorial
public OnPlayerExitVehicle(playerid,vehicleid)
{
if(slusaradio[playerid] == 1) {
StopAudioStreamForPlayer(playerid);
}
return 1;
}
9 Korak:Evo nas, zadnji korak, sto se dogadja prilikom, izbaria, neceg s liste dialoga!Mala Skola Skriptanja
Hm, sto znaci ''case DIALOG_RADIO'' Ako cemo prevoditi ''Case'' to bi znaÄilo u slucaju... Znaci prehodno smo napravili komandu, koja, pri odabiru, ide vamo, u ''DIALOG_RADIO'', tako u slucaju da odabere nesto s liste, preusmjerava ga vamo!A koja je razlika izmedju''if(!response)'' i ''if(response)'' Razlika je u ''!''... Ako ima ''!'', to znaci, da je igrac, koji je upisao komandu, i odustao od nje... Mozemo samo u tom slucaju, mu poslati poruku! Ako nema ''!'', to znaci da je igrac nesto izabrao, i tada idemo na vecu radnju!Sada ima ''Case 0'' ''Case 1'' ''Case 2''... Sto je sada to? To je isto, amo prevoditi, u slucaju 0 (0 vam je uvijek prvi na listi!), da mu se prikaze&uradi to i to... U ovom slucaju, ako klikne na prvi stvar s liste, da mu se pokrene glazbe s ''Case 0'' i tako dalje!A gdje da nadjem url od pjesme? Mogu li ja svoju glazbu s raÄunala slusati? Mozes, sa svog raÄunala, upload-ati glazbu s ovog WebSite-a! WebSite (http://www.uploadmusic.org/)Kod vezan za tutorial
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case DIALOG_RADIO:
{
if(!response)
{
SendClientMessage(playerid, CRVENA, "Odustao si od slusanja radioa!"); // Salje poruku, ako je odustao
}
if(response) // Ako klikne ''Slusaj'' opisrnije u postu
{
switch(listitem)
{
case 0: // prva radio stranica
{
slusaradio[playerid] = 1; // Verbijala mu ide na 1, jer pocinje slusati radio, i sada na provjeri slusa radio!
PlayAudioStreamForPlayer(playerid,"LINK pjesme"); //Ovo je pjesma s url streama
}
case 1: //isto kao i case 0
{
slusaradio[playerid] = 1;
PlayAudioStreamForPlayer(playerid,"LINK pjesme");
}
case 2:
{
slusaradio[playerid] = 1;
PlayAudioStreamForPlayer(playerid,"LINK pjesme");
}
case 3:
{
slusaradio[playerid] = 1;
PlayAudioStreamForPlayer(playerid,"LINK pjesme");
}
}
}
}
}
return 1;
}
KRAJ
Hvala vam na Äitanju, nadam se da ste neke nove stvari naucili, ili samo ponovili!
Pozdrav!
ColdPlay
Da ti slucajno nisi negdje preuzeo ovakav tut, mozda sa SAMP forums? jer vidim sve ti pise na ex-yu (tekst sto izbacuje igracima) a jedna recenica na engleskom :
SendClientMessage(playerid, CRVENA, "You turned your radio off!"); // Salje poruku igacu
:-\
Preuzeto je sa SA-MP foruma, ja nigdje nisam rekao da sam ja radio, ali, uzeo sam cmd, ali tutorial samo puno vise objasnio, da svi ga mogu koristiti... Tvorac tutoriala, je samo naveo komande, koje sam ja preuzeo, preveo, te opsirno uradio tutorial...
CitatNa forumu mozete pronaci TUTORIAL-e i skripte koje su preuzete sa www.forum.sa-mp.com. Skripte su prevedene na hrvatski jezik, jer neznaju bas svi engleski ili neki strani jezik.
SVAKA CAST!!! Detaljno napisano !!! POMOCI CE SVIMA , iako su to osnove skriptanja =D
Odlican tut ;)
public OnPlayerExitVehicle(playerid,vehicleid)
{
if(slusaradio[playerid] == 1) {
StopAudioStreamForPlayer(playerid);
}
return 1;
}
Uradi ovako , bolje je ..
Odlican tutorial bas dobro objasnjen ne moze bolje za pocetnike :)
Citat: Daniel Zero poslato Avgust 21, 2012, 17:17:51 POSLE PODNE
public OnPlayerExitVehicle(playerid,vehicleid)
{
if(slusaradio[playerid] == 1) {
StopAudioStreamForPlayer(playerid);
}
return 1;
}
Uradi ovako , bolje je ..
Hvala ;)
Citat: |BR|Davidoff poslato Avgust 21, 2012, 17:38:36 POSLE PODNE
Odlican tutorial bas dobro objasnjen ne moze bolje za pocetnike :)
Hvala :) :)
Dobar tut?pohvale.. xD