Русское сообщество по скриптингу

Дополнить строку до нужного количества знаков  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Дополнить строку до нужного количества знаков

Сообщение EbGiK » 21 июл 2017, 16:52

Есть строка, она колеблится от 6 символов до 15, необходимо что бы она всегда была одинакового размера (то есть в конец дописывалось необходимое кол-во пробелов
Как это сделать?

Код: Выделить всё
#include <amxmodx>
#include <amxmisc>

public plugin_init() {
    start()
    
    return PLUGIN_HANDLED
} 

public start
(){
    new str[15], correctStr[15]
    new quantitySpace
    
    quantitySpace 
= 15 - strlen(str)
    for(new i; i < quantitySpace; i++){
        formatex(correctStr, charsmax(correctStr), "%s ", str)
    }
    
    return PLUGIN_HANDLED
    


Можно проще сделать и быстрее по скорости?
Аватара пользователя
EbGiK
 
Сообщения: 192
Зарегистрирован: 05 фев 2016, 16:40
Благодарил (а): 43 раз.
Поблагодарили: 3 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: Дополнить строку до нужного количества знаков

Сообщение NEoMASTERR » 22 июл 2017, 01:27

Вы должны зарегистрироваться, чтобы видеть ссылки.

Всё форматирование в amxx это C++ функция printf (частично)

Код: Выделить всё
formatex(blabla, charsmax(blabla), "|%10%s|", "blabla") // строка будет длиной 10 символов, недостающее заполнено пробелами в конце строки 
log_amx("%15s %10s""123""456"// аналогично  
Аватара пользователя
NEoMASTERR
 
Сообщения: 832
Зарегистрирован: 05 янв 2015, 16:38
Благодарил (а): 43 раз.
Поблагодарили: 188 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Дополнить строку до нужного количества знаков  [Решено]

Сообщение EbGiK » 22 июл 2017, 01:46

кстате я не правильно написал, так имел ввиду
Код: Выделить всё
#include <amxmodx>
#include <amxmisc>

public plugin_init() {
    
start()
    
    return 
PLUGIN_HANDLED


public 
start(){
    new 
str[15], correctStr[15]
    new 
quantitySpace
    
    quantitySpace 
15 strlen(str)
    for(new 
iquantitySpacei++){
        
formatex(correctStrcharsmax(correctStr), "%s "str)
        
str correctStr 
    
}
    
    return 
PLUGIN_HANDLED
    
}  
Аватара пользователя
EbGiK
 
Сообщения: 192
Зарегистрирован: 05 фев 2016, 16:40
Благодарил (а): 43 раз.
Поблагодарили: 3 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: Дополнить строку до нужного количества знаков

Сообщение артист666 » 22 июл 2017, 12:49

Код: Выделить всё
public plugin_init() {
    return PLUGIN_HANDLED
}


Что это за гон?
Нет, плохого ничего нет, но зачем это совать в каждую функцию, если оно никак не влияет на процесс?
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
Аватара пользователя
артист666
 
Сообщения: 2706
Зарегистрирован: 09 апр 2013, 17:46
Благодарил (а): 284 раз.
Поблагодарили: 639 раз.
Опыт программирования: Больше трех лет
Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn

Re: Дополнить строку до нужного количества знаков

Сообщение EbGiK » 08 авг 2017, 16:10

Нет, плохого ничего нет, но зачем это совать в каждую функцию, если оно никак не влияет на процесс?

правило хорошего тона :-) Просто не совсем понятно, что оно делает! Видел в сети где то было описание, так и не прочитал!
Аватара пользователя
EbGiK
 
Сообщения: 192
Зарегистрирован: 05 фев 2016, 16:40
Благодарил (а): 43 раз.
Поблагодарили: 3 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: Дополнить строку до нужного количества знаков

Сообщение артист666 » 08 авг 2017, 17:39

Да ничего оно не делает.

Из amxmod:
Код: Выделить всё
FF_PluginInit registerForward("plugin_init"ET_IGNOREFP_DONE); 

Код: Выделить всё
#define ET_IGNORE 0 // Ignore return vaue 


Всё, что в функции возвращается - игнорируется.
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
Аватара пользователя
артист666
 
Сообщения: 2706
Зарегистрирован: 09 апр 2013, 17:46
Благодарил (а): 284 раз.
Поблагодарили: 639 раз.
Опыт программирования: Больше трех лет
Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn

Re: Дополнить строку до нужного количества знаков

Сообщение EbGiK » 08 авг 2017, 18:10

Всё, что в функции возвращается - игнорируется.

ну, ладно, уговорил, в plugin_init() не буду писать return
Аватара пользователя
EbGiK
 
Сообщения: 192
Зарегистрирован: 05 фев 2016, 16:40
Благодарил (а): 43 раз.
Поблагодарили: 3 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: Дополнить строку до нужного количества знаков

Сообщение артист666 » 08 авг 2017, 18:26

И в других не нужно, если только оно не блокирует что-то или функция не будет использована в условии... :-)
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
Аватара пользователя
артист666
 
Сообщения: 2706
Зарегистрирован: 09 апр 2013, 17:46
Благодарил (а): 284 раз.
Поблагодарили: 639 раз.
Опыт программирования: Больше трех лет
Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn

Re: Дополнить строку до нужного количества знаков

Сообщение EbGiK » 08 авг 2017, 18:28

И в других не нужно, если оно не блокирует ничего или функция не будет использована в условии...

ну я на всякий случай ставлю, а то потом замучаешься искать где ошибка, когда оптимизировать буду, все лишнее уберу
Аватара пользователя
EbGiK
 
Сообщения: 192
Зарегистрирован: 05 фев 2016, 16:40
Благодарил (а): 43 раз.
Поблагодарили: 3 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: Дополнить строку до нужного количества знаков

Сообщение артист666 » 08 авг 2017, 18:56

Оно при компиляции ставится само. :-)
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
Аватара пользователя
артист666
 
Сообщения: 2706
Зарегистрирован: 09 апр 2013, 17:46
Благодарил (а): 284 раз.
Поблагодарили: 639 раз.
Опыт программирования: Больше трех лет
Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn

След.

Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 4