|
Dav1d[B]lane |
-
- Полное имя: iNkViZiToR
- Страна: Российская Федерация
- Город: Los Santos
- Пол: Мужчина
- Дом.страница: gtaproclan.ru
|
|
Дата: Понедельник, 07.12.2009, 21:06 | Сообщение # 1
|
|
Группа: Админ
Сообщений: 314
| Code #include <a_samp>
#define SNOW_OBJECT 3003 // ИД обьекта снега #define SLOTS 500 // Максимум игроков #define MAX_SNOW 20 // Максимум снежынок
static snowObject[SLOTS][MAX_SNOW+1]; static snowActive[SLOTS];
public OnFilterScriptExit() { for(new i = 0; i < SLOTS; i++) { if(!IsPlayerConnected(i) || IsPlayerNPC(i)) continue; DestroySnow(i); } return 1; }
public OnPlayerDisconnect(playerid, reason) { if(!IsPlayerNPC(playerid)) DestroySnow(playerid); }
public OnPlayerSpawn(playerid) { CreateSnow(playerid); }
public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp(cmdtext, "/snow")) { if(!snowActive[playerid]) { CreateSnow(playerid); }else{ DestroySnow(playerid); } return 1; } return 0; }
stock CreateSnow(playerid) { if(GetPlayerState(playerid) == 0 || GetPlayerState(playerid) > 6) return;
if(GetPlayerInterior(playerid) != 0) return;
if(snowActive[playerid] == 1) return;
snowActive[playerid] = 1;
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
for(new i = 0; i < MAX_SNOW; i++) { snowObject[playerid][i] = CreatePlayerObject(playerid, SNOW_OBJECT, x, y , z , 0, 0, 0); RecreateSnow(playerid, snowObject[playerid][i]); } }
stock DestroySnow(playerid) { snowActive[playerid] = 0;
for(new i = 0; i < MAX_SNOW; i++) { DestroyPlayerObject(playerid, snowObject[playerid][i]); } }
stock RecreateSnow(playerid, objectid) { if(snowActive[playerid] == 0) return;
new Float:x, Float:y, Float:z, Float:objX, Float:objY, Float:objZ; GetPlayerPos(playerid, x, y, z);
new i = random(random(100));
if(i < 20) { SetPlayerObjectPos(playerid, objectid, x - random(random(100)), y + random (random(70)), z + random(20)+20); } else if(i >= 21 && i <= 30) { SetPlayerObjectPos(playerid, objectid, x + random(random(100)), y + random (random(70)), z + random(20)+20); } else if (i >= 31 && i < 40) { SetPlayerObjectPos(playerid, objectid, x + random(random(70)), y - random (random(100)), z + random(20)+20); } else { SetPlayerObjectPos(playerid, objectid, x + random(random(120)), y + random (random(30)), z + random(20)+20); }
GetPlayerObjectPos(playerid, objectid, objX, objY, objZ);
MovePlayerObject(playerid, objectid, objX, objY, z-10, random(70)+5);
}
public OnPlayerObjectMoved(playerid, objectid) {
if(snowActive[playerid] == 0) return 1;
for(new i = 0; i < MAX_SNOW; i++) { if(objectid == snowObject[playerid][i]) { RecreateSnow(playerid, objectid); return 1; } } return 1; } Автор: Jay
- [GM]SATDM - Current Release: SATDM 1.0 Development: SATDM 1.1b
|
|
| |
|
Dav1d[B]lane |
-
- Полное имя: iNkViZiToR
- Страна: Российская Федерация
- Город: Los Santos
- Пол: Мужчина
- Дом.страница: gtaproclan.ru
|
|
Дата: Понедельник, 07.12.2009, 21:10 | Сообщение # 2
|
|
Группа: Админ
Сообщений: 314
|
- [GM]SATDM - Current Release: SATDM 1.0 Development: SATDM 1.1b
|
|
| |
|