Gta San Andreas MultiPlayer (samp) HUN
Navigation
     
Account
Felhasználónév:

Jelszó:
SúgóSúgó
Regisztráció
Elfelejtettem a jelszót
     
Kép
Szerver
Legyen ennek a weboldalnak saját samp szervere?

Igen
Nem
Szavazás állása
Lezárt szavazások
     
Friss

Utolsó módosítás
2013 máj. 19.
12:17

 

     
Más weblapok
 SA:MP Fórum
SA:MP Wiki
Google

     

PAWN Eszközök
     
Random spawn

 

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.4688Ez 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.

     
Nézettség
Indulás: 2010-02-26
     
PAWN/Szkriptek
     
Tutorialok
     
Óra
     
Chat
Kérlek, felesleges dolgokat ne írj a chatbe!
Név:

Üzenet:
:)) :) :@ :? :(( :o :D ;) 8o 8p 8) 8| :( :'( ;D :$
     

Dryvit, hõszigetelés! Vállaljuk családi házak, nyaralók és egyéb épületek homlokzati szigetelését! 0630/583-3168 Hívjon!    *****    A legfrissebb hírek a Super Mario világából és a legteljesebb adatbázis a Mario játékokról.Folyamatosan bõvülõ tartalom.    *****    Gigágá! Márton napján is gyertek a Mesetárba! Nemcsak libát, de kacsát is kaptok! Játsszatok velünk!    *****    A Nintendo a Nintendo Music-kal megint valami kiváló dolgot hozott létre! Alaposan nagyító alá vettem, az eredmény itt.    *****    Leanderek, Parfümök, Olajok, és Szépségápolási termékek! Használd a LEVI10 kupont és kapj 10% kedvezményt!Megnyitottunk    *****    Megjelent a Nintendo saját gyártású órája, a Nintendo Sound Clock Alarmo! Ha kíváncsi vagy, mit tud, itt olvashatsz róla    *****    Megnyílt a webáruházunk! Parfümök, Szépségápolási termékek, Olajok mind egy helyen! Nyitási akciók, siess mert limitált!    *****    Az általam legjobbnak vélt sportanimék listája itt olvasható. Top 10 Sportanime az Anime Odyssey-n!    *****    Pont ITT Pont MOST! Pont NEKED! Már fejlesztés alatt is szebbnél szebb képek! Ha gondolod gyere less be!    *****    Megnyílt a webáruházunk! NYITÁSI AKCIÓK! Tusfürdõ+Fogkrém+Sampon+Izzadásgátló+multifunkcionális balzsam most csak 4.490!    *****    Új mese a Mesetárban! Téged is vár, gyere bátran!    *****    Veterán anime rajongók egyik kedvence a Vadmacska kommandó. Retrospektív cikket olvashatsz róla az Anime Odyssey blogban    *****    Parfümök, Olajok, Párologtatók mind egy weboldalon! Siess mert nyitási AKCIÓNK nem sokáig tart! Nagy kedvezmények várnak    *****    Dryvit, hõszigetelés! Vállaljuk családi házak, nyaralók és egyéb épületek homlokzati szigetelését! 0630/583-3168 Hívjon!    *****    Aki érdeklõdik a horoszkópja után, az nem kíváncsi, hanem intelligens. Rendeld meg most és én segítek az értelmezésben!    *****    A Múzsa, egy gruppi élményei a színfalak mögött + napi agymenések és bölcseletek    *****    KARATE OKTATÁS *** kicsiknek és nagyoknak *** Budapest I. II. XII.kerületekben +36 70 779-55-77    *****    Augusztus 26-án Kutyák Világnapja! Gyertek a Mesetárba, és ünnepeljétek kutyás színezõkkel! Vau-vau!    *****    A horoszkóp elemzésed utáni érdeklõdés, nem kíváncsiság hanem intelligencia. Rendeld meg és nem fogod megbánni. Katt!!!    *****    Cikksorozatba kezdtem a PlayStation történelmérõl. Miért indult nehezen a Sony karrierje a konzoliparban?