Peršokti į turinį
newyorkas

PVar su žaidėjo ID

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

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
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.

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
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)) {
	...
}

 

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
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.

Dalintis šį pranešimą


Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

Svečias
Ši tema yra užrakinta.

  • Narių peržiūri šį forumą:   0 nariai

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


  • SuperGames programele
  • SuperGames programele


×