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

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2600 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

(redaguota)

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
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.

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)) {
	...
}

 

vkA79IX.png&key=42e6bea03ca38c95124ed65a

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.

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2600 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ą...