Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 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,369
    Репутация:
    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,181
    Репутация:
    790 ±
    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
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Не проще использовать только 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
    В конце каждый строки подписал примерное число символов (не учитывал цвет и где-то мог на пару символов ошибиться)

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

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

    Steve Pavlina

 

 

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

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

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

Ваши права

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