Balkan SA:MP

San Andreas Multiplayer - www.sa-mp.com => Tutorijali u vezi SA-MPa => Temu započeo: Levu poslato Novembar 30, 2019, 17:21:47 POSLE PODNE

Naslov: Dodavanje/uklanjanje objekata iz streama | Paljenje i gasenje snega igracu
Poruka od: Levu poslato Novembar 30, 2019, 17:21:47 POSLE PODNE
Danas cu vam pokazati jedan 'sistemcic' koji sam odradio proslu zimu za Zaru. Rec je o paljenju/gasenju snega igracu, odnosno izbacivanje odredjenih objekata iz streama igraca...
Tutorial nije namenjen za pocetnike jer neke osnovne stvari necu detaljno opisivati.

Prvo pravimo array za objekte(ovo ispod je samo primer, 20ak objekata)
[pawn]new snegUlice[20];[/pawn]

Zatim kreiramo objekte
[pawn]
        snegUlice[0] = snow_CreateDynamicObject(5145, 2716.79687, -2447.87500, 2.15625, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00); 
   snegUlice[1] = snow_CreateDynamicObject(5146, 2498.19531, -2408.00781, 1.80468, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00); 
   snegUlice[2] = snow_CreateDynamicObject(5147, 2533.76562, -2330.82812, 22.19531, 0.00000, 0.00000, 315.00000, -1, -1, -1, 300.00, 300.00); 
   snegUlice[3] = snow_CreateDynamicObject(3753, 2702.39843, -2324.25781, 3.03906, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00); 
   snegUlice[4] = snow_CreateDynamicObject(5333, 2374.38281, -2171.46875, 21.17968, 0.00000, 0.00000, 135.00000, -1, -1, -1, 300.00, 300.00); 
   snegUlice[5] = snow_CreateDynamicObject(5191, 2381.44531, -2397.43750, 6.67187, 0.00000, 0.00000, 45.00000, -1, -1, -1, 300.00, 300.00); 
   snegUlice[6] = snow_CreateDynamicObject(5176, 2521.53906, -2606.95312, 17.64843, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00); 
   snegUlice[7] = snow_CreateDynamicObject(3753, 2615.10937, -2464.61718, 3.03906, 0.00000, 0.00000, 180.00000, -1, -1, -1, 300.00, 300.00); 
   snegUlice[8] = snow_CreateDynamicObject(3753, 2748.01562, -2571.59375, 3.03906, 0.00000, 0.00000, 180.00000, -1, -1, -1, 300.00, 300.00); 
   snegUlice[9] = snow_CreateDynamicObject(5115, 2523.40625, -2217.46093, 12.07031, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00); 
   snegUlice[10] = snow_CreateDynamicObject(3753, 2511.47656, -2256.03125, 3.03906, 0.00000, 0.00000, 180.00000, -1, -1, -1, 300.00, 300.00); 
   snegUlice[11] = snow_CreateDynamicObject(5108, 2333.55468, -2308.71093, 3.27343, 0.00000, 0.00000, 45.00000, -1, -1, -1, 300.00, 300.00); 
   snegUlice[12] = snow_CreateDynamicObject(5353, 2543.75000, -2163.78906, 14.20312, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00); 
   snegUlice[13] = snow_CreateDynamicObject(5250, 2743.43750, -2120.64062, 15.42187, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00); 
   snegUlice[14] = snow_CreateDynamicObject(5184, 2699.03125, -2227.74218, 31.42968, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00); 
   snegUlice[15] = snow_CreateDynamicObject(5114, 2831.68750, -2161.52343, 5.33593, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00); 
   snegUlice[16] = snow_CreateDynamicObject(5125, 2397.82031, -2183.05468, 15.33593, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00); 
   snegUlice[17] = snow_CreateDynamicObject(5124, 2278.89843, -2286.31250, 15.33593, 0.00000, 0.00000, 45.00000, -1, -1, -1, 300.00, 300.00); 
   snegUlice[18] = snow_CreateDynamicObject(3753, 2299.18750, -2405.39843, 3.03906, 0.00000, 0.00000, 225.00000, -1, -1, -1, 300.00, 300.00); 
   snegUlice[19] = snow_CreateDynamicObject(3753, 2368.16406, -2523.86718, 3.03906, 0.00000, 0.00000, 90.00000, -1, -1, -1, 300.00, 300.00);  [/pawn]
Ja sam koristio funkciju za teksturisanje objekta i pomeranje od glavnog kopiranog
[pawn]
snow_CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, vw, ent, pid, Float:ddist=300.0, Float:vrdist=300.0)
{
   new object = CreateDynamicObject(modelid, x + 0.05, y + 0.075, z + 0.1, rx, ry, rz, vw, ent, pid, ddist, vrdist);
   for(new a = 0; a < 15; a++) SetDynamicObjectMaterial(object, a, 17944, "lngblok_lae2", "white64bumpy", 0);
   return object;
}[/pawn]
I sad dolazimo do glavnog dela koji je mucio mnoge skriptere koji su mi se javili sa pitanjem kako to da urade
[pawn]CMD:upalisneg(playerid)
{
   for(new i = 0; i < sizeof(snegUlice); i++) Streamer_AppendArrayData(STREAMER_TYPE_OBJECT, snegUlice, E_STREAMER_PLAYER_ID, playerid);//prolazimo kroz svaki objekat iz niza i primenjujemo streamer funkciju Streamer_AppendArrayData kojom cemo da ubacimo te objekte u stream igracu
   return 1;
}

CMD:ugasisneg(playerid)
{
   for(new i = 0; i < sizeof(snegUlice); i++) Streamer_RemoveArrayData(STREAMER_TYPE_OBJECT, snegUlice, E_STREAMER_PLAYER_ID, playerid); //prolazimo kroz svaki objekat iz niza i primenjujemo streamer funkciju Streamer_RemoveArrayData kojom cemo da izbacimo te objekte iz streama igracu
   return 1;
}[/pawn]

(https://uploaduj.me/Storage/Slike/Uploads/dmLUJ-1575130863.png)
Naslov: Odg: Dodavanje/uklanjanje objekata iz streama | Paljenje i gasenje snega igracu
Poruka od: Сараб poslato Novembar 30, 2019, 18:51:33 POSLE PODNE
Odlicno brate .
Naslov: Odg: Dodavanje/uklanjanje objekata iz streama | Paljenje i gasenje snega igracu
Poruka od: over poslato Novembar 30, 2019, 21:18:34 POSLE PODNE
odlicno.
Naslov: Odg: Dodavanje/uklanjanje objekata iz streama | Paljenje i gasenje snega igracu
Poruka od: Fogfiend.dev poslato Novembar 30, 2019, 22:43:34 POSLE PODNE
pohvale za trud
Naslov: Odg: Dodavanje/uklanjanje objekata iz streama | Paljenje i gasenje snega igracu
Poruka od: Ino42O poslato Novembar 30, 2019, 22:52:53 POSLE PODNE
Sweet, al i ovo istu stvar radi https://github.com/samp-incognito/samp-streamer-plugin/wiki/Natives-(Miscellaneous)#streamer_toggleitemplayerid-type-id-toggle vjerovatno se svodi na istu stvar u pozadini
Naslov: Odg: Dodavanje/uklanjanje objekata iz streama | Paljenje i gasenje snega igracu
Poruka od: Darkø poslato Novembar 30, 2019, 23:06:59 POSLE PODNE
odlicno
Naslov: Odg: Dodavanje/uklanjanje objekata iz streama | Paljenje i gasenje snega igracu
Poruka od: Levu poslato Novembar 30, 2019, 23:21:11 POSLE PODNE
Hvala svima!
Citat: Ino42O poslato Novembar 30, 2019, 22:52:53 POSLE PODNE
Sweet, al i ovo istu stvar radi https://github.com/samp-incognito/samp-streamer-plugin/wiki/Natives-(Miscellaneous)#streamer_toggleitemplayerid-type-id-toggle vjerovatno se svodi na istu stvar u pozadini
Da, definitivno rade istu stvar... Prvo sam naleteo na ove koje sam koristio, pa posle nisam nesto ni istrazivao mnogo, ali ima mnogo korisnih funkcija koje ljudi uopste ne koriste...
Naslov: Odg: Dodavanje/uklanjanje objekata iz streama | Paljenje i gasenje snega igracu
Poruka od: Ino42O poslato Novembar 30, 2019, 23:33:41 POSLE PODNE
Citat: Levu poslato Novembar 30, 2019, 23:21:11 POSLE PODNE
Hvala svima!Da, definitivno rade istu stvar... Prvo sam naleteo na ove koje sam koristio, pa posle nisam nesto ni istrazivao mnogo, ali ima mnogo korisnih funkcija koje ljudi uopste ne koriste...

Istina istina
Naslov: Odg: Dodavanje/uklanjanje objekata iz streama | Paljenje i gasenje snega igracu
Poruka od: BitchLasagnazz poslato Decembar 01, 2019, 00:44:39 PRE PODNE
Po meni je winter editon sa snegom nagluplja moguca stvar, ali ovo je korisno za streamovane objekte, ukoliko neko recimo odradi retexture opstine i smeta mu retexture moze ostaviti na default, tako nesto mi je recimo korisno. Svakako hvala sto si podelio ovo sa skripterima.  :D