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
-
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)
-
ah sa a l'aire simpas
-
Bien joué pour le FS ;) je vais tester ça :)
-
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 =)
-
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++
-
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
-
GG à toi, faudras que j'aille testé sa :)
++
Raiden
-
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 )
-
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
-
Et elle servirais a quoi la commande ??
-
bah
comme irl tu fait spawn une cible par ex une maison
ensuite du lance les missiles depuis la zone 51
-
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
-
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
-
Merci beaucoup Xoss
-
kiffant!
par contre comment je pourai faire qpour qu'il soit dispo juste au admin 1338 ?
-
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)
-
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 =)
-
ok j'attend avec impatience ta prochaine version ça déchire vraiment
-
eu si tu l'integre a ton GM oui
-
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
-
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
-
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 ... )
-
GG ^^
On peut faire un PlayerTopoint ?
-
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)
-
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
-
Très beau code, je ne l'ai pas regardé mais cela m'a l'air passionnant à étudié avec plein de calcul tordu :).
-
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++
-
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 ^^
-
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