Pitanje/savet*: Oko safe zona gde nemoze igrac da koristi oruzje kao na SA
Opis*: Kreiranje safezona gde igrac ne moze da izvadi oruzje kao na skil areni na kom principu bih mogao to da odradim?
Dodatne informacije:
Pomoc-Pitanje oko safezona
702
pregleda
6
postova
19. Jan. 2025.
19. Jan. 2025.
Dragi wrote on January 19, 2025, 1:06 pm:
https://www.open.mp/docs/scripting/callbacks/OnPlayerGiveDamage
https://petlja.org/sr-Latn-RS/biblioteka/r/lekcije/prirucnik-cpp/petlje-for
https://www.open.mp/docs/scripting/functions/TogglePlayerControllable
https://www.open.mp/docs/scripting/functions/SendClientMessage
https://www.open.mp/docs/scripting/functions/SetTimerEx
https://www.open.mp/docs/scripting/functions/SetPlayerHealth
https://www.open.mp/docs/scripting/functions/GetPlayerPos
Moras se prvo pobrinuto da ti se safezone negde cuvaju. INI, SQL, MySQL, kako god. Necu da zalazim u taj deo cuvanja/ucitavanja.
U callbacku kroz for petlju prodjes na sve zone,proveris da li je igrac koji je upucan unutar neke zone (pomocu eksterne funkcije tvoje, npr, koja prima parametre playerid i zoneid, a vraca 0 i 1 ili bool) ako jeste zabrani mu to, ako playerid jeste, setaj mu fullhp. nikakva preterana logika.
https://petlja.org/sr-Latn-RS/biblioteka/r/lekcije/prirucnik-cpp/petlje-for
https://www.open.mp/docs/scripting/functions/TogglePlayerControllable
https://www.open.mp/docs/scripting/functions/SendClientMessage
https://www.open.mp/docs/scripting/functions/SetTimerEx
https://www.open.mp/docs/scripting/functions/SetPlayerHealth
https://www.open.mp/docs/scripting/functions/GetPlayerPos
Moras se prvo pobrinuto da ti se safezone negde cuvaju. INI, SQL, MySQL, kako god. Necu da zalazim u taj deo cuvanja/ucitavanja.
U callbacku kroz for petlju prodjes na sve zone,proveris da li je igrac koji je upucan unutar neke zone (pomocu eksterne funkcije tvoje, npr, koja prima parametre playerid i zoneid, a vraca 0 i 1 ili bool) ako jeste zabrani mu to, ako playerid jeste, setaj mu fullhp. nikakva preterana logika.
Prekomplikovano za ovaj tip sistema.
Kreiraj prostu zonu : https://www.open.mp/docs/scripting/functions/GangZoneCreate
Napravis varijablu i proveru ukoliko je igrac unutar te zone : IsPlayerInSafeZone (1 ako jeste i 0 ako nije)
Ako igrac udje u safezone mozes postaviti da ona blinka za igraca : https://www.open.mp/docs/scripting/functions/GangZoneFlashForPlayer
Kada je unutar safezone uzimas mu parametre :
https://www.open.mp/docs/scripting/functions/GetPlayerWeaponData
Cuvas data od igraca u varijablu tipa : PlayerGunSlotWeapon1 PlayerGunSlotAmmo1
https://www.open.mp/docs/scripting/functions/ResetPlayerWeapons
Postavis reset oruzija.
Nakon sto izadje iz zone vratis mu oruzija koriscenjem varijabli i funkcijom : https://www.open.mp/docs/scripting/functions/GivePlayerWeapon
Jos prostije za napraviti je ovako.
Uzmes kreiras zonu, ukoliko opali metak u igraca da mu se skine svo oruzije. Da vidis kad ce sledeci put opucati u safe zoni.
Mozes ga prosiriti sa cuvanjem.
Napravis varijablu koja dodaje +1 svaki put kada je u safezoni i kada dosegne 3 da ga jail (3x je pogodio nekoga u safezoni ukupno) i to cuvas, kada dosegne 3x dobije jail il nesto.
Ovaj sistem se moze uraditi u milion razlicitih nacina, prostih, komplikovanih.
Ako koristis OpenMP onda je jos lakse jer imaju dosta toga integrisanog u vezi toga gde ces samo zabraniti koriscenje oruzija. SA je na omp koliko sam upucen.
https://www.open.mp/docs/scripting/functions/AllowPlayerWeapons
Ako mene licno pitas, samo bih napravio zonu i postavio ukoliko opali metak da izgubi svo oruzije. Takodje kada udje u safezonu jedan SendClientMessage koji ce ga upozoriti da je usao u safezonu i da ce se to dogoditi, takodje kada izadje iz iste da je izasao, dodao blinkanje kada udje i zaustavio isto kada izadje.
19. Jan. 2025.
Evo, ovo sam nasao iz Athlone:
Evo da ti ne bih objasnjavao, nasao sam ti kod na forumu, sto znaci da nisi trazio uopste...
//zastita za SAFE ZONE
new Float:php;
for(new Sz; Sz < MAX_SZONE; Sz++)
{
if(IsPlayerInSafeZone(issuerid, Sz))
{
//new Float:x, Float:y, Float:z;
//GetPlayerPos(issuerid, x, y, z);
//ac_SetPlayerPos(issuerid, x, y, z+5);
TogglePlayerControllable(issuerid, false);
SetTimerEx("SlobodnoSada", 3000, false, "i", issuerid);
SCM(issuerid, CRVENA, "Ne mozes napadati igrace u sigurnoj zoni!");
}
if(IsPlayerInSafeZone(playerid, Sz))
{
GetPlayerHealth(playerid,php);
Fusion_SetPlayerHealth(playerid,98.0);
}
}
Evo da ti ne bih objasnjavao, nasao sam ti kod na forumu, sto znaci da nisi trazio uopste...
public OnPlayerUpdate(playerid)
{
for(new Sz; Sz < MAX_SZ; Sz++)
{
if(IsPlayerInRangeOfPoint(playerid, SafeZoneInfo, SafeZoneInfo, SafeZoneInfo, SafeZoneInfo))
{
SetPlayerArmedWeapon(playerid, 0);
TextDrawShowForPlayer(playerid, textdraw_0);
TextDrawShowForPlayer(playerid, textdraw_1);
break;
}
else if(!IsPlayerInRangeOfPoint(playerid, SafeZoneInfo, SafeZoneInfo, SafeZoneInfo, SafeZoneInfo))
{
TextDrawHideForPlayer(playerid, textdraw_0);
TextDrawHideForPlayer(playerid, textdraw_1);
break;
}
}
return 1;
}
19. Jan. 2025.
markosimic wrote on January 19, 2025, 1:34 pm:
Prekomplikovano za ovaj tip sistema.
Kreiraj prostu zonu : https://www.open.mp/docs/scripting/functions/GangZoneCreate
Napravis varijablu i proveru ukoliko je igrac unutar te zone : IsPlayerInSafeZone (1 ako jeste i 0 ako nije)
Ako igrac udje u safezone mozes postaviti da ona blinka za igraca : https://www.open.mp/docs/scripting/functions/GangZoneFlashForPlayer
Kada je unutar safezone uzimas mu parametre :
https://www.open.mp/docs/scripting/functions/GetPlayerWeaponData
Cuvas data od igraca u varijablu tipa : PlayerGunSlotWeapon1 PlayerGunSlotAmmo1
https://www.open.mp/docs/scripting/functions/ResetPlayerWeapons
Postavis reset oruzija.
Nakon sto izadje iz zone vratis mu oruzija koriscenjem varijabli i funkcijom : https://www.open.mp/docs/scripting/functions/GivePlayerWeapon
Jos prostije za napraviti je ovako.
Uzmes kreiras zonu, ukoliko opali metak u igraca da mu se skine svo oruzije. Da vidis kad ce sledeci put opucati u safe zoni.
Mozes ga prosiriti sa cuvanjem.
Napravis varijablu koja dodaje +1 svaki put kada je u safezoni i kada dosegne 3 da ga jail (3x je pogodio nekoga u safezoni ukupno) i to cuvas, kada dosegne 3x dobije jail il nesto.
Ovaj sistem se moze uraditi u milion razlicitih nacina, prostih, komplikovanih.
Ako koristis OpenMP onda je jos lakse jer imaju dosta toga integrisanog u vezi toga gde ces samo zabraniti koriscenje oruzija. SA je na omp koliko sam upucen.
https://www.open.mp/docs/scripting/functions/AllowPlayerWeapons
Ako mene licno pitas, samo bih napravio zonu i postavio ukoliko opali metak da izgubi svo oruzije. Takodje kada udje u safezonu jedan SendClientMessage koji ce ga upozoriti da je usao u safezonu i da ce se to dogoditi, takodje kada izadje iz iste da je izasao, dodao blinkanje kada udje i zaustavio isto kada izadje.
Kreiraj prostu zonu : https://www.open.mp/docs/scripting/functions/GangZoneCreate
Napravis varijablu i proveru ukoliko je igrac unutar te zone : IsPlayerInSafeZone (1 ako jeste i 0 ako nije)
Ako igrac udje u safezone mozes postaviti da ona blinka za igraca : https://www.open.mp/docs/scripting/functions/GangZoneFlashForPlayer
Kada je unutar safezone uzimas mu parametre :
https://www.open.mp/docs/scripting/functions/GetPlayerWeaponData
Cuvas data od igraca u varijablu tipa : PlayerGunSlotWeapon1 PlayerGunSlotAmmo1
https://www.open.mp/docs/scripting/functions/ResetPlayerWeapons
Postavis reset oruzija.
Nakon sto izadje iz zone vratis mu oruzija koriscenjem varijabli i funkcijom : https://www.open.mp/docs/scripting/functions/GivePlayerWeapon
Jos prostije za napraviti je ovako.
Uzmes kreiras zonu, ukoliko opali metak u igraca da mu se skine svo oruzije. Da vidis kad ce sledeci put opucati u safe zoni.
Mozes ga prosiriti sa cuvanjem.
Napravis varijablu koja dodaje +1 svaki put kada je u safezoni i kada dosegne 3 da ga jail (3x je pogodio nekoga u safezoni ukupno) i to cuvas, kada dosegne 3x dobije jail il nesto.
Ovaj sistem se moze uraditi u milion razlicitih nacina, prostih, komplikovanih.
Ako koristis OpenMP onda je jos lakse jer imaju dosta toga integrisanog u vezi toga gde ces samo zabraniti koriscenje oruzija. SA je na omp koliko sam upucen.
https://www.open.mp/docs/scripting/functions/AllowPlayerWeapons
Ako mene licno pitas, samo bih napravio zonu i postavio ukoliko opali metak da izgubi svo oruzije. Takodje kada udje u safezonu jedan SendClientMessage koji ce ga upozoriti da je usao u safezonu i da ce se to dogoditi, takodje kada izadje iz iste da je izasao, dodao blinkanje kada udje i zaustavio isto kada izadje.
Znam, setio sam se u momentu gde ima jos takav slican sistem. Da ne bih ga zbunio eto, samo sam prosledio kodove, mislim da mu je tako lakse.
19. Jan. 2025.
Dragi wrote on January 19, 2025, 1:37 pm:
Znam, setio sam se u momentu gde ima jos takav slican sistem. Da ne bih ga zbunio eto, samo sam prosledio kodove, mislim da mu je tako lakse.
Samo optimisticno 😎
19. Jan. 2025.
Hvala puno obojci <3 drago mi je sto ima neko ko pomaze nama pocetnicima udaricu sistem kasnije
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava