Irelevant) folosesc oportunități motd_write - comunitate Rusă scripting AMXX

Vreau să vă spun despre metoda mea de a folosi posibilitățile clientului de a lucra cu fișiere MOTD. Există trei comenzi:
  • motdfile - comandă care indică un fișier MOTD este afișat atunci când conectarea la un server care este utilizat în principal pentru server. Implicit: motd.txt.
  • motd_write - comanda utilizată pentru a scrie informații în fișierul MOTD care este specificat în motdfile.
  • motd - comanda utilizată pentru a afișa conținutul fișierului MOTD specificat în motdfile, în consola de client.

Pentru scopurile noastre, vom folosi doar primele două comenzi, și anume motdfile și motd_write. Există unele restricții atunci când se utilizează aceste comenzi:
  • Putem folosi numai fișierele în modul de dosar, în acest caz cstrike. Utilizați subdirectoare în cstrike posibil, și de ieșire la nivelul următor - nr. Cu alte cuvinte, putem folosi ca un fișiere MOTD din directorul cstrike / modele sau cstrike / sprites, dar nu fișierele care sunt în afara directorul cstrike.
  • Nu putem folosi motd_write pentru anumite tipuri de fișiere, cum ar fi: exe, dll, CFG, rc, com, bat (și, probabil, alții, am cei care sunt cunoscuți pentru mine).
  • Nu putem scrie un fișier într-un director care nu există în cstrike pe client. Cu alte cuvinte, dacă vrem să scrie un fișier în cstrike / testare / test.txt și jucătorul nu cstrike / director de testare, atunci nu se întâmplă nimic.
  • Scrierea de date prin intermediul motd_write într-un fișier care există deja, eliminăm conținutul înlocuind complet datele lor. Cu alte cuvinte, nu puteți adăuga la fișierul de informații.
  • Prin motd_write putem înregistra un maxim de 1012 octeți de informație.

Deci, se pare că putem arde prin motd_write 1012 octeți de informație, dar cum de a înregistra informații în câteva rânduri? Pentru ca un nou paragraf la sfârșitul motd_write considerat, prin urmare, linia în continuare sparge record. Nu contează, am să-ți spun cum este posibil de a înregistra informații în câteva rânduri și vom da o utilizare practică.

În primul rând, amintiți-vă că prin motd_write poate compromite integritatea clientul jocului: daune PSB cartela, deteriora modelul mdl daune liblist.gam sau orice alte fișiere importante de joc. Prin urmare, posibilitatea de a folosi această comandă de pe server pe propriul risc. Ai nevoie pentru a înțelege rezultatul acțiunilor lor.

De exemplu, realizarea codului dat:
Cod: Selectați toate // Se specifică fișierul care urmează să fie utilizat (cstrike / modele / AMX-x.mdl)
client_cmd (id. "Modele motdfile / AMX-x.mdl")
Exemplu // Scrieți text într-un fișier
client_cmd (id. "Exemplul motd_write")
// returneaza echipa implicit motdfile
client_cmd (id. "motdfile motd.txt")

Ca urmare, un jucător în folderul cstrike / modele vor avea un nou fișier AMX-x.mdl conținutul exemplul. Este clar că acest model nu va funcționa, iar noi o folosim nu putem. Deoarece modelele au un conținut complex, care este chiar mai mult decât admise 1012 octeți.

comandă „motor conectați 127.0.0.1:27015

Acum scrie un plug-in pentru a citi gamemenu.txt nostru și scrie-l la player-ul:
Cod: Selectați toate #include

PLUGIN #define „Meniu Joc“
VERSIUNEA #define "1.0"
#define AUTOR "DJ_WEST"

#define GAMEMENU_FILE "resurse / GameMenu.res"
MAX_SIZE #define 1012

noi g_Text # 91; MAX_SIZE # 93;

plugin_init publice ()
register_plugin (PLUGIN. VERSION. AUTOR)

// Apel funcția Read_GameMenu pentru a citi meniul fișierul nostru corectat.
set_task (0.1. "Read_GameMenu")
>

Read_GameMenu publice ()
noi i_File. s_File # 91; 128 # 93;

// Ia calea către directorul cu configurările AMXX în s_File.
get_configsdir (s_File. charsmax (s_File))

// forma o modalitate de a gamemenu.txt fișier folosind calea către fișierul de configurare, și salvați-l în s_File.
Formatul (s_File. charsmax (s_File), "% s / gamemenu.txt". s_File)

// fișier deschis pentru citire
i_File = fopen (s_File. "r")

// Citiți conținutul fișierului în g_Text. Această funcție acceptă caractere de citire CR, LF.
fgets (i_File. g_Text. MAX_SIZE)

// Închideți fișierul
fclose (i_File)
>

client_putinserver publică (id)
// Apelați funcția Change_GameMenu
set_task (3.0. "Change_GameMenu". id)
>

get_configsdir stoc (s_Name # 91; # 93;, i_Len)
întoarce get_localinfo ( "amxx_configsdir". s_Name. i_Len)
>

publice Change_GameMenu (id)
// Specificați calea către resursa / fișierul GameMenu.res
client_cmd (id. "motdfile% s". GAMEMENU_FILE)

// Scrieți conținutul fișierului g_Text
client_cmd (id. "motd_write% s". g_Text)

// returneaza comanda implicită
client_cmd (id. "motdfile motd.txt")
>

modificări de meniu vor intra în vigoare când reporniți jocul. Sau efectua _restart echipa.
Amintiți-vă că, în acest fel șterge fișierul GameMenu.res client, care poate fi modificat a fost un jucător de preferințele și dorințele lor.

Nu-mi scrie un PM. Dacă aveți nevoie de ajutor, gratuit. Orice întrebări pe forum.

La locul de muncă netu_stima (ar trebui să fie așa cum sa menționat deja nu a fost întotdeauna dosar atât de cstrike_russian, acesta poate apărea după apelul la server sau ceva de genul fir, dacă ați configurat corect (în registru), este bine pentru aceste vânzări nu se cunosc)
Am propria mea întrebare - cum doriți să înregistrați în limba rusă? De exemplu, în loc de „Alăturați-vă la AMX-X.RU Server“ aici este „Rusă mai română în serverul rusifitsirovany rusesc“.
M-am gândit la ceva, și cred că nu va funcționa sau va. Tot ce știu este că ar trebui să fi fost în limba rusă, ar trebui să fie în UTF-8 gamemenyu.res salva, dar prin server pentru a face acest lucru.

BoBka 38_RuS a scris (a): La locul de muncă netu_stima (ar trebui să fie astfel cum este menționat pentru a nu a fost întotdeauna dosarul cstrike_russian, acesta poate apărea după apelul la server sau ceva de genul fir, dacă îl configurați în mod corespunzător (în registru), ei bine, acest lucru este pentru cei care astfel de vânzări nu știu)
Am propria mea întrebare - cum doriți să înregistrați în limba rusă? De exemplu, în loc de „Alăturați-vă la AMX-X.RU Server“ aici este „Rusă mai română în serverul rusifitsirovany rusesc“.
M-am gândit la ceva, și cred că nu va funcționa sau va. Tot ce știu este că ar trebui să fi fost în limba rusă, ar trebui să fie în UTF-8 gamemenyu.res salva, dar prin server pentru a face acest lucru.


Când compilați plug-in-line este stocată în codificarea fișierului. și linia „Kuku toate“, atunci când sunt compilate în diferite codificări va arăta diferit. Deși nu se cunoaște modul în care motd_write, așa că încercați

Nu ajuta la medicamente - are un forum.
Plug-in-uri, de asemenea, nu scrie pe forum, destul de Scripteri bune.

Am propria mea întrebare - cum doriți să înregistrați în limba rusă? De exemplu, în loc de „Alăturați-vă la AMX-X.RU Server“ aici este „Rusă mai română în serverul rusifitsirovany rusesc“.
M-am gândit la ceva, și cred că nu va funcționa sau va. Tot ce știu este că ar trebui să fi fost în limba rusă, ar trebui să fie în UTF-8 gamemenyu.res salva, dar prin server pentru a face acest lucru.


Este posibil și în limba rusă. Uite plugin-uri mele, care ispolzueyut oportunități motd_write, în special commandmenu plugin. Ar trebui să fie salvat în UTF-8 (fără BOM), și verificați dacă caracterele LF nu au avut atunci.

Nu-mi scrie un PM. Dacă aveți nevoie de ajutor, gratuit. Orice întrebări pe forum.

Fedcomp a scris (a): Văd aici se nasc idei mari))
Singurul lucru pe care el banitsya imediat pe toate serverele, fără interdicție de viață


Asta-i despre modul născut CSFile.Info OpenGL32 Detect 1.4.2

P.S. Fii maestru al vieții tale.