Перейти к содержанию
Lag

Помогите решить ошибки.

Рекомендуемые сообщения

Lag

Добрый день уважаемые форумчане, я еще новичок еще во всем этом, но потихоньку обучаюсь, сегодня у меня возникла небольшая проблема, решил сделать спавны, но тут ошибочки, я знаю, что они означают, но я не могу понять как правильно подобрать индекс, который выставляется в самом спавне. 

Вот сами спавны

new Float:RandomSpawns[][] =
{
{2094.4644, -2038.8799, 18.8843}, // random
{1907.3993, -2233.1213, 11.1631}, //
{1966.4454, -2604.2407, 10.8193}, // random
{2338.9580, -2624.6294, 21.9658}, // random
{2717.3552, -2417.2158, 21.8082},
{2612.5891, -1609.4968, 23.5614},
{2374.6851, -1902.1250, 22.0388}// random
};

 А это у меня находится в OnPlayerSpawn, на них и идет ошибка.

//спавн рандомный
new Random = random(sizeof(RandomSpawns));
SetPlayerPos(playerid, RandomSpawns[Random][0], RandomSpawns[Random][1],RandomSpawns[Random][2], RandomSpawns[Random][3],RandomSpawns[Random][4],RandomSpawns[Random][5],RandomSpawns[Random][6],RandomSpawns[Random][7]);
SetPlayerFacingAngle(playerid, RandomSpawns[Random][9]);
///

Вот сама ошибка.

C:\Users\****\Desktop\CRMP\gamemodes\.pwn(6734) : error 032: array index out of bounds (variable "RandomSpawns")
C:\Users\***\Desktop\ CRMP\gamemodes.pwn(6735) : error 032: array index out of bounds (variable "RandomSpawns")
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

Буду благодарен тому кто поможет исправить и объяснит. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
#Storm

Начнем с того, что у тебя нету RandomSpawns 7,8,9.. У тебя могут использоваться только эти :

RandomSpawns[Random][0]

RandomSpawns[Random][1]

RandomSpawns[Random][2]

RandomSpawns[Random][3]

RandomSpawns[Random][4]

RandomSpawns[Random][5]

RandomSpawns[Random][6]

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Shao

Как тебе сказали выше у тебя только 6 рандомных спавнов. А ты пытаешься вызвать 9.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Lag
18 минут назад, #Storm сказал:

Начнем с того, что у тебя нету RandomSpawns 7,8,9.. У тебя могут использоваться только эти :

RandomSpawns[Random][0]

RandomSpawns[Random][1]

RandomSpawns[Random][2]

RandomSpawns[Random][3]

RandomSpawns[Random][4]

RandomSpawns[Random][5]

RandomSpawns[Random][6]

так, более понятно стало, но соображаю туго, то есть должен вызвать все так ? 

//спавн рандомный
new Random = random(sizeof(RandomSpawns));
SetPlayerPos(playerid, RandomSpawns[Random][0], RandomSpawns[Random][1],RandomSpawns[Random][2], RandomSpawns[Random][3],RandomSpawns[Random][4],RandomSpawns[Random][5],RandomSpawns[Random][6]);
SetPlayerFacingAngle(playerid, RandomSpawns[Random][7]);

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
16Shadows

Ерунду сказали. Спавнов 6, но для них индекс берётся функцией random, поэтому компилятор не смог бы определить ошибку.

У Вас координаты спавна заданы 3 числами - X,Y,Z. Для функции SetPlayerPos нужно передавать id игрока и эти 3 координаты. А 4 - угла поворота - для функции SetPlayerFacingAngle у Вас нет.

//спавн рандомный
new Random = random(sizeof(RandomSpawns));
SetPlayerPos(playerid, RandomSpawns[Random][0], RandomSpawns[Random][1],RandomSpawns[Random][2]);
//SetPlayerFacingAngle(playerid, RandomSpawns[Random][4]); //Если добавите 4 число к каждому набору

 

  • Thanks 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Lag
2 минуты назад, 16Shadows сказал:

Ерунду сказали. Спавнов 6, но для них индекс берётся функцией random, поэтому компилятор не смог бы определить ошибку.

У Вас координаты спавна заданы 3 числами - X,Y,Z. Для функции SetPlayerPos нужно передавать id игрока и эти 3 координаты. А 4 - угла поворота - для функции SetPlayerFacingAngle у Вас нет.


//спавн рандомный
new Random = random(sizeof(RandomSpawns));
SetPlayerPos(playerid, RandomSpawns[Random][0], RandomSpawns[Random][1],RandomSpawns[Random][2]);
//SetPlayerFacingAngle(playerid, RandomSpawns[Random][4]); //Если добавите 4 число к каждому набору

 

Спасибо, сейчас я понял как это работает, благодарю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.