Szerző Téma: [Tutorial] Random spawn  (Megtekintve 4135 alkalommal)

Nem elérhető ALIEN

  • 1163
    • Profil megtekintése
[Tutorial] Random spawn
« Dátum: 2011. március 16. - 19:22:36 »
+2 Show voters
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
 

 = 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.

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
[Tutorial] Random spawn
« Válasz #1 Dátum: 2011. március 16. - 19:26:01 »
0 Show voters

Nem elérhető Mambo

  • 4239
    • Profil megtekintése
[Tutorial] Random spawn
« Válasz #2 Dátum: 2011. március 16. - 19:27:19 »
0 Show voters
Idézetet írta: IceMan™ date=1300299961\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"6887\" data-ipsquote-contentclass=\"forums_Topic
http://sampforum.hu/index.php?topic=8808.0  :D
 
neszóldle sokat dolgozott vele. :@
 :amazed:
köszi hogy bõvítetted a SAMPfórumot egy új tutoriallal. Köszönjük.

Nem elérhető ALIEN

  • 1163
    • Profil megtekintése
[Tutorial] Random spawn
« Válasz #3 Dátum: 2011. március 16. - 19:29:11 »
0 Show voters
Ez vicces helyzet, pedig megesküdtem rá hogy Random Spawn tutorialt még nem raktak fel. (Csak véletlenszerû spawn néven  :P ;D)
Nem tudtam hogy van, amúgy nincs mit.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal