Oggi è 28/03/2024, 10:13

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



Regole del forum


Utilizzare http://www.pastebin.com per script superiori a 20 righe.



 Pagina 1 di 1 [ 10 messaggi ] 

  Apri un nuovo argomento Rispondi all’argomento

  Stampa pagina

Autore Messaggio
 Oggetto del messaggio: [INCLUDE]Raccolta funzioni.
MessaggioInviato: 31/03/2011, 13:47 
Avatar utente
Utente

Iscritto il: 22/12/2010
Messaggi: 1098
Località: Agrigento (Sicilia)
Favourite GTA: San Andreas
Xfire: In PM

Karma
0


Non connesso
Salve a tutti. E' da un po' che creo funzioni e per questo vorrei condividerle con voi (:asd:). Premetto che le funzioni sono mie. Se trovate delle funzioni precise, ditemelo che le tolgo subito.

INTRODUZIONE


Come ho già detto, è da un po' che creo funzioni un po' semplici, ma che possono essere molto utili ai nuovi arrivati. Le idee quindi sono tutte mie e faccio tutto da solo. Se trovate funzioni già create in precedenza, ditemelo che le cancello.

GUIDA


Per chi non sa come mettere un include, basta seguire questi semplici passaggi:

1) Scaricare l'include dal download che posterò sotto;
2) Adesso incollate il file scaricato nella cartella /pawno/include;
3) Dirigetevi nella vostra GameMode/FilterScript e, sotto #include <a_samp>, scrivete:

Codice:
#include <funcmit>


4) (scusate per il nome, ma non ho fantasia :asd:) Compilate e tutto dovrebbe andare bene.

N.B: SE il Pawn vi da errore di Include inesistente, fate così:

1) Dirigetevi nella cartella /pawno dove avete incollato l'include;
2) Aprite il Pawno.exe presente dentro la cartella;
3) Cliccate su File -> Open;
4) Cercate il percorso della GameMode/FilterScript ed aprite il file;
5) A questo punto compilate ed, al 90%, non dovrebbe dare errore.

INSTRUZIONI


Questo include è in continuo aggiornamento. Rilascio qui le spiegazioni per ogni Funzione.

RandomNumber(num1, num2)

Questa funzione crea un numero random tra num1 (numero maggiore) e num2 (numero minore). Ad esempio, se voglio trovare un numero random tra 14 e 30, basterà fare:

Codice:
RandomNumber(30, 14)


Quindi 30, che è maggiore di 14, va prima.

SendFormatMessageToPlayer(playerid, colore, messaggio)

Questa funzione invia un messaggio formattato al Player. Molti sanno che, per formattare un testo, bisogna sempre fare un casino assurdo. Tipo:

Codice:
new string[128];
format(string, 128, "Hai %d ammo", GetPlayerAmmo(playerid));
SendClientMessage(playerid, colore, string);


Sinceramente, quando non si ha tempo da perdere, secca un bel po'. Con questa funzione, invece, potete fare:

Codice:
SendFormatMessageToPlayer(playerid, colore, "Hai %d ammo", GetPlayerAmmo(playerid));


SendFormatMessageToAll(colore, messaggio)

La stessa cosa del SendFormatMessageToPlayer, ma questa volta invierà il messaggio a tutti quanti.

SendRangedMessage(playerid, colore, messaggio, raggio)

Questa funzione invierà un messaggio a tutti i player presenti nel raggio di un player. Esistono tante funzioni come queste (ricordiamo il ProxDetector), ma l'ho fatta da 0 semplificandone i parametri e somiglia molto (come struttura) ai SendClientMessage. Ecco come potrebbe essere usato:

Codice:
SendRangedMessage(playerid, colore, "Ciao", 15.0);


In questo modo, tutti i player che staranno nel raggio di 15 metri rispetto a "playerid", riceveranno il messaggio "Ciao".

FormatRangedMessage(playerid, colore, messaggio, raggio)

Questa funzione invierà un messaggio a tutti i player che si trovano nel raggio scelto da voi rispetto a playerid. Questa volta però, il messaggio potrà essere formattato direttamente. Esempio:

Codice:
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
FormatRangedMessage(playerid, colore, "%s ha %d ammo", pName, GetPlayerAmmo(playerid), 15.0);


SendPointMessage(colore, messaggio, x, y, z, raggio)

Questa funzione invierà a tutti i player che si troveranno nel raggio scelto da voi rispetto alle coordinate x, y e z. Quindi, se io voglio inviare un messaggio a tutti i player che si troveranno nel raggio di 15 metri rispetto alla coordinata x (2.0), y (3.0) e z (4.0), scriverò:

Codice:
SendPointMessage(colore, "Ciao a tutti", 2.0, 3.0, 4.0, 15.0);


ApplyAnimation(playerid, libreria[], anim[], Velocità, loop, lockx, locky, freeze, tempo)

Allora questa funzione risolve un "bug" (che poi non è bug) di SAMP riguardo le anim. Infatti, se noterete, le anim non vengono viste dagli altri player, ma le vede solo il player che le sta compiendo. Intanto ringrazio i due moderatori Peppinux e Angelo che mi hanno fatto notare questo bug in un mio topic di aiuto. In poche parole, il forcesync è settato a 0. Si potrebbe cambiare, ma per chi vuole lasciare il proprio a_samp "originale", basta che usa questa funzione normalmente. E' tutto normale, risolverà solo il bug. Esempio:

Codice:
ApplyAnimation(playerid, "PED", "run_civi", 10.0, 0, 1, 1, 1, 0);


Dove: PED è la libreria, run_civi è il nome dell'anim presente in PED, 10.0 è la velocità dell'animazione, 0 indica il loop (ovvero che non verrà ripetuto), 1 ed 1 indicano che, a fine Animazione, il player non ritornerà alla vecchia posizione ed 1 e 0 indicano rispettivamente che il player non verrà frezzato ed il Timer in millisecondi. Per una spiegazione maggiore, visitare questo post della Wiki SAMP Uso dell'ApplyAnimation

IsPlayerInRangeOfAnyVehicle(playerid, raggio)

Questa funzione vedrà se il "playerid", si troverà nel raggio di un qualsiasi veicolo. Esempio:

Codice:
if(IsPlayerInRangeOfAnyVehicle(playerid, 15.0))
{
SendClientMessage(playerid, -1, "Sei vicino un veicolo");
return 1;
}


IsPlayerInRangeOfVehicle(playerid, vehicleid, raggio)

Con questa funzione vedrete se "playerid" si troverà nel raggio (scelto sempre da voi) di "vehicleid". Esempio:

Codice:
if(IsPlayerInRangeOfPoint(playerid, 5, 15.0))
{
SendClientMessage(playerid, -1, "Sei vicino il veicolo 5");
return 1;
}


GetPlayerIDFromName(nome)

Questa funzione returnerà l'ID del nome. Esempio: Se l'ID n° 2 si chiama "Gta_Center" e (nel parametro nome), scriviamo "Gta_Center", essò returnerà 2.

Codice:
new string[128];
format(string, 128, "L'ID del nome "Gta_Center" è %d", GetPlayerIDFromName("Gta_Center"));


N.B: Returnerà -1 se l'ID non è connesso.

SendClientMessageName(playerid, colore, messaggio, playername, posizione)

Questa funzione servirà ad inviare un messaggio con il nome del player scelto da voi. I primi 3 parametri credo che possiate sapere cosa sono. Playername consiste nell'ID del Player. Esempio: se voglio prendere, come nome, l'ID del player che scrive, scriverò playerid. Posizione è la posizione nella stringa in cui volete inserire il nome. Prenderemo come esempio: Ciao NOME, come stai? Quindi noi dobbiamo inserire, al posto NOME, il nome del playerid. Quindi contiamo (partendo da 0), le lettere da sinistra verso destra (includendo anche gli spazi): C (0) i (1) a (2) o (3) (4, che c'è lo spazio). Bene, le prime 4 "posizioni" formano la parola Ciao . Quindi noi metteremo, come posizione, 5 (e non 4, va aggiunta un'unità). Ovviamente poi, il metodo di calcolo lo stabilite voi. L'importante è che vi esca fuori la posizione esatta. Adesso faremo:

Codice:
SendClientMessageName(playerid, -1, "Ciao , come stai?", playerid, 5);


IsPlayerInRangeOfPlayer(playerid, playerid2, raggio)

Questa funzione controlla se il player è vicino ad un altro player con il raggio scelto da voi. Esempio: se noi vogliamo controllare che playerid si trovi vicino a playerid2 nel raggio di 15 metri, scriveremo:

Codice:
IsPlayerInRangeOfPlayer(playerid, playerid2, 15.0);


BanDown(playerid)

Questa funzione bannerà tutti gli ID più bassi di playerid. Esempio: se voglio fare che, tutti i player che hanno un ID da 10 a 0 vengano bannati, basta scrivere:

Codice:
BanDown(10)


BanUp(playerid)

Questa funzione bannerà tutti gli ID più alti di playerid. Esempio: se voglio fare che, tutti i player che hanno uN ID da 10 in su vengano bannati, basta scrivere:

Codice:
BanUp(10)


BanPoint(x, y, z, raggio)

Questa funzione bannerà tutti i players presenti nel raggio (scelto da voi) delle coordinate x, y e z. Esempio: se voglio bannare tutti i player presenti nel raggio di 15 metri alle coordinate 1.0, 2.0 e 3.0 scriverò:

Codice:
BanPoint(1.0, 2.0, 3.0, 15.0);


KickPoint(x, y, z, raggio)
Questa funzione kickerà tutti i players presenti nel raggio (scelto da voi) delle coordinate x, y e z. Esempio: se voglio kickare tutti i player presenti nel raggio di 15 metri alle coordinate 1.0, 2.0, e 3.0 scriverò:

Codice:
KickPoint(1.0, 2.0, 3.0, 15.0);


KillPoint(x, y, z, raggio)

Questa funzione killerà tutti i players presenti nel raggio (scelto da voi) delle coordinate x, y e z. Esempio: se voglio killare tutti i player presenti nel raggio di 15 metri alle coordinate 1.0, 2.0, e 3.0 scriverò:

Codice:
KillPoint(1.0, 2.0, 3.0, 15.0);


TeleportForPlayer(playerid, x, y, z, raggio, tx, ty, tz)

Questa funzione creerà un teletrasporto. In poche parole, se il playerid si trova nel raggio (scelto da voi) di x, y e z verrà gotato alle coordinate tx, ty e tz. Esempio: se voglio gotare playerid alle coordinate 1.0, 2.0 e 3.0 quando si troverà nelle coordinate 4.0, 5.0 e 6.0 nel raggio di 15 metri, scriverò:

Codice:
TeleportForPlayer(playerid, 4.0, 5.0, 6.0, 15.0, 1.0, 2.0, 3.0);


TeleportForAll(x, y, z, raggio, tx, ty, tz)

Questa funzione creerà un teletrasporto. In poche parole, se un player si trova nel raggio (scelto da voi) di x, y e z verrà gotato alle coordinate tx, ty e tz. Esempio: se voglio gotare un player alle coordinate 1.0, 2.0 e 3.0 quando si troverà nelle coordinate 4.0, 5.0 e 6.0 nel raggio di 15 metri, scriverò:

Codice:
TeleportForAll(4.0, 5.0, 6.0, 15.0, 1.0, 2.0, 3.0);


PlayerName(playerid)

Questa funzione returna il nome di playerid. Esempio: se voglio returnare il nome dell'ID numero 2, scriverò: PlayerName(2). Che differenza c'è tra GetPlayerName e PlayerName? Se vogliamo scrivere il messaggio Ciao TUONOME, ecco i due modi messi a confronto:

Codice:
new string[128], nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, sizeof(nome));
format(string, 128, "Ciao %s", nome);
SendClientMessage(playerid, -1, string);


Con PlayerName:

Codice:
new string[128];
format(string, 128, "Ciao %s", PlayerName(playerid));
SendClientMessage(playerid, -1, string);


N.B: Questa funzione l'ho sentita "nominare" dal moderatore Peppinux AKA Peppe_Stasu e l'ho ricreata. Quindi l'idea l'ho presa da lui.

PlayerWeapon(playerid)
Questa funzione returna il nome dell'arma di playerid. Esempio: se voglio returnare l'arma dell'ID numero 2, scriverò: PlayerWeapon(2). Che differenza c'è tra GetWeaponName e PlayerWeapon? Se vogliamo scrivere il messaggio Ciao possiedi l'arma NOMEARMA, ecco i due modi messi a confronto:

Codice:
new string[128], arma[MAX_PLAYER_WEAPON];
GetWeaponName(playerid, arma, sizeof(arma));
format(string, 128, "Ciao possiedi l'arma %s", arma);
SendClientMessage(playerid, -1, string);


Con PlayerWeapon:

Codice:
new string[128];
format(string, 128, "Ciao possiedi l'arma %s", PlayerWeapon(playerid));
SendClientMessage(playerid, -1, string);


N.B: Questa funzione l'ho sentita "nominare" dal moderatore Peppinux AKA Peppe_Stasu e l'ho ricreata. Quindi l'idea l'ho presa da lui.

CONCLUSIONE


Include interamente fatto da me. Ogni giorno aggiornerò sia il topic sia l'include.

DOWNLOAD: http://www.gta-center.com/area_download/index.php?act=view&id=1810

_________________
Immagine


Ultima modifica di mitosking il 22/04/2011, 15:39, modificato 12 volte in totale.

Top
 E-mail  
 

 Oggetto del messaggio: Re: [INCLUDE]Raccolta funzioni.
MessaggioInviato: 31/03/2011, 14:06 
Avatar utente
Utente

Iscritto il: 18/11/2010
Messaggi: 352
Località: Valenza(AL)
Favourite GTA: San Andreas

Karma
0


Non connesso
Scusa ma perchè non l'hai creato con il formato .inc?
E comunque se metti
Cita:
#include <funcmit>

non potrebbe funzionare, visto che includerebbe il file funcmit.inc (che non esiste), semmai
Cita:
#include <funcmit.ini>

Anche se ti consiglio vivamente di riupparlo con il formato .inc

_________________
Firma cancellata. Ripassa il regolamento.


Top
 E-mail  
 
 Oggetto del messaggio: Re: [INCLUDE]Raccolta funzioni.
MessaggioInviato: 31/03/2011, 14:09 
Avatar utente
Utente

Iscritto il: 22/12/2010
Messaggi: 1098
Località: Agrigento (Sicilia)
Favourite GTA: San Andreas
Xfire: In PM

Karma
0


Non connesso
Ma infatti è formato .inc :asd:

EDIT: D'oh ho scritto .ini anzicché .inc. Sostituisco subito, scusate :asd:

EDIT2: Link sostituito. Ringrazio Alby per avermelo fatto notare.

_________________
Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [INCLUDE]Raccolta funzioni.
MessaggioInviato: 31/03/2011, 16:25 
Banned

Iscritto il: 31/10/2010
Messaggi: 1363
Località: Sicilia
Favourite GTA: San Andreas
Xfire: peppinux

Karma
-10


Non connesso
Utile ;).


Top
 E-mail  
 
 Oggetto del messaggio: Re: [INCLUDE]Raccolta funzioni.
MessaggioInviato: 31/03/2011, 16:30 
Avatar utente
Utente

Iscritto il: 22/12/2010
Messaggi: 1098
Località: Agrigento (Sicilia)
Favourite GTA: San Andreas
Xfire: In PM

Karma
0


Non connesso
Grazie ;). Comunque ho creato nuove funzioni... Adesso che torno, le aggiungo all'include.

_________________
Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [INCLUDE]Raccolta funzioni.
MessaggioInviato: 01/04/2011, 17:58 
Avatar utente
Utente

Iscritto il: 22/12/2010
Messaggi: 1098
Località: Agrigento (Sicilia)
Favourite GTA: San Andreas
Xfire: In PM

Karma
0


Non connesso
Topic Aggiornato!!!

Funzioni aggiunte: GetPlayerIDFromName e SendClientMessageName.

_________________
Immagine


Ultima modifica di mitosking il 22/04/2011, 15:39, modificato 1 volta in totale.

Top
 E-mail  
 
 Oggetto del messaggio: Re: [INCLUDE]Raccolta funzioni.
MessaggioInviato: 01/04/2011, 20:14 
Avatar utente
Moderatore

Iscritto il: 28/10/2010
Messaggi: 919
Località: Veduggio con Colzano (Milano-Monza)
Favourite GTA: San Andreas
PlayStation Network: Nessuno
Xbox Live: Nessuno
Xfire: barle97

Karma
1


Non connesso
Figo

_________________
disasm 0xFFFF00 1: LE HANTENNE DEL RUTER SI MVONO DA SL!11!1!!1
[EPD]Giovanni94m: AHSUAHSAUSHAUSAHSAU
disasm 0xFFFF00 1: bella questa asd

[EPD]Giovanni94m: io non riesco a trovare un gioco che ci giocavo su ps1
[EPD]Giovanni94m: non ricordo il nome
[EPD]Giovanni94m: era un omino rosa
[EPD]Giovanni94m: ...
[BCD]barle_the_king: forse cercavi omino bianco [cit. google]
[BCD]barle_the_king: auhsahusuha
[EPD]Giovanni94m: no ahsau
[BCD]barle_the_king: firma duhahudshue

Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [INCLUDE]Raccolta funzioni.
MessaggioInviato: 01/04/2011, 23:53 
Avatar utente
Utente

Iscritto il: 22/12/2010
Messaggi: 1098
Località: Agrigento (Sicilia)
Favourite GTA: San Andreas
Xfire: In PM

Karma
0


Non connesso
lol grazie.

_________________
Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [INCLUDE]Raccolta funzioni.
MessaggioInviato: 02/04/2011, 13:44 
Avatar utente
Utente

Iscritto il: 22/12/2010
Messaggi: 1098
Località: Agrigento (Sicilia)
Favourite GTA: San Andreas
Xfire: In PM

Karma
0


Non connesso
Topic Aggiornato!!!

Funzioni aggiunte: IsPlayerInRangeOfPlayer, BanDown, BanUp, BanPoint, KickPoint, KillPoint, TeleportForPlayer, TeleportForAll.

_________________
Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [INCLUDE]Raccolta funzioni.
MessaggioInviato: 04/04/2011, 11:51 
Avatar utente
Utente

Iscritto il: 22/12/2010
Messaggi: 1098
Località: Agrigento (Sicilia)
Favourite GTA: San Andreas
Xfire: In PM

Karma
0


Non connesso
Topic Aggiornato!!!

Funzioni aggiunte: PlayerName, PlayerWeapon.

_________________
Immagine


Top
 E-mail  
 
Visualizza ultimi messaggi:  Ordina per  
 Pagina 1 di 1 [ 10 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 6 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: