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

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

Sveiki, varčiau savo kažkada rašytą GM, ir radau gan neblogų bei naudingų dalykėlių, todėl nusprendžiau parašyti savo pirmą pamoką kurios tikslas supažindinti Jus (ar bent jau tuos kurie nemoka ir nori išmokti) kaip labai paprastai rankiniu būdu galima sukurti tam tikras teritorijas kurias ateityje galima naudingai panaudoti (pvz.: saugioms zonoms, karo zonoms).

  • Visų pirma mums reikės streamer įskiepio (plugino) kurį galite atsisiūsti iš čia

Atsidarę savo modifikaciją viršuje rašome:

  • #include <streamer>
  • Toliau susikuriame define kuriuo nustatysime kiek teritorijų kursime (šiuo metu aš kursiu 3 teritorijas). Tam nustatyti naudosime MAX_ZONES define.
#define MAX_ZONES 4
  • Na, o dabar susikuriame kintamajį teritorijoms kurti. 
new zona [MAX_ZONES];
  • Dabar kuriame kintamuosius kiekvienai teritorijai atskirai bei nurodome visų 4 kampų X ir Y koordinates.
  • Pastaba: Galima kurti ir apvalias teritorijas, tačiau tam naudojama CreateDynamicRectangle funkciją.
new Float: pirma_zona [] = 
{ 
	1747.9253,	782.5849, 
	1757.2034,	782.5849, 
	1757.2034,	776.5250, 
	1747.9253,	776.5250 
};

new Float: antra_zona [] = 
{ 
	1747.9253,	776.3470, 
	1757.2034,	776.3470, 
	1757.2034,	770.1012, 
	1747.9253,	770.1012 
};

new Float: trecia_zona [] = 
{ 
	1747.9253, 	769.9217, 
	1757.2034, 	769.9217, 
	1757.2034, 	763.6898, 
	1747.9253, 	763.6898 
};
zona [ 1 ] = CreateDynamicPolygon (pirma_zona);
zona [ 2 ] = CreateDynamicPolygon (antra_zona);
zona [ 3 ] = CreateDynamicPolygon (trecia_zona);

CreateDynamicPolygon - tai funkcija su kuria sukuriameteritorijas.

  • Na ir atliekame kažkokį tai veiksmą (šiuo atveju išgauname tekstą ekrane) atėjus žaidėjui į tam tikrą teritoriją:
public OnPlayerEnterDynamicArea(playerid, areaid){
	if (areaid==zona[ 1 ]){
		GameTextForPlayer(playerid, "Tu atejai y pirma zona!", 
	}
	if (areaid==zona[ 2 ]){
		GameTextForPlayer(playerid, "Tu atejai y antra zona!", 
	}
	if (areaid==zona[ 1 ]){
		GameTextForPlayer(playerid, "Tu atejai y trecia zona!", 
	}
	return 1;
};

OnPlayerEnterDynamicArea - tai funkcija kuri patikrina ar žaidėjas atėjo į tam tikrą teritoriją.

  • Na ir paskutinis žingsnis - parodome žaidėjui tam tikrą tekstą išėjus iš tam tikros teritorijos:
public OnPlayerLeaveDynamicArea(playerid, areaid){
	if (areaid==zona[ 1 ]){
		GameTextForPlayer(playerid, "Tu palikai pirma zona!", 
	}
	if (areaid==zona[ 2 ]){
		GameTextForPlayer(playerid, "Tu palikai antra zona!", 
	}
	if (areaid==zona[ 1 ]){
		GameTextForPlayer(playerid, "Tu palikai trecia zona!", 
	}
	return 1;
};

OnPlayerLeaveDynamicArea - tai funkcija kuri patikrina ar žaidėjas išėjo iš tam tikros teritorijos.

Autorius: A. Torres

Redaguota , nario A. Torres
Nuoroda į komentarą
Dalintis per kitą puslapį

29 minutes prieš, L0cal parašė:

Kam tu 3 zonas sukuri vis skirtingam kintamajam, jei gali sutalpinti viska i viena?


Float: zonos[] = {
	
	{Z, Y, X},//zona1
	{Z, Y, X},//zona2
	{Z, Y, X} //zona3
	
}

Na dabar daryčiau taip pat, bet GM rašiau prieš porą metų tai viską realiai iš ten ir panaudojau. ir tarp Kitko Z nereikalinga.

Nuoroda į komentarą
Dalintis per kitą puslapį

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

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

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

Skelbimai


×
×
  • Sukurti naują...