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)Tutorial nije namenjen za pocetnike jer neke osnovne stvari necu detaljno opisivati.
new snegUlice;Zatim kreiramo objekte
snegUlice = snow_CreateDynamicObject(5145, 2716.79687, -2447.87500, 2.15625, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00);
snegUlice = snow_CreateDynamicObject(5146, 2498.19531, -2408.00781, 1.80468, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00);
snegUlice = snow_CreateDynamicObject(5147, 2533.76562, -2330.82812, 22.19531, 0.00000, 0.00000, 315.00000, -1, -1, -1, 300.00, 300.00);
snegUlice = snow_CreateDynamicObject(3753, 2702.39843, -2324.25781, 3.03906, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00);
snegUlice = snow_CreateDynamicObject(5333, 2374.38281, -2171.46875, 21.17968, 0.00000, 0.00000, 135.00000, -1, -1, -1, 300.00, 300.00);
snegUlice = snow_CreateDynamicObject(5191, 2381.44531, -2397.43750, 6.67187, 0.00000, 0.00000, 45.00000, -1, -1, -1, 300.00, 300.00);
snegUlice = snow_CreateDynamicObject(5176, 2521.53906, -2606.95312, 17.64843, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00);
snegUlice = snow_CreateDynamicObject(3753, 2615.10937, -2464.61718, 3.03906, 0.00000, 0.00000, 180.00000, -1, -1, -1, 300.00, 300.00);
snegUlice = snow_CreateDynamicObject(3753, 2748.01562, -2571.59375, 3.03906, 0.00000, 0.00000, 180.00000, -1, -1, -1, 300.00, 300.00);
snegUlice = snow_CreateDynamicObject(5115, 2523.40625, -2217.46093, 12.07031, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00);
snegUlice = snow_CreateDynamicObject(3753, 2511.47656, -2256.03125, 3.03906, 0.00000, 0.00000, 180.00000, -1, -1, -1, 300.00, 300.00);
snegUlice = snow_CreateDynamicObject(5108, 2333.55468, -2308.71093, 3.27343, 0.00000, 0.00000, 45.00000, -1, -1, -1, 300.00, 300.00);
snegUlice = snow_CreateDynamicObject(5353, 2543.75000, -2163.78906, 14.20312, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00);
snegUlice = snow_CreateDynamicObject(5250, 2743.43750, -2120.64062, 15.42187, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00);
snegUlice = snow_CreateDynamicObject(5184, 2699.03125, -2227.74218, 31.42968, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00);
snegUlice = snow_CreateDynamicObject(5114, 2831.68750, -2161.52343, 5.33593, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00);
snegUlice = snow_CreateDynamicObject(5125, 2397.82031, -2183.05468, 15.33593, 0.00000, 0.00000, 0.00000, -1, -1, -1, 300.00, 300.00);
snegUlice = snow_CreateDynamicObject(5124, 2278.89843, -2286.31250, 15.33593, 0.00000, 0.00000, 45.00000, -1, -1, -1, 300.00, 300.00);
snegUlice = snow_CreateDynamicObject(3753, 2299.18750, -2405.39843, 3.03906, 0.00000, 0.00000, 225.00000, -1, -1, -1, 300.00, 300.00);
snegUlice = snow_CreateDynamicObject(3753, 2368.16406, -2523.86718, 3.03906, 0.00000, 0.00000, 90.00000, -1, -1, -1, 300.00, 300.00); Ja sam koristio funkciju za teksturisanje objekta i pomeranje od glavnog kopiranog
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;
}I sad dolazimo do glavnog dela koji je mucio mnoge skriptere koji su mi se javili sa pitanjem kako to da urade
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;
}