-
Проблема с функцией
Возникла такая проблема. Я решил сделать информацию для доната при вводе команды, но информационный текст пишет не полностью. В чем может быть проблема? Вот код:
new donate[600],string[600];
strcat(donate,"{FFFFFF}?? ?????? ???????? ?? ?????? ?????? ??? ??????\n");
strcat(donate,"????????, ??????? ????????? ?????, ????? ??????????\n");
strcat(donate,"?????????? ? ????? ????? ?????????? ?????\n\n");
strcat(donate,"????? ??????????????? ?????? ??????? {B83434}'????????'{FFFFFF}\n");
format(donate,sizeof(donate),"??? ?????????? ????? ???????? ????: "NAME_SITE"\n\n");
strcat(donate,"???? ?????????? ????? ????? ?????????? ?? ????? "NAME_SITE"/donate.html\n\n");
strcat(donate,"{B83434}??????????:{FFFFFF}\n");
format(string,sizeof(string),"??? ????????: \t\t\t%s\n",PlayerInfo[playerid][pNames]);
strcat(donate,string);
format(string,sizeof(string),"??????? ????????? ?????: \t%d ??????\n",PlayerInfo[playerid][pNewDonate]);
strcat(string,"{AFAFAF}\n????????? ?????????? ????? ?????? ???????? ????\n\n");
strcat(donate,string);
ShowPlayerDialog(playerid,5564,DIALOG_STYLE_MSGBOX,"{BE2D2D}??????? ??????",donate,"????????","??????");
return true;
-
Для начала, выложи код с текстом.
Обычно, когда не выводит полностью текст, массив побольше решит проблему.
-
Да тут и так понятно что цифры не правильно посчитал (хотя кто там их считал на обум влепил и всё...)
Открыть/закрыть
-
PHP код:
new donate[600],string[600];
strcat(donate,"");// текст в donate
strcat(donate,"");// текст в donate
strcat(donate,"");// текст в donate
strcat(donate,"");// текст в donate
format(donate,sizeof(donate),"");// форматирование donate, то бишь будет содержать только форматируемый текст, а все выше отсекается
strcat(donate,"");// к форматированному тексту
strcat(donate,"");// к форматированному тексту
format(string,sizeof(string),"",PlayerInfo[playerid][pNames]);//тут все верно, только массив слишком большой
strcat(donate,string);//форматируемый текст string скрепляем с donate в конец строки
format(string,sizeof(string),"",PlayerInfo[playerid][pNewDonate]);//так же.
strcat(string,"");// текст в string
strcat(donate,string);//и сам string в donate
ShowPlayerDialog(playerid,5564,DIALOG_STYLE_MSGBOX ,"шапка",donate,"кнопка1","кнопка2");
return true;
-
Вообщем, делал всё что возможно, по вашим советам, но ничего не происходит. Выше текст после кода
PHP код:
format(donate,sizeof(donate),"Для пополнения счета посетите сайт: "NAME_SITE"\n\n");
не показывает
Вот код:
PHP код:
new donate[600],string[600];
strcat(donate,"{FFFFFF}На данной странице вы можете узнать имя своего\n");
strcat(donate,"аккаунта, текущее состояние счета, сумму последнего\n");
strcat(donate,"пополнения и общую сумму пополнений счета\n\n");
strcat(donate,"Чтобы воспользоваться счетом нажмите {B83434}'Заказать'{FFFFFF}\n");
format(donate,sizeof(donate),"Для пополнения счета посетите сайт: "NAME_SITE"\n\n");
strcat(donate,"Курс пополнения счета можно посмотреть на сайте "NAME_SITE"/donate.html\n\n");
strcat(donate,"{B83434}Информация:{FFFFFF}\n");
format(string,sizeof(string),"Имя аккаунта: \t\t\t%s\n",PlayerInfo[playerid][pNames]);
strcat(donate,string);
format(string,sizeof(string),"Текущее состояние счета: \t%d рублей\n",PlayerInfo[playerid][pNewDonate]);
strcat(string,"{AFAFAF}\nОстальную информацию можно узнать пополнив счет\n\n");
strcat(donate,string);
ShowPlayerDialog(playerid,5564,DIALOG_STYLE_MSGBOX ,"{BE2D2D}Платные услуги",donate,"Заказать","Отмена");
return true;
-
PHP код:
new donate[600],string[600];
strcat(donate,"{FFFFFF}На данной странице вы можете узнать имя своего\n");
strcat(donate,"аккаунта, текущее состояние счета, сумму последнего\n");
strcat(donate,"пополнения и общую сумму пополнений счета\n\n");
strcat(donate,"Чтобы воспользоваться счетом нажмите {B83434}'Заказать'{FFFFFF}\n");
strcat(donate,"Для пополнения счета посетите сайт: "NAME_SITE"\n\n");
strcat(donate,"Курс пополнения счета можно посмотреть на сайте "NAME_SITE"/donate.html\n\n");
strcat(donate,"{B83434}Информация:{FFFFFF}\n");
format(string,sizeof(string),"Имя аккаунта: \t\t\t%s\n",PlayerInfo[playerid][pNames]);
strcat(donate,string);
format(string,sizeof(string),"Текущее состояние счета: \t%d рублей\n",PlayerInfo[playerid][pNewDonate]);
strcat(string,"{AFAFAF}\nОстальную информацию можно узнать пополнив счет\n\n");
strcat(donate,string);
ShowPlayerDialog(playerid,5564,DIALOG_STYLE_MSGBOX ,"{BE2D2D}Платные услуги",donate,"Заказать","Отмена");
return true;
Размеры, конечно, нужно адекватнее поставить.
-
Кхм.. Если это все из-за размеров, то почему показывает текст именно с
PHP код:
strcat(donate,"Для пополнения счета посетите сайт: "NAME_SITE"\n\n");
?
- - - Добавлено - - -
Размеры изменял, толку 0.
- - - Добавлено - - -
Все разобрался. Проблема решена
-
Не проще использовать только format?
PHP код:
new donate_string[600] = "{FFFFFF}На данной странице вы можете узнать имя своего\n"; //55
format(donate_string, sizeof(donate_string), "%sаккаунта, текущее состояние счета, сумму последнего\n", donate_string); //52
format(donate_string, sizeof(donate_string), "%sпополнения и общую сумму пополнений счета\n\n", donate_string); //43
format(donate_string, sizeof(donate_string), "%sЧтобы воспользоваться счетом нажмите {B83434}'Заказать'{FFFFFF}\n", donate_string); //64
format(donate_string, sizeof(donate_string), "%sДля пополнения счета посетите сайт: "NAME_SITE"\n\n", donate_string); //38+длина ссылки на сайт
format(donate_string, sizeof(donate_string), "%sКурс пополнения счета можно посмотреть на сайте "NAME_SITE"/donate_string.html\n\n", donate_string);//69+длина ссылки на сайт
format(donate_string, sizeof(donate_string), "%s{B83434}Информация:{FFFFFF}\n", donate_string); //28
format(donate_string, sizeof(donate_string), "%sИмя аккаунта: \t\t\t%s\n", donate_string, PlayerInfo[playerid][pNames]); //18+MAX_PLAYER_NAME
format(donate_string, sizeof(donate_string), "%sТекущее состояние счета: \t%d рублей\n", donate_string, PlayerInfo[playerid][pNewdonate_string]); //34+11
format(donate_string, sizeof(donate_string), "%s{AFAFAF}\nОстальную информацию можно узнать пополнив счет\n\n", donate_string); //58
ShowPlayerDialog(playerid,5564,DIALOG_STYLE_MSGBOX ,"{BE2D2D}Платные услуги",donate_string,"Заказать","Отмена"); //+1 (нуль-символ)
return true;
В конце каждый строки подписал примерное число символов (не учитывал цвет и где-то мог на пару символов ошибиться)
Закрыто
Если появятся ещё вопросы по этому поводу, напиши в личку и открою тему