CreateZoneSquare()

Indította kurta999, 2012. július 22. - 14:18:20

Előző téma - Következő téma

kurta999

Mivel még nem láttam ilyen kódot és nekem szükségem volt egy olyanra, ami egy megadott pont alapján általam beírt átlóval megcsinál egy négyzetet a térképen bandazónából, ezért megírtam. Nem nagy függvény, de kirakom, mivel lehet, hogy valakinek hasznára válik.
Kép, hogy mi is akar ez lenni:
http://www.nm-ss.tarhely.biz/SAMP/ZoneBox.jpg\" alt=\"ZoneBox.jpg\" />
Kis méretben szerintem nagyon profi megoldás a kis dolgok jelzésére a térképen.
Csak simán megadsz neki egy kordinátát, a kordináták után beírod, hogy mekkora legyen az \"átló\" és meg is van.
A zóna ID-jével tér vissza.
 

stock CreateZoneSquare(Float:x, Float:y, Float:sinus_multiplier)
{
return GangZoneCreate(   x + (sinus_multiplier * floatsin(-45.0, degrees)),
               y + (sinus_multiplier * floatcos(-225.0, degrees)),
               x + (sinus_multiplier * floatsin(-225.0, degrees)),
               y + (sinus_multiplier * floatcos(-45.0, degrees)));
}

 
Esetleg ha kell teszt parancs valakinek  ;D
(Pl.: /zone 50)
 

CMD:zone(playerid, params[])
{
new
Float:fPos[3];
GetPlayerPos(playerid, fPos[0], fPos[1], fPos[2]);
GangZoneShowForAll(CreateZoneSquare(fPos[0], fPos[1], float(strval(params))), (random(0xFFFFFF) << 8) | 0xAA);
return 1;
}

bendor

Pont egy ilyenre volt szükségem :D
Kösz a megosztást   ;)

Spedy

Aha jó lett grat!! Ment a + !

Striker

Pfúúú fasza ezmost jóljött ment  a + :D

instant

pontosabban mire jó ez a kis kód?
am szép munka

kurta999

#5
Arra, hogy van a térképen egy pontod és arra a pontra az általad kívánt átlóval csinál neked egy négyzetet.
Nem kell bajlódni azzal, hogy most megkeresed neki a két szélét, elég neki az egy pont is.
Persze ha pontosan akarod létrehozni, akkor az jobb megoldás, de viszont ha csak valamit meg akarsz jelölni a mapon kevésbé pontosabban, akkor ez nagyon könnyû megoldás rá.

instant