23.11.2012, 16:10
pawn Код:
stock SetPlayerRandomSpaw(playerid)
{
#define minrand(%1,%2) random(%2 - %1) + %1
#define OFFSET_ARENA_0 0
#define OFFSET_ARENA_1 20
#define OFFSET_ARENA_2 40
#define OFFSET_ARENA_3 60
#define OFFSET_ARENA_4 80
#define OFFSET_ARENA_5 100
#define OFFSET_ARENA_6 120
#define OFFSET_ARENA_7 140
#define OFFSET_ARENA_8 160
#define OFFSET_ARENA_9 180
#define OFFSET_ARENA_10 200
#define OFFSET_ARENA_11 220
#define OFFSET_ARENA_12 240
#define OFFSET_ARENA_13 260
enum e_RANDOM_SPAWNS
{
Float:RANDOM_SPAWN_X,
Float:RANDOM_SPAWN_Y,
Float:RANDOM_SPAWN_Z,
Float:RANDOM_SPAWN_A
};
static const
pSpawns[ ][e_RANDOM_SPAWNS] = {
{1528.6870, -1677.8590, 5.8906, 269.7846},
{1568.5801, -1694.1567, 5.8906, 178.7878},
{2868.0364, -1963.1244, 11.1094, 89.7539},
{2421.4587, -1221.8812, 25.3915,178.7695},
{1022.4273, -1126.0277, 23.8701,180.2247},
{384.7821, -1817.8561, 7.8410, 89.5653},
{892.4402, -1639.7489, 14.9586,180.2620},
{1154.3257, -1768.3835, 16.5938, 0.2832},
{1182.6726, -1323.5621, 13.5788,269.7216},
{2025.4454, -1423.0984, 16.9922,134.1146}
};
new r;
switch (mData[LMS_ARENA_ID])
{
case 0: r = minrand(OFFSET_ARENA_0, OFFSET_ARENA_1);
case 1: r = minrand(OFFSET_ARENA_2, OFFSET_ARENA_3);
case 2: r = minrand(OFFSET_ARENA_4, OFFSET_ARENA_5);
case 3: r = minrand(OFFSET_ARENA_6, OFFSET_ARENA_7);
case 4: r = minrand(OFFSET_ARENA_8, OFFSET_ARENA_9);
case 5: r = minrand(OFFSET_ARENA_10, OFFSET_ARENA_11);
case 6: r = minrand(OFFSET_ARENA_12, OFFSET_ARENA_13);
case 7: r = minrand(OFFSET_ARENA_13, sizeof(pSpawns));
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
}
SetPlayerPosEx(playerid, pSpawns[r][RANDOM_SPAWN_X], pSpawns[r][RANDOM_SPAWN_Y], pSpawns[r][RANDOM_SPAWN_Z], pSpawns[r][RANDOM_SPAWN_A], 0, 0);
}