Zaključano

[Tut] Per-player variable system koriscenja

Započeo Blaeks
pre 12 godina
2,333
pregleda
15
postova
Ova tema je zaključana. Samo moderatori i administratori mogu odgovarati.
Blaeks_Biofor
Forum Don
pre 12 godina
u ovom tutorijalu cu se potruditi da vam pokazem kako da pocnete da koristite PVar funkcije.

Per-player variable system" ili skraceno "PVar" je nova metoda stvaranja varijabli za igraca u pawnu na veoma dobar nacin za kojeg su varijabli stvoreni globalno, sto znaci da se mogu koristiti u gamemodu i filterskriptama u isto vreme.
ovaj istem koji je, ako se ne varam, uveden od SA:MP 0.3a R5 verzije pa jos ima nekoliko prednosti od obicnih polja sa MAX_PLAYERS velicinom.


PVar-ove mozete deliti i pristupiti im preko gamemod skripta i filterskripta, sto je lakse za uredjivanje vase skripte
PVar-ovi automatski brisu podatke kada igrac napusti igricu, sto znaci da uopste nije potrebno da restartujete varijable pod onplayerconnect ,
nema potrebe za kompleksne enumerator strukture,
stedi memoriju.
lako mozete da enumerisati i uskladiti PVar listu - to je lakse za otklanjanje greski i za postavljanje informacija za igrace,
iako PVar nije bio napravljen, vratice vrednost 0


funkcije za stavljanje ilite uzimanje PVar-ova su:

SetPVarInt
SetPVarInt
SetPVarString
GetPVarString
SetPVarFloat
GetPVarFloat
DeletePVar

e sada,da krenemo od pocetka:

SetPVarInt: zapisuje se kao integer, i to je funkcija za dodeljivanje, a vise o njoj mozete videti na ovom linku http://wiki.sa-mp.com/wiki/SetPVarInt

klasican primer za dodavanje

SetPVarInt(playerid, "Level", 1);//to sada postavlja igracu level 1


GetPVarInt: http://wiki.sa-mp.com/wiki/GetPVarInt
if(GetPVarInt(playerid, "Level") == 1) SendClientMessage(playerid, -1, "vi ste nivo 1, pocetnik ste.");


SetPVarString: vise o njemu cete naci na ovom linku,a inace on se koristi za dodeljivanje http://wiki.sa-mp.com/wiki/SetPVarString

primera radi:

new imeIgraca; // definisemo ime
GetPlayerName(playerid, imeIgraca, MAX_PLAYER_NAME); // uzmemo ime
SetPVarString(playerid, "ime", imeIgraca); // dodelimo Per-player varijablu


GetPVarString: to je primajuca funkcija, a vise o njoj mozete naci ovde http://wiki.sa-mp.com/wiki/GetPVarString

primera radi:

new
    _imeIgraca;
GetPlayerName(playerid, _imeIgraca, MAX_PLAYER_NAME);
GetPVarString(playerid, "ime", _imeIgraca, MAX_PLAYER_NAME);
if(!strcmp(_imeIgraca, _imeIgraca, true)) SendClientMessage(playerid, -1, "uu wow, super ime :).");


SetPVarFloat:  float funkcija, koristi se za dodeljivanje, a vise o njoj mozete naci ovde http://wiki.sa-mp.com/wiki/SetPVarFloat

primera radi:

new Float:pozicija; // definisemo float vrednost
GetPlayerPos(playerid, pozicija, pozicija, pozicija); // uzimanje pozicije
SetPVarFloat(playerid, "x", pozicija); // setujemo per player varijablu
SetPVarFloat(playerid, "y", pozicija); // isto
SetPVarFloat(playerid, "z", pozicija); // isto


GetPVarFloat: funckija za primanje http://wiki.sa-mp.com/wiki/GetPVarFloat

primera radi:
SetPlayerPos(playerid, GetPVarFloat(playerid, "x"), GetPVarFloat(playerid, "y"), GetPVarFloat(playerid, "z"));


i jos zadnja DeletePVar: tu se nema sta objasnjavati, ona sluzi za brisanje Per player varijable http://wiki.sa-mp.com/wiki/DeletePVar

primera radi:
DeletePVar(playerid, "Level");


imamo tu jos par funkcija, ali tesko da ce se one koristiti nekada, mislim, mozda i hoce, ali nece skoro 🙂

ako mislite da nisam objasnjavao do detalja, nisam imao sta objasnjavati, na pocetku tuta sam objasnio sve, a na dole sam samo davao primere, to je to

-Blaeks
The Woozie
Kingpin
pre 12 godina
Odličan tutorijal  🙂
Cimbur
Kingpin
pre 12 godina
Odlican tutorijal🙂
Blaeks_Biofor
Forum Don
pre 12 godina
hvala vam 🙂
[Bp]D.N
Kingpin
pre 12 godina
Odlicnan TuT.
Johnâ„¢
Godfather
pre 12 godina
Moram ovo tu stavit: http://forum.sa-mp.com/showthread.php?t=268499

Preporučujem svima da to pročitaju. Tutorial je o tome zašto ne koristit PVar-ove i napisao ga je Y_Less.
Blaeks_Biofor
Forum Don
pre 12 godina
Joey_ wrote on February 2, 2013, 10:23 pm:
Moram ovo tu stavit: http://forum.sa-mp.com/showthread.php?t=268499

Preporučujem svima da to pročitaju. Tutorial je o tome zašto ne koristit PVar-ove i napisao ga je Y_Less.
imas pravo zato sto su za 30 do 40ms sporiji nego obicne varijable , i to ne poricem, ali daleko su napredniji nego obicne varijable, no svako ima pravo na svoj izbor , ja sam samo hteo da pokusam da pomognem  🙂
Johnâ„¢
Godfather
pre 12 godina
Poštujem to što si htio pomoći, sve 5. Samo daj mi reci po čemu su to PVar-ovi napredniji osim po tome što se mogu shareat između GM-a i FS-a?
Blaeks_Biofor
Forum Don
pre 12 godina
Joey_ wrote on February 3, 2013, 10:56 am:
Poštujem to što si htio pomoći, sve 5. Samo daj mi reci po čemu su to PVar-ovi napredniji osim po tome što se mogu shareat između GM-a i FS-a?
primera radi zato sto ih ne moras restartovat svaku po igracu pod onplayerconnect, i po tome sto se automatski brisu kada igrac napusti igricu
Johnâ„¢
Godfather
pre 12 godina
Ako ti to nazivaš naprednijim onda ne znaš što znači napredan kod. To što se tebi ne da napisat kratki kod za resetiranje varijable pri ulasku igrača u server je druga stvar.
Fica:)
Wheel Man
pre 12 godina
Ja ne znam ti si ovde najveci car majke mi 😄
Blaeks_Biofor
Forum Don
pre 12 godina
Joey_ wrote on February 3, 2013, 11:36 am:
Ako ti to nazivaš naprednijim onda ne znaš što znači napredan kod. To što se tebi ne da napisat kratki kod za resetiranje varijable pri ulasku igrača u server je druga stvar.
da mi se, ali zasto vise kad moze i manje? 🙂

smokeone: to si meni rekao, ili joeyu? 🙂
Johnâ„¢
Godfather
pre 12 godina
Ali manje ne mora uvijek značit bolje. 😉
Blaeks_Biofor
Forum Don
pre 12 godina
kristijan250 wrote on February 3, 2013, 11:50 am:
Odlican Tut Mada ja ne ostavjam yini(najlaksi)~~~!!!!
izvini ali PVarovi nisu sistem spremanja, pvarovi su sistem varijabli, i oni se mogu koristiti uz Yini
hvala
Fica:)
Wheel Man
pre 12 godina
tebi tebi 😄

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava