Ciao a tutti in questa vi spiegherò le basi per incominciare a scriptare.
In questa guida parleremo di:
Callbacks
Functions
Include
Condizioni
Variabili
Array
Operatori
Format
Bene incominciamo subito:
Callbacks
- I callbacks sono funzioni speciali richiamate quando succede qualcosa di importante nel server (ad esempio, OnPlayerSpawn viene richiamato quando un giocatore si spawna in game).
Functions
- Le funzioni sono delle procedure che un server eseguirà quando verranno richiamate (ad esempio, GivePlayerMoney darà ad un player una somma di soldi ).
Include
- Gli include servono a implementare altre funzioni o altri callback. Per fare ciò bisogna inserire i file.inc in pawno>include e inserire il nome del file.inc sotto,si possono inserire in due modi:
- Il server eseguirà le vostre funzioni inserite nei callbacks quando il callback stesso verrà richiamato. Ad esempio:
- Quando un player si connetterà, il server invierà un messaggio al player con scritto "Benvenuto." (che allegria).
Questo è uno script semplicissimo, senza condizioni nè cicli.
Variabili
- Le variabili sono la colonna portante dello scripting. Al loro interno si può inserire un valore numerico, un valore booleano (true o false), una stringa di lettere e chi più ne ha più ne metta.
Le variabili vengono inserite in alto della gm con a sinistra un new.
- Questa è una variabile globale, vale per tutti i players.
- Questa invece può essere usata per ogni singolo player. Ecco un esempio:
in alto
- in OnPlayerConnect
- in OnPlayerRequestClass
- in OnPlayerDisconnect
- Questo script "punisce" chi usa l'f4 per cambiare skin in game. La variabile utilizzata è "variabile" e con le condizioni possiamo individuare se il player è già passato per il RequestClass.
Esistono numerosi tipi di variabili. Per vederli consiglio di girare in wiki sa mp...
Comandi da tastiera
Chi è alle prime armi solitamente prova a fare qualche comando da tastiera. Ecco come si fa:
IMPORTANTISSIMO! Mai rimuovere il return 0; alla fine del callback, al massimo si può rimpiazzare lo "0" con un messaggio perchè indica quando il comando restituisce un valore falso (non esiste, insomma).
Array & Format
- Formattare una stringa
Operatori (+, -, /, *, ||, &&, ==, <=, >=)
Formattare una stringa
Come in tutti i linguaggi dall'uomo conosciuti, è possibile inserire in un messaggio prefissato il valore di una variabile. In pawno è possibile grazie alla funzione "format". Ecco un esempio pratico:
- Ok, analizziamo il codice. Tutto si svolge in OnPlayerConnect, string e name sono variabili che entrambi possono contenere 256 caratteri (sono troppi e rallentano, consiglio di tagliarli, in fatto di dimensione). La seconda la usiamo per immagazzinare il nome del giocatore (GetPlayerName) la prima la usiamo per immagazzinare la stringa definita nel format (Benvenuto sul server, [nome del player]). Infine inviamo la stringa al player con SendClientMessage. Per utilizzare correttamente un format:
format([qui la variabile a cui assegnare la stringa] , sizeof([qui la variabile a cui assegnare la stringa]), "[Qui il testo più placeholder (letteralmente segnaposto)]", [Qui la o le variabili che saranno inserite nella stringa in ordine di apparizione]);
- Poco fa ho parlato di PlaceHolders, sono delle "sigle" che faranno identificare al server come dev'essere "stampata" un parametro.
Placeholder Significato
%b Inserisce un numero binario.
%c Inserisce un singolo carattere.
%d Inserisce tutto un numero intero.
%f Inserisce una float.
%*i Inserisce un numero intero.
%*s Inserisce una stringa.
%*x Inserisce un numero esadecimale.
%% Inserisce il letterale '%'
Fresco fresco da wikisamp
Operatori
In una condizione solitamente si fa uso di questi operatori:
> : se il valore è maggiore dell'altro
< : se il valore è minore dell'altro
>= : se il valore è maggiore o uguale all'altro
<= : se il valore è minore o uguale all'altro
== : se il valore è uguale all'altro
!= : se il valore è diverso dall'altro
&& : il valore e quello dopo
|| : il valore o quello dopo
I primi quattro comparano due valori tra loro.
- Se una precedente variabile è uguale a 45 succede qualcosa altrimenti se è maggiore di 45 succede un'altra cosa.
Gli ultimi due mettono in relazione tra loro più condizioni
- La condizione risulterà vera e si avvierà SOLO se valore è maggiore di 45 E valore2 minore di 45.
- La condizione risulterà vera e si avvierà SOLO se valore è maggiore di 45 O se è minore di 45.
In questo caso si poteva anche usare l' operatore !=
- In entrambi i casi valore sarà diverso da 45.
Per modificare il valore numerico di una variabile si usano questi altri operatori:
+ : somma il valore ad un altro
- : sottrae
* : moltiplica
/ : divide
(ce ne sono altri)
Esempio:
- Il valore di valore (gioco di parole) sarà aumentato di 6.
Fonte: Pawnoscripter,Autore Hank.J.Wimbleton & Me (lollone12)
In questa guida parleremo di:
Callbacks
Functions
Include
Condizioni
Variabili
Array
Operatori
Format
Bene incominciamo subito:
Callbacks
- I callbacks sono funzioni speciali richiamate quando succede qualcosa di importante nel server (ad esempio, OnPlayerSpawn viene richiamato quando un giocatore si spawna in game).
Functions
- Le funzioni sono delle procedure che un server eseguirà quando verranno richiamate (ad esempio, GivePlayerMoney darà ad un player una somma di soldi ).
Include
- Gli include servono a implementare altre funzioni o altri callback. Per fare ciò bisogna inserire i file.inc in pawno>include e inserire il nome del file.inc sotto,si possono inserire in due modi:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
- Il server eseguirà le vostre funzioni inserite nei callbacks quando il callback stesso verrà richiamato. Ad esempio:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
- Quando un player si connetterà, il server invierà un messaggio al player con scritto "Benvenuto." (che allegria).
Questo è uno script semplicissimo, senza condizioni nè cicli.
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Variabili
- Le variabili sono la colonna portante dello scripting. Al loro interno si può inserire un valore numerico, un valore booleano (true o false), una stringa di lettere e chi più ne ha più ne metta.
Le variabili vengono inserite in alto della gm con a sinistra un new.
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
- Questa è una variabile globale, vale per tutti i players.
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
- Questa invece può essere usata per ogni singolo player. Ecco un esempio:
in alto
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
- in OnPlayerConnect
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
- in OnPlayerRequestClass
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
- in OnPlayerDisconnect
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
- Questo script "punisce" chi usa l'f4 per cambiare skin in game. La variabile utilizzata è "variabile" e con le condizioni possiamo individuare se il player è già passato per il RequestClass.
Esistono numerosi tipi di variabili. Per vederli consiglio di girare in wiki sa mp...
Comandi da tastiera
Chi è alle prime armi solitamente prova a fare qualche comando da tastiera. Ecco come si fa:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
IMPORTANTISSIMO! Mai rimuovere il return 0; alla fine del callback, al massimo si può rimpiazzare lo "0" con un messaggio perchè indica quando il comando restituisce un valore falso (non esiste, insomma).
Array & Format
- Formattare una stringa
Operatori (+, -, /, *, ||, &&, ==, <=, >=)
Formattare una stringa
Come in tutti i linguaggi dall'uomo conosciuti, è possibile inserire in un messaggio prefissato il valore di una variabile. In pawno è possibile grazie alla funzione "format". Ecco un esempio pratico:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
- Ok, analizziamo il codice. Tutto si svolge in OnPlayerConnect, string e name sono variabili che entrambi possono contenere 256 caratteri (sono troppi e rallentano, consiglio di tagliarli, in fatto di dimensione). La seconda la usiamo per immagazzinare il nome del giocatore (GetPlayerName) la prima la usiamo per immagazzinare la stringa definita nel format (Benvenuto sul server, [nome del player]). Infine inviamo la stringa al player con SendClientMessage. Per utilizzare correttamente un format:
format([qui la variabile a cui assegnare la stringa] , sizeof([qui la variabile a cui assegnare la stringa]), "[Qui il testo più placeholder (letteralmente segnaposto)]", [Qui la o le variabili che saranno inserite nella stringa in ordine di apparizione]);
- Poco fa ho parlato di PlaceHolders, sono delle "sigle" che faranno identificare al server come dev'essere "stampata" un parametro.
Placeholder Significato
%b Inserisce un numero binario.
%c Inserisce un singolo carattere.
%d Inserisce tutto un numero intero.
%f Inserisce una float.
%*i Inserisce un numero intero.
%*s Inserisce una stringa.
%*x Inserisce un numero esadecimale.
%% Inserisce il letterale '%'
Fresco fresco da wikisamp
Operatori
In una condizione solitamente si fa uso di questi operatori:
> : se il valore è maggiore dell'altro
< : se il valore è minore dell'altro
>= : se il valore è maggiore o uguale all'altro
<= : se il valore è minore o uguale all'altro
== : se il valore è uguale all'altro
!= : se il valore è diverso dall'altro
&& : il valore e quello dopo
|| : il valore o quello dopo
I primi quattro comparano due valori tra loro.
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
- Se una precedente variabile è uguale a 45 succede qualcosa altrimenti se è maggiore di 45 succede un'altra cosa.
Gli ultimi due mettono in relazione tra loro più condizioni
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
- La condizione risulterà vera e si avvierà SOLO se valore è maggiore di 45 E valore2 minore di 45.
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
- La condizione risulterà vera e si avvierà SOLO se valore è maggiore di 45 O se è minore di 45.
In questo caso si poteva anche usare l' operatore !=
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
- In entrambi i casi valore sarà diverso da 45.
Per modificare il valore numerico di una variabile si usano questi altri operatori:
+ : somma il valore ad un altro
- : sottrae
* : moltiplica
/ : divide
(ce ne sono altri)
Esempio:
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
- Il valore di valore (gioco di parole) sarà aumentato di 6.
Fonte: Pawnoscripter,Autore Hank.J.Wimbleton & Me (lollone12)