Csütörtök, 2025-07-03, 5:23 PM
Üdvözöllek Vendég | RSS
Az én honlapom
Főoldal | Tűzijáték | Regisztráció | Belépés
Honlap-menü
Mini-chat
Körkérdésünk
Milyen az oldal?
Összes válasz: 18
Statisztika

Online összesen: 1
Vendégek: 1
Felhasználók: 0
Tűzijáték

Most leírom, hogy hogyan tudtok timer segítségével tüzijátékot csinálni.

Először is, menj egy helyre, elötte szerezz egy JetPack-et vagy valamit amivel a levegőbe tudsz emelkedni, tök mind1, hogy miaz, mert ha heli vel mész akkor is a 2. 3. 4. szám kell majd a koordinátából.
Nah, ha megvan a hely, akkor /save, vagy /s de több helyre is.
És most jön a moddingos része (bár akinek scriptes...), megnyitod a SA Mappájából a Savedpositions.txt -t és kikeresed a koordinátákat amiket lementettél. Nekem pl. most ez van:
AddStaticVehicle(522,1440.0098,2610.5232,10.3832,90.4793,8,82);
AddStaticVehicle(522,-2057.9146,237.2417,34.9728,359.0133,39,106);
AddPlayerClass(217,-2442.3838,726.3783,35.0223,178.5225,0,0,0,0,0,0);
AddPlayerClass(217,-2442.0784,721.7671,35.0223,357.8958,0,0,0,0,0,0);

Amint látjátok zölddel, a tipusokat jelöltem, ki. AddStatic Vehicle és AddPlayerClass az első a kocsiban lévő helyzetmentés-t jelenti a második, meg a gyalog Jetpack-kel, esetleg egy fly scriptel való gyalogosan mentett helyzetet. Mindegyik jó, mert a 2. 3. 4. koordináta kell nekünk, ugye az 1. az X tengely-t jelöli ami Északtól-Délre helyezkedik, a 2. a Nyugattól-Keletig helyezkedő tengelyt jelöli, a 3. meg a Magasságát. Nah ha most másoljuk ki az adatokból, a zöld-del jelölteket, és lépjünk be módunkba / scriptünkbe. Először mint, minden Timer-t ezt is forward funkcióval kell kezdeni. Írjunk forward tuzi_timer();Itt nem muszály tuzi_timer nevet használni. De viszont itt több timer-t használunk, hogy mindig más időben máshogy robbanjon. Most akkor így állok:
forward tuzi_timer();

Most forward oljunk még 1-et, de lehet akár többet is, ez nincs megszabva:
Én, most forward tuzi_timer2(); -t használok, tehát így állok:
forward tuzi_timer();
forward tuzi_timer2();

Most a Timerekhez rendeljük, hozzá a robbanás-t, tehát egy új public tuzi_timer();
Tehát:
forward tuzi_timer();
forward tuzi_timer2();

public tuzi_timer();
{

És most jön, hozzá, a robbanás, amit a CreateExplosion paranccsal, tudunk elérni. Ha beírtuk a nyitójel( { ) alá, hogy CreateExplosion(ide, kell az egyik 3 koordináta, amit kimásoltál, az egyik cucc-ból, majd vessző ( , ) és a típusa van több féle, de asszem, hogy csak 7-ig van, már nemtom, mee nincs wiki, és az utolsó helyre megint vessző és a Radius / Átmérő jön); A radius / átmérő, az arra jó, hogy tudod vele szabályozni a robbanás nagyságát. Nah most én így állok, mert az első cuccból és a 3.-ból másoltam, ki a koordinátát:
forward tuzi_timer();
forward tuzi_timer2();

public tuzi_timer();
{
CreateExplosion(1440.0098, 2610.5232, 10.3832, 7, 10.0);
CreateExplosion(-2442.3838, 726.3783, 35.0223, 7, 10.0);
}

Ezzel, 2 robbanást elhelyeztünk egy timerben, nah most jön a tuzi_timer()2;Tehát én, most a 2. és a 4. cuccból vettem, ki a koordinátákat, mert azokat még nem másoltam bele az első timerbe. Szóval:
forward tuzi_timer();
forward tuzi_timer2();

public tuzi_timer()
{
CreateExplosion(1440.0098, 2610.5232, 10.3832, 7, 10.0);
CreateExplosion(-2442.3838, 726.3783, 35.0223, 7, 10.0);
}

public tuzi_timer2()
{
CreateExplosion(-2057.9146, 237.2417, 34.9728, 7, 10.0);
CreateExplosion(-2442.0784, 721.7671, 35.0223, 7, 10.0);
}

Nah, most mind1-ik timerhez hozzá van rendelve a robbanás, most nem kell mást tennünk, mint, hogy egy parancs-ba rakjuk őket. Magyarán, ha beütöm ezt meg ezt a parancsot, akkor tüzijáték lesz. Kezdjük a parancsot public OnPlayerCommandText(playerid, cmdtext[]) -el. szal, most így állok a paranccsal:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/tuzijatek", true) ==0) {
if(IsPlayerAdmin(playerid))
{
SetTimer("tuzi_timer", 3000, false);
SetTimer("tuzi_timer2" 6000, false);
}
return 1;
}

És kész, is van az egész, de azért még gyorsan elmagyarázok, minden-t hogy mi mi. Szóval if(IsPlayerAdmin(playerid)) -al, csak az RCON tudja beindítani a tüzijátékot, de nem muszály odaírni, csak akkor mindenki be fogja indítani. SetTimer("tuzi_timer",3000, false); -nál pedig több adat is van. Kezdjük, a SetTimer-rel, az indítja be a Timer-t az hozza um. "mozgásba", aztán van a "tuzi_timer" , ez arra való, hogy a forwardol-t timer-t kiszemelje, és "közölje" a SetTimer-nek, hogy ezt kell elindítani. Van még 3000 ez a szám az azon bellüli szám, hogy mennyi ideig menyjen a dolog. Aztán flase , ami meghatározza, hogy ismőtlödjön e vagy nem, ha flase akkor, nem ismétlődik, ha true akkor, viszont ismétlődni fog, a true, jah és a 3000 nek, csak akkor van értelme, ha mögötte true van, de inkább legyen ienkor is ott különben a PAWNO Error-t talál. Nah, hát ennyi volt ez a rövid kis tutorial, remélem minden-t értettetek.

forrás: hanga.klanlap.hu
Belépés
Keresés
Barátaink:
  • Honlap létrehozása
  • Ingyenes online játékok
  • Online Munkaasztal
  • Oktató videók
  • uCoz Rajongók Oldala
  • Copyright MyCorp © 2025

    A uCoz tárhelye