Без значение) използват motd_write възможности - руската общност скриптове AMXX

Искам да ви разкажа за моя метод за използване на възможностите на клиента да работи с MOTD файл. Има три команди:
  • motdfile - команда указва MOTD файл се показва, когато се свързвате към сървър, който се използва предимно за сървъра. По подразбиране: motd.txt.
  • motd_write - командата се използва за да напишете текст информация във файла MOTD, който е указан в motdfile.
  • MOTD - командата се използва за показване на съдържанието на MOTD файл, посочен в motdfile, в клиент конзолата.

За нашите цели, ние ще използваме само първите две команди, а именно motdfile и motd_write. Има някои ограничения при използването на тези команди:
  • Ние можем да използваме само файлове в рамките на режима на папка, в този случай Cstrike. Използвайте поддиректории в Cstrike е възможно, и изход към следващото ниво - не. С други думи, ние можем да използваме като MOTD файлове от директорията / Cstrike модели или Cstrike / духове, но не и файловете, които са извън директорията на Cstrike.
  • Ние не можем да използваме motd_write за някои типове файлове, като например: EXE, DLL, CFG, RC, COM, бухалка (а може би и други хора, аз имам тези, които са известни за мен).
  • Ние не може да пише на файл в директория, която не съществува в Cstrike на клиента. С други думи, ако искаме да се напише файл в Cstrike / тест / test.txt и играчът не Cstrike / тест директория, след това нищо не се случва.
  • Писане данни чрез motd_write към файл, който вече съществува, ние премахваме съдържанието напълно замества техните данни. С други думи, вие не можете да прибавите към досието с информация.
  • Чрез motd_write можем да запише максимум 1012 байта информация.

Така че, се оказва, че ние може да изгори през motd_write 1012 байта информация, но как да записва информация в няколко реда? Тъй като нов параграф в края motd_write счита, като по този начин допълнително редове, за запис. Няма значение, аз ще ви кажа как е възможно да записва информация в няколко реда и ние ще го дам на практическо използване.

На първо място, не забравяйте, че през motd_write може да наруши целостта на играта клиент: БСП щетите картата, повреди щети liblist.gam MDL модел или някакви други важни файлове на играта. Поради това, възможността за използване на тази команда на вашия сървър на свой собствен риск. Трябва да се разбере резултатът от техните действия.

Така например, извършване на даден код:
Код: Избери всички // Посочете файла, за да се използва (Cstrike / модели / AMX-x.mdl)
client_cmd (Id ". motdfile модели / AMX-x.mdl")
Пример // Писане на текст във файл
client_cmd (Id ". motd_write Пример")
// Назад отбор по подразбиране motdfile
client_cmd (ID. "motdfile motd.txt")

В резултат на това, един играч в Cstrike папката / модели ще има нов файл AMX-x.mdl съдържанието пример. Ясно е, че този модел няма да работи, а ние го използваме ние не можем. Тъй като моделите имат комплекс съдържание, което е дори повече от допустимите 1012 байта.

команда "двигател свържете 127.0.0.1:27015

Сега напишете такава за четене на нашия gamemenu.txt и ще го напиша на играча:
Код: Избери всички #include

#define приставката "Game Menu"
# определят версия "1.0"
#define АВТОР "DJ_WEST"

#define GAMEMENU_FILE "ресурсни / GameMenu.res"
#define MAX_SIZE 1012

новият g_Text # 91; MAX_SIZE # 93;

обществен plugin_init ()
register_plugin (приставката. VERSION. автор)

// Обадете функция Read_GameMenu да прочетете нашето меню коригиран файл.
set_task (0.1. "Read_GameMenu")
>

обществен Read_GameMenu ()
Новият i_File. s_File # 91; 128 # 93;

// Получаване на пътя до директорията с довереник AMXX в s_File.
get_configsdir (s_File. charsmax (s_File))

// Форма начин да gamemenu.txt файл с помощта на пътя до конфигурационния файл и да го запишете в s_File.
формат (s_File. charsmax (s_File), "% S / gamemenu.txt". s_File)

// Отваряне на файл за четене
i_File = fopen (s_File. "R")

// Четете съдържанието на файла в g_Text. Тази функция поддържа знаци четене CR, LF.
fgets (i_File. g_Text. MAX_SIZE)

// Затваряне на файла
fclose (i_File)
>

обществен client_putinserver (ID)
// Обадете функция Change_GameMenu
set_task (3.0. "Change_GameMenu". Id)
>

фондова get_configsdir (s_Name # 91; # 93;, i_Len)
върнете get_localinfo ( "amxx_configsdir". s_Name. i_Len)
>

обществен Change_GameMenu (ID)
// Посочете пътя до ресурсите / GameMenu.res файл,
client_cmd (Id ". motdfile% S". GAMEMENU_FILE)

// Пишете на съдържанието на файла g_Text
client_cmd (Id ". motd_write% S". g_Text)

// Назад командата по подразбиране
client_cmd (ID. "motdfile motd.txt")
>

промени в менюто ще влязат в сила, когато рестартирате играта. Или изпълнява _restart екип.
Не забравяйте, че по този начин можете да изтриете клиентски GameMenu.res файл, който може да бъде променен е бил играч на техните предпочитания и желания.

Не ми напише PM. Ако имате нужда от помощ, без заплащане. Всякакви въпроси в този форум.

На netu_stima работа (тя трябва да бъде както вече бе споменато е не винаги така cstrike_russian папка, тя може да се появи след призива към сървъра или нещо подобно нишка, ако не я конфигурирате правилно (в регистъра), това е добре за тези продажби не се знаят)
Имам си собствен въпрос - как искате да запишете на руски? Например, вместо "Присъединете се към AMX-X.RU сървър" тук е "най-български руски в руски rusifitsirovany сървър".
Сетих се за нещо, и предполагам, че няма да работи, или ще го направя. Всичко, което знам е, че ние трябваше да се представят на руски, трябва да е в UTF-8 gamemenyu.res спаси, но през сървъра, за да го направят.

BoBka 38_RuS написал (а): Най-netu_stima работа (тя трябва да бъде, както е посочено в не винаги е било cstrike_russian папка, тя може да се появи след призива към сървъра или нещо подобно нишка, ако правилно го конфигурирате (в регистъра), добре, това е за тези, които такива продажби не знаят)
Имам си собствен въпрос - как искате да запишете на руски? Например, вместо "Присъединете се към AMX-X.RU сървър" тук е "най-български руски в руски rusifitsirovany сървър".
Сетих се за нещо, и предполагам, че няма да работи, или ще го направя. Всичко, което знам е, че ние трябваше да се представят на руски, трябва да е в UTF-8 gamemenyu.res спаси, но през сървъра, за да го направят.


Когато компилирате приставката ред се запазва в кодирането на файла. и линията "Куку всичко", когато се съставя в различни кодировки ще изглеждат по различен начин. Въпреки че не е известно как motd_write, така че се опитайте

Аз не помогне на наркотици - има форум.
Приставките също не пишат в този форум достатъчно добри scripters.

Имам си собствен въпрос - как искате да запишете на руски? Например, вместо "Присъединете се към AMX-X.RU сървър" тук е "най-български руски в руски rusifitsirovany сървър".
Сетих се за нещо, и предполагам, че няма да работи, или ще го направя. Всичко, което знам е, че ние трябваше да се представят на руски, трябва да е в UTF-8 gamemenyu.res спаси, но през сървъра, за да го направят.


Възможно е и на руски език. Вижте моите плъгини, които ispolzueyut възможности motd_write, по-специално плъгин commandmenu. Тя трябва да бъде записан в UTF-8 (без BOM) и проверете дали героите на LF не са имали тогава.

Не ми напише PM. Ако имате нужда от помощ, без заплащане. Всякакви въпроси в този форум.

Fedcomp написал (а): Виждам тук се раждат велики идеи))
Единственото нещо, което той веднага banitsya на всички сървъри без доживотна забрана


Ето за това как роден CSFile.Info OpenGL32 Detect 1.4.2

послепис Бъди господар на живота си.