SA-MP Forums Archive
Массив. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Массив. (/showthread.php?tid=534245)



Массив. - Skin123 - 28.08.2014

PHP Code:
format(string,128,"» Звание: %s Следующие Звание: %s (%d/%d опыт)",Rank[RankID][0],Rank[RankID++][0],GetPlayerScore(pid),RankData[RankID++][1]); 
Не знаю почему но эта строка не отбражается... crashdetect пишет выход за пределы массива.
Не важно как мы получаем RankID, так как с другими случаеми работает...(то есть действия форматирования другие)


Re: Массив. - White_116 - 28.08.2014

Предоставь лог crashdetect-a, так же объявление RankData


Re: Массив. - Skin123 - 28.08.2014

Quote:
Originally Posted by White_116
View Post
Предоставь лог crashdetect-a, так же объявление RankData
Не могу, удалил уже.. Пишет что выходит за пределы массива..
Если убраь инкременты, то все в порядке..
PHP Code:
new Rank[][] = 
{
{
"Soldat",50},
...................
...................
{
"General",10000}
}; 



Re: Массив. - White_116 - 28.08.2014

Quote:
Originally Posted by Skin123
View Post
PHP Code:
new RankData[][] = 
{
{
"Soldat",50},
...................
...................
{
"General",10000}
}; 
Не верное создание массива.
Используй enum


Re: Массив. - Skin123 - 28.08.2014

Quote:
Originally Posted by White_116
View Post
Не верное создание массива.
Используй enum
Почему?
А если ранков очень много?


Re: Массив. - White_116 - 28.08.2014

Quote:
Originally Posted by Skin123
View Post
Почему?
Учи основы программирования или забудь про него совсем.


Re: Массив. - Skin123 - 28.08.2014

Тогда как сделать двухмерный enum?


Re: Массив. - OKStyle - 29.08.2014

Данные разного типа в один массив не засунешь без enum.


Re: Массив. - James_Braga - 29.08.2014

PHP Code:
enum Info // Количество столбцов
{
    
text[32], // тип столбца - строчный
    
value    // тип столбца - числа
}
new 
RankData[/*Количесто строк*/][Info] =
{
    {
"Soldat",50},
    
//...................
    //................... 
    
{"General",10000}
}
format(string,128,"» Звание: %s Следующие Звание: %s (%d/%d опыт)",Rank[RankID][text],Rank[RankID++][text],GetPlayerScore(pid),RankData[RankID++][value]); 



Re: Массив. - Stepashka - 29.08.2014

Quote:
Originally Posted by James_Braga
View Post
PHP Code:
enum Info // Количество столбцов
{
    
text[32], // тип столбца - строчный
    
value    // тип столбца - числа
}
new 
RankData[/*Количесто строк*/][Info] =
{
    {
"Soldat",50},
    
//...................
    //................... 
    
{"General",10000}
}
format(string,128,"» Звание: %s Следующие Звание: %s (%d/%d опыт)",Rank[RankID][text],Rank[RankID++][text],GetPlayerScore(pid),RankData[RankID++][value]); 
Количество столбцов!!!
Это объявление enum, с количеством столбцов ну никак не связано!
Не строка, а массив.
Не число, а ячейка.


Re: Массив. - James_Braga - 29.08.2014

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
Количество столбцов!!!
Это объявление enum, с количеством столбцов ну никак не связано!
Не строка, а массив.
Не число, а ячейка.
Я рад, что вы знайте терминологию, в данном случаи это не имеет значения.