Guida Creare dei comandi velocemente? è possibile!

#KiK

Utente Strepitoso
Autore del topic
Redattore
30 Agosto 2012
4.317
172
Miglior risposta
0
Salve a tutti, oggi parleremo di zcmd >_> e su "Come creare dei comandi velocemente".

Quando si deve usare un normale comando (per esempio /suicidio), ovvero che serve solo per il player che lo digita, bisogna solo zcmd, invece se dobbiamo creare dei comandi per pm (/pm [id] [testo]) bisogna usare anche sscanf.

Iniziamo andando sul fondo della pagina e inseriamo questo codice:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Questa è la base per creare un comando con zcmd.
Quindi adesso inseriamo la parte in sscanf!
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Questo comando controlla se abbiamo compilato bene il comando (/uccidi [id]), se non abbiamo inserito l'id da uccidere comparirà l'errore.

Proseguiamo aggiungendo il fatto che controlla se l'utente è online.
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Quindi adesso possiamo creare il comando vero e proprio!
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Creare comandi con zcmd/sscanf è facile, perchè basta aggiungere un parametro e quindi aggiungere il nuovo codice ed è fatta! :emoji_slight_smile:

Altri esempi di codice usando questa base:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
 
Ultima modifica:
Spiega anche tutti gli alti tipi di variabile che si possono mettere tra le apici, poi si possono usare benissimo i return anzicche usare tanti if e il "id == INVALID_PLAYER_ID" non ha molto senso perché se il player è offline il messaggio lo invia lo stesso, quindi bisognerebbe fare solamente un check con IsPlayerConnected, perché INVALID_PLAYER_ID vale -1 e la tua condizione si verificherebbe solamente se il player inserisce -1 o non usare correttamente il parametro.

I due comandi che hai usato per fare degli esempi sono sbagliati.
"u" si usa per i player perché si può inserire sia il nome che l'id, invece hp è un float quindi devi usare "f" e dichiarare la variabile come float, altrettanto in /settasoldi che hai messo "u" come tipo di variabile quando "soldi" è un int quindi si deve usare "i".

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
 
  • Like
Reactions: 1 person
@#KiK si infatti, come dice @J4Rr3x i due CMD che hai fatto di esempio, non sono corretti e contengono diversi errori anche a livello di sintassi.
Correggi come ti ha detto lui che è più corretto. Non per altro, perché poi magari, qualcuno che non è capace, viene qui a leggere una guida "sbagliata" e ci facciamo una brutta figura :emoji_relieved:
 
Mi scuso con voi ma sono stato distratto durante la creazione "veloce" di quei comandi :emoji_relieved:, aggiorno subito il topic con i comandi riparati ^^