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


Фотография

Pawn


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 Da Vinci

Da Vinci

    Новичок

  • Пользователь
  • Pip
  • 48 сообщений

Отправлено 06 Март 2015 - 12:16

При компилировании у меня выдает ошибку, мол слишком длинна строка. Как уменьшить?



#2 Mattko

Mattko

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 788 сообщений

Отправлено 06 Март 2015 - 17:55

При компилировании у меня выдает ошибку, мол слишком длинна строка. Как уменьшить?

Код ошибки, а так-же строку скинь на которую ругается.



#3 Da Vinci

Da Vinci

    Новичок

  • Пользователь
  • Pip
  • 48 сообщений

Отправлено 06 Март 2015 - 19:40

Код ошибки, а так-же строку скинь на которую ругается.


Код и строку получится только завтра. А так вообще могу объяснить. Вообщем у меня РП мод и есть команда /tp ( тп лист ), я там просто много чего написал ( точек телепорта ) и все.

#4 Mattko

Mattko

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 788 сообщений

Отправлено 07 Март 2015 - 10:55

Код и строку получится только завтра. А так вообще могу объяснить. Вообщем у меня РП мод и есть команда /tp ( тп лист ), я там просто много чего написал ( точек телепорта ) и все.

Как скинешь код, так и будем говорить.



#5 Da Vinci

Da Vinci

    Новичок

  • Пользователь
  • Pip
  • 48 сообщений

Отправлено 07 Март 2015 - 15:46

Как скинешь код, так и будем говорить.

{
    if(PlayerInfo[playerid][pLogin] == 0) return true;
    if(PlayerInfo[playerid][pAdmin] < 3 || dostup[playerid] == 0) return true;
new listitems[] = "(тут писал точки телепорта, я просто их много очень написал)";
ShowPlayerDialogEx(playerid, 9000, DIALOG_STYLE_LIST, "TP-List", listitems, "Выбрать", "Отмена");
return true;
}

 

{
    if(PlayerInfo[playerid][pLogin] == 0) return true;
    if(PlayerInfo[playerid][pAdmin] < 3 || dostup[playerid] == 0) return true;
new listitems[] = "(тут писал точки телепорта, я просто их много очень написал)";
ShowPlayerDialogEx(playerid, 9000, DIALOG_STYLE_LIST, "TP-List", listitems, "Выбрать", "Отмена");
return true;
}

 

Ошибки:

C:\Users\Андрей\Desktop\Исходник мода\SampRp.pwn(31874) : error 075: input line too long (after substitutions)
C:\Users\Андрей\Desktop\Исходник мода\SampRp.pwn(31875) : error 037: invalid string (possibly non-terminated string)
C:\Users\Андрей\Desktop\Исходник мода\SampRp.pwn(31875) : error 029: invalid expression, assumed zero
C:\Users\Андрей\Desktop\Исходник мода\SampRp.pwn(31875) : error 029: invalid expression, assumed zero
C:\Users\Андрей\Desktop\Исходник мода\SampRp.pwn(31875) : fatal error 107: too many error messages on one line
 
Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
 
 
5 Errors.
31875 - это где я писал точки телепорта
31874 - это строка " if(PlayerInfo[playerid][pAdmin] < 3 || dostup[playerid] == 0) return true;"


#6 Mattko

Mattko

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 788 сообщений

Отправлено 07 Март 2015 - 18:10

Попробуй сделать вот так:
{
  if(PlayerInfo[playerid][pLogin] == 0) return true;
  if(PlayerInfo[playerid][pAdmin] < 3 || dostup[playerid] == 0) return true;
  new listitems[512]; // Если будет выдавать ошибку, можно увеличить до 1024
  strcat(listitems, "Телепорт 1\nТелепорт 2\nТелепорт 3");
  ShowPlayerDialogEx(playerid, 9000, 2, "TP-List", listitems, "Выбрать", "Отмена");
  return 1;
}
После этого, тебе public OnDialogResponse, и нужно будет прописать
 case 9000: // или dialogid
 {
   if(!response) return 1;
   switch(listitem)
   {
     case 0: SetPlayerPos( playerid, 0.0, 0.0, 20.0); // телепорт 1
     case 1: SetPlayerPos( playerid, 0.0, 0.0, 20.0); // телепорт 2 и тд...
   }
  return 1;
 }


Сообщение отредактировал Mattko: 07 Март 2015 - 18:11


#7 Da Vinci

Da Vinci

    Новичок

  • Пользователь
  • Pip
  • 48 сообщений

Отправлено 07 Март 2015 - 18:34

Попробуй сделать вот так:

{
  if(PlayerInfo[playerid][pLogin] == 0) return true;
  if(PlayerInfo[playerid][pAdmin] < 3 || dostup[playerid] == 0) return true;
  new listitems[512]; // Если будет выдавать ошибку, можно увеличить до 1024
  strcat(listitems, "Телепорт 1\nТелепорт 2\nТелепорт 3");
  ShowPlayerDialogEx(playerid, 9000, 2, "TP-List", listitems, "Выбрать", "Отмена");
  return 1;
}
После этого, тебе public OnDialogResponse, и нужно будет прописать
 case 9000: // или dialogid
 {
   if(!response) return 1;
   switch(listitem)
   {
     case 0: SetPlayerPos( playerid, 0.0, 0.0, 20.0); // телепорт 1
     case 1: SetPlayerPos( playerid, 0.0, 0.0, 20.0); // телепорт 2 и тд...
   }
  return 1;
 }

Попробую, благодарю.


Попробуй сделать вот так:

{
  if(PlayerInfo[playerid][pLogin] == 0) return true;
  if(PlayerInfo[playerid][pAdmin] < 3 || dostup[playerid] == 0) return true;
  new listitems[512]; // Если будет выдавать ошибку, можно увеличить до 1024
  strcat(listitems, "Телепорт 1\nТелепорт 2\nТелепорт 3");
  ShowPlayerDialogEx(playerid, 9000, 2, "TP-List", listitems, "Выбрать", "Отмена");
  return 1;
}
После этого, тебе public OnDialogResponse, и нужно будет прописать
 case 9000: // или dialogid
 {
   if(!response) return 1;
   switch(listitem)
   {
     case 0: SetPlayerPos( playerid, 0.0, 0.0, 20.0); // телепорт 1
     case 1: SetPlayerPos( playerid, 0.0, 0.0, 20.0); // телепорт 2 и тд...
   }
  return 1;
 }

Та же самая ошибка: fatal error 107: too many error messages on one line




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных