Zaključano

[TuT] Statsi u textdrawowima [new]

pre 13 godina
6,519
pregleda
26
postova
Ova tema je zaključana. Samo moderatori i administratori mogu odgovarati.
Luis
Godfather
pre 13 godina
Uvod:
Svi se vjerojatno sjećate ove teme i mog tutoriala oko statsa u textdrawu http://balkan-samp.com/forum/index.php?topic=25931.0
Uvidio sam u zadnje vrijeme da nema više pravih odnosno dobrih tutoriala pa sam odlučio napraviti par ovo je jedan od njih (ostale će te moći pronaći na mom oficijalnom sajtu uskoro više o tome )...
U ovom ću vam tut-u pokazati kako pomoću jednoga textdrawa uraditi isti stats system puno bolji i optimiziraniji .
Tutorijal je naravno raden za gamemodove od 0 ali moze i za editane samo se trebaju podesiti varijable ...
Da ne duljim idemo na prvi korak 🙂

Prvi korak :
idemo na vrh i kreiramo varijable :
new Text:StatsText;
new Pokrenuti;


Drugi korak :
u drugom koraku pravimo textdraw (možete na dosta načina Textdraw editori i sl.. )
    StatsText = TextDrawCreate(260.000000, 150.000000,"Racun");//1
    TextDrawAlignment(StatsText,0);
    TextDrawBackgroundColor(StatsText,255);
    TextDrawFont(StatsText,1);
    TextDrawLetterSize(StatsText,0.259999,0.600000);
    TextDrawColor(StatsText,-1);
    TextDrawSetOutline(StatsText,1);
    TextDrawSetProportional(StatsText,1);
    TextDrawSetShadow(StatsText,1);


pa da malo objasnimo :
TextDrawCreate(260.000000, 150.000000,"Racun");

373.0  -  x kordinata
182.0  -  y kordinata
"Racun" - tu ide tekst u ovom slučaju to je nebitno .
TextDrawAlignment(StatsText,0);

StatsText - naziv koji smo staviti za textdraw
0,1,2,3 - lijevo , centralno , desno poravnavanje
TextDrawColor(StatsText,-1);

StatsText - naziv koji smo staviti za textdraw
0xF5DEB3AA - boja textdrawa
TextDrawFont(StatsText,1);

StatsText - naziv koji smo staviti za textdraw
1 - Font

Treći korak:
nakon pravljenja textdrawa prelazimo na stats system .
za pocetak pravimo stock :
stock Stats(playerid, player)
{
return 1;
}


u stock cemo stavljati varijable i ostalo pojasnjavat cu vam posebno za svaku :
stock Stats(playerid, player)
{

    new string;
format(string,sizeof(string),"Ime i prezime : %s~n~~n~Novac: %d$",GetName(playerid),GetPlayerMoney(playerid));
TextDrawSetString(StatsText, string); //s
return 1;
}

Ovo je osnovno sto ce biti u ovom tutorialu tj. u statsima sada možete dodavati naprimjer za posao uradite :
    new text;
    if(GetPVarInt(playerid, "Posao") == 1) { text = "Naziv posla za id 1"; }
    else if(GetPVarInt(playerid, "Posao") == 2) { text = "Naziv posla za id 2"; }
    else { text = "Nezaposlen"; } // ako je id posla 0 odnosno ako je igrac nezaposlen

ili ako koristite enum
    new text;
    if(PlayerInfo == 1) { text = "Naziv posla za id 1"; }
    else if(PlayerInfo == 1) { text = "Naziv posla za id 2"; }
    else { text = "Nezaposlen"; } // ako je id posla 0 odnosno ako je igrac nezaposlen


Naravno vi će te ovo sve prilagodavati svome gamemodu .
onda ce stock izgledati ovako :
stock Stats(playerid, player)
{

        new string,text;
        //posao
        if(GetPVarInt(playerid, "Posao") == 1) { text = "Naziv posla za id 1"; }
        else if(GetPVarInt(playerid, "Posao") == 2) { text = "Naziv posla za id 2"; }
        else { text = "Nezaposlen"; } // ako je id posla 0 odnosno ako je igrac nezaposlen   
        // 
format(string,sizeof(string),"Ime i prezime : %s~n~~n~Novac: %d$~n~~n~Posao: %s",GetName(playerid),GetPlayerMoney(playerid),text);
TextDrawSetString(StatsText, string); //
        ShowStats(playerid, player);//ovo ću objasniti u idućem koraku (korak 4 )
return 1;
}


tako možete raditi za sve .

NAPOMENA :nemojte samo copy/paste nego pročitajte sta vam piše pokraj svega i prilagodite svome gamemodu .


ÄŒetvrti korak :
u četvrtom koraku radimo pokazivanje igracu textdraw , destroy te hide textdraw pomoću stock-ova pa da krenemo .
stock ShowStats(playerid, player)
{
        TextDrawShowForPlayer(player,StatsText);
return 0;
}
stock HideStats(playerid,player)
{
    TextDrawHideForPlayer(player,StatsText);
}

stock DestroyStats(playerid)
{
TextDrawDestroy(StatsText);
    return 0;
}


ovdje se nema sto previše objašnjavati znači napravili smo 3 stock za pokazivanje / micanje / i uništavanje textdrawa tako da idemo na sljedeći korak.

Peti korak :
evo došli smo i do pravljenje komande za prikazivanje statsa pa da krenemo :
radimo sa ZCMD tako da vam u gamemodu treba include od Zeex-a
CMD:stats(playerid, params[])
{
return 1;
}

CMD:stats(playerid, params[])
{
    if(GetPlayerState(playerid) != 2)
    {
    if(Pokrenuti == 0)
    {
Stats(playerid,playerid);
Pokrenuti = 1;
}else{SCM(playerid, -1, " Nemozete gledati statse tijekom vožnje !");}
            }
return 1;
}


Ako nema definiran SCM onda stavite na vrh gamemoda :
#define SCM SendClientMessage

Å esti korak :
u šestom koraku radimo micanje statsa na tipku enter ili slovo f i uništavanje textdrawa prilikom izlaska iz igrice :
public OnPlayerDisconnect(playerid, reason)
{
    DestroyStats(playerid);
    return 1;
}


Ako želimo da pritiskom na tipku enter ili slovo f statsi maknu radimo sljedeće
pod :
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)

stavljamo :
 
if (PRESSED(KEY_SECONDARY_ATTACK))
{
if(Pokrenuti == 1)
{HideStats(playerid,playerid);
Pokrenuti = 0;}


Takoder provjerite da li imate :
#define PRESSED(%0) \
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))


S time zavrÅ¡avamo tutorial zahvaljujem i vidimo se u sljedećem tutorialu 😉

Izgled statsa :

Kraj : Ako imate kakvih problema obratite mi se u ovoj temi ili preko PP
Hvala i dovidenja 😛
Obrisan korisnik Obrisan korisnik
pre 13 godina
Svaka cast odlicno si napravio tut.Sada cekam te nove tutove i taj tvoj sajt 😛
btw. Nisi stavio sliku izgleda stats-a.
Luis
Godfather
pre 13 godina
Quote from April 11, 2012, 7:08 pm:
Svaka cast odlicno si napravio tut.Sada cekam te nove tutove i taj tvoj sajt 😛
btw. Nisi stavio sliku izgleda stats-a.

Sada radim na sljedecem tutorialu malo opseznijem ali jako korisnom ....
slika dodana takoder to sam u 10 sekundi napravio a vi sebi uredite kako vam paÅ¡e 😉

Hvala ..
marx
Shot Caller
pre 13 godina
Lijepo detaljno objasnjeno! Samo nesto da ti kazem

BRAVO
Ante Bucan
Hustler
pre 13 godina
odlican TuT trebao mi je 🙂

govorio mi je pixel za taj sajt biti ce vezano za skriptanje xD ?
Dr.Nino
Underboss
pre 13 godina
odlican tut 🙂
Luis
Godfather
pre 13 godina
Quote from April 12, 2012, 10:02 am:
odlican TuT trebao mi je 🙂

govorio mi je pixel za taj sajt biti ce vezano za skriptanje xD ?


Naravno vec je skoro pri kraju tamo vec ima par blank skripti  koje sam napravio ..

ON: Hvala .

Don Conellâ„¢ wrote on April 12, 2012, 11:57 am:
odlican tut 🙂


Hvala ..

Idući Tut ce vjerojatno biti ili izrada gamemoda od 0 ili pravljenje dinamičnog house systema .
Chuck
Enforcer
pre 13 godina
svaka cast, odlican tut! 😄
Marko Koprivanac
Underboss
pre 13 godina
Quote from April 12, 2012, 8:41 pm:
Idući Tut ce vjerojatno biti ili izrada gamemoda od 0 ili pravljenje dinamičnog house systema .


Opa,nemogu da docekam 😄
Super je ovaj tut samo tako nastavi !!
The Woozie
Kingpin
pre 13 godina
Odlican tutorial !  🙂
Luis
Godfather
pre 13 godina
hvala uskoro kad uhvatim vremena ide i taj novi tutorial 😉
[Bp]D.N
Kingpin
pre 13 godina
Nije lose ali moze i dosta bolje. 😄
Obrisan korisnik Obrisan korisnik
pre 13 godina
dobar tut 😄 posluzit ce 😄D
[BURP]Marko_Trifunovic
Hustler
pre 13 godina
Lep tut. ... Hvala sto si odvojio vremena da pomognes 😉
Luis
Godfather
pre 13 godina
Dj.Nik wrote on April 16, 2012, 2:17 pm:
Nije lose ali moze i dosta bolje. 😄

Tvoje mišljenje ...
Quote from April 17, 2012, 2:18 pm:
dobar tut 😄 posluzit ce 😄D

Quote from April 18, 2012, 6:07 pm:
Lep tut. ... Hvala sto si odvojio vremena da pomognes 😉

Hvala .

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava