[TUT]Live mijenjanje svih 255 boja na vozilu

Započeo Tomek, Mart 11, 2013, 02:20:44 PRE PODNE

prethodna tema - sledeća tema

0 članova i 3 gostiju pregledaju ovu temu.

Na vrhu definiramo changecolor koji nam odreÄ'uje da li igrać želi mijenjati boju.
takoder definiramo i vehiclecolor sto ce nam u daljnjem kontekstu biti boja vozila.

new changecolor[MAX_PLAYERS] = 0;
new vehiclecolor[MAX_PLAYERS];


Sljedeci korak je da napravimo komandu kojom mozemo mijenjati boje. Ovu komandu sam napravio iz tog razloga da se moze testirat brze. Ovo sto je unutar komdande mozete i staviti u neki dialog kojim mijenjate boje, ili ako se igrac nalazi na nekom mjestu gdje moze to raditi:

if(strcmp(cmd, "/changecolor", true) == 0)
{
    changecolor[playerid] = 1;//postavljanje dozvole za mijenjanje boje
    TogglePlayerControllable(playerid,0);//freeze igraca
    GameTextForPlayer(playerid, "~y~Press ~r~NUM6 ~y~or ~r~NUM4 ~y~for change color\nPress ~r~SPACE ~y~for select color", 10000, 5);//ispis teksta kao pomoc
    return 1;
}


U trecem korako radimo ako je igrac pritisnuo num 6, 4 ili space:



new vehids = GetPlayerVehicleID(playerid);
if(PRESSED(KEY_ANALOG_RIGHT))//ovime provjeravamo pritiskag gumba num6
{
if(GetPlayerState(playerid) == 2)//provjera da li je igrac PLAYER_STATE_DRIVER
    {
    if(changecolor[playerid] == 1)//provjera da li je igrac na mjestu, ili ima dozvolu za mijenjanje boje ovisno kamo stavite kod unutar strcmp
        {
    if(vehiclecolor[playerid] == 255)//tu se provjerava da li je boja 255 zadnja, ako je zadnja onda postavlja sljedecu na 0
    {
      vehiclecolor[playerid] = 0;
                                ChangeVehicleColor(vehids,vehiclecolor[playerid],vehiclecolor[playerid]);//postavljanje boje vozila
    }
vehiclecolor[playerid]++;//boja vozila se pojavaca svaki put kada igrac pritisne na num6
    ChangeVehicleColor(vehids,vehiclecolor[playerid],vehiclecolor[playerid]);
}
}
return 1;
    }
if(PRESSED(KEY_ANALOG_LEFT))//ovime provjeravamo pritiskag gumba num6
{
    if(GetPlayerState(playerid) == 2)
    {
    if(changecolor[playerid] == 1)
        {
    if(vehiclecolor[playerid] == 0)//tu se provjerava da li je boja 0 zadnja, ako je zadnja onda postavlja sljedecu na 255
    {
      vehiclecolor[playerid] = 255;
                                ChangeVehicleColor(vehids,vehiclecolor[playerid],vehiclecolor[playerid]);
    }
vehiclecolor[playerid]--;//boja vozila sesmanjuje svaki put kada igrac pritisne na num4
    ChangeVehicleColor(vehids,vehiclecolor[playerid],vehiclecolor[playerid]);
}
}
return 1;
    }
if(PRESSED(KEY_HANDBRAKE))//ovime provjeravamo pritiskag gumba space
{
    if(GetPlayerState(playerid) == 2)
    {
        if(changecolor[playerid] == 1)
        {
changecolor[playerid] = 0; //micanje dozvole za mijenjanje boje
TogglePlayerControllable(playerid,1);//unfreeze igraca da se moze kretati
      }
    }
}


Kada igrac pritisne space moze se kretati dalje sa vozilom nove boje.
Isto tako kod pritiska space mozete sloziti da vam spremi boju vaseg vozila u "cars.cfg" ili bilo koji file koji koristite za sistem vozila. :)
Jedino nisam siguran ako sve ovo funkcionira bas kako bi trebalo jer nisam testirao, ali moralo bi raditi :)
Poslednja Izmena: Mart 11, 2013, 03:00:23 PRE PODNE od Tomek
Mnogi me znaju, a mnogi misle da znaju.

Citat: David (Sabljak) A.k.A SABO(T) poslato Mart 11, 2013, 02:34:17 PRE PODNE
Strcmp nepotrebno

Nisi nista objasnio, na engleskom je gametext

Mislim da ni sam neznas sta je to samo si copy paste

Totalna [cenzura]ost

za razliku od nekih, meni ne treba pojasnjenje od milijum rijeci da skuzim sto to nesto radi. ako se smatras programerom onda pobogu nesto i moras znat, a i kuzit sto se radi.

sta na ovom balkanu sve mora na hrvatski, srpski ili bosanski? pa valjda kuzite engleski jezik, ako vec toliko prevodite te gm-ove

na ovaj treci tvoj komentar sam gore odgovorio vec, jedino nisam to da to nije copy paste.
Mnogi me znaju, a mnogi misle da znaju.

najveca zamjerka ti je Strcmp radi u zcmd ili ycmd ...

Citat: 99Mile99 poslato Mart 11, 2013, 07:05:05 PRE PODNE
najveca zamjerka ti je Strcmp radi u zcmd ili ycmd ...

radim inace zcmd ali ovo sam napravio samo kao primjer, ovaj kod u strcmp moze se staviti kamo zelite.
ako se napravi dialog koji se prikaze sa komandom /service i u kojem imate mogucnosti Repair i Change Vehicle color,
onda u drugi slucaj, ako je odabrano Change Vehicle Color stavite ovaj kod pod strcmp
Mnogi me znaju, a mnogi misle da znaju.

Citat: David (Sabljak) A.k.A SABO(T) poslato Mart 11, 2013, 15:32:51 POSLE PODNE
Ja znam da

neki ljudi neznaju i  zele naucit, a nisi im nis objasnio, tome je SVRHA TUTORIJALA! ne  zanima mene to ja to znam, za druge govorim

a gle, ne govorim ja da ti to neznas jer nisam bio na balkan sampu jako dugo posto radim z 7 firmi i nisam imao vremena pa neznam vise tko koliko zna ili neznam i zato ne govorim nikome da li zna ili nezna nego samo velim. U ovom kodu inace nema nista teskog, sve je vecinom neka osnova programiranja.
Po meni je sve objasnjeno, u komentarima u kodu pise sto se gdje radi, sto koja linija radi.
Mnogi me znaju, a mnogi misle da znaju.


Dobar tut mogo si u ycmd il zcmd al nmvz

MARIO WLSECO • KUCNI SERVER • SMECAR

tesko vam prevesti i staviti u zcmd?

CMD:promjeniboju(playerid,params[])
{
    changecolor[playerid] = 1;//postavljanje dozvole za mijenjanje boje
    TogglePlayerControllable(playerid,0);//freeze igraca
    GameTextForPlayer(playerid, "~y~Pretisni ~r~NUM6 ~y~ili ~r~NUM4 ~y~da promjenis boju\nPretisni ~r~SPACE ~y~za odabir boje", 10000, 5);//ispis teksta kao pomoc
    return 1;
}


korisno :D
Pravim RP,DM,TDM,STUNT, Freeroam modove od 0 za pare, nacini placanja : Paypal ili banka

Citat: Markonו poslato Mart 12, 2013, 21:27:53 POSLE PODNE
Vrlo dobar tutorial, pohvale ;)

hvala ;)

Citat: .ılllı. Wlseco .ılllı. poslato Mart 12, 2013, 22:19:26 POSLE PODNE
Dobar tut mogo si u ycmd il zcmd al nmvz

hvala ;) inace tu nije bizna komanda, nego samo primjer koda, taj kod se moze staviti kod dialoga ili bilo cega :)

Citat: N1XTON poslato Mart 12, 2013, 22:25:02 POSLE PODNE
tesko vam prevesti i staviti u zcmd?

CMD:promjeniboju(playerid,params[])
{
    changecolor[playerid] = 1;//postavljanje dozvole za mijenjanje boje
    TogglePlayerControllable(playerid,0);//freeze igraca
    GameTextForPlayer(playerid, "~y~Pretisni ~r~NUM6 ~y~ili ~r~NUM4 ~y~da promjenis boju\nPretisni ~r~SPACE ~y~za odabir boje", 10000, 5);//ispis teksta kao pomoc
    return 1;
}


korisno :D

nadam se da je korisno :)
Mnogi me znaju, a mnogi misle da znaju.