Если Вы нашли ответ на вопрос, пожалуйста, пометьте необходимый ответ лучшим (галочка сбоку от сообщения) и поблагодарите автора этого ответа поднятием репутации (плюс в нижней правой части сообщения). Спасибо.
Подробнее:
FAQ по форуму
Как пометить ответ лучшим

Question

Возникла такая проблема с ошибкой, а именно связана с "adminprefix", попровал из 1 же темы переставлять так же и new и т.д

Ошибки везде где есть "adminprefix" почти

И сетки не понял в чем ошибка, прошу помочь

Спойлер

D:азработка сервера CRMP\Мод сервера\gamemodes\timeplay.pwn(20096) : error 033: array must be indexed (variable "adminprefix")
D:азработка сервера CRMP\Мод сервера\gamemodes\timeplay.pwn(20112) : error 001: expected token: ")", but found "-identifier-"
D:азработка сервера CRMP\Мод сервера\gamemodes\timeplay.pwn(20112) : error 035: argument type mismatch (argument 2)
D:азработка сервера CRMP\Мод сервера\gamemodes\timeplay.pwn(20114) : error 035: argument type mismatch (argument 2)
D:азработка сервера CRMP\Мод сервера\gamemodes\timeplay.pwn(20114) : warning 215: expression has no effect
D:азработка сервера CRMP\Мод сервера\gamemodes\timeplay.pwn(20114) : error 001: expected token: ";", but found "]"
D:азработка сервера CRMP\Мод сервера\gamemodes\timeplay.pwn(20114) : error 029: invalid expression, assumed zero
D:азработка сервера CRMP\Мод сервера\gamemodes\timeplay.pwn(20114) : fatal error 107: too many error messages on one line

Compilation aborted.

Pawn compiler 3.10.20150531	 	 	Copyright (c) 1997-2006, ITB CompuPhase


7 Errors.

 

Спойлер

CMD:setprefix(playerid, params[])
{
//	new string[180];
    if(PI[playerid][pAdmin] < 8) return true;
    if(sscanf(params,"ds[100]",params[0],params[1])) return SCM(playerid,COLOR_GREEN,"• {66CC00}[ Подсказка ] {ffffff}Введите: /setprefix [id] [префикс]");
    new fstring[400];
    format(fstring, sizeof(fstring), "Вы выдали администратору %s префикс %s", PI[params[0]][pName], params[1]);
    SCM(playerid, 0xFFCC00FF, fstring);
    adminprefix[params[0]] = EOS; //Тут ошибка
  	strmid(adminprefix[params[0]], params[1], 0, strlen(params[1]), 50);
  	printf("%s - admpref", adminprefix[params[0]]);
    return true;
}

CMD:a(playerid,params[])
{
	new strlen[110];
	if(PI[playerid][pAdmin] < 1) return 1;
	else if(AdminLogged[playerid] == false) return SCM(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
	else if(isnull(params)) return SCM(playerid, COLOR_WHITE, "• {66CC00}[ Подсказка ] {ffffff}Введите: /a [текст]");
	else if(TextReset[playerid] > gettime() && GetString(OldMessage[playerid], params[0])) return SCM(playerid, COLOR_GREY, "Не флуди");
	new string[128];
	//static const Admin_Names[8][32] = {"Мл.Модератор","Модератор","Ст.Модератор","Мл.Администратор","Администратор","Ст.Администратор","Спец.Администратор","Руководитель"};
	//format(string, sizeof(string), "[A] %s %s [%d]: %s", Admin_Names[PI[playerid][pAdmin]-1], GetName(playerid), playerid, params[0]);
    if(strlen(adminprefix[playerid])
   	format(string,BIG_SIZE, "[A] [%s] %s[%d]: %s", adminprefix[playerid], GetName(playerid), playerid, params[0]); //тут
   	else
   	format(string,BIG_SIZE, "[A] %d %s[%d]: %s", Admin_Names[PI[playerid][pAdmin]-1], GetName(playerid), playerid, params[0]); //тут
	SendAdminMessage(COLOR_LIME, string);
	SetString(OldMessage[playerid], params[0]);
	TextReset[playerid] = gettime()+3;
	SendLog("Adminlog",string);
	return 1;
}

 

 

Share this post


Link to post

13 answers to this question

  • 0

@Daniil Roslyakov у меня все прекрасно работает с таким вариантом: 

new adminprefix[50][MAX_PLAYERS]; 

Значит, у вас уже объявлена такая переменная, заменяйте название. 

Share this post


Link to post
  • 0

@Daniil Roslyakov как объявлено adminprefix

Share this post


Link to post
  • 0

@Daniil Roslyakov попробуй объявить вот так: 

new adminprefix[MAX_PLAYERS][50]; 

а в OnPlayerConnect заменить

adminprefix[playerid] = EOS; 

Share this post


Link to post
  • 0

@Daniil Roslyakov в той теме, из которой ты брал было найдено решение? 

Share this post


Link to post
  • 0
adminprefix[playerid] = EOS; 

и те же строки

D:\Разработка сервера CRMP\Мод сервера\gamemodes\timeplay.pwn(4357) : error 033: array must be indexed (variable "adminprefix")
D:\Разработка сервера CRMP\Мод сервера\gamemodes\timeplay.pwn(20096) : error 033: array must be indexed (variable "adminprefix")
D:\Разработка сервера CRMP\Мод сервера\gamemodes\timeplay.pwn(20112) : error 001: expected token: ")", but found "-identifier-"
D:\Разработка сервера CRMP\Мод сервера\gamemodes\timeplay.pwn(20112) : error 035: argument type mismatch (argument 2)
D:\Разработка сервера CRMP\Мод сервера\gamemodes\timeplay.pwn(20114) : error 035: argument type mismatch (argument 2)
D:\Разработка сервера CRMP\Мод сервера\gamemodes\timeplay.pwn(20114) : warning 215: expression has no effect
D:\Разработка сервера CRMP\Мод сервера\gamemodes\timeplay.pwn(20114) : error 001: expected token: ";", but found "]"
D:\Разработка сервера CRMP\Мод сервера\gamemodes\timeplay.pwn(20114) : error 029: invalid expression, assumed zero
D:\Разработка сервера CRMP\Мод сервера\gamemodes\timeplay.pwn(20114) : fatal error 107: too many error messages on one line

Compilation aborted.

Pawn compiler 3.10.20150531	 	 	Copyright (c) 1997-2006, ITB CompuPhase


8 Errors.

 

Share this post


Link to post
  • 0

@Daniil Roslyakov 

2 минуты назад, DEST сказал:

Значит, у вас уже объявлена такая переменная, заменяйте название. 

 

Share this post


Link to post
  • 0

@Daniil Roslyakov удали все места, где используется, оставь только в new и добавь в OnPlayerConnect: 
adminprefix[playerid] = "Нет";

И скажешь, есть ли ошибки. 

Заметка от DEST , создано

Обновил

Share this post


Link to post
  • 0

@Daniil Roslyakov какую ты строку ставил в OnPlayerConnect и такая же ли ошибка?

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content