Oggi è 30/12/2024, 19:01

Tutti gli orari sono UTC + 1 ora [ ora legale ]





 Pagina 1 di 1 [ 4 messaggi ] 

  Apri un nuovo argomento Rispondi all’argomento

  Stampa pagina

Autore Messaggio
 Oggetto del messaggio: [GUIDA] Creare Comandi.
MessaggioInviato: 05/11/2011, 20:57 
Avatar utente
Utente

Iscritto il: 14/06/2011
Messaggi: 188
Località: Napoli
Favourite GTA: San Andreas

Karma
0


Non connesso
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 :)

_________________
SA:MP

House System v2.0 by me: http://www.gta-center.com/forums/viewtopic.php?f=42&t=1387
ATM System v2.0 by me: viewtopic.php?f=42&t=1343
Coins System v1.0, 1.1 e 1.2 by me: viewtopic.php?f=42&t=1252


IV:MP

Guida agli Operatori: viewtopic.php?f=57&t=1485
Guida alle funzioni Player: viewtopic.php?f=57&t=1415
Guida condizioni: IF/ELSE/ELSEIF


Top
  
 

 Oggetto del messaggio: Re: [GUIDA] Creare Comandi.
MessaggioInviato: 05/11/2011, 21:01 
Avatar utente
Administrator

Iscritto il: 02/09/2010
Messaggi: 1349
Località: Agrigento
Favourite GTA: Vice City
PlayStation Network: Giovanni94m
Xfire: Giovanni94m
Steam: Giovanni94m

Karma
10


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

_________________
Immagine
Immagine
Immagine
Immagine
Immagine
Immagine
Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [GUIDA] Creare Comandi.
MessaggioInviato: 07/11/2011, 0:01 
Avatar utente
Moderatore

Iscritto il: 30/10/2010
Messaggi: 72

Karma
0


Non connesso
Bella guida.

_________________
Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [GUIDA] Creare Comandi.
MessaggioInviato: 08/11/2011, 22:39 
Avatar utente
Utente

Iscritto il: 14/06/2011
Messaggi: 188
Località: Napoli
Favourite GTA: San Andreas

Karma
0


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

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

_________________
SA:MP

House System v2.0 by me: http://www.gta-center.com/forums/viewtopic.php?f=42&t=1387
ATM System v2.0 by me: viewtopic.php?f=42&t=1343
Coins System v1.0, 1.1 e 1.2 by me: viewtopic.php?f=42&t=1252


IV:MP

Guida agli Operatori: viewtopic.php?f=57&t=1485
Guida alle funzioni Player: viewtopic.php?f=57&t=1415
Guida condizioni: IF/ELSE/ELSEIF


Top
  
 
Visualizza ultimi messaggi:  Ordina per  
 Pagina 1 di 1 [ 4 messaggi ] 

  Apri un nuovo argomento Rispondi all’argomento

Tutti gli orari sono UTC + 1 ora [ ora legale ]



Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
cron