Balkan SA:MP

San Andreas Multiplayer - www.sa-mp.com => Tutorijali u vezi SA-MPa => Temu započeo: [TG:RP]$--L84S--$ poslato April 11, 2012, 20:45:15 POSLE PODNE

Naslov: [TuT] Statsi u textdrawowima [new]
Poruka od: [TG:RP]$--L84S--$ poslato April 11, 2012, 20:45:15 POSLE PODNE
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[MAX_PLAYERS];
new Pokrenuti[MAX_PLAYERS];



Drugi korak :
u drugom koraku pravimo textdraw (možete na dosta načina Textdraw editori i sl.. )

    StatsText[playerid] = TextDrawCreate(260.000000, 150.000000,"Racun");//1
    TextDrawAlignment(StatsText[playerid],0);
    TextDrawBackgroundColor(StatsText[playerid],255);
    TextDrawFont(StatsText[playerid],1);
    TextDrawLetterSize(StatsText[playerid],0.259999,0.600000);
    TextDrawColor(StatsText[playerid],-1);
    TextDrawSetOutline(StatsText[playerid],1);
    TextDrawSetProportional(StatsText[playerid],1);
    TextDrawSetShadow(StatsText[playerid],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[playerid],0);
StatsText[playerid] - naziv koji smo staviti za textdraw
0,1,2,3 - lijevo , centralno , desno poravnavanje


TextDrawColor(StatsText[playerid],-1);
StatsText[playerid] - naziv koji smo staviti za textdraw
0xF5DEB3AA - boja textdrawa

TextDrawFont(StatsText[playerid],1);
StatsText[playerid] - 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[128];
format(string,sizeof(string),"Ime i prezime : %s~n~~n~Novac: %d$",GetName(playerid),GetPlayerMoney(playerid));
TextDrawSetString(StatsText[playerid], 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[128];
    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[128];
    if(PlayerInfo[playerid][Posao] == 1) { text = "Naziv posla za id 1"; }
    else if(PlayerInfo[playerid][Posao] == 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[128],text[128];
        //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[playerid], 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[playerid]);
return 0;
}
stock HideStats(playerid,player)
{
    TextDrawHideForPlayer(player,StatsText[playerid]);
}

stock DestroyStats(playerid)
{
TextDrawDestroy(StatsText[playerid]);
    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[playerid] == 0)
    {
Stats(playerid,playerid);
Pokrenuti[playerid] = 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[playerid] == 1)
{HideStats(playerid,playerid);
Pokrenuti[playerid] = 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 : (http://img441.imageshack.us/img441/2735/statsbs.jpg)

Kraj : Ako imate kakvih problema obratite mi se u ovoj temi ili preko PP
Hvala i dovidenja :P
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: ricken poslato April 11, 2012, 21:08:47 POSLE PODNE
Svaka cast odlicno si napravio tut.Sada cekam te nove tutove i taj tvoj sajt :P
btw. Nisi stavio sliku izgleda stats-a.
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: [TG:RP]$--L84S--$ poslato April 11, 2012, 21:41:37 POSLE PODNE
Citat: [R] - Rıcĸeη poslato April 11, 2012, 21:08:47 POSLE PODNE
Svaka cast odlicno si napravio tut.Sada cekam te nove tutove i taj tvoj sajt :P
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 ..
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: Jσнη Ɠσтту poslato April 11, 2012, 21:55:00 POSLE PODNE
Lijepo detaljno objasnjeno! Samo nesto da ti kazem

BRAVO
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: [RS]...Blackon...â„¢ poslato April 12, 2012, 12:02:50 POSLE PODNE
odlican TuT trebao mi je :)

govorio mi je pixel za taj sajt biti ce vezano za skriptanje xD ?
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: propalica2131231 poslato April 12, 2012, 13:57:36 POSLE PODNE
odlican tut :)
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: [TG:RP]$--L84S--$ poslato April 12, 2012, 22:41:56 POSLE PODNE
Citat: [iS]...Blackon...â,,¢ poslato April 12, 2012, 12:02:50 POSLE PODNE
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 .

Citat: Don Conellâ,,¢ poslato April 12, 2012, 13:57:36 POSLE PODNE
odlican tut :)

Hvala ..

Idući Tut ce vjerojatno biti ili izrada gamemoda od 0 ili pravljenje dinamičnog house systema .
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od:  m1ami  poslato April 13, 2012, 15:08:53 POSLE PODNE
svaka cast, odlican tut! :D
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: Kopra poslato April 13, 2012, 15:28:16 POSLE PODNE
Citat: [TG:RP]$--L84S--$ poslato April 12, 2012, 22:41:56 POSLE PODNE
Idući Tut ce vjerojatno biti ili izrada gamemoda od 0 ili pravljenje dinamičnog house systema .

Opa,nemogu da docekam :D
Super je ovaj tut samo tako nastavi !!
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: Artieâ„¢ poslato April 14, 2012, 10:06:25 PRE PODNE
Odlican tutorial !  :)
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: [TG:RP]$--L84S--$ poslato April 14, 2012, 12:56:51 POSLE PODNE
hvala uskoro kad uhvatim vremena ide i taj novi tutorial ;)
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: caupton poslato April 16, 2012, 16:17:49 POSLE PODNE
Nije lose ali moze i dosta bolje. :D
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: Boris Spice poslato April 17, 2012, 16:18:43 POSLE PODNE
dobar tut :D posluzit ce :DD
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: Europe Street RPG/DM poslato April 18, 2012, 20:07:57 POSLE PODNE
Lep tut. ... Hvala sto si odvojio vremena da pomognes ;)
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: [TG:RP]$--L84S--$ poslato April 21, 2012, 12:21:27 POSLE PODNE
Citat: Dj.Nik poslato April 16, 2012, 16:17:49 POSLE PODNE
Nije lose ali moze i dosta bolje. :D
Tvoje mišljenje ...
Citat: [EF]Boris Spice poslato April 17, 2012, 16:18:43 POSLE PODNE
dobar tut :D posluzit ce :DD
Citat: [BURP]Marko_Trifunovic poslato April 18, 2012, 20:07:57 POSLE PODNE
Lep tut. ... Hvala sto si odvojio vremena da pomognes ;)
Hvala .
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: Chuck:) poslato April 22, 2012, 01:12:07 PRE PODNE
SviÄ'a mi se tutorijal, nadam se da će nekome i pomoći, vrlo je korisno.
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: Max Kazakov poslato April 23, 2012, 01:49:09 PRE PODNE
Svaka Cast za TuT!  ;D
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: Cortan poslato April 24, 2012, 13:03:12 POSLE PODNE
Lep tutorijal , svaka cast , ti samo pravis tutove za gm od 0 , moze se izgraditi mod od 0 od svih tvojih tutorijala :D
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: [BU] Misur poslato April 26, 2012, 00:06:41 PRE PODNE
Fino  ;)
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: [BU]Davidoff poslato April 26, 2012, 01:16:34 PRE PODNE
Bravo djasvi mi se tut!
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: x3mRaZoR poslato Maj 24, 2012, 15:09:42 POSLE PODNE
Super tut hvala :)
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: Dr.Ivex → ♫ poslato Jun 06, 2012, 22:18:40 POSLE PODNE
Super tut
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: Contixo poslato Jul 05, 2012, 11:54:02 PRE PODNE
Dobijam 5 errora, pomozite - http://balkan-samp.com/forum/index.php?topic=47381.0
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: Edmirâ„¢ poslato Jul 20, 2012, 14:18:26 POSLE PODNE
Evo uradio sam sve po Tutorialu, i izbacilo mi 26 Errora.

C:\Documents and Settings\Edmir\Desktop\Cro Balkan\pawno\include\utils.inc(1) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\pawno\include\dini.inc(239) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\pawno\include\sscanf.inc(1) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(1287) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(3037) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(3131) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(3247) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(3256) : error 004: function "OnPlayerLogin" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(3289) : error 004: function "OnPlayerUpdate" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(4408) : error 004: function "OnPlayerRegister" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(4494) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(4513) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(4563) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(4632) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(4742) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(4795) : error 004: function "SetPlayerToTeamColor" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(4820) : error 004: function "SetPlayerToTeamColor" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(4996) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5000) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5012) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5016) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5020) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5024) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5028) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5032) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5036) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5048) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5052) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5056) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5060) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5064) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5076) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5080) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5084) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5096) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5100) : error 004: function "PlayerToPoint" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5254) : warning 219: local variable "playersip" shadows a variable at a preceding level
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5255) : error 004: function "CheckOwner" is not implemented
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5258) : warning 219: local variable "PlayerNameFormat" shadows a variable at a preceding level
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5260) : warning 219: local variable "FileFormat" shadows a variable at a preceding level
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5292) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5544) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Documents and Settings\Edmir\Desktop\Cro Balkan\gamemodes\crobalkan.pwn(5550) : error 004: function "SendIRCMessage" is not implemented

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


26 Errors.
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: [VA]|...MihaeL...| poslato Avgust 06, 2012, 11:58:37 PRE PODNE
mos mi pomoc oko ovog?

C:\Documents and Settings\Korisnik\Desktop\MIHAEL\eQuilibrium\gamemodes\eQ.pwn(13760) : error 017: undefined symbol "GetName"
Naslov: Odg: [TuT] Statsi u textdrawowima [new]
Poruka od: [VA]|...MihaeL...| poslato Avgust 06, 2012, 12:25:32 POSLE PODNE
Hvala Vanilla, imas ljepu tetu ispod nicka ;)