Вопросы

Pawn меня удивляет
 

Спойлер

// Teams

enum TagTeam
{
    tname[30],
    TagClass:tclasses[100],
    Float:txcamera,
    Float:tycamera,
    Float:tzcamera,
    Float:txlookat,
    Float:tylookat,
    Float:tzlookat
}

new Teams[][TagTeam] = {
    {"Default"},
    {"Neutral",  NeutralClasses,  0.00.010.01.00.00.0},
    {"Families", FamiliesClasses, 0.00.010.00.01.00.0}, //strochka 47
    {"Ballas",   BallassClasses,  0.00.010.00.01.00.0}
    /*
    T_Families,     T_Ballas,
    T_Latinos,      T_Cops,
    T_Goverment,    T_Admins,
    T_Army,         T_Protesters*/
};//stroshka 54

// Classes

enum TagClass
{
    skin,
    Float:x,
    Float:y,
    Float:z,
    Float:angle,
    weap1, ammo1,
    weap2, ammo2
}

static const NeutralClasses[][TagClass] = {
    // Default(must contains quantity of classes)
    {70.0},
    // Los Santos
    {12,  1204.6,  -919.843.1180.014100}, // Woman nearby with Burgers on Temple
    {40,  1285.8, -1349.913.6,  90.014100}, // Woman nearby with LS Hospital and AmmuNation
    {46,   376.3, -2052.9,  8.1,   0.06,  100}, // Man nearby with Brown Starfish
    {56,  1204.4, -2038.969.1,   0.022100,  0}, // Woman nearby with observatory
    {60,  2034.0,  1402.117.3180.015100}, // Man nearby with LS Clinic
    {1011753.6, -1895.013.6270.043100,  0}, // Man nearby with Unity Railway Station
    {1881451.2, -2285.613.6,  90.046100// Man nearby with Airport LSX
    // Red Country
};

static const FamiliesClasses[][TagClass] = {
    // Default(must contains quantity of classes)
    {70.0},
    // Los Santos
    {12,  1204.6,  -919.843.1180.014100}, // Woman nearby with Burgers on Temple
    {40,  1285.8, -1349.913.6,  90.014100}, // Woman nearby with LS Hospital and AmmuNation
    {46,   376.3, -2052.9,  8.1,   0.06,  100}, // Man nearby with Brown Starfish
    {56,  1204.4, -2038.969.1,   0.022100,  0}, // Woman nearby with observatory
    {60,  2034.0,  1402.117.3180.015100}, // Man nearby with LS Clinic
    {1011753.6, -1895.013.6270.043100,  0}, // Man nearby with Unity Railway Station
    {1881451.2, -2285.613.6,  90.046100// Man nearby with Airport LSX
    // Red Country
};

C:\Server\SAMP\include\klast_teams.inc(47) : error 020: invalid symbol name ""
C:\Server\SAMP\include\klast_teams.inc(54) : error 054: unmatched closing brace ("}")
C:\Server\SAMP\include\klast_teams.inc(54) : error 010: invalid function or declaration
C:\Server\SAMP\include\klast_teams.inc(96) : warning 203: symbol is never used: ""
C:\Server\SAMP\include\klast_teams.inc(96) : warning 203: symbol is never used: "FamiliesClasses"
C:\Server\SAMP\include\klast_teams.inc(96) : warning 203: symbol is never used: "Teams"
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


3 Errors.

 

 

Поделиться сообщением


Ссылка на сообщение

6 ответов на этот вопрос

  • 0

@KlasterK, если упустить, что здесь вы используете неизвестный компилятору тег TagClass,

Цитата

enum TagTeam
{
    // [...]
    TagClass:tclasses[100],
    // [...]
}

 

 

а здесь вы используете имена (NeutralClasses, FamiliesClasses, BallasClasses), которые компилятору еще неизвестны,

Цитата

{"Neutral",  NeutralClasses,  0.00.010.01.00.00.0},
{"Families", FamiliesClasses, 0.00.010.00.01.00.0}, //strochka 47
{"Ballas",   BallassClasses,  0.00.010.00.01.00.0}

 

 

тогда почему компилятор не может подставить константное значение как значение массива по умолчанию, – без понятия, но можете поднять соответствующий вопрос на github.

Поделиться сообщением


Ссылка на сообщение
  • 0


// Classes

enum TagClass
{
    skin,
    Float:x,
    Float:y,
    Float:z,
    Float:angle,
    weap1, ammo1,
    weap2, ammo2
}

static const NeutralClasses[][TagClass] = {
    // Default(must contains quantity of classes)
    {70.0},
    // Los Santos
    {12,  1204.6,  -919.843.1180.014100}, // Woman nearby with Burgers on Temple
    {40,  1285.8, -1349.913.6,  90.014100}, // Woman nearby with LS Hospital and AmmuNation
    {46,   376.3, -2052.9,  8.1,   0.06,  100}, // Man nearby with Brown Starfish
    {56,  1204.4, -2038.969.1,   0.022100,  0}, // Woman nearby with observatory
    {60,  2034.0,  1402.117.3180.015100}, // Man nearby with LS Clinic
    {1011753.6, -1895.013.6270.043100,  0}, // Man nearby with Unity Railway Station
    {1881451.2, -2285.613.6,  90.046100// Man nearby with Airport LSX
    // Red Country
};

static const FamiliesClasses[][TagClass] = {
    // Default(must contains quantity of classes)
    {70.0},
    // Los Santos
    {12,  1204.6,  -919.843.1180.014100}, // Woman nearby with Burgers on Temple
    {40,  1285.8, -1349.913.6,  90.014100}, // Woman nearby with LS Hospital and AmmuNation
    {46,   376.3, -2052.9,  8.1,   0.06,  100}, // Man nearby with Brown Starfish
    {56,  1204.4, -2038.969.1,   0.022100,  0}, // Woman nearby with observatory
    {60,  2034.0,  1402.117.3180.015100}, // Man nearby with LS Clinic
    {1011753.6, -1895.013.6270.043100,  0}, // Man nearby with Unity Railway Station
    {1881451.2, -2285.613.6,  90.046100// Man nearby with Airport LSX
    // Red Country
};

enum TagTeam
{
    tname[30],
    TagClass:tclasses[100],
    Float:txcamera,
    Float:tycamera,
    Float:tzcamera,
    Float:txlookat,
    Float:tylookat,
    Float:tzlookat
}

new Teams[][TagTeam] = {
    {"Default"},
    {"Neutral",  NeutralClasses,  0.00.010.01.00.00.0},
    {"Families", FamiliesClasses, 0.00.010.00.01.00.0}, //strochka 47
    {"Ballas",   BallassClasses,  0.00.010.00.01.00.0}
    /*
    T_Families,     T_Ballas,
    T_Latinos,      T_Cops,
    T_Goverment,    T_Admins,
    T_Army,         T_Protesters*/
};//stroshka 54

 

Поделиться сообщением


Ссылка на сообщение
  • 0
Спойлер

// Classes

enum TagClass
{
    skin,
    Float:x,
    Float:y,
    Float:z,
    Float:angle,
    weap1, ammo1,
    weap2, ammo2
}

static const NeutralClasses[][TagClass] = {
    // Default(must contains quantity of classes)
    {70.0},
    // Los Santos
    {12,  1204.6,  -919.843.1180.014100}, // Woman nearby with Burgers on Temple
    {40,  1285.8, -1349.913.6,  90.014100}, // Woman nearby with LS Hospital and AmmuNation
    {46,   376.3, -2052.9,  8.1,   0.06,  100}, // Man nearby with Brown Starfish
    {56,  1204.4, -2038.969.1,   0.022100,  0}, // Woman nearby with observatory
    {60,  2034.0,  1402.117.3180.015100}, // Man nearby with LS Clinic
    {1011753.6, -1895.013.6270.043100,  0}, // Man nearby with Unity Railway Station
    {1881451.2, -2285.613.6,  90.046100// Man nearby with Airport LSX
    // Red Country
};

static const FamiliesClasses[][TagClass] = {
    // Default(must contains quantity of classes)
    {70.0},
    // Los Santos
    {12,  1204.6,  -919.843.1180.014100}, // Woman nearby with Burgers on Temple
    {40,  1285.8, -1349.913.6,  90.014100}, // Woman nearby with LS Hospital and AmmuNation
    {46,   376.3, -2052.9,  8.1,   0.06,  100}, // Man nearby with Brown Starfish
    {56,  1204.4, -2038.969.1,   0.022100,  0}, // Woman nearby with observatory
    {60,  2034.0,  1402.117.3180.015100}, // Man nearby with LS Clinic
    {1011753.6, -1895.013.6270.043100,  0}, // Man nearby with Unity Railway Station
    {1881451.2, -2285.613.6,  90.046100// Man nearby with Airport LSX
    // Red Country
};

static const BallasClasses = {
    {00.0}
};

// Teams

enum TagTeam
{
    tname[30],
    TagClass:tclasses[100],
    Float:txcamera,
    Float:tycamera,
    Float:tzcamera,
    Float:txlookat,
    Float:tylookat,
    Float:tzlookat
}

new Teams[][TagTeam] = {
    {"Default"},
    {"Neutral",  NeutralClasses,  0.00.010.01.00.00.0},
    {"Families", FamiliesClasses, 0.00.010.00.01.00.0},//strochka 92
    {"Ballas",   BallasClasses,  0.00.010.00.01.00.0}
    /*
    T_Families,     T_Ballas,
    T_Latinos,      T_Cops,
    T_Goverment,    T_Admins,
    T_Army,         T_Protesters*/
};//strochka 99

C:\Server\SAMP\include\klast_teams.inc(92) : error 020: invalid symbol name ""
C:\Server\SAMP\include\klast_teams.inc(99) : error 054: unmatched closing brace ("}")
C:\Server\SAMP\include\klast_teams.inc(99) : error 010: invalid function or declaration
C:\Server\SAMP\include\klast_teams.inc(100) : warning 203: symbol is never used: ""
C:\Server\SAMP\include\klast_teams.inc(100) : warning 203: symbol is never used: "BallasClasses"
C:\Server\SAMP\include\klast_teams.inc(100) : warning 203: symbol is never used: "FamiliesClasses"
C:\Server\SAMP\include\klast_teams.inc(100) : warning 203: symbol is never used: "Teams"
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


3 Errors.

 

 

Поделиться сообщением


Ссылка на сообщение
  • 0
В 09.09.2023 в 10:34, Cawfee сказал:

тогда почему компилятор не может подставить константное значение как значение массива по умолчанию, – без понятия, но можете поднять соответствующий вопрос на github.

Сомневаюсь, что здесь вы получите исчерпывающий ответ. Поэтому напоминаю предложение.

Поделиться сообщением


Ссылка на сообщение
  • 0

Или какое-нибудь обходное решение, в духе добавить еще одно измерение к массиву по типам классов и в массиве Teams вместо хранения имени другого массива хранить тип, по которому уже будете адресоваться в массиве Classes. 

Если правильно вспомнил Pawn, будет что-то типа

Спойлер

enum TagClass
{
    skin,
    Float:x,
    Float:y,
    Float:z,
    Float:angle,
    weap1, ammo1,
    weap2, ammo2
}

enum E_TypeClass
{
    Families,
    Neutral
}


enum TagTeam
{
    tname[30],
    tclasses,
    Float:txcamera,
    Float:tycamera,
    Float:tzcamera,
    Float:txlookat,
    Float:tylookat,
    Float:tzlookat
}

new Classes[E_TypeClass][][TagClass] = {
    // Families
    {
        {12,  1204.6,  -919.843.1180.014100}, // Woman nearby with Burgers on Temple
        {40,  1285.8, -1349.913.6,  90.014100}, // Woman nearby with LS Hospital and AmmuNation
        {46,   376.3, -2052.9,  8.1,   0.06,  100}, // Man nearby with Brown Starfish
        {56,  1204.4, -2038.969.1,   0.022100,  0}, // Woman nearby with observatory
        {60,  2034.0,  1402.117.3180.015100}, // Man nearby with LS Clinic
        {1011753.6, -1895.013.6270.043100,  0}, // Man nearby with Unity Railway Station
        {1881451.2, -2285.613.6,  90.046100// Man nearby with Airport LSX
    },
    
    // Neutral
    {
        {60,  2034.0,  1402.117.3180.015100}, // Man nearby with LS Clinic
        {1011753.6, -1895.013.6270.043100,  0}, // Man nearby with Unity Railway Station
        {1881451.2, -2285.613.6,  90.046100// Man nearby with Airport LSX
    }
};

new Teams[][TagTeam] = {
    {"Neutral",  E_TypeClass:Families,  0.00.010.01.00.00.0},
    {"Families", E_TypeClass:Neutral, 0.00.010.00.01.00.0}
};

 

 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Sten Developer
      От Sten Developer
      Объясню всю ситуацию, пишу систему смерти игрока но она не работает. Решил по приколу написать туда обычный вывод текста SCM(playerid, COLOR_RED, "Вы умерли");
      Но однако после смерти текст не выводиться. Не работает абсолютно все. Кто знает как решить эту проблему?