Вопрос опытным. - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (
https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Вопрос опытным. (
/showthread.php?tid=477745)
Вопрос опытным. -
Urukhay - 26.11.2013
Дело в том, что у я использую локальные переменные для получения кол-ва строк из базы.. Так вот мне нужно получать эти строки во многих диалогах, но при объявлении переменных в каждом диалоге (dialogid) у меня возникают ошибки, мол такая переменная уже объявлялась в диалоге выше. Так вот как быть? Использовать разные названия переменных? Или вообще создать сразу все переменные в паблике DialogRespone, но тогда много памяти сожрет.
Не удобно конечно сделали, что нельзя объявлять переменные таким образом(тем, кто не понял):
pawn Код:
switch(lalala)
{
case 0: new test; // тут допустим она нам нужна
case 1: // тут нам переменная test не нужна.
case 2: new test; // а тут вот снова нужна
case 3..999: // а тут подавно не нужна
}
Так вот как быть? Неужели объявлять эту переменную на 999 кейсов?
pawn Код:
new test;
switch(lol)
{
case 0: // нужна test
case 2: // и тут вот снова нужна
case 3..999: // подавно не нужна
}
Re: Вопрос опытным. -
SHOROOP - 26.11.2013
Какая разница, на сколько кейсов? Объявил до switch - единоразово зарезервировал в памяти ячейки под нее.
Или ты думал, что при каждом кейсе выделяется память до ранее объявленной переменной?
Впрочем, если совсем принципиально нужно - чего бы до switch не пихнуть проверку условия?
pawn Код:
if (lalala == 0 || lalala == 1) new test;
switch(lalala)
{
case 0: // тут допустим она нам нужна
case 1: // тут нам переменная test не нужна.
case 2: // а тут вот снова нужна
case 3..999: // а тут подавно не нужна
}
Re: Вопрос опытным. -
mpzila - 26.11.2013
Зачем создавать ещё одну, новую переменную? Используй ту, которая стоит выше.