Просмотр полной версии : [Вопрос] По оптимизации
Видел вот такую систему в РЛС модах. Возник вопрос: как ее оптимизировать?
new const Commands[6][] =
{
{"Команда - описание\n"},
{"Команда - описание\n"},
{"Команда - описание\n"},
{"Команда - описание\n"},
{"Команда - описание\n"},
{"Команда - описание\n"}
};
И далее где-нибудь
new string[500];
format(string,sizeof(string), "%s%s%s%s%s%s",Commands[0],Commands[1],Commands[2],Commands[3],Commands[4],Commands[5]);
SPD(playerid,121,DIALOG_STYLE_MSGBOX, "{FFFFFF}Команды сервера", string, "Закрыть", "");
return 1;
Так думаю проще:
case 121:
{
if(response)
{
switch(listitem)
{
case 0:
{
// Можешь запихнуть сам функционал сюда своей команды.
OnPlayerCommandText(playerid, "/CMD1");
}
case 1:
{
// Можешь запихнуть сам функционал сюда своей команды.
OnPlayerCommandText(playerid, "/CMD2");
}
}
}
else return ShowPlayerDialog(playerid, 121, DIALOG_STYLE_LIST, "LOL", "CMD1\nCMD2", "Выбрать", "Отмена");
}
Так думаю проще:
case 121:
{
if(response)
{
switch(listitem)
{
case 0:
{
// Можешь запихнуть сам функционал сюда своей команды.
OnPlayerCommandText(playerid, "/CMD1");
}
case 1:
{
// Можешь запихнуть сам функционал сюда своей команды.
OnPlayerCommandText(playerid, "/CMD2");
}
}
}
else return ShowPlayerDialog(playerid, 121, DIALOG_STYLE_LIST, "LOL", "CMD1\nCMD2", "Выбрать", "Отмена");
}
Прошу прощения.. Не точно передал суть своего вопроса. Отредактировал первый пост.
underwoker
26.06.2014, 20:02
Видел вот такую систему в РЛС модах. Возник вопрос: как ее оптимизировать?
new const Commands[6][] =
{
{"Команда - описание\n"},
{"Команда - описание\n"},
{"Команда - описание\n"},
{"Команда - описание\n"},
{"Команда - описание\n"},
{"Команда - описание\n"}
};
И далее где-нибудь
new string[500];
format(string,sizeof(string), "%s%s%s%s%s%s",Commands[0],Commands[1],Commands[2],Commands[3],Commands[4],Commands[5]);
SPD(playerid,121,DIALOG_STYLE_MSGBOX, "{FFFFFF}Команды сервера", string, "Закрыть", "");
return 1;
Опять погоня за милисекундами. Не советую.
ShowPlayerDialog(playerid, 121, DIALOG_STYLE_MSGBOX, "Описание команд","Команда - описание\nКоманда - описание\nКоманда - описание\nКоманда - описание ....... потом делаем переход - \", "Меню", "Закрыть");
ShowPlayerDialog(playerid, 121, DIALOG_STYLE_MSGBOX, "Описание команд","Команда - описание\nКоманда - описание\nКоманда - описание\nКоманда - описание ....... потом делаем переход - \", "Меню", "Закрыть");
А когда очень много команд будет? + неудобно..
Есть еще у кого-нибудь идеи?
Tracker1
28.06.2014, 23:05
Циклом по массиву пробежаться - присоединить куски к стрингу.
И все.
stock openDWEAP(playerid)
{
new string[50];
for(new j; j < 3;j++ ) format(string, sizeof(string),"%s%s\n", string, weapD[j]);
ShowPlayerDialog(playerid, DIALOG_1, DIALOG_STYLE_LIST, "Диалог", string, "Выбрать", "Отмена");
}
new weapD[3][50]=
{
"1 ",
"2 ",
"3 "
};
Вряд ли прикрутка цикла к коду может считаться оптимизацией...
Чем вас обычный format не устраивает?
Вряд ли прикрутка цикла к коду может считаться оптимизацией...
Чем вас обычный format не устраивает?
Не знаю причину, но когда много "\n" или чего-то еще, у меня просто из pawno выкидывает. "Windows ищет причину ошибки" и далее только остается закрыть программу. Вот я и ищу способ как-то это обойти :)
Не знаю причину, но когда много "\n" или чего-то еще, у меня просто из pawno выкидывает. "Windows ищет причину ошибки" и далее только остается закрыть программу. Вот я и ищу способ как-то это обойти :)
О_о покажите код, при котором ошибка появляется
Spectrum
29.06.2014, 19:27
криво пишешь, она просто так не может возникать
Seregamil
29.06.2014, 19:36
Не знаю причину, но когда много "\n" или чего-то еще, у меня просто из pawno выкидывает. "Windows ищет причину ошибки" и далее только остается закрыть программу. Вот я и ищу способ как-то это обойти :)
Лишний символ '\' где-то ставите. Вся проблема.
Лишний символ '\' где-то ставите. Вся проблема.
Лишний символ "\" просто бы экранировал последующий "\". Вылетать из-за этого явно не должно
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot