Разделение строки
#1

C:\Users\Psycho\Desktop\Игры\SA-MP Server\filterscripts\psc.pwn(14) : error 075: input line too long (after substitutions)
C:\Users\Psycho\Desktop\Игры\SA-MP Server\filterscripts\psc.pwn(15) : error 037: invalid string (possibly non-terminated string)
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


2 Errors.


павно ругается. Слишком длинная строка. Есть ли альтернативные методы вместить строку без разделения?
Reply
#2

раздели ее на несколько частей, причем в конце каждой ставь \

пример
Код:
new myString[] = "0123456789012345678901234567890123456789012345678901234567890123456789";
можно написать вот так
Код:
new myString[] = "0123456789\
01234567890123456789\
01234567890123456789\
01234567890123456789";
и это абсолютно аналогичная запись
Reply
#3

thx, выручил

а с этим как я понимаю не поспоришь

C:\Users\Psycho\Desktop\Игры\SA-MP Server\filterscripts\psc.pwn(37) : error 075: input line too long (after substitutions)
C:\Users\Psycho\Desktop\Игры\SA-MP Server\filterscripts\psc.pwn(3 : error 037: invalid string (possibly non-terminated string)
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


2 Errors.
Reply
#4

Еси чо, как и положено, вставляй в пост код, если вопрос об ошибках в коде.
Как я понял, многие тут не являются ясновидящими.. и я тоже (:

pastebin.com в помощь, там даж номера строк показывает
Reply
#5

тааа пишу админку, хочу чтобы было все оформлено в окнах диалога, а там с вместимостью проблемы.

Код:
new megostring[2048] = "\
/spawn - заспавнить игрока. Если ID не указан, то заспавнит всех. \
\n /kill [ID] - убить игрока. Если ID не указан, то убьёт всех. \
\n /kick [ID] [reason] - кикнуть игрока с сервера. \
\n /ban [ID] [reason] - забанить игрока на сервере \
\n /kickall - кикнуть всех \
\n /banall - забанить всех \
\n /armour \
\n /fromv \
\n /stop \
\n /go \
\n /getvw \
\n /setvw \
\n /money \
\n /challcol \
\n /count \
\n /up \
\n /jail \
\n /tome \
\n /top \
\n /tp \
\n /setwantedlvl \
\n /getwantedlvl \
\n /health \
\n /setpfightstyle \
\n /getpfightstyle \
\n /setdrunklevel \
\n /weapon \
\n /remwea \
\n /info \
\n /setpint \
\n /getpint \
\n /setpskin \
\n /getpskin \
\n /limitping \
\n /w \
\n /t \
\n /vse \
\n /ssel \
\n /v \
\n /s \
\n /dvc";
Reply
#6

можно из строки сделать массив строк и при запуске мода собрать все его элементы в 1 строку
Reply
#7

В принципе можно и так:

pawn Код:
new megostring[1000];
    strcat(megostring, "/spawn - заспавнить игрока. Если ID не указан, то заспавнит всех.\n");
    strcat(megostring, "/kill [ID] - убить игрока. Если ID не указан, то убьёт всех.\n");
    strcat(megostring, "/kick [ID] [reason] - кикнуть игрока с сервера.\n");
    strcat(megostring, "/ban [ID] [reason] - забанить игрока на сервере\n");
    strcat(megostring, "/kickall - кикнуть всех\n");
    strcat(megostring, "/banall - забанить всех\n");
    strcat(megostring, "/armour\n");
    strcat(megostring, "/fromv\n");
    strcat(megostring, "/stop\n");
    strcat(megostring, "/go\n");
    strcat(megostring, "/getvw\n");
    strcat(megostring, "/setvw\n");
    strcat(megostring, "/money\n");
    strcat(megostring, "/challcol\n");
    strcat(megostring, "/count\n");
    strcat(megostring, "/up\n");
    strcat(megostring, "/jail\n");
    strcat(megostring, "/tome\n");
    strcat(megostring, "/top\n");
    strcat(megostring, "/tp\n");
    strcat(megostring, "/setwantedlvl\n");
    strcat(megostring, "/getwantedlvl\n");
    strcat(megostring, "/health\n");
    strcat(megostring, "/setpfightstyle\n");
    strcat(megostring, "/getpfightstyle\n");
    strcat(megostring, "/setdrunklevel\n");
    strcat(megostring, "/weapon\n");
    strcat(megostring, "/remwea\n");
    strcat(megostring, "/info\n");
    strcat(megostring, "/setpint\n");
    strcat(megostring, "/getpint\n");
    strcat(megostring, "/setpskin\n");
    strcat(megostring, "/getpskin\n");
    strcat(megostring, "/limitping\n");
    strcat(megostring, "/w\n");
    strcat(megostring, "/t\n");
    strcat(megostring, "/vse\n");
    strcat(megostring, "/ssel\n");
    strcat(megostring, "/v\n");
    strcat(megostring, "/s\n");
    strcat(megostring, "/dvc");
Reply
#8

так можно сделать только внутри любой функции, но никак не в зоне глобальных переменных, придется объявление переменной оставить, а strcat'ы загнать ф ункцию, к примеру - main, если это мод, а не фс
Reply
#9

Спасибо ZeeX, помогло
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)