Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 1 по 8 из 8
  1. #1
    Аватар для Ne_nub
    Пользователь

    Статус
    Оффлайн
    Регистрация
    28.05.2016
    Сообщений
    74
    Репутация:
    0 ±

    Проблема с функцией

    Возникла такая проблема. Я решил сделать информацию для доната при вводе команды, но информационный текст пишет не полностью. В чем может быть проблема? Вот код:

    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;

  2. #2
    Аватар для BadPawn
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.01.2016
    Адрес
    Приморье, Спасск-Дальний
    Сообщений
    165
    Репутация:
    7 ±
    Для начала, выложи код с текстом.

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

  3. #3
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,360
    Репутация:
    113 ±
    Да тут и так понятно что цифры не правильно посчитал (хотя кто там их считал на обум влепил и всё...)
      Открыть/закрыть


    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

  4. #4
    Аватар для BadPawn
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.01.2016
    Адрес
    Приморье, Спасск-Дальний
    Сообщений
    165
    Репутация:
    7 ±
    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

  5. #5
    Аватар для Ne_nub
    Пользователь

    Статус
    Оффлайн
    Регистрация
    28.05.2016
    Сообщений
    74
    Репутация:
    0 ±
    Вообщем, делал всё что возможно, по вашим советам, но ничего не происходит. Выше текст после кода

    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

  6. #6
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,037
    Репутация:
    705 ±
    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
    Размеры, конечно, нужно адекватнее поставить.

  7. #7
    Аватар для Ne_nub
    Пользователь

    Статус
    Оффлайн
    Регистрация
    28.05.2016
    Сообщений
    74
    Репутация:
    0 ±
    Кхм.. Если это все из-за размеров, то почему показывает текст именно с
    PHP код:
    strcat(donate,"Для пополнения счета посетите сайт: "NAME_SITE"\n\n"); 
    ?

    - - - Добавлено - - -

    Размеры изменял, толку 0.

    - - - Добавлено - - -

    Все разобрался. Проблема решена

  8. #8
    Аватар для DeimoS
    Модератор?

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

    Закрыто
    Если появятся ещё вопросы по этому поводу, напиши в личку и открою тему
    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •