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

[FS]Kamikaze
http://www.gta-center.com/forums/viewtopic.php?f=42&t=605
Pagina 1 di 1

Autore:  mitosking [ 16/01/2011, 0:17 ]
Oggetto del messaggio:  [FS]Kamikaze

Salve a tutti. Oggi è il mio secondo FS che sto rilasciando appena fatto.

[FUNZIONE]

In molti server Stunt ~ DM ~ Freeroam esiste il famoso comando /kamikaze, ovvero un comando che getta la tua posizione e crea un'esplosione attorno a te. Con questo script ho migliorato nettamente questa cosa, rendendola anche per gli RP (ad esempio: fazione kamikaze). Quando uno digita /kamikaze viene inviato un messaggio di avviso e si attiva un Timer di 10 secondi. Poi sul petto, verrà attaccata una bomba. Alla fine del Timer, si creano tante esplosioni a coordinate diverse l'una dall'altra e la bomba verrà tolta dal petto. Ovviamente morirete anche voi :asd:...

P.S: Non mi sono limitato solo al petto, ma anche alla coscia destra e sinistra. Spesso, però, in molti server, usano comandi tipo /occhiali o /tracolla. Per questo le altre due coordinate le ho messe come commento e sta a voi decidere se sbloccarle o no.


[ISTRUZIONI SU COME ATTIVARE LE BOMBE SULLE COSCE]

Recatevi alle righe 74 e 75 e cancellate le due "//" (alla fine della riga, c'è scritto di che coscia si tratta). Poi recatevi alle righe 251 e 252 e cancellate le due "//" (Ricorda di essere certo di aver attivato quella determinata gamba. Alla fine delle due righe, c'è scritto a quale gamba si riferisce).


PASTEBIN
: http://pastebin.com/fYStTyku (siccome è tardi, non posso uppare l'.amx... Vi lascio il pastebin per ora, domani metto amx).

Autore:  Mik_Teck [ 16/01/2011, 0:32 ]
Oggetto del messaggio:  Re: [FS]Kamikaze

bel lavoro toto, non serve tanto l'amx, lo runniamo noi xd, cmq toto quando si tratta di fare l'fs devi levare questo " #if defined FILTERSCRIPT" e lasciare solo #include <a_samp>

Autore:  mitosking [ 16/01/2011, 0:39 ]
Oggetto del messaggio:  Re: [FS]Kamikaze

Ok Grazie. Sai com'è, sono le prime volte che riesco a fare FS :asd:... Prima, se avevo solo 5 errori, era andato bene :scx:..

Autore:  Mik_Teck [ 16/01/2011, 0:40 ]
Oggetto del messaggio:  Re: [FS]Kamikaze

mitosking ha scritto:
Ok Grazie. Sai com'è, sono le prime volte che riesco a fare FS :asd:... Prima, se avevo solo 5 errori, era andato bene :scx:..


ti consiglio pure di ordinare l'fs, cioè levare tutti i public e cose inutili che non usi accorciando le linee, sono dei consigli :beer:

Autore:  mitosking [ 16/01/2011, 0:42 ]
Oggetto del messaggio:  Re: [FS]Kamikaze

E sono consigli ben accettati. Comunque i callbacks (tutti i public) li tengo per eventuali aggiornamenti. Senno poi mi rompe andarli a cambiare. Comunque nei prossimi script li leverò :)

Autore:  Alby Fire [ 16/01/2011, 2:31 ]
Oggetto del messaggio:  Re: [FS]Kamikaze

Ma aspe non ho capito na cosa, perchè hai definito lo strtok e messo questo tipo di cmd
Codice:
if(!strcmp(cmd, "/kamikaze", true))

Quando bastava mettere il cmdtext 10 senza dover definire niente .-.
Codice:
if (strcmp("/kamikaze", cmdtext, true, 10) == 0)

Cioè dico lo strtok e la definizione di "cmd" era completamente inutile lol

Autore:  Peppinux AKA Peppe_Stasu [ 16/01/2011, 12:42 ]
Oggetto del messaggio:  Re: [FS]Kamikaze

Uhm vediamo:

1.
Codice:
// This is a comment
// uncomment the line below if you want to write a filterscript
//#define FILTERSCRIPT

Codice:
#if defined FILTERSCRIPT

e
Codice:
#endif

Sono inutili.

2.Sarebbe meglio togliere tutti i callbacks non utilizzati... Magari puoi fare una copia del .pwn e in una li lasci e nell'altra che devi pubblicare metti solo quelli indispenzabili per il funzionamento del FiltersScript.

3.Inutile usare lo strtok per un comando del genere quindi togli
Codice:
new cmd[256];
new idx;
cmd = strtok(cmdtext, idx);

e
Codice:
strtok(const string[], &index)
{
        new length = strlen(string);
        while ((index < length) && (string[index] <= ' '))
        {
index++;
        }

        new offset = index;
        new result[20];
        while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
        {
result[index - offset] = string[index];
index++;
        }
        result[index - offset] = EOS;
        return result;
}

E modifica
Codice:
if(!strcmp(cmd, "/kamikaze", true))

in
Codice:
if(!strcmp(cmdtext, "/kamikaze", true))


4.Modifica
Codice:
new nome[20];

e
Codice:
GetPlayerName(playerid, nome, 20);

in
Codice:
new nome[24];

e
Codice:
GetPlayerName(playerid, nome, 24);

Dato che la massima grandezza del nome del player è 24, non 20.

5.Creare una stringa con grandezza 256 per formattare un testo da inviare è inutile dato che la massima lunghezza del testo è 128 quindi modifica
Codice:
new stringa[256];

e
Codice:
format(stringa, 256, "

in
Codice:
new stringa[128];

e
Codice:
format(stringa, 128, "


6.E per finire ti consiglio di identare bene il codice.

Spero che le mie osservazioni ti siano utili per correggere il tuo script e per migliorare nei prossimi scripts ;).

Bye :D

Autore:  Angelo [ 16/01/2011, 13:08 ]
Oggetto del messaggio:  Re: [FS]Kamikaze

Q8 peppinux, anche se ancora è alle prime armi, io quando iniziai nessuno script mi funzionava :ghfuma:

Autore:  barletheking [ 16/01/2011, 14:51 ]
Oggetto del messaggio:  Re: [FS]Kamikaze

mitosking è uno dei pochi che capiscono sempre tutto, e che fanno domande intelligenti su come fare uno script, non di farselo fare.

Autore:  mitosking [ 16/01/2011, 16:17 ]
Oggetto del messaggio:  Re: [FS]Kamikaze

Grazie barle :) e grazie Peppinux per i tuoi consigli. Comunque io mi sono fatto un file .pwn chiamato "Crea Script" e da li mi creo gli script. Quindi lo strtok era già messo prima :asd: comunque con gli altri script ascolterò i tuoi consigli ;).

N.B: l'#endif ho provato a toglierlo, ma mi da errore. Forse perché c'è il #if defined FILTERSCRIPT? Vabbe per ora sto lavorando ad un nuovo script. Probabilmente tra oggi e domani lo posterò. E' molto carino, non vi rovino la sorpresa :asd:

EDIT: Non mi ero accorto del messaggio di Alby. Ringrazio anche lui del consiglio :asd:..

Autore:  Peppinux AKA Peppe_Stasu [ 16/01/2011, 16:27 ]
Oggetto del messaggio:  Re: [FS]Kamikaze

Infatti non devi togliere solo #endif ma anche #define FILTERSCRIPT e #if defined FILTERSCRIPT.

Autore:  mitosking [ 16/01/2011, 17:09 ]
Oggetto del messaggio:  Re: [FS]Kamikaze

Ok ho fatto un nuovo script. Tra poco lo rilascio, seguirò i tuoi consigli.

Autore:  Peppinux AKA Peppe_Stasu [ 16/01/2011, 17:16 ]
Oggetto del messaggio:  Re: [FS]Kamikaze

Bene, felice di esserti stato d'aiuto ;).

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/