GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Showroom SA:MP => Discussion démarrée par: Ssk le 06 Septembre 2009, 21:55:34

Titre: [FS] Missile
Posté par: Ssk le 06 Septembre 2009, 21:55:34
Salut voila mon nouvelle FS dans la lignez de mon FS bombe.

C' est un FS assez special jamais vu sur aucun serveur lol.

Commandes
Il se compose de deux commande

/spawn qui permet de spawn un missile a proximite du joueur
/cible qui permet d' envoyez le missile et qui explose s' il est a 2 metres environ a coter du joueurs defini dans la cmd.

Commentaires
Il vous arriveras que le TD ( textdraw)qui indique la distance entre le missile et vous sorte un peu de l' ecran.
Il y a un checkpoint coller au missile pour que celui qui est viser puissent le voir donc attention au conflit avec d autre checkpoint.


Voici des screen pour la nouvelle version en piece joint =)
Toute les fonction presente dans le FS on ete creer par moi ormis celle deja incluse dans samp et le strtok je vous pris de ne pas les diffuser en ne pas citant mon nom merci
V2
New dans la v2.
La commande /cible a subit une mise à jour on peu maintenant specifier la vitesse de vol du missile entre 10 et 200.

exemple:

/cible id 120il y a maintenant la possibiliter de lancer un missile sur sa position en fesant
/cible ici vitesseLa rotation y est maintenant pris en compte.
Quand un joueurs a mis un missile est qu' il se deconnecte béh le missile explose tout simplement =)
Vous allez peut être remarquer qu' il n' y a pas beaucoup de changement, car j' ai un peu flemarder mais comme j' ai promis un v2 je suis bien obliger de la faire et la voila =)

Remerciement

Merci à Sim pour avoir tester avec moi et trouver un bug.
Merci à mon ancien prof de math pour m' avoir aider au calcule de l' arctangente ( pour la rotation de l' objet ).

Téléchargement
V2

Lien Pastebin (http://pastebin.gtaonline.fr/pastebin.php?show=664)

(http://solidfiles.com/info_imgs/YCaF.jpg) (http://solidfiles.com/d/YCaF)

V1
Lien Pastebin (http://pastebin.gtaonline.fr/pastebin.php?show=662)

(http://solidfiles.com/info_imgs/UKW6.jpg) (http://solidfiles.com/d/UKW6)
Titre: Re : [FS] Missile
Posté par: BuBuNo le 06 Septembre 2009, 22:00:33
ah sa a l'aire simpas
Titre: Re : [FS] Missile
Posté par: Zordiache le 07 Septembre 2009, 11:26:32
Bien joué pour le FS ;) je vais tester ça  :)
Titre: Re : [FS] Missile
Posté par: Ssk le 07 Septembre 2009, 12:55:10
Bientot une nouvelle fonction sera ajouter pour plus de realisme Ce sera un ajout du changement d' angle y =) ou x je sais plus lol


Vous verrez bientot =)
Titre: Re : [FS] Missile
Posté par: S!m le 07 Septembre 2009, 15:28:06
Salut,

tu aurais pu utiliser un SetPlayerMapIcon au lieu d'un checkpoint,

pour le textdraw, tu pourrais le bouger légèrement, je ne l'ai pas vus mais ça ne devrait pas arriver, ce serait plus beau

EDIT:

tu pourrais également "optimiser" ta fonction PlayerToObject grâce à une simple opération mathématique....

(X² + Y² + Z²)½ = Distance

sachant que faire une racine carrée est une opération complexe et donc relativement long (c'est néanmoins très rapide), on peut la retiré simplement par:

((X² + Y² + Z²)½)² = Distance²

Racine carré et exposant 2 se simplifient :

X² + Y² + Z² = Distance²

Donc le code ressemble à ceci (en ajoutant quelques autres optimisations):

   xo -= x;
    yo -= y;
    zo -= z;
    if(((xo * xo) + (yo * yo) + (zo * zo)) <= (radius * radius))
    {
            return 1;
    }
    return 0;
}

++Sim++
Titre: Re : [FS] Missile
Posté par: Ssk le 07 Septembre 2009, 15:31:20
Oui tout sera inclut dans la nouvelle version qui contiendras plusieurs commandes assez amusante

et peut etre meme la rotation y qui change =)



EDIT: Merci sim je mettrais tout ca dans la new version et tu sera meme dans les credits lol
Titre: Re : [FS] Missile
Posté par: RaiDeN le 07 Septembre 2009, 17:15:57
GG à toi, faudras que j'aille testé sa :)


++
Raiden
Titre: Re : [FS] Missile
Posté par: Ssk le 07 Septembre 2009, 18:22:59
MAJ du premier post ajout de 3 screen sur lequel on voit bien la rotation horizontal, et vu de la commande /boom permettant de faire explose le missile avant son arriver pratique pour les ultimatum ( laissez moi dans mon delire de conspirant mondial lol )
Titre: Re : [FS] Missile
Posté par: Dark4ng3L le 07 Septembre 2009, 22:13:36
Super script,
Qui pourrais s'averer tres utiles pour les Rp, genre faire un lancement de missile depuis la zone 51,
serais il possible que tu fasse une commande /spawn cible
Titre: Re : [FS] Missile
Posté par: Ssk le 07 Septembre 2009, 22:14:38
Et elle servirais a quoi la commande ??
Titre: Re : [FS] Missile
Posté par: Dark4ng3L le 07 Septembre 2009, 22:18:07
bah
comme irl tu fait spawn une cible par ex une maison
ensuite du lance les missiles depuis la zone 51
Titre: Re : [FS] Missile
Posté par: Ssk le 07 Septembre 2009, 22:26:29
Ouais pk pas mais faudrat donne les position aussi lol ou bien on se rend a l endroit ou on veut l assaut puis on tape /bombarder puis pouff tout va la bas a partir de area51.

Ouais pk pas
Titre: Re : [FS] Missile
Posté par: Xoss le 08 Septembre 2009, 22:22:43
Missile tester, c'est bien joué ^^
Avec le temps qui reste a parcourir etc je dit un grand GG ^^
Bonne creation en general comme le FS bomb ^^ c'est lol
Titre: Re : [FS] Missile
Posté par: Ssk le 08 Septembre 2009, 22:33:34
Merci beaucoup Xoss
Titre: Re : [FS] Missile
Posté par: leptiroman le 10 Septembre 2009, 01:48:46
kiffant!

par contre comment je pourai faire qpour qu'il soit dispo juste au admin 1338 ? 
Titre: Re : [FS] Missile
Posté par: Xoss le 10 Septembre 2009, 07:34:09
   if(strcmp(cmd, "/crash", true) == 0)
{
if(IsPlayerConnected(playerid))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
    SendClientMessage(playerid, COLOR_GRAD2, "SYNTAX: /crash [playerid/PartOfName]");
    return 1;
}
giveplayerid = ReturnUser(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1337)
   {
    if(IsPlayerConnected(giveplayerid))
    {
        if(giveplayerid != INVALID_PLAYER_ID)
        {
        new Float:X, Float:Y, Float:Z;
        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
        GetPlayerPos(giveplayerid,X,Y,Z);
        new objectcrash = CreatePlayerObject(giveplayerid,11111111,X,Y,Z,0,0,0);
        DestroyStreamObject(objectcrash);

format(string, sizeof(string), "vous avez fait crash %s", giveplayer);
   SendClientMessage(playerid,COLOR_DBLUE, string);
return 1;
}
}
}
else
{
    format(string, sizeof(string), "   %d es un joueur inactif.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
}
}
return 1;
}

Voici un exemple d'une commande avec juste pour niveua d'admin
Dans ce cas tu regarde ce qui est en rouge et essaye de l'adapter ^^ (pour 1338 et avec ce fs)
Titre: Re : Re : [FS] Missile
Posté par: Ssk le 10 Septembre 2009, 08:04:00
kiffant!

par contre comment je pourai faire qpour qu'il soit dispo juste au admin 1338 ? 


Béh tu peut l' integrer a ton gm c' est tres tres facile lol, sinon attend la prochaine version ca fait deux jours que j ai pas touche au fs, ce soir je reprend avec une ou deux idée en plus =)
Titre: Re : [FS] Missile
Posté par: leptiroman le 10 Septembre 2009, 11:23:47
ok j'attend avec impatience ta prochaine version ça déchire vraiment
Titre: Re : [FS] Missile
Posté par: Dark4ng3L le 10 Septembre 2009, 12:05:51
eu si tu l'integre a ton GM oui
Titre: Re : Re : [FS] Missile
Posté par: Soravani le 10 Septembre 2009, 17:53:25
kiffant!

par contre comment je pourai faire qpour qu'il soit dispo juste au admin 1338 ? 

Tu met déjà le script dans ton GM, et, en dessus de chaque commande, tu met:

if (PlayerInfo[playerid][pAdminLevel] >= 5 || IsPlayerAdmin(playerid))
A la place du 5, tu met le LVL que tu veux.
En tout cas, pour ma part j'utilise ce code pour résérvé les commandes admins.

Sinon, j'ai testez, même intégrez ton FS, il est vraiment génial, sauf, je tien à pérssisez:

- La commande pour l'exploser me fait crash mon serveur
- Si on abus de micile à la suite, le serveur crash
Titre: Re : [FS] Missile
Posté par: Ssk le 10 Septembre 2009, 17:55:22
Dans la prochaine version, je changerais la cmd /destroyallobject qui permettras de vraiment detruire les missile

La v2 est reporter a plus tard mais j' ai ajouter la commande qui permet de bombarder mais pas a partir de la zone51
Titre: Re : [FS] Missile
Posté par: Ssk le 11 Septembre 2009, 19:01:18
Mis à jour du premier post


PS: ce n' est pas un double post =)

( c' est juste pour eviter que certaine personne dise no up etc ... )
Titre: Re : [FS] Missile
Posté par: Xoss le 11 Septembre 2009, 19:43:47
GG ^^
On peut faire un PlayerTopoint ?
Titre: Re : [FS] Missile
Posté par: Ssk le 11 Septembre 2009, 19:55:20
Comment ca???

Sinon moi j' utilise mes propres fonction sauf pour le strtok que je ne pourrais pas reproduire lol regarde PlayerObject ( je sais plus le nom de la fonc. lol)
Titre: Re : [FS] Missile
Posté par: kenjy24 le 06 Janvier 2011, 14:30:57
Bonjour tres joli FS je viens de l'installer c'est vraiment du bon boulot en revanche quelqu'un aurai t il une idée pour que le missile s'auto detruise au bout de par exemple 5 minutes car sinon il est impossible pour le joueur de s'en separer il le suivra tout au long du jeu ca qui est dommage.
je vous remercie par avance
Titre: Re : [FS] Missile
Posté par: Xartrick le 06 Janvier 2011, 16:37:19
Très beau code, je ne l'ai pas regardé mais cela m'a l'air passionnant à étudié avec plein de calcul tordu :).
Titre: Re : Re : [FS] Missile
Posté par: S!m le 07 Janvier 2011, 00:46:37
Salut,

Bonjour tres joli FS je viens de l'installer c'est vraiment du bon boulot en revanche quelqu'un aurai t il une idée pour que le missile s'auto detruise au bout de par exemple 5 minutes car sinon il est impossible pour le joueur de s'en separer il le suivra tout au long du jeu ca qui est dommage.
je vous remercie par avance

Il te suffit d'ajouter un timer au moment de la création du missile, sans oublié de stocker son numéro d'identification et tu arrête le timer si le missile est détruit. La fonction appelée par le timer doit bien sur supprimer le missile (avec un message pour le joueur peut-être?).
En ce qui concerne la destruction du missile, regarde comment Sasuke fait lors de l'explosion du missile si tu as de la difficulté.

++Sim++
Titre: Re : [FS] Missile
Posté par: Ssk le 07 Janvier 2011, 08:08:24
Si je me souviens de ce que j'ai codé, tu as juste à mettre la variable

Boom[playerid] à 1 quand un missile est lancé pour le faire exploser ^^
Titre: Re : [FS] Missile
Posté par: kenjy24 le 08 Janvier 2011, 00:53:16
Ok ben ecoutez je vous remercie beaucoup pour vos réponses j'essaye ca tout de suite et je vous tiens au courant à bientôt et encore merci.

Double post
Bonjour désolé c'est encore moi Sim mais je debute dans pawno enfin cela fait 4,5 mois je connais un peu mais pas autant pour comprendre ce que tu me dis l'histoire du timer lors de la creation du missile je suppose que c'est IG ca ok mais dans le FS l'installation c'est autre chose pour moi donc si en reprenant le systeme de Sazuke tu pouvais me le montrer sur le script ca serai enorme je pense etre gourmand mais je tente ^^ sinon tempis je laisserai tomber (mais ca m'ennui car il est vraiment top ce FS et pour toi Sazuke le variante Boom(playerid) et bien sur 1 mais c'est que si le joueur fait la commande /boom sinon il n'explose jamais le missile
Voila j'espere avoir été clair dans mon explication et que vous me comprendrez
d'avance merci