/ PAMOKA / multiline SVC_DISCONNECT (kick)

Šiame forume galima rasti pamokas, patarimus, skriptus ir kitą naudingą informciją.
Post Reply
Tetusis

/ PAMOKA / multiline SVC_DISCONNECT (kick)

Post by Tetusis »

Ka gi rašydamas savo plugina nusprendžiau pasidalinti naudinga informacija su jumis ir sukurti pamoka, pirmiausiai kuom ji skiriasi nuo šios pamokos - https://forums.alliedmods.net/showthread.php?t=47227: Image

, o gi tuom, kad metodas yra daug paprastesnis ir lengvesnis, taipogi lygiuodamas eilutes su

Code: Select all

^n
pamačiau, kad galima atrasti vietos ir 4 eilutei nukeliant teksta "You have been disconnected from the server." kas yra šiuo metu visiškai unikalu



Image


Štai paprastas kodas su funkcija kuria parašius į konsolę jus gaunate rezultata nurodyta virš šio teksto (paveikslelyje), jame esančioje funkcijoje viskas paaiškinta. Taigi kam to reikia? žmogus nevisada pasižiūri kas yra konsolėje, pirmiausiai dėmesys atkreipiamas į šia žinute, na ,o pagrindinė priežastis kodėl informacija perkialiama į konsolę yra vietos trūkumas, naudomiesi šį metoda galėsite sutalpinti daug daugiau informacijos negu paprasčiausioje kick funkcijoje, sėkmės.

Code: Select all

#include <amxmodx>#include <amxmisc> public plugin_init() {    register_plugin("/ PAMOKA / multiline SVC_DISCONNECT (kick)", "0.1", "Serious Spot")        register_clcmd("dc", "disconnect", ADMIN_ALL)   } public disconnect(id) {        // Zinutes ilgis char'ais    new MSG_LENGHT[256]     // Simbolis ^n reiskia, kad pereiname prie kitos eilutes, teksta galite redaguoti    formatex(MSG_LENGHT, charsmax(MSG_LENGHT), "^n1 EILUTE^n2 EILUTE^n3 EILUTE^n4 EILUTE^n^n")     message_begin(MSG_ONE, SVC_DISCONNECT, _, id)    write_string(MSG_LENGHT)    message_end()    }

User avatar
aaarnas
Vyr. diskusijų administratorius
Posts: 3891
Joined: 2010 Aug 31 13:21
Skype: fiarno
Contact:

Re: / PAMOKA / multiline SVC_DISCONNECT (kick)

Post by aaarnas »

Akivaizdu counter-strik'e, kad ^n tai nauja eilutė.

Ir nerašyk kaip papuola. Uppercase paprastai rašomi tik makrosai, arba paprastos konstantos. Labai neaiškus kodas dėl to tampa.

Realiai tas pats turėtų veikti ir su serverio komanda ' kick uid "fsdf^nfsdfd" ' (priklauso nuo to, kaip ji apdorojama)

Gali parašyti kaip stock:

Code: Select all

// ^n - for new line in message.stock disconnect_client(id, message[]) {     message_begin(MSG_ONE, SVC_DISCONNECT, _, id)    write_string(message)    message_end()    }
O šiaip naudingas dalykas. Patiko man SVC_DISCONNECT, niekada apie jį nebuvau pasidomėjęs.
Palikau CS pasaulį ;/ . Nebepasiekiamas.

User avatar
hleV
AMX Mod X ekspertai
Posts: 875
Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai

Re: / PAMOKA / multiline SVC_DISCONNECT (kick)

Post by hleV »

Atsimenu buvo kažkas susipisę su tuo SVC_DISCONNECT vienu metu. Kažkada kūriau plugin'ą žmogui, tai buvo funkcija originali su SVC_DISCONNECT, bet teko grįžt prie įprasto būdo. Tik vat neatsimenu kas konkrečiai ten buvo. Gal jau ir susitvarkė viskas po update.

Code: Select all

Disconnect(id, const reason[]){    //message_begin(MSG_ONE_UNRELIABLE, SVC_DISCONNECT, _, id);    //write_string(reason);    //message_end();     server_cmd("kick #%d ^"%s^"", get_user_userid(id), reason);}
Gal dėl MSG_ONE_UNRELIABLE...
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

Tetusis

Re: / PAMOKA / multiline SVC_DISCONNECT (kick)

Post by Tetusis »

hleV wrote:Atsimenu buvo kažkas susipisę su tuo SVC_DISCONNECT vienu metu. Kažkada kūriau plugin'ą žmogui, tai buvo funkcija originali su SVC_DISCONNECT, bet teko grįžt prie įprasto būdo. Tik vat neatsimenu kas konkrečiai ten buvo. Gal jau ir susitvarkė viskas po update.

Code: Select all

Disconnect(id, const reason[]){    //message_begin(MSG_ONE_UNRELIABLE, SVC_DISCONNECT, _, id);    //write_string(reason);    //message_end();     server_cmd("kick #%d ^"%s^"", get_user_userid(id), reason);}
Gal dėl MSG_ONE_UNRELIABLE...

bandziau butent su

Code: Select all

MSG_ONE_UNRELIABLE
, pluginas visiskai nefunkcionavo, kiek skaiciau

Code: Select all

MSG_ONE_UNRELIABLE
lyginant su

Code: Select all

MSG_ONE
maziau crashin'a serveri, bet funkcija su

Code: Select all

MSG_ONE_UNRELIABLE
net neveike, gryzau prie pastarojo.

Post Reply

Who is online

Users browsing this forum: No registered users and 13 guests