Map Zones

Započeo Osamu Dazai
20. Avg. 2019.
2,925
pregleda
8
postova
VinlandRP
4
Made Man
20. Avg. 2019.
- Map Zones -


Å ta je Map Zones library?
Ovaj library ne donosi ništa što već nije viđeno, razlog kreiranja ovog include-a je da se završi era loših navika vezana za map zones.
Array od ~350 zona koji je verovatno manualno konvertovan iz igre je tu već duže vreme, ali do sada nije viđen ni jedan način koji ispunjava uslove savremenog PAWN skriptanja.


Zašto Map Zones library?
  • Brže.

  • Sigurnije.

  • Bez bagova.



Kako se Map Zones koristi?
Naravno, idemo kroz primere 🙂
CMD:gdesenalazim(playerid) //Credits: Kristo
{
    new MapZone:zone = GetPlayerMapZone(playerid); // Uzima zonu u kojoj se igrač nalazi

    if (zone == INVALID_MAP_ZONE_ID)
        return SendClientMessage(playerid, 0xFFFFFFFF, "Verovatno u okeanu :D");

    new name, soundid;
    GetMapZoneName(zone, name); // Uzima ime zone, zone id smo dobili u prvoj funkciji gore
    GetMapZoneSoundID(zone, soundid); // Fun Fact: Ne znam da li ste zvali ali svaka zona u GTA:SA ima svoj zvuk :D

    new string[24 + MAX_MAP_ZONE_NAME]; // MAX_MAP_ZONE_NAME je 27
    format(string, sizeof(string), "Vi ste u \"%s\"", name); //Vi ste u "Bayside Tunnel" (primer)

    SendClientMessage(playerid, 0xFFFFFFFF, string);
    PlayerPlaySound(playerid, soundid, 0.0, 0.0, 0.0);
    return 1;
}

Naravno, ovo nije sve...


Da li je moguće uzeti zonu koordinata 2D/3D?
Naravno da jeste, da nije - ovo sada ne bi ste čitali :')

new MapZone:zone = GetMapZoneAtPoint(Float:x, Float:y, Float:z);
// Uzima koordinate x,y,z pozicije, zone varijablu posle koristite kao
// u primeru iznad ovog (za igraca).

new MapZone:zone = GetVehicleMapZone(vehicleid);
// Uzima zonu u kojoj se vozilo nalazi.

new MapZone:zone = GetMapZoneAtPoint2D(Float:x, Float:y);
// Uzima zonu za 2D koordinate (ne uzima u obzir visinu koordinata).

new MapZone:zone = GetVehicleMapZone2D(vehicleid);
// Uzima 2D koordinate vozila i njegovu zonu.

GetMapZoneName(MapZone:id, name[], size = sizeof(name));
// Uzima ime od zone ciji ste ID prethodno pronašli pomoću nekih funkcija od gore.

GetMapZoneSoundID(MapZone:id, &soundid);
// Uzima zvuk koji je u GTA podešen za ID zone koju ste prethodno pronašli ^.

GetMapZoneAreaCount(MapZone:id, &count);
// Uzima broj svih Area koje su vezane za tu zonu.

GetMapZoneAreaPos(MapZone:id, &Float:minX = 0.0, &Float:minY = 0.0, &Float:minZ = 0.0, &Float:maxX = 0.0, &Float:maxY = 0.0, &Float:maxZ = 0.0, start = 0);
// Vraca koordinate od aree koja je vezana za zonu (MapZone:id).

GetMapZoneCount();
// Vraca koliko zona postoji u array-u, može se koristiti za iteratore.



To je to?
Da, to bi bilo  to, ali naravno i Vi možete dodati svoje funkcije i proÅ¡iriti ovaj include, primer:
stock MapZone:GetPlayerOutsideMapZone(playerid) // Credits: Kristo
{
new House:houseid = GetPlayerHouseID(playerid), Float:x, Float:y, Float:z;

if (houseid != INVALID_HOUSE_ID) // ako je igrac unutar kuce, uzmi koordinate exteriora te kuce
{
GetHouseExteriorPos(houseid, x, y, z);
}
else if (!GetPlayerPos(playerid, x, y, z)) // Igrač nije konektovan, funkcija vraća INVALID_MAP_ZONE_ID
{
return INVALID_MAP_ZONE_ID;
}

return GetMapZoneAtPoint(x, y, z);
}


Exnas.pwn
5
Godfather
20. Avg. 2019.
gj
VinlandRP
4
Made Man
20. Avg. 2019.
002 wrote on August 20, 2019, 1:53 pm:
gj

Tenksju veri mač
Muma Rascall
6
Forum Don
20. Avg. 2019.
Vidjio sam ovo na burgeru, fino odrađeno, nema šta
xFqris
5
Godfather
20. Avg. 2019.
konacno neko nesto korisno objavljuje a da je pocetnik na forumu.. (nije bas al mozete se rec)
VinlandRP
4
Made Man
20. Avg. 2019.
mumitza. wrote on August 20, 2019, 2:35 pm:
Vidjio sam ovo na burgeru, fino odrađeno, nema šta

Kristo idiot 😛

Fqris wrote on August 20, 2019, 2:51 pm:
konacno neko nesto korisno objavljuje a da je pocetnik na forumu.. (nije bas al mozete se rec)

haha Hvala 😄
Mister Naithan
5
Kingpin
20. Avg. 2019.
imnaithan wrote on August 20, 2019, 10:58 pm:
Gledam ovo i isto se osecam kao neko ko bi uzeo da radi muziku bez ikakvog znanja... Valjda zato nisam skripter niti se bavim time , ako kazu svi da je dobro , slazem se i ja  😎
VinlandRP
4
Made Man
20. Avg. 2019.
imnaithan wrote on August 20, 2019, 11:03 pm:

Dobro, ovo je običan include xD

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha