GTA-Expert Forum: [GUIDA]PVar - GTA-Expert Forum

Salta al contenuto

Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

[GUIDA]PVar

#1 L'utente è offline   .ReVo^ 

  • Criminale
  • Gruppo: Utenti
  • Messaggi: 1402
  • Iscritto il: 20/11/08
  • GTA Preferito:GTA: TBoGT

Inviato il 24 aprile 2010 - 17:06

Guida PVAR:

Questa piccola guida vi servirà per capire il funzionamento di queste funzioni,aggiunte dalla versione RC5 in poi..
(Consiglato l'uso della versione server RC7 Motivo: Nella versione RC5 c'è un bug)

Funzioni Principali:

Quote

SetPVarInt
GetPVarInt
SetPVarString
GetPVarString
SetPVarFloat
GetPVarFloat
DeletePVar


SetPVarInt:

Sintassi: SetPVarInt(playerid,variabilenome,valoredasettare);

Questa funzione setta nella variabile,un valore.

Esempio:

SetPVarInt(playerid,"we",2);


Il valore di "we" verrà settato a 2.

GetPVarInt:

Sintassi: GetPVarInt(playerid,variabile);

Non c'è molto da spiegare.. praticamente getta il valore messo in "varname"

Esempio:
printf("Valore di we: %d",GetPVarInt(playerid,"we"));




SetPVarString:

Sintassi: SetPVarString(playerid,variabile,valoredasettare);

Setta alla variabile una stringa.

Esempio:

new stringo[90];
format(stringo,90,"tuonome%s",nome);
SetPVarString(playerid,"we",stringo);



GetPVarString:

Sintassi: GetPVarString(playerid,variabile,dovemettereilmessaggio,lunghezza);

Getta il valore del campo.


Esempio:
new msg[128];
GetPVarString(playerid,"msg",msg,128);
printf("valore %s",msg);


SetPVarFloat:

Sintassi: SetPVarFloat(playerid,variabilenome,valore);

Setta un valore float.

Esempio:

new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,x,y,z):
SetPVarFloat(playerid,"x",x);
SetPVarFloat(playerid,"y",y);
SetPVarFloat(playerid,"z",z);



GetPVarFloat:

Sintassi: GetPVarFloat(playerid,variabile);

Getta il valore float che sta nella variabile.

Esempio:
new var[256];
format(var,256,"Ultimi Valori: %f %f %f",GetPVarFloat(playerid,"x"),GetPVarFloat(playerid,"y"),GetPVarFloat(playerid,"z"));
SendClientMessage(playerid,RED,var);



DeletePVar:

Sintassi: DeletePVar(playerid,variabilenome);

Cancella la variabile.

Esempio:

DeletePVar(playerid,"ciao");


La variabile "ciao" verrà cancellata.


- by ReVo_
Immagine Postata
0

#2 L'utente è offline   [F12] phantom 

  • Borsaiolo
  • Gruppo: Utenti
  • Messaggi: 465
  • Iscritto il: 16/04/10

Inviato il 24 aprile 2010 - 18:17

ma questa cosa server nel pawno?
HostName: [ITA][VIP]Dream Cityt RP[ITA] by pisa city!
Address: 95.110.228.30:7777
Players: 38 / 50
Ping: 40
Mode: RolePlay v 0.4
Map: San Andreas

Siamo in cerca di CF
0

#3 L'utente è offline   Skiaffo 

  • Boss
  • Gruppo: Moderatori
  • Messaggi: 14732
  • Iscritto il: 08/12/05
  • Provenienza:Urbs Aeterna
  • GTA Preferito:GTA V

Inviato il 24 aprile 2010 - 18:54

Quote

Originally posted by [F12] phantom@24/04/10 - 19:17
ma questa cosa server nel pawno?

si
"Audentes Fortuna iuvat"
0

#4 L'utente è offline   blasfer_pwn 

  • Cleptomane
  • Gruppo: Utenti
  • Messaggi: 173
  • Iscritto il: 11/04/10

Inviato il 24 aprile 2010 - 18:56

A cosa server?
LE Mie GM



GM My Training: [FINITA] http://solidfiles.com/d/bWix
0

#5 L'utente è offline   StanleY 

  • Cacciatore di taglie
  • Gruppo: Utenti
  • Messaggi: 1033
  • Iscritto il: 22/02/09
  • Provenienza:Palermo
  • GTA Preferito:GTA: San Andreas

Inviato il 24 aprile 2010 - 19:24

usa meno memoria rispetto al classico new valore, e poi la puoi usare in comune, ad esempio tra gamemode e filterscript
0

#6 L'utente è offline   .ReVo^ 

  • Criminale
  • Gruppo: Utenti
  • Messaggi: 1402
  • Iscritto il: 20/11/08
  • GTA Preferito:GTA: TBoGT

Inviato il 24 aprile 2010 - 19:30

Quote

Originally posted by StanleY@24/04/10 - 20:24
usa meno memoria rispetto al classico new valore, e poi la puoi usare in comune, ad esempio tra gamemode e filterscript

:ahsisi: Non ho notato la tua risposta blasfer_pwn,sinno ti avrei risposto :ahsisi:.
Immagine Postata
0

#7 L'utente è offline   Peppe951 

  • Tirapiedi
  • Gruppo: Utenti
  • Messaggi: 899
  • Iscritto il: 14/07/09
  • GTA Preferito:Sconosciuto

Inviato il 30 aprile 2010 - 15:27

Be, il vantaggio delle pVar oltre al fatto che occupano meno memoria è che ad esempio usando GetPVar in due filterscript diversi si ha lo stesso valore e inoltre essendo settate con una stringa permettono di fare più cose, ad esempio si potrebbe fare un comando "/cambiavalore nomevar valore" che può essere molto utile...
Però personalmente preferisco usare il metodo classico degli array di dimensione MAX_PLAYERS (500) perché nello script sono più comodi da usare nello script...
0

#8 L'utente è offline   .ReVo^ 

  • Criminale
  • Gruppo: Utenti
  • Messaggi: 1402
  • Iscritto il: 20/11/08
  • GTA Preferito:GTA: TBoGT

Inviato il 30 aprile 2010 - 16:13

Peppe951 ha detto:

Be, il vantaggio delle pVar oltre al fatto che occupano meno memoria è che ad esempio usando GetPVar in due filterscript diversi si ha lo stesso valore e inoltre essendo settate con una stringa permettono di fare più cose, ad esempio si potrebbe fare un comando "/cambiavalore nomevar valore" che può essere molto utile...
Però personalmente preferisco usare il metodo classico degli array di dimensione MAX_PLAYERS (500) perché nello script sono più comodi da usare nello script...


Infatti anche io preferisco usare il classico sistema,anche se quello che hai detto e vero ;).
Immagine Postata
0

#9 L'utente è offline   scienziato-pazzo 

  • Cleptomane
  • Gruppo: Banned
  • Messaggi: 297
  • Iscritto il: 03/10/09
  • GTA Preferito:Sconosciuto

Inviato il 30 aprile 2010 - 16:54

Quoto .ReVo^ ,comunque bella guida,mi può essere utile in certe situazioni,ad esempio se voglio fare tutti comandi e non con molti new ecc
0

#10 L'utente è offline   Angelo_95 

  • Cacciatore di taglie
  • Gruppo: Utenti
  • Messaggi: 1620
  • Iscritto il: 31/08/09
  • Provenienza:Area 51
  • GTA Preferito:GTA: San Andreas

Inviato il 17 agosto 2010 - 23:00

quindi se ho capito bene questi servono per lavorare su una variabile e risparmiare piu memoria esempio:

SetPVarInt(playerid,"lol",98); darà il valore 98 a lol anche se non capisco a cosa serva il playerid se il valore viene settato al lol, cmq si potrebbe anche fare così

IN ONPLAYERDEATH

SetPVarInt(playerid,"Killerid",killerid); //setta la variabile Killerid a killerid

poi in una funzione voglio usare il killerid e faccio

new killerid=GetPVarInt(playerid,"Killerid");

e dovrebbe risparmiare più memoria del vecchio sistema tipo

IN CIMA
new killer;

IN ONPLAYERDEATH
killer = killerid;

e nella funzione uso killer.

Invece il setpvarint setta il valore di una variabile ad una stringa ? mentre il setpvarfloat lo setta ad una float?
Immagine Postata
0

#11 L'utente è offline   Lama 

  • Cleptomane
  • Gruppo: Utenti
  • Messaggi: 756
  • Iscritto il: 14/03/10
  • Provenienza:Torino
  • GTA Preferito:Sconosciuto

Inviato il 18 agosto 2010 - 12:01

i nomi delle funzioni spiegano tutto PERFETTAMENTE

a seconda della funzione setta alla variabile un float una stringa o un integer
0

#12 L'utente è offline   Giovanni94m 

  • Teppista
  • Gruppo: Utenti
  • Messaggi: 439
  • Iscritto il: 08/08/09
  • Provenienza:Agrigento
  • GTA Preferito:GTA: Vice City

Inviato il 18 agosto 2010 - 14:17

anche se occupa più memoria preferisco usare il vecchio metodo

nella 0.3b hanno aumentato la velocità di questa nuova funzione
Immagine Postata
0

#13 L'utente è offline   Peppinux aka Peppe_Stasu 

  • Sicario
  • Gruppo: Utenti
  • Messaggi: 2056
  • Iscritto il: 16/04/10
  • GTA Preferito:GTA: San Andreas

Inviato il 18 agosto 2010 - 14:21

Comunque in base all'uso che si deve fare io preferisco i PVar al posto degli array per alcuni motivi:

1.Usano meno memoria
2.Più facili e veloci da scrivere

Poi per le cose tradizionali tipo il controllo se un player è mutato o meno preferisco i normali array di grandezza MAX_PLAYERS...
0

Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

1 utenti stanno leggendo questa discussione
0 utenti, 1 ospiti, 0 utenti anonimi