Započeo Osamu Dazai
•20. Avg. 2019.Map Zones
2,984
pregleda
8
postova
Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
355
Postovi:
20
Teme:
Pridružio se:Avg. 2019
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);
}Godfather
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
1,514
Postovi:
58
Teme:
Pridružio se:Nov. 2016
Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
355
Postovi:
20
Teme:
Pridružio se:Avg. 2019
Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
355
Postovi:
20
Teme:
Pridružio se:Avg. 2019
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 😄
Kingpin
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
1,118
Postovi:
39
Teme:
Pridružio se:Feb. 2019
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 😎
Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
355
Postovi:
20
Teme:
Pridružio se:Avg. 2019
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava
