|
Random Spawn tutorial
by ALIEN
Előszó: Üdv, most leírom saját tudásom és tapasztalatom szerint azt hogy hogy kell Random Spawn-ot vagyis véletlenszerű le spawnolást készíteni.
Magyarázat:
random: véletlen szerű dolog.
spawn: az amikor skin választás után letesz a játék valahol, vagyis lespawnolsz.
Random spawn: véletlen szerű lespawnolás
1. Lépés (alap)
Mentsd el azokat a pontokat a szerveren, ahol akarod hogy spawnoljon a játékos. (/save)
Nyisd meg a saveposition.txt (általában a GTA:SA mappájában szokott lenni), és ott kell lennie az elmentett pozíciódnak ami jó esetben így néz ki:
AddPlayerClass(101,722.3772,-1477.2856,5.4688,272.3814,0,0,0,0,0,0); Ebből nekünk az x, y, z koordináta kell ami az első argumentum(első tag), után van:
722.3772,-1477.2856,5.4688 Ez az x, y, z koordináta, vesszővel elválasztva a tagok.
2. Lépés
Nyissuk meg game módunkat vagy szkriptünket, és hozzunk létre egy változót amiben tároljuk a pozíciókat, (ezt valahova a mód/szkript elejére) :
new Float:RandomSpawn[3][3] =
{
{2493.1816,-1668.0820,13.3438},
{2509.7822,-1687.0049,13.5684},
{2498.8340,-1644.2900,13.7826}
}; Magyarázat:
new Float = változó, tagokat tárolunk benne
RandomSpawn = tetszőleges név, (bármi lehet)
[3][3] = (ide úgy tudom nem muszáj számokat írni hagyhatjuk [][] így is, de jobb ha írunk), LÁSSUK A JELENTÉSÉT: [3] ez a pozíciók száma, én 3-at használok(ha többet használsz akkor egyértelműen annyit írsz oda is), a másik [3] pedig az tagok száma az x, y, z tagoknak a számát kell oda írni
{2493.1816,-1668.0820,13.3438},
{2509.7822,-1687.0049,13.5684},
{2498.8340,-1644.2900,13.7826} = ezek a pozíciók, beírásuk úgy történik meg hogy a lementett x, y, z koordinátákat egy kapcsos zárójellel kezded, és fejezed be, és egy vesszőt raksz utána, de vigyázz az utolsó után nem kell vessző mert felsorolás. példa: {x, y , z},
3. Lépés
Létrehoztuk a változónkat, akkor most használjuk is.
Tekerjünk egerünk görgőjével az OnPlayerSpawn -hoz, és állítsuk be hogy a játékosaink, véletlenszerűen spawnoljanak.
Hozzunk létre egy új változót:
new rand = random(sizeof(RandomSpawn)) Magyarázat:
random(sizeof(RandomSpawn)) = egy tömbe tároljuk a RandomSpawn pozícióit
Utána jön a SetPlayerPos függvény, amivel beállítjuk hogy a játékos hova spawnoljon. Használata:
SetPlayerPos(playerid, x, y, z); Nekünk az x, y, z helyére azokat a koordinátákat kell megadni ami a RandomSpawn-ban van, ezért hoztunk létre változókat:
SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]); Magyarázat:
[rand] = ez az a változó amiben lehívjuk a RandomSpawn-t mint változót
[0] = ez az amivel lehívjuk a RandomSpawn tagjait, vagyis, a megadott pozíciók koordinátáit, itt a 0-ásat vagyis az X koordinátát hívjuk le, [1]-nél a Y koordinátáját, [2]-nél pedig az Z koordinátát hívjuk le.
Ezzel meg is volnánk, lássuk a teljes munkát:
new Float:RandomSpawn[3][3] =
{
{2493.1816,-1668.0820,13.3438},
{2509.7822,-1687.0049,13.5684},
{2498.8340,-1644.2900,13.7826}
};
public OnPlayerSpawn(playerid)
{
new rand = random(sizeof(RandomSpawn));
SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
return 1;
}
Remélem segítettem valakinek ezzel a bemutatóval!
Ha kérdésetek van, vagy valamit rosszul írtam létszíves szóljatok.
Köszönöm.
Üdv, ALIEN voltam.
| |