GTA-Center.com » Forum
http://www.gta-center.com/forums/

[GUIDA] Creare Comandi.
http://www.gta-center.com/forums/viewtopic.php?f=57&t=1498
Pagina 1 di 1

Autore:  S&C [ 05/11/2011, 20:57 ]
Oggetto del messaggio:  [GUIDA] Creare Comandi.

Salve ragazzi, in questa guida spiegerò come creare dei semplici comandi per IVMP.

● Comandi con più paramtetri ●


Iniziamo:
Andiamo sotto l'evento "onPlayerCommand(playerid, command)"

Codice:
function onPlayerCommand(playerid, command)
{
   
}

playerid e command sono i parametri che fornisce l'evento onPlayerCommand.
Quindi ora dobbiamo far si, che questo evento venga chiamato quando qualcuno digita un comando.

Codice:
function onPlayerCommand(playerid, command)
{
   
}
addEvent("playerCommand", onPlayerCommand);


La funzione che abbiamo appena aggiunto (AddEvent) fa appunto richiamare l'evento.
Adesso, possiamo già creare dei comandi, tipo /armour oppure /vita ecc.
Esempio:

Codice:
function onPlayerCommand(playerid, command)
{
    local cmd = split(command, " ");
   
    if(cmd[0] == "/aiuto")
    {
        //Funzione. Tipo sendPlayerMessage
    }
}
addEvent("playerCommand", onPlayerCommand);


Quindi, queste righe che abbiamo messo controlla se la prima parte del comando è uguale a "/aiuto".
Ma ora sorge un problema perché l'operatore == è case sensitive, quindi se scriveremo /Aiuto non lo conterà come /aiuto.
Per risolvere questo problema si usa la funzione .tolower()Quindi il nostro IF diventerà:

Codice:
function onPlayerCommand(playerid, command)
{
    local cmd = split(command, " ");
   
    if(cmd[0].tolower() == "/aiuto")
    {
        //Funzione. Tipo sendPlayerMessage
    }
}
addEvent("playerCommand", onPlayerCommand);



● Comandi con più paramtetri ●



Adesso, spiegerò come creare un comando con più parametri (Esempio: /setmyskin [SKINID]).
Allora, iniziamo:

Codice:
function onPlayerCommand(playerid, command)
{
    local cmd = split(command, " ");
   
    if(cmd[0].tolower() == "/setmyskin")
    {
       
    }
}
addEvent("playerCommand", onPlayerCommand);


Visto che è un comando con più parametri, dobbiamo controllare che il player non inserisca più di 2 parametri.
Farete cosi:

Codice:
function onPlayerCommand(playerid, command)
{
    local cmd = split(command, " ");
   
    if(cmd[0].tolower() == "/setmyskin")
    {
        if(cmd.len() != 2) return sendPlayerMessage(playerid, "Usare: /setmyskin [SKINID]");
        local skin = cmd[1].tointeger();
        setPlayerSkin(playerid, skin);
    }
}
addEvent("playerCommand", onPlayerCommand);


Questo IF che ho appena aggiunto, controlla il numero di celle dell'array cmd se è diverso da due, in pratica controlla se ho scritto più di due parametri. (Esempio: /setmyskin 1 2 3343 4. Cosi mi invierebbe il messaggio di errore.).
Poi, ho fatto:
Codice:
local skin = cmd[1].tointeger();
Che sarebbe la cosa scritta dopo /setmyskin (/Setmyskin parametro).
Con questo ho finito.
Se avete problemi, o domande, non esistate a chidere nei commenti, oppure a creare un topic in "Aiuto Programmazione & Supporto".
Guida creata interamente da S&C, Vietata la copia.
Enjoy :)

Autore:  Giovanni94m [ 05/11/2011, 21:01 ]
Oggetto del messaggio:  Re: [GUIDA] Creare Comandi.

Ottima guida, la più scontata ma mancava :asd:
Ottimo lavoro

Autore:  andryXoX [ 07/11/2011, 0:01 ]
Oggetto del messaggio:  Re: [GUIDA] Creare Comandi.

Bella guida.

Autore:  S&C [ 08/11/2011, 22:39 ]
Oggetto del messaggio:  Re: [GUIDA] Creare Comandi.

Giovanni94m ha scritto:
Ottima guida, la più scontata ma mancava :asd:
Ottimo lavoro

Già :D
Grazie a tutti e due comunque :D

Pagina 1 di 1 Tutti gli orari sono UTC + 1 ora [ ora legale ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/