#1
Отправлено 05 марта 2018 — 16:58
-
- Прохожий
-
Короче вот такая ошибка: invalid subscript (not an array or too many subscripts): «pInfo»
Вот где сама ошибка: if(pInfo[playerid][padmin] > 6) {
Вот enum:
enum pInfo
{
pname[MAX_PLAYER_NAME+1],
plevel,
ppass[32+1],
psex,
pskin,
pmoney,
pmail[80+1],
pid,
padmin,
pakey[20+1],
pakeys,
pexp,
pmodel,
pmember,
prank,
pleader,
pip[16+1],
pdata_reg[18+1],
pip_last[16+1],
pdata_last[18+1]
}
0
#2
Отправлено 05 марта 2018 — 18:59
-
- Эксперт
-
В конце enum’a добавляешь строчку, она показана ниже:
enum pInfo { pname[MAX_PLAYER_NAME+1], plevel, ppass[32+1], psex, pskin, pmoney, pmail[80+1], pid, padmin, pakey[20+1], pakeys, pexp, pmodel, pmember, prank, pleader, pip[16+1], pdata_reg[18+1], pip_last[16+1], pdata_last[18+1] }; new PlayerInfo[MAX_PLAYERS][pInfo];
Дальше, возвращаешься к своей строчке с ошибкой и меняешь pInfo на PlayerInfo.
Показываю:
*вот так было:
if(pInfo[playerid][padmin] > 6) {
*вот так нужно:
if(PlayerInfo[playerid][padmin] > 6) {
Сообщение отредактировал McDowell: 05 марта 2018 — 19:00
0
- ← Предыдущая тема
- Проблемы с компилированием
- Следующая тема →
- Вы не можете создать новую тему
-
Тема закрыта
1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей
Posts: 135
Threads: 37
Joined: Jun 2014
Reputation:
0
error 028: invalid subscript (not an array or too many subscripts): «playerinfo»
PHP код:
if(GetPlayerSkin(playerid) != playerinfo[playerid][pSkin])
{
SetPlayerSkin(playerid,playerinfo[playerid][pSkin]);
SCM(playerid,COLOR_RED,"Please you does not use skin hack");
}
Help me !
Posts: 161
Threads: 2
Joined: Nov 2014
Reputation:
0
Are you sure it’s not «PlayerInfo»?
Posts: 135
Threads: 37
Joined: Jun 2014
Reputation:
0
Yes sure ,
PHP код:
enum playerinfo
{
Username[24],
Password[128],
aMoney,
pLevel,
pXP,
Headshots,
PlayersKilled,
ZombiesKilled,
pAdminLevel,
pPremium,
Float:pX,
Float:pY,
Float:pZ,
pWeap1,
pAmmo1,
pWeap2,
pAmmo2,
pWeap3,
pAmmo3,
pWeap4,
pAmmo4,
pWeap5,
pAmmo5,
pWeap6,
pAmmo6,
pWeap7,
pAmmo7,
pWeap8,
pAmmo8,
pWeap9,
pAmmo9,
pHour,
pMin,
pSec,
pHealth,
pFirstSpawn,
pAliveTime,
pSkin,
pIsInFaction,
pFactionID,
IfSeenIntro,
IsPlayerSpawned,
IsPlayerMuted,
pPM,
pWarnings,
pUserID,
pTemp,
pProne,
pSaveSpam,
IsBoxLine,
pLogged
};
Posts: 197
Threads: 11
Joined: Jul 2014
Reputation:
0
It not working like that. Show global variable what use that enum, example:
Код:
enum playerinfo { //variables }; new pinfo[MAX_PLAYERS][playerinfo];
Posts: 1,733
Threads: 20
Joined: Nov 2010
Reputation:
0
An enum doesn’t hold any data.
It’s only there to define some kind of structure for your arrays, which you create right after defining the enum.
It works like a stamp.
On the stamp, you put letters which will make up the layout of your stamp when you put ink on it and slam in onto a piece of paper.
The stamp holds whatever fields you want to stamp on the paper (the definition of what info should be written down on the paper), but you still need some paper to write down values after the field-names, this would be the array that will hold the actual data.
Модераторы: Subb98, liFe iS GoOD
- Список форумов ‹ AMX Mod X ‹ Скриптинг
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела «Болтовня».
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.
Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.
- Ответить с цитатой
[РЕШЕНО] enum структура, доступ к данным, error 028
Доброго времени суток. Помогите пожалуйста разобраться как получить/занести данные поля.
Есть некая структура, многомерный массив и попытка установить значение для param[0], получаю ошибку error 028: invalid subscript (not an array or too many subscripts)
- Код: Выделить всё
enum _
:TS
{
param1,
param2,
Float:param3,
bool:param4,
param5[3]
};new players[32][2][TS]public client_putinserver(id)
{
players[id][1][param1] = 200
players[id][1][param2] = -300
players[id][1][param3] = _:0.999
players[id][1][param4] = false
players[id][1][(param5[0])] = 1 //error 028
players[id][1][(param5[1])] = 10 //error 028
players[id][1][(param5[2])] = 100 //error 028
}
получаю ошибку error 028: invalid subscript (not an array or too many subscripts) на строке с players[id][1][(param5[0])] = 1
Последний раз редактировалось xbass13 22 май 2016, 15:49, всего редактировалось 1 раз.
-
xbass13
- Сообщения: 93
- Зарегистрирован: 13 июн 2012, 21:20
- Благодарил (а): 35 раз.
- Поблагодарили: 35 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: pawn, c++, js, php
- Ответить с цитатой
Re: enum структура, доступ к данным, error 028 [Решено]
Mistrick » 22 май 2016, 15:38
xbass13, Неправильное обращение к элементу структуры.
- Код: Выделить всё
players[id][1][param5][0] = 1
players[id][1][param5][1] = 10
players[id][1][param5][2] = 100
-
Mistrick
- Сообщения: 2937
- Зарегистрирован: 04 ноя 2012, 18:15
- Благодарил (а): 43 раз.
- Поблагодарили: 1239 раз.
- Языки программирования: PAWN
С/С++(few above zero)
Вернуться в Скриптинг
Кто сейчас на конференции
Сейчас этот форум просматривают: Google [Bot] и гости: 2
- Регистрация
- 24 Апр 2016
- Сообщения
- 11
- Лучшие ответы
- 0
- Репутация
- 0
-
#1
Здравствуйте! При компилировании возникает ряд ошибок :
PHP:
E:Сервер SAMPgamemodesnew.pwn(24362) : error 028: invalid subscript (not an array or too many subscripts): "WantedLevel"
E:Сервер SAMPgamemodesnew.pwn(24362) : warning 215: expression has no effect
E:Сервер SAMPgamemodesnew.pwn(24362) : error 001: expected token: ";", but found "]"
E:Сервер SAMPgamemodesnew.pwn(24362) : error 029: invalid expression, assumed zero
E:Сервер SAMPgamemodesnew.pwn(24362) : fatal error 107: too many error messages on one line
Строка 24362 :
PHP:
if(WantedLevel[playerid] > 0);
Помогите пожалуйста решить данные ошибки.
Code:
static const Float:Loot_GlowColor[ ][ 3 ] = { { 255.0, 255.0, 10.0 }, // ITEM_ANKH { 10.0, 10.0, 255.0 }, // ITEM_BOOTS { 255.0, 10.0, 10.0 }, // ITEM_CLAWS { 10.0, 255.0, 255.0 }, // ITEM_CLOAK { 10.0, 255.0, 10.0 }, // ITEM_MASK { 96.0, 36.0, 196.0 }, // ITEM_NECKLACE { 255.0, 255.0, 255.0 }, // ITEM_FROST { 255.0, 10.0, 255.0 }, // ITEM_HEALTH { 2.0, 255.0, 255.0 }, // ITEM_TOME { 128.0, 128.0, 64.0 }, // ITEM_SCROLL { 255.0, 128.0, 0.0 }, // ITEM_PROTECTANT { 0.0, 0.0, 128.0 }, // ITEM_HELM { 255.0, 0.0, 128.0 }, // ITEM_AMULET { 0.0, 255.0, 64.0 }, // ITEM_SOCK { 255.0, 255.0, 128.0 }, // ITEM_GLOVES { 0.0, 128.0, 64.0 }, // ITEM_RING { 128.0, 255.0, 0.0 }, // ITEM_CHAMELEON { 100.0, 128.0, 0.0 } // ITEM_MOLE };
error 001
:
expected token: «%s» but found «%s»
— должен был быть символ: «%s» но был найден: «%s»
error 002
:
only a single expression can follow each «case»
— только одно выражение может следовать за: «case»
error 003
:
declaration of a local variable must appear in a compound block
— объявленная локальная переменная должна использоваться в этом же блоке.
error 004
:
function: «%s» is not implemented
— функция: %s не была реализована.
error 005
:
function may not have arguments
— эта функция не имеет аргументов.
error 006
:
must be assigned to an array
— необходимо присвоить массив.
error 007
:
operator cannot be redefined
— оператор не может быть установлен ещё раз.
error 008
:
must be a constant expression, assumed zero
— должно быть постоянным выражением, равным нулю.
error 009
:
invalid array size (negative or zero)
— неверный размер массива. (отрицательный или 0)
error 010
:
invalid function or declaration
— неизвестная функция или декларация.
error 011
:
invalid outside functions
— неверно вне функции.
error 012
:
invalid function call, not a valid address
— неверный вызов функции или неверный адрес.
error 013
:
no entry point (no public functions)
— нет точки входа. (не public функция)
error 014
:
invalid statementя, not in switch
— неверный оператор, не в switch.
error 015
:
«default» case must be the last case in switch statement
— параметр «default» должен быть последним условием в switch.
error 016
:
multiple defaults in «switch»
— несколько параметров «default» в switch.
error 017
:
undefined symbol «%s»
— неизвестный символ «%s»
error 018
:
initialization data exceeds declared size
— данные массива превышают его размер.
error 019
:
not a label: «%s»
— не является меткой «%s»
error 020
:
invalid symbol name «%s»
— неверное имя символа «%s»
error 021
:
symbol already defined: «%s»
— символ уже объявлен: «%s»
error 022
:
must be lvalue (non-constant)
— должно быть левосторонним. (нет постоянной)
error 023
:
array assignment must be simple assignment
— назначение массива должно быть простым.
error 024
:
«break» or «continue» is out of context
— параметр «break» или «continue» вне контекста.
error 025
:
function heading differs from prototype
— функция заголовка отличается от прототипа.
error 026
:
no matching «#if…»
— не найден параметр «#if…»
error 027
:
invalid character constant
— недопустимый символ в постоянной.
error 028
:
invalid subscript (not an array or too many subscripts): «%s»
— неверный индекс: «%s» (это не массив или слишком много индексов)
error 029
:
invalid expression, assumed zero
— неверное выражение, нет результата.
error 030
:
compound statement not closed at the end of file
— составной оператор не закрыт в конце файла.
error 031
:
unknown directive
— неизвестная директива.
error 032
:
array index out of bounds (variable «%s»)
— индекс массива превышен.
error 033
:
array must be indexed (variable «%s»)
— массив должен быть проиндексирован.
error 034
:
argument does not have a default value (argument %d)
— аргумент не имеет начального значения. (аргумент %d)
error 035
:
argument type mismatch (argument %d)
— несоответствие типа аргумента. (аргумент %d)
error 036
:
empty statement
— пустой оператор.
error 037
:
invalid string (possibly non-terminated string)
— неправильная строка.
error 038
:
extra characters on line
— лишние символы в строке.
error 039
:
constant symbol has no size
— символьная константа не имеет размера.
error 040
:
duplicate «case» label (value %d)
— несколько раз объявлен «case» с одним и тем же параметром. (%d)
error 041
:
invalid ellipsis, array size is not known
— размер массива неизвестен.
error 042
:
invalid combination of class specifiers
— недопустимое сочетание класса.
error 043
:
character constant exceeds range for packed string
— символьная константа превышает размер строки.
error 044
:
positional parameters must precede all named parameters
— позиционные параметры должны предшествовать всем именованным параметрам.
error 045
:
too many function arguments
— слишком много аргументов у функции.
error 046
:
unknown array size (variable «%s»)
— неизвестный размер массива.
error 047
:
array sizes do not match, or destination array is too small
— размеры массива конфликтуют, либо целевой массив слишком маленький.
error 048
:
array dimensions do not match
— размеры массива не совпадают.
error 049
:
invalid line continuation
— неправильное продолжение строки.
error 050
:
invalid range
— неверный диапазон.
error 051
:
invalid subscript, use «[ ]» operators on major dimensions
— неправильный индекс, используйте «[]»
error 052
:
multi-dimensional arrays must be fully initialized
— много-размерные массивы должны быть полностью определены.
error 053
:
exceeding maximum number of dimensions
— превышение максимального числа измерений.
error 054
:
unmatched closing brace
— не найдена закрывающаяся скобка.
error 055
:
start of function body without function header
— начало функции без заголовка.
error 056
:
arrays, local variables and function arguments cannot be public (variable «%s»)
— множества, местные переменные и аргументы функции не могут быть общественными. (переменная «%s»)
error 057
:
unfinished expression before compiler directive
— незавершенное выражение для компилятора.
error 058
:
duplicate argument; same argument is passed twice
— дублирование аргумента, аргумент передаётся несколько раз.
error 059
:
function argument may not have a default value (variable «%s»)
— аргумент не может иметь значение по-умолчанию.
error 060
:
multiple «#else» directives between «#if … #endif»
— несколько «#else» между «#if … #endif» (несколько «#else» между «#if и #endif»)
error 061
:
«#elseif» directive follows an «#else» directive
— «#else» перед «#elseif»
error 062
:
number of operands does not fit the operator
— число операндов не соответствует оператору.
error 063
:
function result tag of operator «%s» must be «%s»
— результат функции %s должен быть %s
error 064
:
cannot change predefined operators
— невозможно изменить уже определённые операторы.
error 065
:
function argument may only have a single tag (argument %d)
— в этой функции может быть только один аргумент.
error 066
:
function argument may not be a reference argument or an array (argument «%s»)
— аргумент функции не может быть ссылкой или массивом.
error 067
:
variable cannot be both a reference and an array (variable «%s»)
— переменная не может быть как массив или ссылка.
error 068
:
invalid rational number precision in #pragma
— неверное число в #pragma
error 069
:
rational number format already defined
— формат рационального числа уже определён.
error 070
:
rational number support was not enabled
— рациональное число не поддерживается.
error 071
:
user-defined operator must be declared before use (function «%s»)
— объявленный оператор должен быть перед использованием.
error 072
:
«sizeof» operator is invalid on «function» symbols
— оператор «sizeof» не может быть использован для символов функции.
error 073
:
function argument must be an array (argument «%s»)
— аргумент %s должен быть массивом.
error 074
:
#define %s must start with an alphabetic character
— #define должен начинаться с буквы.
error 075
:
input line too long (after substitutions)
— введённая строка слишком длинная.
error 076
:
syntax *error in the expression, or invalid function call
— неправильный синтаксис или неправильный вызов функции.
error 077
:
malformed UTF-8 encoding, or corrupted file: %s
— плохая кодировка UTF-8 или плохой файл: %s
error 078
:
function uses both «return» and «return <value>»
— функция использует «return» и «return <значение>»
error 079
:
inconsistent return types (array & non-array)
— несовместимость типов возвращённых результатов.
error 080
:
unknown symbol, or not a constant symbol (symbol «%s»)
— неизвестный или непостоянный символ: %s
error 081
:
cannot take a tag as a default value for an indexed array parameter (symbol «%s»)
— не могу принять тег в качестве значения по умолчанию для индексированного параметра-массива (символ «% S»)
error 082
:
user-defined operators and native functions may not have states
— созданные функции или операторы не имеют состояния.
error 083
:
a function may only belong to a single automaton (symbol «%s»)
— функция может принадлежать только к одной автоматизации.
error 084
:
state conflict: one of the states is already assigned to another implementation (symbol «%s»)
— Конфликт state (функция созданная структурой) одна из «state» уже создана в другом месте. (символ %s)
error 085
:
no states are defined for function «%s»
— нет состояний, определенных для функции «%s»
error 086
:
unknown automaton «%s»
— неизвестная автоматизация «%s»
error 087
:
unknown state «%s» for automaton «%s»
— неизвестное состояние «%s» в автоматизации «%s»
error 088
:
number of arguments does not match definition
— количество аргументов не совпадает с объявленными в функции.