Этот урок покажет Вам, как создать рандомный (случайный) спавн игроков.
Шаг 1: Получение координат. Для начала нам нужны координаты спавна игроков, вот легкий способ узнать их: 1. Заходим в игру. 2. Идем на место, где будет спавн игроков 3. Набираем /save, стоя на каждой позиции спавна
Примечание: можно писать не просто /save а /save random, где слово random будет комментирован и вы легко найдете потом то, что вам нужно
Шаг 2: Нахождение координат.
После того, как вы сохранили все координата, вам нужно найти их. Для этого заходим в папку: ...\My Documents\GTA San Andreas User Files\SAMP и открываем там файл savedpositions.txt
Шаг 3: Конвентирование координат. Открыв этот файл мы видим примерно следующее:
Code
AddPlayerClass(101,1249.7258,-2047.9263,59.9209,90.2055,0,0,0,0,0,0); // random AddPlayerClass(101,1241.2084,-2057.6521,60.0190,94.9352,0,0,0,0,0,0); // random AddPlayerClass(101,1241.0105,-2052.6873,59.9975,2.8144,0,0,0,0,0,0); // random AddPlayerClass(101,718.4906,-1477.3024,5.4688,357.9947,0,0,0,0,0,0); // random AddPlayerClass(101,722.3772,-1477.2856,5.4688,272.3814,0,0,0,0,0,0); // random
Так как нам нужны только координаты берем отсюда только значения x, y, z, у нас остается только:
Code
1249.7258, -2047.9263, 59.9209, 90.2055 // random 1241.2084, -2057.6521, 60.0190, 94.9352 // random 1241.0105, -2052.6873, 59.9975, 2.8144 // random 718.4906, -1477.3024, 5.4688, 357.9947 // random 722.3772, -1477.2856, 5.4688, 272.3814// random
Теперь создаем массив с координатами рандомного спавна:
Code
new Float:RandomSpawns[][] = { {1249.7258, -2047.9263, 59.9209, 90.2055}, // random {1241.2084, -2057.6521, 60.0190, 94.9352}, // random {1241.0105, -2052.6873, 59.9975, 2.8144}, // random {718.4906, -1477.3024, 5.4688, 357.9947}, // random {722.3772, -1477.2856, 5.4688, 272.3814} // random };
Шаг 4: Создание самого спавна. Находим в моде public OnPlayerSpawn(playerid) и вставляем это:
Code
new Random = random(sizeof(RandomSpawns)); SetPlayerPos(playerid, RandomSpawns[Random][0], RandomSpawns[Random][1], RandomSpawns[Random][2]); SetPlayerFacingAngle(playerid, RandomSpawns[Random][3]);
Получается примерно следующее:
Code
public OnPlayerSpawn(playerid) { new Random = random(sizeof(RandomSpawns)); SetPlayerPos(playerid, RandomSpawns[Random][0], RandomSpawns[Random][1], RandomSpawns[Random][2]); SetPlayerFacingAngle(playerid, RandomSpawns[Random][3]); return 1; }