GreenZone

Započeo TarikBrt
13. Apr. 2020.
1,375
pregleda
6
postova
TarikBrt
4
Shot Caller
13. Apr. 2020.
Pozdrav svima, kao sto vidite po naslavu u ovom tutorijalu cu vam pokazati kako da napravite GreenZone za vas server.
Sistem nece biti dinamican ali u principu sve sto treba uradit je spremit ovo u bazu/fajl i ucitat pri pokretanju GM i eto dinamican je hehe.

Potrebno: STREAMER
STREAMER DOKUMENTACIJA & DL:
https://github.com/samp-incognito/samp-streamer-plugin/wiki
https://github.com/samp-incognito/samp-streamer-plugin/releases
Na vrhu skripte:


#define MAX_GZ (3)

new arGZ; //kreiramo array za dinamicne area-e
new inGZ[MAX_PLAYERS char]; //kreiramo varijablu za provjeru da li je igrac u GZ

static const Float:greenzones =
{
{1422.2109, -1584.8275, 1568.6517, -1879.5209}, // ja sam koristio sve iste koordinate samo zbog tutoriala
{1422.2109, -1584.8275, 1568.6517, -1879.5209}, // koordinate unosite u formatu minx, miny, maxx, maxy
{1422.2109, -1584.8275, 1568.6517, -1879.5209}
};
OnGameModeInit:

for(new i = 0; i < MAX_GZ; i++)
{
    arGZ = CreateDynamicRectangle(greenzones, greenzones, greenzones, greenzones); //kreiramo dinamicne area-a ( pravougaonike u formatu minx, miny, maxx, maxy )
}

OnPlayerEnterDynamicArea

if(arGZ <= areaid <= arGZ[MAX_GZ-1]) //provjera da li je igrac usao u nasu greenzonu
{
inGZ{playerid} = 1; //ukoliko je usao postavljamo vrijednost varijable na "1"
}

OnPlayerLeaveDynamicArea

if(arGZ <= areaid <= arGZ[MAX_GZ-1])//provjera da li je igrac izasao iz GreenZone
{
inGZ{playerid} = 0;//ukoliko je izasao postavljamo vrijednost varijable na "0"
}
OnPlayerDisconnect

inGZ{playerid} = 0; //resetovanje varijable na 0 kada se igrac diskonektuje
OnPlayerKeyStateChange

if((newkeys & KEY_FIRE) || ((newkeys & 128) && (oldkeys & 128) && (newkeys & KEY_SECONDARY_ATTACK))) //provjera da li je igrac pritisnuo lijevi klik ili desni klik + f
{
    if(inGZ{playerid} && GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) return SCM(playerid, -1, !"INFO: Nasilje je zabrenjeno u GreenZonama."); //ukoliko je igrac pritisnuo lijevi klik ili desni klik + f i ukoliko mu je varijabla inGZ na "1" znaci da je u greenzoni u tom slucaju saljemo mu obavijest, vi mozete da mu oduzmete oruzije ili nesto slicno.
}
To bi bilo to, nista posebno, a veoma efikasno i potrebno svakom serveru. Pogotovo na lokacijama poslova, opstina, spawna itd...
TheGabriel
3
Hustler
14. Apr. 2020.
Lep tutorijal, ali izgleda da ovde sta god objavio korisno svi ce gledati nesto starije tamo i nekorisno..
TarikBrt
4
Shot Caller
14. Apr. 2020.
Emmett wrote on April 14, 2020, 3:00 am:
Lep tutorijal, ali izgleda da ovde sta god objavio korisno svi ce gledati nesto starije tamo i nekorisno..

Bitni su dobri TD-ovi 😁
TheGabriel
3
Hustler
14. Apr. 2020.
TarikBrt wrote on April 14, 2020, 1:53 pm:
Bitni su dobri TD-ovi 😁

Ahahaha takoe
Skrilew
6
Godfather
15. Apr. 2020.
Super tutorial, lepo objasnjeno
WizzyDev
2
Rookie
20. Apr. 2020.
Lijepo, korisatan tutorijal 😄

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha