Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!: Дебаги - Форум Pawn-Wiki.Ru - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Тема закрыта

Дебаги

#1
Пользователь офлайн   evgen.biv 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию
Всем привет ребят.Столкнулся с такой проблемой.
[debug] Run time error 4: "Array index out of bounds"
[11:56:38] [debug]  Accessing element at negative index -1
[11:56:38] [debug] AMX backtrace:
[11:56:38] [debug] #0 0012f604 in public OnPlayerSpawn (playerid=1) at :8749



ПРоблемные строчки
		pData[playerid][pHealth] = 5.0;
			if(pData[playerid][pFraction]) SetPlayerSkin(playerid,pData[playerid][pFractionSkin]);
			else SetPlayerSkin(playerid,pData[playerid][pSkin]);
			SetPlayerColor(playerid,gFractionColor[pData[playerid][pFraction]
-1]);
		}
	}
	return true;
}

Помогите исправить.Не знаю,как тут заменить "-1" в нем ведь проблема?
0

#2
Пользователь офлайн   m1n1vv 

  • Искусственный Cверхинтеллект
  • Вставить ник
  • Раскрыть информацию
SetPlayerColor(playerid,gFractionColor[pData[playerid]
[pFraction]-1]);

Если эта функция сработает для игрока вне фракции, то индекс массива будет равен -1. А в Pawn так нельзя. От 0 и до определенного числа.

Так что советую в массив цветов сначала записать цвет игрока вне фракции, и не использовать -1 в выражениях.

Сообщение отредактировал m1n1vv: 12 Январь 2017 - 09:30

1

#3
Пользователь офлайн   evgen.biv 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияm1n1vv (12 Январь 2017 - 09:08) писал:

SetPlayerColor(playerid,gFractionColor[pData[playerid][pFraction]
-1]);

Если эта функция сработает для игрока вне фракции, то индекс массива будет равен -1. А в Pawn так нельзя. От 0 и до определенного числа.

Так что советую в массив цветов сначала записать цвет игрока вне фракции, и не использовать -1 в выражениях.

Подскажи,как это сделать?Скину все,что нужно.
0

#4
Пользователь офлайн   evgen.biv 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияm1n1vv (12 Январь 2017 - 09:08) писал:

SetPlayerColor(playerid,gFractionColor[pData[playerid][pFraction]
-1]);

Если эта функция сработает для игрока вне фракции, то индекс массива будет равен -1. А в Pawn так нельзя. От 0 и до определенного числа.

Так что советую в массив цветов сначала записать цвет игрока вне фракции, и не использовать -1 в выражениях.

Если я вместо этого gFractionColor[pData[playerid][pFraction]-1] Поставлю просто цвет игрока без фракции,поможет?
0

#5
Пользователь офлайн   m1n1vv 

  • Искусственный Cверхинтеллект
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияevgen.biv (12 Январь 2017 - 10:16) писал:

Если я вместо этого gFractionColor[pData[playerid][pFraction]-1] Поставлю просто цвет игрока без фракции,поможет?

Лучше просто в начало массива записать цвет игрока вне фракции и использовать gFractionColor[pData[playerid][pFraction]]
1

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Тема закрыта

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей