Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**********
- **
- ** Snijeg
- **
- **********/
- #include <a_samp>
- #include <streamer>
- #include <zcmd>
- #include <foreach>
- #undef MAX_PLAYERS
- #define MAX_SLOTS 50
- #define MAX_SNOW_OBJECTS 10
- #define UPDATE_INTERVAL 2000
- #define ploop(%0) for(new %0 = 0; %0 < MAX_SLOTS; %0++)
- #define CB:%0(%1) forward %0(%1); public %0(%1)
- #define SCMTA(%0,%1) SendClientMessageToAll(%0,%1)
- new bool:snowOn[MAX_SLOTS char],
- snowObject[MAX_SLOTS][MAX_SNOW_OBJECTS],
- updateTimer[MAX_SLOTS char];
- public OnFilterScriptExit()
- {
- ploop(i)
- {
- if(snowOn{i})
- {
- for(new j = 0; j < MAX_SNOW_OBJECTS; j++) DestroyDynamicObject(snowObject[i][j]);
- KillTimer(updateTimer{i});
- }
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid)
- { foreach(Player,i) {
- if(snowOn{i})
- {
- for(new s = 0; s < MAX_SNOW_OBJECTS; s++) DestroyDynamicObject(snowObject[i][s]);
- snowOn{i} = false;
- KillTimer(updateTimer{i});
- } }
- return 1;
- }
- stock PlayAudioStreamForAll(link[])
- {
- foreach(Player,i)
- {
- PlayAudioStreamForPlayer(i,link);
- }
- return true;
- }
- stock StopAudioStreamForAll()
- {
- foreach(Player,i)
- {
- StopAudioStreamForPlayer(i);
- }
- return true;
- }
- CB:UpdateSnow(playerid)
- {
- foreach(Player,i) {
- if(!snowOn{i}) return false;
- new Float:pPos[3];
- GetPlayerPos(i, pPos[0], pPos[1], pPos[2]);
- for(new s = 0; i < MAX_SNOW_OBJECTS; s++) SetDynamicObjectPos(snowObject[i][s], pPos[0] + random(25), pPos[1] + random(25), pPos[2] - 5); }
- return true;
- }
- stock CreateSnowForAll()
- {
- foreach(Player,i) {
- if(snowOn{i}) return false;
- new Float:pPos[3];
- GetPlayerPos(i, pPos[0], pPos[1], pPos[2]);
- snowObject[i][i] = CreateDynamicObject(18864, pPos[0] + random(25), pPos[1] + random (25), pPos[2] - 5, random(100), random(100), random(100), -1, -1, i);
- snowOn{i} = true;
- updateTimer{i} = SetTimerEx("UpdateSnow", UPDATE_INTERVAL, true, "i", i); }
- return 1;
- }
- stock DeleteSnowForAll()
- {
- foreach(Player,i) {
- if(!snowOn{i}) return false;
- DestroyDynamicObject(snowObject[i][i]);
- KillTimer(updateTimer{i});
- snowOn{i} = false; }
- return true;
- }
- CMD:snowforall(playerid,params[]) {
- foreach(Player,i) {
- if(snowOn{i})
- {
- DeleteSnowForAll();
- StopAudioStreamForAll();
- SCMTA(-1,"Snijeg je prestao padati!");
- }
- else
- {
- CreateSnowForAll();
- PlayAudioStreamForAll("http://www.thebunkerusa.com/LetItSnow.mp3");
- SCMTA(-1,"Snijeg je počeo padati!"); }
- }
- return true; }
Advertisement
Add Comment
Please, Sign In to add comment