Chat: Fix */. explanation

This commit is contained in:
rubenwardy 2024-01-04 00:22:21 +00:00
parent 21e47a80ec
commit 2cb0a93e6d
2 changed files with 9 additions and 9 deletions

View File

@ -137,7 +137,7 @@ from text using rules. They're best suited for when there are arguments that can
contain spaces or more control is needed on how parameters are captured. contain spaces or more control is needed on how parameters are captured.
```lua ```lua
local to, msg = param:match("^([%a%d_-]+) (*+)$") local to, msg = param:match("^([%a%d_-]+) (.+)$")
``` ```
The above code implements `/msg <to> <message>`. Let's go through left to right: The above code implements `/msg <to> <message>`. Let's go through left to right:
@ -149,7 +149,7 @@ The above code implements `/msg <to> <message>`. Let's go through left to right:
* `%a` means accept any letter and `%d` means accept any digit. * `%a` means accept any letter and `%d` means accept any digit.
* `[%a%d_-]` means accept any letter or digit or `_` or `-`. * `[%a%d_-]` means accept any letter or digit or `_` or `-`.
* `+` means match the thing before one or more times. * `+` means match the thing before one or more times.
* `*` means match any character in this context. * `.` means match any character in this context.
* `$` means match the end of the string. * `$` means match the end of the string.
Put simply, the pattern matches the name (a word with only letters/numbers/-/_), Put simply, the pattern matches the name (a word with only letters/numbers/-/_),

View File

@ -29,12 +29,12 @@ cb_cmdsprivs:
Le mod possono interagire con la chat del giocatore, tra l'inviare messaggi, intercettarli e registrare dei comandi. Le mod possono interagire con la chat del giocatore, tra l'inviare messaggi, intercettarli e registrare dei comandi.
- [Inviare messaggi](#inviare-messaggi) - [Inviare messaggi](#inviare-messaggi)
- [A tutti i giocatori](#a-tutti-i-giocatori) - [A tutti i giocatori](#a-tutti-i-giocatori)
- [A giocatori specifici](#a-giocatori-specifici) - [A giocatori specifici](#a-giocatori-specifici)
- [Comandi](#comandi) - [Comandi](#comandi)
- [Accettare più argomenti](#accettare-più-argomenti) - [Accettare più argomenti](#accettare-più-argomenti)
- [Usare string.split](#usare-stringsplit) - [Usare string.split](#usare-stringsplit)
- [Usare i pattern Lua](#usare-i-pattern-lua) - [Usare i pattern Lua](#usare-i-pattern-lua)
- [Intercettare i messaggi](#intercettare-i-messaggi) - [Intercettare i messaggi](#intercettare-i-messaggi)
## Inviare messaggi ## Inviare messaggi
@ -128,7 +128,7 @@ end
Sono perfetti in caso di argomenti che contengono spazi, o comunque quando è richiesto un controllo più meticoloso dei parametri catturati. Sono perfetti in caso di argomenti che contengono spazi, o comunque quando è richiesto un controllo più meticoloso dei parametri catturati.
```lua ```lua
local a, msg = string.match(param, "^([%a%d_-]+) (*+)$") local a, msg = string.match(param, "^([%a%d_-]+) (.+)$")
``` ```
Il codice sovrastante implementa `/msg <a> <messaggio>`. Vediamo cos'è successo partendo da sinistra: Il codice sovrastante implementa `/msg <a> <messaggio>`. Vediamo cos'è successo partendo da sinistra:
@ -139,7 +139,7 @@ Il codice sovrastante implementa `/msg <a> <messaggio>`. Vediamo cos'è successo
* `%a` significa che accetta ogni lettera e `%d` ogni cifra. * `%a` significa che accetta ogni lettera e `%d` ogni cifra.
* `[%a%d_-]` significa che accetta ogni lettera, cifra, `_` e `-`. * `[%a%d_-]` significa che accetta ogni lettera, cifra, `_` e `-`.
* `+` dice di combaciare ciò che lo precede una o più volte. * `+` dice di combaciare ciò che lo precede una o più volte.
* `*` dice di combaciare qualsiasi tipo di carattere. * `.` dice di combaciare qualsiasi tipo di carattere.
* `$` dice di combaciare la fine della stringa. * `$` dice di combaciare la fine della stringa.
Detto semplicemente, il pattern cerca un nome (una parola fatta di lettere, numeri, trattini o trattini bassi), poi uno spazio e poi il messaggio (uno o più caratteri, qualsiasi essi siano). Detto semplicemente, il pattern cerca un nome (una parola fatta di lettere, numeri, trattini o trattini bassi), poi uno spazio e poi il messaggio (uno o più caratteri, qualsiasi essi siano).