[TuT] {ZCMD} Mala Skola Skriptanja |RADIO|

Započeo Coldplay, Avgust 20, 2012, 15:42:39 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 4 gostiju pregledaju ovu temu.

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 tutu

Kod 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

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 MSGBOX

DIALOG_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

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






Poslednja Izmena: Avgust 26, 2012, 09:57:04 PRE PODNE od [OG] 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.
Poslednja Izmena: Avgust 20, 2012, 16:31:51 POSLE PODNE od [X:RP] ColdPlay

SVAKA CAST!!! Detaljno napisano !!! POMOCI CE SVIMA , iako su to osnove skriptanja =D
Moji Radiovi!
TuT||Iz code u MTA



public OnPlayerExitVehicle(playerid,vehicleid)
{
     if(slusaradio[playerid] == 1) {
    StopAudioStreamForPlayer(playerid);
}
    return 1;
}

Uradi ovako , bolje je ..
ODSUTAN

Odlican tutorial bas dobro objasnjen ne moze bolje za pocetnike :)

Napoli-Best team in the world.


Napoli-Best fans in the world.

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 :) :)