Guida Tutorial breve comando PM

OuDayas

Utente Normale
Autore del topic
10 Maggio 2017
51
29
Miglior risposta
0


Buon pomeriggio ragazzi, questo è il mio primo post per un tutorial, l'idea mi è venuta così tanto per, quindi ho detto "ok proviamo".


Oggi mostrerò un piccolo comando base con due piccole variabili, facile facile da imparare, ovvero il "pm" o il messaggio privato, ognuno lo legge come vuole,
Per il download dei file necessari metterò i link tranquilli :emoji_smiley:


Cosa ci serve:



    • Pawno (ovviamente)

    • plugin e include di sscanf

    • include di zcmd




DOWNLOAD:

Prima di iniziare, prendiamo i file che ci servono:
SSCANF:
Perfavore, Entra oppure Registrati per vedere i Link!

Zcmd:
Perfavore, Entra oppure Registrati per vedere i Link!

SCANSIONI:
File già pronto .pwn:
Perfavore, Entra oppure Registrati per vedere i Link!

plugin sscanf.dll:
Perfavore, Entra oppure Registrati per vedere i Link!

include sscanf2.inc:
Perfavore, Entra oppure Registrati per vedere i Link!

Include zcmd.inc:
Perfavore, Entra oppure Registrati per vedere i Link!




Fase 1/3 - inserire i file

Dopo aver scaricato tutti i file, ciò:
il plugin di sscanf (sscanf.dll) l'include di sscanf e zmcd (sscanf2.inc e zcmd.inc)
Bisognerà inserire il file sscanf.dll in una cartella specifica, quindi prendi la cartella principale del server, e creare una nuova cartella chiamata "plugins".
Ed inserire al suo interno il file di sscanf.dll
rk0pzs.png

ohv954.png

Dopo fatto ciò sempre partendo dalla cartella principale del server inserisci gli ultimi due file ovvero: sscanf2.inc e zcmd.inc nella cartella "pawno/include"
6fqx6t.png

Dopo che hai inserito i file nelle giuste cartelle si può iniziare a scriptare


Fase 2/3 - Far leggere il plugin

Questa cosa è una tra le più importanti, bisogna inserire soltanto nel file di configurazione del server, di solito quando si cambia la password rcon, una nuova stringa
Basterà aprire il file "server.cfg" e scrivere "plugins" seguito da uno spazio e da i plugin che si vogliono far leggere
in questo caso sarà:
----
stringa
stringa
stringa
plugins sscanf
stringa
stringa
----
x40saw.png






Fase 3/3 - Scrivere il file


Per scrivere questo piccolo script semplice, bisogna far leggere alla gm o al filterscript gli include che hai inserito prima (cioè il zcmd.inc e sscanf2.inc).
Per far funzionare il file mi raccomando, qualsiasi codice deve essere inserito dopo l'include di samp
Basta inserirli così
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Dopo aver inserito gli include passiamo ad i colori, serviranno a far capire se il comando è andato a buon fine oppure no
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Ora iniziamo il vero codice.
Per prima cosa bisogna impostare il comando ed il nome anche, quindi sarà così...
CMD oppure COMMAND uno vale l'altro, poi andrà dopo il nome del comando due parametri soltanto, ovvero chi lo digita, ed i parametri
CMD:pm(playerid, params[])
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Bisogna settare una variabile per il giocatore selezionato ed il messaggio che vuoi mandare con una lunghezza massima.
usando "new" puoi impostare il giocatore selezionato e la lunghezza del messaggio, almeno a 128 massimo (consigliato)
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Ora si deve inserire sscanf per la selezione dell'utente, del messaggio e in tal caso non sia collegato quest'ultimo.
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Il comando funzionerà in modo sequenziale così, se i due parametri saranno vuoti, invierà un messaggio per come usarlo (cioè la p rima parte)

La seconda invece (TargetPlayer == INVALID_PLAYER_ID) è riguardo quando si digita il comando /pm (id o nome a caso) il giocatore non è connesso o l'id è errato
es: /pm Luigi_Pippo ciao - ma in reatlà il nome è Luigi_Poppi. invierà il messaggio che non è stato trovato nessun giocatore

La terza invece (non è obbligatoria) è semplicemente quando il TargetPlayer (giocatore che si vuole inviare il messaggio) è uguale al proprio id o nome, quindi mandarsi un auto-pm.

Ora dopo queste 3 bisogna settare il messaggio ed i nomi degli utenti.
Servirà sempre "new" ed un'altro tipo di codice il "format" serve per formattare un codice di un valore, ed inserirne al suo interno un'altro, o aggi ungere o altro.
In questo caso servirà per la formattazione del testo. in più ci sarà GetPlayerName, per prendere e impostare il nome dell'utente su una variabile vuota usata con new.
In'oltre bisogna settare una destinazione ad i nomi degli utenti, con MAX_PLAYER_NAME, cioè prende il nome dell'utente
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Come funziona? Praticamente con GetPlayerName, si prende la variabile vuota di "mittente" e "destinatario" con la sua destinazione e lo importa sul new stesso,
poi c'è il comando format... con format bisogna selezionare in questo caso la stringa del messaggio (in questo comando l'ho chiamata "StringaMessaggio") e darle una destinazinoe finale da usare con sizeof(stringa),
quindi sara sizeof(StringaMessaggio)... dopo questo bisogna inserire il testo con delle variabili, cioè chi lo manda con il testo, e chi lo riceve con il testo e il nome di chi lo manda.

Non è necessario per forza inserire il nome del mittente/destinatario, andrà bene anche togliendo da format Mittente o Destinatario e la prima "%s".
Uguale come il coolore ins erito con {FFFF00} o {FFFFFF}. imposterà un colore a partire dalla sua destra fino a che non ci sarà un'altro codice del colore.

Finito questo si manda il messaggio formattato con il classico SendClientMessage con al suo interno il codice della variabile dell'utente selezionato con un colore e il testo di prima, ( SendClientMessage(variabile di chi lo riceve, il colore, la stringa formattata in precedenza); )

In tal caso, ho già caricato il file per chi lo volesse già pronto ?
basta che cliccare
Perfavore, Entra oppure Registrati per vedere i Link!

 
Ultima modifica:
Complimenti guida esaustiva.
Hai 24h per inserire la scansione dei file da scaricare.