Balkan SA:MP

San Andreas Multiplayer - www.sa-mp.com => Tutorijali u vezi SA-MPa => Temu započeo: xsar.p poslato Oktobar 11, 2017, 16:26:17 POSLE PODNE

Naslov: Menjanje TD boje ingame.
Poruka od: xsar.p poslato Oktobar 11, 2017, 16:26:17 POSLE PODNE
Ovo je najjednostavniji tutorijal za pocetnike, uglavnom video sam da par ljudi trazi pomoc oko boje tdova, zato sam i odlucio da napravim ovaj jednostavan tutorijal. Pre svega cu vam pokazati kako tdovi izgledaju pre promene boje i nakon promene boje.
Credits ide Atili za tdove.
Slika: Klikni ovde. (https://imgur.com/a/J9lbs)

I.Zapocinjemo ubacivanjem vasih tdova (ukoliko ste ih vec ubacili preskocite ovaj korak.
Sve sto je potrebno jeste da ubacite vase tdove pod OnGameModeInit, kada ste ih ubacili mozete nastaviti dalje.

II.
Pronadjite tdove ciju boju zelite promeniti. Sada trebamo napraviti komandu sa kojom cemo promeniti boju tdova.
Pre svega dodajemo na vrhu sledece.
[pawn]   TextDrawColor(vastd, bojatd);[/pawn]
Da vam pojasnim boju tdova mozete naci na sledecem sajtu ColorPicker.com (https://www.webpagefx.com/web-%3Cbr%20/%3Edesign/color-picker/)
Kod hex boje obavezno je dodati 0x na pocetku i AA na kraju hex boje.
2DCCC9 menjamo u 0x2DCCC9AA
Posle dodavanja TextDrawColor moramo igracu ponovo pokazati td, to radimo ovako:
[pawn]   TextDrawShowForPlayer(playerid,vastd);[/pawn]

III.
To bi bilo to, sada kada smo sredili boju svakog td-a nasa komanda bi trebala da izgleda nesto ovako.
[pawn]CMD:bojatd(playerid, params[])
{
   TextDrawColor(Textdraw0, 0x2DCCC9AA);
    TextDrawColor(Textdraw1, 0x2DCCC9AA);
      TextDrawColor(Textdraw2, 0x2DCCC9AA);
    TextDrawColor(Textdraw8, 0x2DCCC9AA);
   TextDrawShowForPlayer(playerid,Textdraw0);
   TextDrawShowForPlayer(playerid,Textdraw1);
   TextDrawShowForPlayer(playerid,Textdraw2);
   TextDrawShowForPlayer(playerid,Textdraw7);
   TextDrawShowForPlayer(playerid,Textdraw8);
   PlayerPlaySound(playerid,1083,0.0,0.0,0.0);
   SendClientMessage(playerid,-1,"{2DCCC9}IME SERVERA:{FFFFFF} Uspesno ste promenili boju tdova.");
}[/pawn]
Naslov: Odg: Menjanje TD boje ingame.
Poruka od: Aki Maxxina poslato Oktobar 11, 2017, 17:10:39 POSLE PODNE
Dobar tutorial, svaka cast.  ;D
Naslov: Odg: Menjanje TD boje ingame.
Poruka od: Stifler ツ poslato Oktobar 11, 2017, 17:19:16 POSLE PODNE
Dobar tut,posluzit ce nekome
Naslov: Odg: Menjanje TD boje ingame.
Poruka od: L3o poslato Oktobar 11, 2017, 17:31:55 POSLE PODNE
Ne vidim poantu ovoga, al haj'. Dobro je. ::)
Naslov: Odg: Menjanje TD boje ingame.
Poruka od: Muma poslato Oktobar 11, 2017, 17:45:56 POSLE PODNE
Citat
Sve sto je potrebno jeste da ubacite vase tdove pod OnGameModeInit, kada ste ih ubacili mozete nastaviti dalje.
Ne idu svi TDovi pod OnGameModeInit, player TDovi idu pod OnPlayerConnect. :D

Citat
Kod hex boje obavezno je dodati 0x na pocetku i AA na kraju hex boje.
2DCCC9 menjamo u 0x2DCCC9AA
Ustvari, na kraju HEX boje važno je što će biti, ako je 00 neće se nikako vidjeti, ako je FF biti će maksimalno istaknuta boja tj. ne prozirna, AA je malo prozirna, CC je kao staklo(valjda koliko se sjećam) znači vidi se kroz TD i tako sve, morate znati šta postavljate. :)

Citat
[pawn]CMD:bojatd(playerid, params[])
{
   TextDrawColor(Textdraw0, 0x2DCCC9AA);
    TextDrawColor(Textdraw1, 0x2DCCC9AA);
      TextDrawColor(Textdraw2, 0x2DCCC9AA);
    TextDrawColor(Textdraw8, 0x2DCCC9AA);
   TextDrawShowForPlayer(playerid,Textdraw0);
   TextDrawShowForPlayer(playerid,Textdraw1);
   TextDrawShowForPlayer(playerid,Textdraw2);
   TextDrawShowForPlayer(playerid,Textdraw7);
   TextDrawShowForPlayer(playerid,Textdraw8);
   PlayerPlaySound(playerid,1083,0.0,0.0,0.0);
   SendClientMessage(playerid,-1,"{2DCCC9}IME SERVERA:{FFFFFF} Uspesno ste promenili boju tdova.");
}[/pawn]
Ovo može i preko loop-a ako je TD drugačije definisan:
Ne ovako:
new TextDraw0;
new TextDraw1;
New TextDraw2;

Već:
new TextDraw[3];

i onda preko loop-a

for(new muma = 0; muma < 3; muma++)
{
TextDrawColor(Textdraw[muma], 0x2DCCC9AA);
TextDrawShowForPlayer(playerid, Textdraw[muma]);
}
Naslov: Odg: Menjanje TD boje ingame.
Poruka od: xsar.p poslato Oktobar 11, 2017, 17:48:29 POSLE PODNE
Citat: Muma poslato Oktobar 11, 2017, 17:45:56 POSLE PODNE
Citat
Sve sto je potrebno jeste da ubacite vase tdove pod OnGameModeInit, kada ste ih ubacili mozete nastaviti dalje.
Ne idu svi TDovi pod OnGameModeInit, player TDovi idu pod OnPlayerConnect. :D

Citat
Kod hex boje obavezno je dodati 0x na pocetku i AA na kraju hex boje.
2DCCC9 menjamo u 0x2DCCC9AA
Ustvari, na kraju HEX boje važno je što će biti, ako je 00 neće se nikako vidjeti, ako je FF biti će maksimalno istaknuta boja tj. ne prozirna, AA je malo prozirna, CC je kao staklo(valjda koliko se sjećam) znači vidi se kroz TD i tako sve, morate znati šta postavljate. :)

Citat
[pawn]CMD:bojatd(playerid, params[])
{
   TextDrawColor(Textdraw0, 0x2DCCC9AA);
    TextDrawColor(Textdraw1, 0x2DCCC9AA);
      TextDrawColor(Textdraw2, 0x2DCCC9AA);
    TextDrawColor(Textdraw8, 0x2DCCC9AA);
   TextDrawShowForPlayer(playerid,Textdraw0);
   TextDrawShowForPlayer(playerid,Textdraw1);
   TextDrawShowForPlayer(playerid,Textdraw2);
   TextDrawShowForPlayer(playerid,Textdraw7);
   TextDrawShowForPlayer(playerid,Textdraw8);
   PlayerPlaySound(playerid,1083,0.0,0.0,0.0);
   SendClientMessage(playerid,-1,"{2DCCC9}IME SERVERA:{FFFFFF} Uspesno ste promenili boju tdova.");
}[/pawn]
Ovo može i preko loop-a ako je TD drugačije definisan:
Ne ovako:
new TextDraw0;
new TextDraw1;
New TextDraw2;

Već:
new TextDraw[3];

i onda preko loop-a

for(new muma = 0; muma < 3; muma++)
{
TextDrawColor(Textdraw[muma], 0x2DCCC9AA);
TextDrawShowForPlayer(playerid, Textdraw[muma]);
}
Naravno da moze i tako, ali meni je ovako nekako jednostavnije. :D
Naslov: Odg: Menjanje TD boje ingame.
Poruka od: pajdomen poslato Oktobar 20, 2017, 08:50:19 PRE PODNE
Jel moze da se namesti koja god boja htela :D
Naslov: Odg: Menjanje TD boje ingame.
Poruka od: Muma poslato Oktobar 20, 2017, 11:19:12 PRE PODNE
Citat: Linsco poslato Oktobar 20, 2017, 08:50:19 PRE PODNE
Jel moze da se namesti koja god boja htela :D
Logično da može. :)
Naslov: Odg: Menjanje TD boje ingame.
Poruka od: A1row poslato Oktobar 20, 2017, 23:50:43 POSLE PODNE
Svaka cast,pohvala za trud  :)
Naslov: Odg: Menjanje TD boje ingame.
Poruka od: // xunder poslato Oktobar 21, 2017, 01:46:14 PRE PODNE
Citat: Muma poslato Oktobar 11, 2017, 17:45:56 POSLE PODNE
Citat
Sve sto je potrebno jeste da ubacite vase tdove pod OnGameModeInit, kada ste ih ubacili mozete nastaviti dalje.
Ne idu svi TDovi pod OnGameModeInit, player TDovi idu pod OnPlayerConnect. :D

PlayerTD se kreira kada je potreban i Destroya kada je nepotreban (zbog limita) i ne mora da ide u OnPlayerConnect.


Citat: Muma poslato Oktobar 11, 2017, 17:45:56 POSLE PODNE
Citat
Kod hex boje obavezno je dodati 0x na pocetku i AA na kraju hex boje.
2DCCC9 menjamo u 0x2DCCC9AA
Ustvari, na kraju HEX boje važno je što će biti, ako je 00 neće se nikako vidjeti, ako je FF biti će maksimalno istaknuta boja tj. ne prozirna, AA je malo prozirna, CC je kao staklo(valjda koliko se sjećam) znači vidi se kroz TD i tako sve, morate znati šta postavljate. :)

https://en.wikipedia.org/wiki/RGBA_color_space
Naslov: Odg: Menjanje TD boje ingame.
Poruka od: Muma poslato Oktobar 21, 2017, 03:16:14 PRE PODNE
Citat: ☢ χÏ...ηdÑ"я_ ☢ poslato Oktobar 21, 2017, 01:46:14 PRE PODNE
Citat: Muma poslato Oktobar 11, 2017, 17:45:56 POSLE PODNE
Citat
Sve sto je potrebno jeste da ubacite vase tdove pod OnGameModeInit, kada ste ih ubacili mozete nastaviti dalje.
Ne idu svi TDovi pod OnGameModeInit, player TDovi idu pod OnPlayerConnect. :D

PlayerTD se kreira kada je potreban i Destroya kada je nepotreban (zbog limita) i ne mora da ide u OnPlayerConnect.


Citat: Muma poslato Oktobar 11, 2017, 17:45:56 POSLE PODNE
Citat
Kod hex boje obavezno je dodati 0x na pocetku i AA na kraju hex boje.
2DCCC9 menjamo u 0x2DCCC9AA
Ustvari, na kraju HEX boje važno je što će biti, ako je 00 neće se nikako vidjeti, ako je FF biti će maksimalno istaknuta boja tj. ne prozirna, AA je malo prozirna, CC je kao staklo(valjda koliko se sjećam) znači vidi se kroz TD i tako sve, morate znati šta postavljate. :)

https://en.wikipedia.org/wiki/RGBA_color_space
Pa dobro to sam samo naveo, kod mene je po callbackovima uglavnom, a i ne znam kako uspije neko da probije limit čak i ja nisam blizu limita, a obožavam raditi sa TDovima.. A ovo za boje te ne razumijem tj. ne znam na šta misliš..
Naslov: Odg: Menjanje TD boje ingame.
Poruka od: xsar.p poslato Oktobar 23, 2017, 19:04:02 POSLE PODNE
Takodje setio sam se da sam zaboravio kod komande da stavim return 1; pa je zato izbacivalo da komanda ne postoji.
Naslov: Odg: Menjanje TD boje ingame.
Poruka od: moosy42o poslato Oktobar 27, 2017, 12:18:41 POSLE PODNE
Fino ;)
Naslov: Odg: Menjanje TD boje ingame.
Poruka od: Skorpija_026 poslato Oktobar 31, 2017, 23:56:46 POSLE PODNE
 Izvintie sto se mesam i sto osvezujem stranice ,ali ovo je da menja svima boju koju,ako se ne varam su trenutno ingame da bi sami sebi menjali igraci boju samo sebi treba biti tdovi playertd kao kod mene radi bez ikakvog problema eo vam primer [pawn]YCMD:bojatd(playerid, params[],help)
{
    #pragma unused help
   #pragma unused params
   new colortd[128];
    if(UlogovanProvera[playerid] == 0) return SCM(playerid,-1,"[Ime Servera] | "SRWBOJA"Moras se ulogovati da bi koristio ovu komandu!");
    if(sscanf(params, "s[24]", colortd)) return SCM(playerid,-1,""BELA"/bojatd[ljubicasta]");
    if(!strcmp(colortd, "ljubicasta", true))
   {
      PlayerTextDrawColor(playerid, Gornji_TD[0][playerid], 0x841BACFF);
      PlayerTextDrawBoxColor(playerid, Gornji_TD[1][playerid], 0x841BACFF);
   //==========================================================================
        foreach (Player, i)
      {
         PlayerTextDrawShow(playerid, Gornji_TD[0][playerid]);
           PlayerTextDrawShow(playerid, Gornji_TD[1][playerid]);
      }
  }
  SendClientMessage(playerid,-1,"{2DCCC9}IME SERVERA:{FFFFFF} Uspesno ste promenili boju tdova.");
  return 1;
}[/pawn] Eo vam primer