Lag 0 Опубликовано 7 июня, 2019 Добрый день уважаемые форумчане, я еще новичок еще во всем этом, но потихоньку обучаюсь, сегодня у меня возникла небольшая проблема, решил сделать спавны, но тут ошибочки, я знаю, что они означают, но я не могу понять как правильно подобрать индекс, который выставляется в самом спавне. Вот сами спавны 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 29 Опубликовано 7 июня, 2019 Начнем с того, что у тебя нету 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 116 Опубликовано 7 июня, 2019 Как тебе сказали выше у тебя только 6 рандомных спавнов. А ты пытаешься вызвать 9. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Lag 0 Опубликовано 7 июня, 2019 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 101 Опубликовано 7 июня, 2019 Ерунду сказали. Спавнов 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 число к каждому набору 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Lag 0 Опубликовано 7 июня, 2019 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 число к каждому набору Спасибо, сейчас я понял как это работает, благодарю. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты