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

[GUIDA]Attaccare Object sul Player
http://www.gta-center.com/forums/viewtopic.php?f=40&t=808
Pagina 1 di 1

Autore:  mitosking [ 14/02/2011, 21:25 ]
Oggetto del messaggio:  [GUIDA]Attaccare Object sul Player

Salve a tutti. Questa è la mia prima guida su gta-center. Spero che possa esservi utile ;).

INTRODUZIONE


In questa guida verra spiegato l'uso del SetPlayerAttachedObject, RemovePlayerAttachedObject ed IsPlayerAttachedObjectSlotUsed. Queste tre funzioni fanno parte solo del sa-mp 0.3c. Per la versione 0.3b, cambiano il nome in SetPlayerHoldingObject eccetera (hanno sintassi diverse, quindi non usate la stessa sintassi degli AttachedObject).

INIZIO GUIDA


Prima di iniziare, dobbiamo conoscere la sintassi delle tre funzioni.

SetPlayerAttachedObject(playerid, index, modelid, bone, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ)

playerid = Id del player a cui attaccare l'oggetto. Come voi sapete, playerid equivale al player che "compie l'azione".

index = L'index è una particolarità. Si tratta di uno "slot". Gli index sono 5: da 0 a 4. Spiegherò dopo.

modelid = E' l'id dell'oggetto da attaccare al nostro player. Ne parleremo in seguito.

bone = Bone è una particolarità. Si tratta della parte del corpo a cui attaccare l'object. Hanno un ID da 0 a 18, ne parleremo in seguito.

Tutto il resto sono le coordinate da prendere.

RemovePlayerAttachedObject(playerid, index)

playerid = La medesima cosa che ho detto per il SetPlayerAttachedObject

index = E', quindi, lo slot usato.

IsPlayerAttachedObjectSlotUsed(playerid, index)

playerid = Sempre la stessa cosa detta per SetPlayerAttachedObject e RemovePlayerAttachedObject

index = E', come ho detto con le precedenti funzioni, lo slot usato.


Bene, adesso che conosciamo la sintassi delle funzioni, possiamo cominciare a spiegare del loro uso. SetPlayerAttachedObject serve ad attaccare il nostro oggetto. Quindi, noi, dovremmo conoscere: ID dell'oggetto, Bone (che è la parte del corpo) e decidere quale slot usare. Per questo vi propongo un FS molto utile trovato su SA-MP.com. Premetto che l'autore non sono io! Il suo nome è Hold Studio ed è molto conosciuto da chi se ne intende di oggetti attaccati. Esso è in grado di trovare la ID oggetto, la Bone e le coordinate esatte per sistemare il vostro oggetto.

N.B: Ovviamente Pawn non vi da la vita facile. Se voi mettete come Bone la "Testa", l'oggetto verra messo in una posizione alquanto brutta e da sistemare. Tutto questo, senza Hold Studio (o altri FilterScript), dovrebbe essere fatto manualmente.

Hold Studio.pwn -> http://spelsajten.net/hold-studio.pwn
Hold Studio.amx -> http://spelsajten.net/hold-studio.amx

Il suo uso, all'inizio, può sembrare molto difficile. E' composto da diversi comandi:

/hshelp
/info
/saveinfo
/search
/hold
/stophold
/model
/bone
/x
/y
/z
/rx
/ry
/rz
/sx
/sy
/sz


Sembreranno molti, ma non ci servono tutti. I piu importanti sono:

/hshelp ~ Ti elenca tutti i comandi disponibili.
/saveinfo ~ Il comando piu importante: Salva le coordinate, spiegherò in seguito.
/search ~ Cerca l'ID dell'oggetto che vi serve (P.S: Bisogna conoscerne almeno il nome).
/hold ~ Serve ad attaccare l'oggetto al vostro corpo per sistemare Coordinate e tutto.
/stophold ~ Serve a togliere un oggetto attaccato.
/bone ~ Serve a decidere a quale parte del corpo attaccare l'oggetto.
/x, /y, /z, /rx, /ry, /rz ~ Sono le coordinate di posizione e di rotazione.

Il tutto è interattivo! Esempio: Se noi vogliamo cambiare la coordinata X, basterà digitare /x e, con Num4 e Num6 è possibile cambiarne la posizione. Così anche /y, /z, /rx, /ry ed /rz. I comandi /sx, /sy ed /sz sono per il "Size" (grandezza). Ma non risultano molto utili, visto che non cambiano quasi niente (questo non vi obbliga a non usarli).
Se tutto questo non vi è chiaro, vi faccio un esempio: Mettiamo caso che voglia mettere un M4 nella schiena. Basta fare questi passaggi.

1) Digito /search;
2) Nella barra di testo, digito m4;
3) Mi comparirà l'oggetto interessato in lista con l'ID Object. Usciamo dal Menù;
4) Digitiamo /hold <idobject>;
5) A questo punto il nostro M4 verrà messo al centro del nostro corpo. Adesso digitate /bone e, sempre con Num4 e Num6, cambiare le parti del Corpo. Se non sapete i nomi, o siete un po' arrugginiti con l'inglese, ecco a voi:

Codice:
0 - Questo ID non va usato. Causa: Crash del Server (non so il perché).
1 - Schiena.
2 - Testa.
3 - Braccio Sinistro.
4 - Braccio Destro.
5 - Mano Sinistra.
6 - Mano Destra.
7 - Gamba Sinistra.
8 - Gamba Destra.
9 - Piede Sinistro.
10 - Piede Destro.
11 - Polpaccio Destro.
12 - Polpaccio Sinistro.
13 - Avambraccio Sinistro.
14 - Avambraccio Destro.
15 - Clavicola Sinistra.
16 - Clavicola Destra.
17 - Collo.
18 - Mandibola.


6) Non vi resta che digitare i comandi delle coordinate (che non sto a ripetere) e sistemare l'object al posto giusto.
7) Appena sarete soddisfatti del vostro lavoro, digitate il comando /salvainfo e recatevi nella cartella scriptfiles presente nella cartella principale del server. Troverete un file chiamato hold-studio.pwn dove al suo interno ci sarà un codice formato da SetPlayerAttachedObject con le coordinate, Bone, ID Object e tutto quanto.

N.B: L'index verrà sempre settato a 0. Come ho già detto, l'index varia da 0 a 4. Ricordate che, se due object uguali o diversi usano uno stesso Index, fanno interferenza e vedrete solamente un object attaccato. Quindi, prima di applicarlo alla vostra GM, assicuratevi che, durante l'uso di un determinato object, non ci sia un altro object con suo stesso index.

Dopo una lunga guida sul SetPlayerAttachedObject, passiamo al RemovePlayerAttachedObject che è molto più semplice e spiegabile in poche parole. Come ho già detto, la sua sintassi è RemovePlayerAttachedObject(playerid, index). Per rimuovere, ad esempio, il nostro M4 dall'index "2", basterà scrivere RemovePlayerAttachedObject(playerid, 2).

IsPlayerAttachedObjectSlotUsed serve, invece, a verificare se in quell'index, è presente un oggetto attaccato. La sua sintassi, come già spiegato sopra, è IsPlayerAttachedObjectSlotUsed(playerid, index). Se, come il RemovePlayerAttachedObject, usiamo l'index "2", basterà utilizzare lo script IsPlayerAttachedObjectSlotUsed(playerid, 2).

Esempio sul suo uso:

Codice:
if(IsPlayerAttachedObjectSlotUsed(playerid, 2)) return RemovePlayerAttachedObject(playerid, 2);



Con questo ho terminato la mia guida. Spero che sia stata chiara. So di essermi prolungato un po' troppo in certi parametri, ma credo che sia il miglior modo per far capire le cose in modo semplice, ma allo stesso tempo approfondito.

CREDITI


Guida interamente scritta da mitosking per GTA-Center. Premetto che questa guida l'ho postata in altri forum che non sto a Spammare.

Si ringrazia Slice per l'FS Hold Studio e per la creazione del video sul suo uso.

Link Video -> http://www.youtube.com/watch?v=cRNf7ACg-Qg&feature=player_embedded#at=23

Autore:  barletheking [ 14/02/2011, 21:30 ]
Oggetto del messaggio:  Re: [GUIDA]Attaccare Object sul Playr

Wow bravo mitos. Mi è servita persino a me ;)

Autore:  mitosking [ 14/02/2011, 21:30 ]
Oggetto del messaggio:  Re: [GUIDA]Attaccare Object sul Playr

Grazie barle ;)

EDIT: Troverete sicuramente qualche errore grammaticale, visto che sto un po' male. Adesso che mi riprendo la rileggo da capo e correggo qualche errore stupido.

Autore:  Peppinux AKA Peppe_Stasu [ 14/02/2011, 21:33 ]
Oggetto del messaggio:  Re: [GUIDA]Attaccare Object sul Playr

Bella mito ;).

Autore:  mitosking [ 14/02/2011, 21:37 ]
Oggetto del messaggio:  Re: [GUIDA]Attaccare Object sul Playr

Grazie Peppinux :D

Autore:  Alby Fire [ 14/02/2011, 21:40 ]
Oggetto del messaggio:  Re: [GUIDA]Attaccare Object sul Playr

Bella guida Mitos ^^

Autore:  mitosking [ 14/02/2011, 21:42 ]
Oggetto del messaggio:  Re: [GUIDA]Attaccare Object sul Playr

Grazie anche a te Alby. Comunque ragazzi, se trovate qualche errore NON STUPIDO oppure qualche aggiornamento ditemelo che modifico il messaggio ;)

Autore:  Angelo [ 14/02/2011, 21:47 ]
Oggetto del messaggio:  Re: [GUIDA]Attaccare Object sul Playr

Fantastica :Q_____________

Autore:  mitosking [ 14/02/2011, 21:50 ]
Oggetto del messaggio:  Re: [GUIDA]Attaccare Object sul Player

Grazie Angelo. Ho corretto certi errori grammaticali. Adesso la guida dovrebbe essere "pulita"

Autore:  Alajandro_Sosa [ 16/02/2011, 15:53 ]
Oggetto del messaggio:  Re: [GUIDA]Attaccare Object sul Player

Good work mito.

Autore:  mitosking [ 16/02/2011, 16:00 ]
Oggetto del messaggio:  Re: [GUIDA]Attaccare Object sul Player

Grazie anche a te Alajandro. :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/