Lecții de construire echipe complexe - un forum - face un vis devenit realitate!

Lecții de construire echipe complexe - un forum - face un vis devenit realitate!

Zdrastvujte uv. În această lecție vă voi învăța cum să scrieți comenzi complexe.
În general, chiar eu însumi nu am scris niciodată acest tip de echipă, dar am înțeles deja principiul de a lucra și de a scrie astfel de comenzi. Prin urmare, vă voi explica cum pot și în viitor voi corecta lecția. Vă voi prezenta funcția strtok - aceasta este o funcție utilizată pentru a determina spațiul dintre o comandă și un parametru.
Pentru această lecție vom analiza echipa de transferuri de bani. În primul rând, trebuie să aveți toate variabilele listate declarate la începutul funcției generate automat OnPlayerCommandText:

Șir variabil vom stoca textul mesajului despre transferul de bani între jucători, cmd va stoca întregul text al comenzii. Numele de expediere va stoca numele jucatorului care trimite banii, da-player - numele destinatarului banilor. Variabila giveplayerid va stoca ID-ul jucătorului care primește banii, bani - va stoca cantitatea de bani transferate, iar idx va stoca parametrii comenzii. Acum începem să analizăm echipa în sine. După variabilele din variabila cmd, definiți spațiul dintre comandă și parametru (linia 7). Totul începe cu cea mai simplă comandă:

În interiorul acestei comenzi scrieți următoarele:

Vă explic. Creați o variabilă tmp, care va stoca parametrii comenzii, acesta este textul care va fi după spațiu. Definiți funcția strtok, problemele între comandă și parametru (2 linii). Am pus condiția, dacă parametrul nu este introdus, trimitem un mesaj la chat. Atribuiți variabila giveplayerid, valoarea primului parametru pe care l-am introdus (a opta linie). Din nou, definim un spațiu, dar între doi parametri. Deoarece echipa intră în 2 parametri: ID-ul jucătorului și suma banilor. De asemenea, verificați dacă parametrul este introdus și atribuiți valorii variabilei, valoarea parametrului 2 pe care l-am introdus în comandă. Iată un exemplu: introduceți comanda: / givemoney 1 400. variabila giveplayerid este setat la 1, parametrul care trebuie să fie egală cu 1, variabila de bani este setat la 2 și parametrul este egal cu 400. Deci, mergeți mai departe: În continuare vom scrie un cec, în cazul în care player-ul este conectat, primirea de bani către server.

În interiorul funcției de verificare GetPlayerName obținem numele ambilor jucători. Variable playermoney, vom aloca suma de bani jucătorul trimite banii. Deci, stim suma actuala de bani jucatori si suma de bani pe care jucatorul vrea sa o transfere, acum la noi
trebuie să puneți condiția ca jucătorul să transfere suma de bani nu mai mult decât suma pe care o are cu el însuși, scriem această condiție:

Am citit condițiile: în cazul în care suma de bani pe care un jucător dorește să transfere la un alt jucător (sumele de bani) este mai mare decât 0 și suma de bani pe care a (playermoney) mai mare sau egală cu suma pe care el vrea să transmită (sumele de bani), atunci vom transfera banii la funcția de jucător
GivePlayerMoney. Îi luăm de la jucătorul care transferă suma transferată și le dă jucătorului care primește banii.
Ei bine, nu uitați să verificați pentru a conecta playerul care primește banii pentru a pune altceva, acțiunea dacă playerul nu este conectat la server.

Păi și în sfârșit. Dacă, totuși, la compilarea scriptului, pawno va jura pe strtok, apoi va adăuga această funcție la script:


Dacă ceva nu este clar scrieți în subiectul Help (Ajutor)? poke +

Stich

Articole similare