Pretraga

Pritisnite Enter za pretragu ili Escape za zatvaranje

Zaključano

[TUT]Live mijenjanje svih 255 boja na vozilu

Započeo Tomek
pre 12 godina
1,878
pregleda
9
postova
Ova tema je zaključana. Samo moderatori i administratori mogu odgovarati.
Tomek
Hustler
pre 12 godina
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 = 0;
new vehiclecolor;


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 = 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 == 1)//provjera da li je igrac na mjestu, ili ima dozvolu za mijenjanje boje ovisno kamo stavite kod unutar strcmp
        {
  if(vehiclecolor == 255)//tu se provjerava da li je boja 255 zadnja, ako je zadnja onda postavlja sljedecu na 0
  {
      vehiclecolor = 0;
                                ChangeVehicleColor(vehids,vehiclecolor,vehiclecolor);//postavljanje boje vozila
  }
vehiclecolor++;//boja vozila se pojavaca svaki put kada igrac pritisne na num6
    ChangeVehicleColor(vehids,vehiclecolor,vehiclecolor);
}
}
return 1;
    }
if(PRESSED(KEY_ANALOG_LEFT))//ovime provjeravamo pritiskag gumba num6
{
  if(GetPlayerState(playerid) == 2)
    {
    if(changecolor == 1)
        {
  if(vehiclecolor == 0)//tu se provjerava da li je boja 0 zadnja, ako je zadnja onda postavlja sljedecu na 255
  {
      vehiclecolor = 255;
                                ChangeVehicleColor(vehids,vehiclecolor,vehiclecolor);
  }
vehiclecolor--;//boja vozila sesmanjuje svaki put kada igrac pritisne na num4
    ChangeVehicleColor(vehids,vehiclecolor,vehiclecolor);
}
}
return 1;
    }
if(PRESSED(KEY_HANDBRAKE))//ovime provjeravamo pritiskag gumba space
{
    if(GetPlayerState(playerid) == 2)
    {
        if(changecolor == 1)
        {
changecolor = 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 🙂
Tomek
Hustler
pre 12 godina
David (Sabljak) A.k.A SABO(T) wrote on March 11, 2013, 1:34 am:
Strcmp nepotrebno

Nisi nista objasnio, na engleskom je gametext

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

Totalna 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.
mile12345
Underboss
pre 12 godina
najveca zamjerka ti je Strcmp radi u zcmd ili ycmd ...
Tomek
Hustler
pre 12 godina
99Mile99 wrote on March 11, 2013, 6:05 am:
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
Tomek
Hustler
pre 12 godina
David (Sabljak) A.k.A SABO(T) wrote on March 11, 2013, 2:32 pm:
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.
B-Line
Made Man
pre 12 godina
Vrlo dobar tutorial, pohvale 😉
wlseco
Shot Caller
pre 12 godina
Dobar tut mogo si u ycmd il zcmd al nmvz
[EX:RP]N1XTON
Underboss
pre 12 godina
tesko vam prevesti i staviti u zcmd?
CMD:promjeniboju(playerid,params[])
{
    changecolor = 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 😄
Tomek
Hustler
pre 12 godina
Markonו wrote on March 12, 2013, 8:27 pm:
Vrlo dobar tutorial, pohvale 😉


hvala 😉

.ılllı. Wlseco .ılllı. wrote on March 12, 2013, 9:19 pm:
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 🙂

N1XTON wrote on March 12, 2013, 9:25 pm:
tesko vam prevesti i staviti u zcmd?
CMD:promjeniboju(playerid,params[])
{
    changecolor = 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 😄


nadam se da je korisno 🙂

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava