Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

PVar su žaidėjo ID


Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 1810 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Tiksliai nežinojau kaip pavadint temą, tikiuos dalinai suprasit.

Būtų įmanoma kažkaip išsaugoti žaidėjo ID į PVar'ą? Kaip PVar'ai veikia žinot tai neaiškinsiu.
Situacija būtų tokia - viename kodo bloke išsaugoti žaidėjo ID (playerid), ir tą žaidėjo ID naudoti kituose blokuose kaip kintamajį.

P.S. galbūt yra koks kitoks būdas naudoti "playerid" kituose blokuose ir t.t.?

Ačiū už atsakymus. 

Redaguota , nario newyorkas
Nuoroda į komentarą
Dalintis per kitą puslapį

2 minutes prieš, ALFRED. parašė:

Kam tiksliai nori iš naujo panaudot "playerid" kintamąjį? O nustatant reikšmę gali naudoti https://wiki.sa-mp.com/wiki/SetPVarInt arba sukurti atskirą kintamąjį pačiam žaidėjui.

Yra susidėliojus idėja galvoj, tik dabar pasimečiau ant jos realizavimo. 
Tiksliai kam man reikia playerid - iškvietus tarnybą, pavyzdžiui mechanikus, noriu padaryt tokį dalykėli, kad būtų galima naudoti komandas tik esant prie to žaidėjo, kuris kvietė.

Galbūt aiškiai paaiškinau. Visą dalį kodo turiu galvoj, tik tereikia su tuo playerid išsiaiškinti.

Nuoroda į komentarą
Dalintis per kitą puslapį

Sukurk du naujus kintamuosius (gali kurti kitus, arba kurti kitaip, aš čia tik pateiksiu kaip pavyzdį):

new
  pAcceptedCall[MAX_PLAYERS],
  pAcceptedBy[MAX_PLAYERS];

Kai žaidėjas (a) atsako į kito žaidėjo (b) iškvietimą, nustatyk:

pAcceptedCall[a] = b;
pAcceptedBy[b] = a;

Norėdamas tikrinti atstumą, įsitikink ar žaidėjas a yra prie žaidėjo b (kurį išsaugojai į pAcceptedCall[a]) ;

new
	targetid = pAcceptedCall[a],
	Float: x, Float: y, Float: z;

GetPlayerPos(targetid, x, y, z);
if(IsPlayerInRangeOfPoint(a, x, y, z)) {
	...
}

 

Nuoroda į komentarą
Dalintis per kitą puslapį

prieš 2 valandas(-ų), ALFRED. parašė:

Sukurk du naujus kintamuosius (gali kurti kitus, arba kurti kitaip, aš čia tik pateiksiu kaip pavyzdį):


new
  pAcceptedCall[MAX_PLAYERS],
  pAcceptedBy[MAX_PLAYERS];

Kai žaidėjas (a) atsako į kito žaidėjo (b) iškvietimą, nustatyk:


pAcceptedCall[a] = b;
pAcceptedBy[b] = a;

Norėdamas tikrinti atstumą, įsitikink ar žaidėjas a yra prie žaidėjo b (kurį išsaugojai į pAcceptedCall[a]) ;


new
	targetid = pAcceptedCall[a],
	Float: x, Float: y, Float: z;

GetPlayerPos(targetid, x, y, z);
if(IsPlayerInRangeOfPoint(a, x, y, z)) {
	...
}

 

Labai ačiū, padėjai. 
Dalį žinių panaudojau. :) Užmesiu dar kada repų, limitą pasiekiau.

Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 1810 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...