Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Нупы #2

Статус
В этой теме нельзя размещать новые ответы.

Leksarut

Умник
И привет всем!​
Это 2 урок для Нупов(новичков).Сегодня разберём отправку сообщений,ну и что нибудь другое=)!
Для примера возьмём код, при входе на сервер будет писаться в чат "Такой-то Такой-то зашёл на сервер".
Всё ещё не знаете как это сделать?Но попытайтесь подумать, это очень просто!
Вот код:
PHP:
new connectname[32],string[128];
GetPlayerName(playerid,connectname,32);
format(string,sizeof(string),"%s зашёл на сервер",connectname);
SendClientMessageToAll(-1,string);

И так, начнём с того куда это вставлять?Ну давайте подумаем? Должно быть при входе или же Connect'e, всё ещё нет мыслей? Есть? Если ваша мысль public OnPlayerConnect(playerid) , то вы абсолютно правы!

Далее сам код? Ну я уже рассказывал про переменные, но не говорил что за [] в этих переменных?В квадратных скобках указывается размер массива, максимальное количество символов которое можно записать в неё.Почему же перед string опять же нет new?Это так называемая "Оптимизация",сокращение кода в общем,если не углу***ться. Можно было конечно написать так:
PHP:
new connectname[32];
new string[128];
// ну и так далее, но по-моему легче уместить всё в 1 строчку
new connectname[32],string[128],.....//посмотрите что здесь надо ставить запятую, а не точку с запятой!
Что там дальше? GetPlayerName, Get - "получить",Player - игрок, Name - имя => получить имя игрока - эта функция для того и нужна!Открываются скобки далее в них - playerid - ид игрока,имя которого хотим узнать. Connectname - переменная в которую запишем это имя. 32 - размер переменной для записи, почему 32? Да потому что имя игрока не может быть больше 32 символов!

Далее трудное! format -он записывает нужный текст в какую либо переменную, + к этому в нём можно указывать значения %d %s и других! Что-же внутри него? string - переменная которую мы объявили , в неё и будет вестись запись строки!sizeof(string) - это значит размер будет как у переменной string, мы могли указать просто 128.

Далее открываются кавычки,в них то и будет весь текст! Ну и тут самое не понятное? Что такое за символ "процент эс"((%s))?Это следует запомнить:
[HR][/HR]
%b - Бинарный тип
%c- Символьный тип
%d, %i-Целочисленный тип (числа)
%f-Число с плавающей точкой – вещественный тип(Float - координаты)
%s-Строка
[HR][/HR]

Кавычка закрывается и далее идут, так сказать "объяснения" всем %s %d %b %f - если таковые имеются. У нас только %s - строка. Мы ей присваиваем значение connectname - а значит - имя игрока.
Примечание: если будет несколько %s %s %s, то name,connect,id и connect,name,id - будут разные числа в чат выводиться. Т.к. всё надо ставить по порядку как они идут в кавычках!!!

Ну самое страшное позади! Теперь осталось показать текст игрокам! Как же это сделать? Есть функция SendClientMessageToAll , можно догадаться что последние слова в функции "ToAll", говорят что всем игрокам, не так ли? Можно увидеть различие в аргументах функций SendClientMessage и SendClientMessageToAll, в 1 случае надо указывать ид игрока которому надо отправить сообщение , цвет текста, и сам текст.
А если отсылать всем игрокам ид ведь указать нельзя? Правильно, остаётся только цвет и текст. По поводу цветов:
Их можно записывать в таком формате: 0x00FF7FFF
Или же в начале мода объявить вот такую библиотеку цветов:
PHP:
#define buybl 0xffffff
#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_BANK 0x80FF80AA
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_LIGHTRED 0xFF6347AA

#define COLOR_RED 0xFF0000FF
#define COLOR_GREY 0xAFAFAFFF
#define COLOR_GREEN 0x33AA33FF
#define COLOR_YELLOW 0xFFFF00FF
#define COLOR_WHITE 0xFFFFFFFF
#define COLOR_BLUE 0x0000BBFF
#define COLOR_LIGHTBLUE 0x33CCFFFF
#define COLOR_ORANGE 0xFF9900FF
#define COLOR_LIME 0x10F441FF
#define COLOR_MAGENTA 0xFF00FFFF
#define COLOR_LIGHTGREEN 0x24FF0AFF
#define COLOR_NAVY 0x000080FF
#define COLOR_AQUA 0xCC00FFFF
#define COLOR_CRIMSON 0xDC143CFF
#define COLOR_FLBLUE 0x6495EDFF
#define COLOR_BISQUE 0xFFE4C4FF
#define COLOR_BLACK 0x000000FF
#define COLOR_CHARTREUSE 0x7FFF00FF
#define COLOR_BROWN 0xA52A2AFF
#define COLOR_CORAL 0xFF7F50FF
#define COLOR_GOLD 0xB8860BFF
#define COLOR_GREENYELLOW 0xADFF2FFF
#define COLOR_INDIGO 0x4B00B0FF
#define COLOR_IVORY 0xFFFF82FF
#define COLOR_LAWNGREEN 0x7CFC00FF
#define COLOR_LIMEGREEN 0x32CD32FF
#define COLOR_MIDNIGHTBLUE 0x191970FF
#define COLOR_MAROON 0x800000FF
#define COLOR_OLIVE 0x808000FF
#define COLOR_ORANGERED 0xFF4500FF
#define COLOR_PINK 0xFFC0CBFF
#define COLOR_SPRINGGREEN 0x00FF7FFF
#define COLOR_TOMATO 0xFF6347FF
#define ForChangePASS
#define COLOR_YELLOWGREEN 0x9ACD32FF
#define COLOR_MEDIUMAQUA 0x83BFBFFF
#define COLOR_MEDIUMMAGENTA 0x8B008BFF
#define COLOR_BRIGHTRED 0xDC143CFF
#define COLOR_SYSTEM 0xEFEFF7FF
#define COLOR_PURPLE 0x330066FF


Ну вот и всё, теперь вы знаете кто заходит к вам не сервер!
[HR][/HR]
Как же без домашнего задания?
Из прошлого урока я научил вас делать проверку на что-либо. Так вот сделайте проверку при смерти проверку на деньги и если денег больше 2 млн.отнимите 5 тысяч!
Выведите сообщение "У игрока такого-то было столько-то денег, он потерял 5000$"!

Ответы в комментарии, отзывы там-же !

[HR][/HR]
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу