Баг в PAWNO, энуменаторы.
#5

Code:
public OnGameModeInit()
{
        testt[ext] = 1111;
        testt[ext1] = 1;
        testt[etc][0] = EOS;
        strins(testt[etc], "123456", 0);
        testt[etc1][0] = EOS;
        strins(testt[etc1], "1234", 0);
        testt[etc2][0] = EOS;
        strins(testt[etc2], "12345678", 0);
        testt[ext2] = 0;
        testt[ext3] = 1341234;
        printf("%d, %d, %s, %s, %d, %d, %s", testt[ext], testt[ext1], testt[etc], testt[etc1], testt[ext2], testt[ext3], testt[etc2]);
        return 1;
}
Таким образом приравниваем и в последующем выводим переменные, которые объявим. Правильный размер etc2 - 9, ибо 8 символов + нуль-терминатор.

1) 1 текстовую переменную укажем последней в enum, другие текстовые - по середине
Code:
enum test
{
        ext,
        ext1,
        etc[7],
        etc1[5],
        ext2,
        ext3,
        etc2[9],
}
Итог:
Code:
[22:42:56] 1111, 1, 123456, 1234, 0, 1341234, 12345678
2) Уменьшим этой переменной размер массива до 2:
Code:
enum test
{
        ext,
        ext1,
        etc[7],
        etc1[5],
        ext2,
        ext3,
        etc2[2],
}
Таким образом видим, что всё отобразилось в норме, но есть "отбросочная строка". В игре бы - её не было бы, именно поэтому я мог указывать размер массива даже 1.
Code:
[22:44:12] 1111, 1, 123456, 1234, 0, 1341234, 12345678
[22:44:12] 345678
3) Теперь её перенесем в конец текстовых переменных, но не в конец enum, опять же, с размером массива 2:
Code:
enum test
{
        ext,
        ext1,
        etc[7],
        etc1[5],
        etc2[2],
        ext2,
        ext3,
}
Уже другой результат, отобразились первые 2 символа, как и должно, но присутствует "отбросочная строка":
Code:
[22:48:25] 1111, 1, 123456, 1234, 0, 1341234, 12
[22:48:25] 5678
4) Ставим переменную по середине текстовых, опять же, с размером массива 2:
Code:
enum test
{
	ext,
	ext1,
	etc[7],
	etc2[2],
	etc1[5],
	ext2,
	ext3,
}
Всё нормально отобразилось, но пропал последний символ и значение четвёртой переменной (etc1) склеилась с кусками нашей переменной с массивом 2.
Code:
[17:36:50] 1111, 1, 123456, 34567, 0, 1341234, 1234567
Надеюсь понятно изложил
Reply


Messages In This Thread
Баг в PAWNO, энуменаторы. - by Danger228 - 11.12.2016, 13:44
Re: Баг в PAWNO, энуменаторы. - by ZiGGi - 11.12.2016, 15:16
Re: Баг в PAWNO, энуменаторы. - by Danger228 - 11.12.2016, 16:37
Re: Баг в PAWNO, энуменаторы. - by ZiGGi - 11.12.2016, 17:47
Re: Баг в PAWNO, энуменаторы. - by Danger228 - 11.12.2016, 18:12
Re: Баг в PAWNO, энуменаторы. - by ZiGGi - 11.12.2016, 18:40
Re: Баг в PAWNO, энуменаторы. - by Danger228 - 11.12.2016, 18:53
Re: Баг в PAWNO, энуменаторы. - by ZiGGi - 11.12.2016, 19:01
Re: Баг в PAWNO, энуменаторы. - by Danger228 - 11.12.2016, 19:12

Forum Jump:


Users browsing this thread: 1 Guest(s)