Исполнитель PAWN разработчик

reddyson

Известный
Автор темы
6
5
a:
new str[81];
format(str, sizeof(str), "Привет, %s. Хочу предложить тебе свои услуги :)", GPN(playerid));
SendClientMessage(playerid, -1, str);

stock GPN(playerid)
{
    new name[MAX_PLAYER_NAME + 1];
    GetPlayerName(playerid, name, sizeof(name));
    return name;
}




* Занимаюсь разработкой скриптов на Pawn c 2016-го года 😥
* Написал десятки тысяч строк кода, огромный опыт работы 😳
* Выполнил более 1000 заказов за всё время, и все остались довольными 😱
* Ответственный, креативный, оперативно решаю поставленные задачи 😼
* Учитываю все пожелания заказчика. Ваша задумка будет реализована максимально точно 😘

--- Могу работать на постоянной основе. Не работаю за процент от доната 😵‍💫 Много не беру, обязательно сработаемся 👾
 
Последнее редактирование:

f0Re3t

Poh production
Друг
877
812
a:
new str[35];
format(str, sizeof(str), "Привет, %s. Хочу предложить тебе свои услуги :)", name);
SendClientMessage(playerid, -1, str);

stock GPN(playerid)
{
    new name[MAX_PLAYER_NAME + 1];
    GetPlayerName(playerid, name, sizeof(name));
    return name;
}




* Занимаюсь разработкой скриптов на Pawn c 2016-го года 😥
* Написал десятки тысяч строк кода, огромный опыт работы 😳
* Выполнил более 1000 заказов за всё время, и все остались довольными 😱
* Ответственный, креативный, оперативно решаю поставленные задачи 😼
* Учитываю все пожелания заказчика. Ваша задумка будет реализована максимально точно 😘

--- Могу работать на постоянной основе. Не работаю за процент от доната 😵‍💫 Много не беру, обязательно сработаемся 👾
впринципе, по примеру кода что дал автор, уже понятно с кем придется иметь дело...

1. размер переменной str слишком мал для записи твоего текста
2. неизвестная переменная name
3. хоть и не используемая функция GPN, но сразу видно на качество кода, а, да, возврат текста скажет тебе привет с выходом за область памяти 😉
 
  • Нравится
Реакции: paulohardy

reddyson

Известный
Автор темы
6
5
впринципе, по примеру кода что дал автор, уже понятно с кем придется иметь дело...

1. размер переменной str слишком мал для записи твоего текста
2. неизвестная переменная name
3. хоть и не используемая функция GPN, но сразу видно на качество кода, а, да, возврат текста скажет тебе привет с выходом за область памяти 😉
1. Бутафорный код.
2. Он и не должен работать. Пофиксил для придир 😌
3. Выхода за область памяти не будет, все символы не отобразятся, а только то кол-во, которое входит в размер переменной.

p.s. По примеру какого когда? Это даже не код, а больше приветственное сообщение, бутафория) Не делай поспешных выводов, родной.
 

Ну погоди!

Активный
156
52
Код:
new str[81];
format(str, sizeof(str), "Привет, %s. Хочу предложить тебе свои услуги :)", GPN(playerid));
SendClientMessage(playerid, -1, str);
Не кажется ли, что тут 81 элемент – очень много?
Хорошо, считаем вместе, 47 символов с учётом индификатора.
Верным было бы:
Код:
new str[ 47 + ( -2 ) + (MAX_PLAYER_NAME) + 1]; // -2 т.к. индификатор не считается за символ, он займёт своё место, а т.к. тут имя, MAX_PLAYER_NAME - 24 ячейки, добавляем 1, т.к. \0 заканчивает строку.
format(str, sizeof(str), "Привет, %s. Хочу предложить тебе свои услуги :)", GPN(playerid));
SendClientMessage(playerid, -1, str);
А ещё лучше:
Код:
new fmt_str[] = "Привет, %s. Хочу предложить тебе свои услуги :)";
format(fmt_str,sizeof(fmt_str), fmt_str, GPN(playerid);
SendClientMessage(playerid, -1, str);
 

savvin

Известный
406
139
зачем имя каждый раз получать, если можно один? и строки лучше не возвращать напрямую
 
  • Нравится
Реакции: Ну погоди!

Ну погоди!

Активный
156
52
* Выполнил более 1000 заказов за всё время, и все остались довольными
Именно так люди становятся профЕсиональными разработчиками, которые не показывают свой код, и пытаются сделать отмазки. Ты хоть от 2016-2023 сделал работу хотя бы лёгкую на ассемблере?
 

f0Re3t

Poh production
Друг
877
812
видимо, там настолько с более 1000 заказов много его кода (не паблика), что предоставить даже нечего
 

tommyled.

Известный
4
2
Для возврата никнейма делать функцию.. Кощунство

C#:
static const
    const_str[] = "Привет, %s. Хочу предложить тебе свои услуги :)";

new
    str[sizeof const_str + MAX_PLAYER_NAME + 1 - 2],
    name[MAX_PLAYER_NAME + 1];

GetPlayerName(playerid, name, sizeof name);
format(str, sizeof str, const_str, name);
SendClientMessage(playerid, -1, str);
 
Последнее редактирование: