Stvari koje trebate znati:
-Izvuc koordinate (X,Y,Z)
(ako ste uopce poceli sa izradom moda ovo vec trebate znati, a ako neznate onda vam preporucujem da citate tutoriale za pocetnike)
Da zapocnemo:
Recimo da ste izvukli nekoliko mjesta za spawn i njihovi koordinati glase:
//(x,y,z)
1783.8303,-1885.3682,13.3921
1364.8800,-1279.0601,13.5469
1210.1868,-904.5264,42.9302
1479.2089,2618.9717,58.7813
1481.1246,-1771.1868,18.7958
Eh, sada ove koordinate bi trebalo postrojiti u funkciju:
new Float:NasumicniSpawn[][] =
{
};Napomena: ova funkcija ide izvan skripte, odnosno ne smjesta se u nitijedan callback(vise o callbackovima mozes pronaci u tutovima za pocetnike)
Kada postrojimo koordinate, trebalo bi izgledati ovako:
new Float:NasumicniSpawn[][] =
{
{1783.8303,-1885.3682,13.3921},
{1364.8800,-1279.0601,13.5469},
{1210.1868,-904.5264,42.9302},
{1479.2089,2618.9717,58.7813},
{1481.1246,-1771.1868,18.7958}
};Primjetite kako svaka koordinata spawna dolazi u svoje viticaste zagrade( { } ), a izad svake zagrade dolazi zarez( , ) osim iza zadnje koordinate.
Å to sada kad smo postrojili nase koordinate?
Eh, sada bi trebalo "narediti" serveru da kada igrac se treba spawnati da ga spawna jendu od nasumicnih lokacija koje smo unijeli. Da bi to napravili trebamo u callback
public OnPlayerSpawn(playerid)
{
return 1;
}unijeti ovo:
new Nasumicno = random(sizeof(NasumicniSpawn));
SetPlayerPos(playerid, NasumicniSpawn, NasumicniSpawn, NasumicniSpawn);
SetPlayerFacingAngle(playerid, NasumicniSpawn);
return 1;i to bi trebalo izgledati ovako
public OnPlayerSpawn(playerid)
{
new Nasumicno = random(sizeof(NasumicniSpawn));
SetPlayerPos(playerid, NasumicniSpawn, NasumicniSpawn, NasumicniSpawn);
SetPlayerFacingAngle(playerid, NasumicniSpawn);
return 1;
}
I upravo ste napravili vas nasumicni spawn!
Eh sada, posto sam puno nasrao a malo objasnio slijedu objasnjenja:
// Ova funkcija nam dopusta da postrojimo nase koordinate te da iz nje mozemo izvuci jednu nasumicnu
new Float:Nasumicni spawn[][] =
{
};
// ovo je callback, sve naredbe koje unesemo unutar tog callbacka ce se izvrsiti kada se igrac spawna
public OnPlayerSpawn(playerid)
{
return 1;
}random(sizeof(NasumicniSpawn)) - > upravo zbog ovoga mi nasumicno izvlacimo lokaciju spawna
NasumicniSpawn[0,1,2] - > stoji za X,Y,Z
NasumicniSpawn - > stoji za rotaciju igraca
SetPlayerPos(playerid, NasumicniSpawn, NasumicniSpawn, NasumicniSpawn); - > s ovom naredbom izvlacimo nasumicni X,Y,Z te postavljamo igraca na tu poziciju
SetPlayerFacingAngle(playerid, RandomSpawns); - > s ovom naredbom izvlacimo nasumicnu rotaciju te je primjenjujemo na igraca
Zavrsne rijeci:
Evo ovo je u grubo objasnjeno kako napraviti nasumicni spawn. Mnogo toga je tu za vas novoga i tu bi trebalo jos objasnjivati ali iskreno meni se neda vise jer su me zabolila leda sjedeci za kompom i pisajuci ovaj tut. Nadam se da ste shvatili i da sam vam pomogao.
