Русское сообщество по скриптингу

error 010: invalid function or declaration

Все, что касается игр на движке GoldSrc (Half-Life, Counter-Strike 1.6 и т.д.).
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

error 010: invalid function or declaration

Сообщение Kostia195 » 04 фев 2021, 23:03

Год назад я дополнил плагин Lite Rank System своими фичами, недавно хотел ещё добавить одну фичу, однако после неё плагин перестал компилироваться в amxx с такой ошибкой, если бы я сохранил предыдущую версию, я бы понял в чём проблема, однако я решил, что если фича не очень большая, то проблем не будет, комментирование фичи и удаление её из кода не дало никаких результатов, похоже, где-то что-то лишнее удалил/напечатал, однако IDE AMXX_STUDIO 1.4.3 не выдаёт ошибок компилляции, но при создании amxx выдаёт ошибку. Может, кто глянет незамыленным взглядом, скажет где я ошибся.

Добавлено спустя 6 минут 39 секунд:
Добавить хотел вот эту фичу:
Код: Выделить всё

public clcmd_statxx(id)
{
   new iRankk, stats[8], bodyhits[8];
   iRankk=get_user_stats(id, stats, bodyhits);
   new stxx = get_user_frags(id)/get_user_deaths(id);
   //new recordxx[names][2];//2 это iRankk и stxx - этот двумерный массив нужно объявить в глобальной области и, при первом вызове, выдать значения.
   //if(recordxx[name][0]>iRankk && record[name][1]<stxx){recordxx[name][0]=iRankk;recordxx[name][1]=stxx;}
   //Создать отдельную функцию recordxx с вызовом recordxx
   //Переработать всё, а именно нужно Z-,Z,Y,X,...<God of War> посместить в массив и строка будет такой client_print (id, print_chat, "%sВаша статистика ", MassRangesxx[i], stxx );
   //Тогда recordxx[name][0...1] можно будет заменить на recordxx[name][0], где будет помещаться MassRangesxx[i] если новая i по рангу выше предыдущей
   new const MassRangesxx[]={"<!!!God of War!!!> ", "<!!Master!!> ", "<!Neo!> ", "<<<Boss>>> ", "<<War Lord>> ", "<Star of War> ", "<10S> ", "<9S> ", "<8S> ", "<7S> ", "<6S> ", "<5S> ", "<4S> ", "<SSS> ", "<SS> ", "<S> ", "A ", "B ", "C ", "D ", "E ", "F ", "G ", "H ", "I ", "J ", "K ", "L ", "M ", "N ", "O ", "P ", "R ", "S ", "T ", "U ", "V ", "W ", "X ", "Y ", "Z ", "Z- "};

   if(stxx>=10 && iRankk<=5)//Было 25, сейчас 10
      client_print (id, print_chat, "%sВаша статистика <!!!God of War!!!> ", MassRangesxx[0], stxx );//Разобраться как лучше чтобы было нормально и протестировать
   else if(stxx>=9.5 && iRankk<=5)//Было 20, сейчас 9.5
      client_print (id, print_chat, "%sВаша статистика <!!Master!!>: ", MassRangesxx[1], stxx );
   else if(stxx>=9 && iRankk<=5)//Было 15, сейчас 9
      client_print (id, print_chat, "%sВаша статистика <!Neo!>: ", MassRangesxx[2], stxx );
   else if(stxx>=8.5 && iRankk<=5)//Было 10, сейчас 8.5
      client_print (id, print_chat, "%sВаша статистика <<<Boss>>>: ", MassRangesxx[3], stxx );
   else if(stxx>=8 && iRankk<=10)//Было 9, сейчас 8
      client_print (id, print_chat, "%sВаша статистика <<War Lord>>: ", MassRangesxx[4], stxx );
   else if(stxx>=7.5 && iRankk<=10)//Было 8, сейчас 7.5
      client_print (id, print_chat, "%sВаша статистика <Star of War>: ", MassRangesxx[5], stxx );
   else if(stxx>=7 && iRankk<=10)
      client_print (id, print_chat, "%sВаша статистика <10S>: ", MassRangesxx[6], stxx );
   else if(stxx>=6.5 && iRankk<=15)
      client_print (id, print_chat, "%sВаша статистика <9S>: ", MassRangesxx[7], stxx );
   else if(stxx>=6 && iRankk<=20)
      client_print (id, print_chat, "%sВаша статистика <8S>: ", MassRangesxx[8], stxx );
   else if(stxx>=5.5 && iRankk<=25)
      client_print (id, print_chat, "%sВаша статистика <7S>: ", MassRangesxx[9], stxx );
   else if(stxx>=5 && iRankk<=30)
      client_print (id, print_chat, "%sВаша статистика <6S>: ", MassRangesxx[10], stxx );
   else if(stxx>=4.5 && iRankk<=35)
      client_print (id, print_chat, "%sВаша статистика <5S>: ", MassRangesxx[11], stxx );
   else if(stxx>=4 && iRankk<=40)
      client_print (id, print_chat, "%sВаша статистика <4S>: ", MassRangesxx[12], stxx );
   else if(stxx>=3.5 && iRankk<=45)
      client_print (id, print_chat, "%sВаша статистика <SSS>: ", MassRangesxx[13], stxx );
   else if(stxx>=3 && iRankk<=50)
      client_print (id, print_chat, "%sВаша статистика <SS>: ", MassRangesxx[14], stxx );
   else if(stxx>=2.5 && iRankk<=60)
      client_print (id, print_chat, "%sВаша статистика <S>: ", MassRangesxx[15], stxx );
   else if(stxx>=2 && iRankk<=70)
      client_print (id, print_chat, "%sВаша статистика A: ", MassRangesxx[16], stxx );
   else if(stxx>=1.75 && iRankk<=80)
      client_print (id, print_chat, "%sВаша статистика B: ", MassRangesxx[17], stxx );
   else if(stxx>=1.5 && iRankk<=90)
      client_print (id, print_chat, "%sВаша статистика C: ", MassRangesxx[18], stxx );
   else if(stxx>=1.25 && iRankk<=100)
      client_print (id, print_chat, "%sВаша статистика D: ", MassRangesxx[19], stxx );
   else if(stxx>=1 && iRankk<=125)
      client_print (id, print_chat, "%sВаша статистика E: ", MassRangesxx[20], stxx );
   else if(stxx>=0.75 && iRankk<=150)
      client_print (id, print_chat, "%sВаша статистика F: ", MassRangesxx[21], stxx );
   else if(stxx>=0.5 && iRankk<=175)
      client_print (id, print_chat, "%sВаша статистика G: ", MassRangesxx[22], stxx );
   else if(stxx>=0.45 && iRankk<=200)
      client_print (id, print_chat, "%sВаша статистика H: ", MassRangesxx[23], stxx );
   else if(stxx>=0.4 && iRankk<=225)
      client_print (id, print_chat, "%sВаша статистика I: ", MassRangesxx[24], stxx );
   else if(stxx>=0.35 && iRankk<=250)
      client_print (id, print_chat, "%sВаша статистика J: ", MassRangesxx[25], stxx );
   else if(stxx>=0.3 && iRankk<=300)
      client_print (id, print_chat, "%sВаша статистика K: ", MassRangesxx[26], stxx );
   else if(stxx>=0.25 && iRankk<=350)
      client_print (id, print_chat, "%sВаша статистика L: ", MassRangesxx[27], stxx );
   else if(stxx>=0.2 && iRankk<=400)
      client_print (id, print_chat, "%sВаша статистика M: ", MassRangesxx[28], stxx );
   else if(stxx>=0.15 && iRankk<=450)
      client_print (id, print_chat, "%sВаша статистика N: ", MassRangesxx[29], stxx );
   else if(stxx>=0.1 && iRankk<=500)
      client_print (id, print_chat, "%sВаша статистика O: ", MassRangesxx[30], stxx );
   else if(stxx>=0.095 && iRankk<=550)
      client_print (id, print_chat, "%sВаша статистика P: ", MassRangesxx[31], stxx );
   else if(stxx>=0.09 && iRankk<=600)
      client_print (id, print_chat, "%sВаша статистика R: ", MassRangesxx[32], stxx );
   else if(stxx>=0.085 && iRankk<=650)
      client_print (id, print_chat, "%sВаша статистика S: ", MassRangesxx[33], stxx );
   else if(stxx>=0.08 && iRankk<=700)
      client_print (id, print_chat, "%sВаша статистика T: ", MassRangesxx[34], stxx );
   else if(stxx>=0.075 && iRankk<=750)
      client_print (id, print_chat, "%sВаша статистика U: ", MassRangesxx[35], stxx );
   else if(stxx>=0.07 && iRankk<=800)
      client_print (id, print_chat, "%sВаша статистика V: ", MassRangesxx[36], stxx );
   else if(stxx>=0.065 && iRankk<=850)
      client_print (id, print_chat, "%sВаша статистика W: ", MassRangesxx[37], stxx );
   else if(stxx>=0.06 && iRankk<=900)
      client_print (id, print_chat, "%sВаша статистика X: ", MassRangesxx[38], stxx );
   else if(stxx>=0.055 && iRankk<=950)
      client_print (id, print_chat, "%sВаша статистика Y: ", MassRangesxx[39], stxx );
   else if(stxx>=0.05 && iRankk<=1000)
      client_print (id, print_chat, "%sВаша статистика Z: ", MassRangesxx[40], stxx );
   else if(stxx<0.05 && iRankk>1000)
      client_print (id, print_chat, "%sВаша статистика Z-: ", MassRangesxx[41], stxx );
}

Понимаю, выглядит ужасно, однако после множества статей я решил, что так будет лучше, т.к. в любом случае код перейдёт в кучу if/else с кучей goto, поэтому так код должен работать быстрее, в С/С++ в таком случае лучше было бы использовать switch, но в pawn при таком количестве условий лучше if/else.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Kostia195
 
Сообщения: 17
Зарегистрирован: 21 ноя 2019, 14:46
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около года
Языки программирования: C, C++, Pawn

Вернуться в Вопросы по играм на движке GoldSrc

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6