GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: John_Montavedro le 29 Octobre 2010, 13:39:47
-
Bonjour! Le serveur 'Guerre Civile' avance à grand pas mais il faut encore tout de même l'améliorer avant sa mise en ligne générale :)
C'est pour cela que je vais poser toutes mes questions ici afin d'éviter divers :spam
Bien sûr je note ici tout ce que je cherche à faire, je vais trouver peut être la réponse à certaines tout seul ;)
1/ Comment mettre pour chaque team's un Create3DTextLabel
2/ Comment mettre un Create3DTextLabel sur un pickup
3/ Comment recalibrer les équipes si il y a un décalage (ex: 3 personnes dans l'équipe terroriste et 17 personnes dans l'équipe militaire)
4/ Comment rajouter 1 point à la team quand un membre de cette team tue un adversaire
5/ Comment afficher le score des 2 team's
6/ Comment remettre le score à 0 au bout de 30 minutes
7/ Comment donner un avertissement à un joueur qui tue un membre de sa team
Merci!
-
1/ Comment mettre pour chaque team's un Create3DTextLabel
C'est à dire ?
2/ Comment mettre un Create3DTextLabel sur un pickup
Tu le créé à la même position que le pickup ^^
3/ Comment recalibrer les équipes si il y a un décalage (ex: 3 personnes dans l'équipe terroriste et 17 personnes dans l'équipe militaire)
Déjà il te faut stocker le nombre de personne / team, donc :
new equip1 = 0;
new equip2 = 0;
puis a chaque fois qu'un joueur spawn, tu prend son équipe, puis tu incrémente pour chaque spawn...
Si le joueur est dans l'équipe 1
equip1++;
Simple, mais si tu veux checké, tu regarde si par exemple si equip1 - equip2 || equip2 - equip1 >= 2 donc si la différence est de plus ou égal à 2 joueur, tu va venir equilibrer, donc tu va chercher tous les ids des joueurs d'une equipe et faire un random pour savoir lequel va allez dans l'autre.
4/ Comment rajouter 1 point à la team quand un membre de cette team tue un adversaire
Dans onplayerdeath tu prend killerid, et tu regarde ça team.. Puis regarde playerid ( celui qui est mort ) si il à une team différente, si c'est le cas, tu rajoute un pts.
5/ Comment afficher le score des 2 team's
Tu dois utiliser des textdraw, il y a un FS sympa qui te permet d'en créé facilement direction IG,
il s'appel textdraw editor, et se trouve sur le forum sa-mp. Utilise un GM genre lvdm pour le lancer, sinon tu auras un conflit avec les menus.
6/ Comment remettre le score à 0 au bout de 30 minutes.
Quand la partie démarre, tu met un timer qui va charger une fonction, dans laquelle tu va reload le score.. :...
7/ Comment donner un avertissement à un joueur qui tue un membre de sa team
Dans onplayerdeath, tu check si killerid, et playerid ont la même team, si c'est le cas, tu lui met un avertissement
donc par exemple
Advertissement[killerid]++;
Après ça dépend de ce que tu veux faire ^^
Voila j't'ai un peu éclairer, aprés si tu veux des explications fait dans l'ordre on te répondras..
-
La question 1/ Je demande comment attacher un text3D aux joueurs de l'équipe Militraire en indiquant sur le 3D "Militaire" et pareil pour les terroristes.
2/ J'ai fais ça, mais sa ne marche pas : Create3DTextLabel("Bar terroriste",rouge,501.980987,-69.150199,998.757812,1.0,501.980987,-69.150199,998.757812,0);
-
1) Utilise Attach3DTextLabel un truc comme ça, va voir sur le wiki :)
2) Tu as vu tes positions : 501.980987,-69.150199,998.757812
Je pense que ça doit être à l'intérieur ça :D
-
2/ J'ai fais sa et marche pas :s
Create3DTextLabel("Bar terroriste",rouge,363.3236,2476.9944,16.4844,1.0,363.3236,2476.9944,16.4844,0);
-
Create3DTextLabel("Bar terroriste",rouge,363.3236,2476.9944,16.4844,1.0,363.3236,2476.9944,16.4844,0);
text[] -> Bar terroriste"
color, -> rouge
Float:X, -> 363.3236
Float:Y, -> 2476.9944
Float:Z, -16.4844
Float:DrawDistance, -> 1.0 // trop peu :)
virtualworld, -> 363.3236 // Ah bon ?
testLOS -> 2476.9944 // c'est pas 0 ou 1 ?
16.4844 - > ca sert à quoi ?
0 et ça ?
Regarde de plus prés ton code, a la compil il doit t'afficher des erreurs :... tu peut pas le dire ?
-
Create3DTextLabel("Bar terroriste",rouge,363.3236,2476.9944,16.4844,1.0,363.3236,2476.9944,16.4844,0);
text[] -> Bar terroriste"
color, -> rouge
Float:X, -> 363.3236
Float:Y, -> 2476.9944
Float:Z, -16.4844
Float:DrawDistance, -> 1.0 // trop peu :)
virtualworld, -> 363.3236 // Ah bon ?
testLOS -> 2476.9944 // c'est pas 0 ou 1 ?
16.4844 - > ca sert à quoi ?
0 et ça ?
Regarde de plus prés ton code, a la compil il doit t'afficher des erreurs :... tu peut pas le dire ?
xD je sais pas ce que sa veut dire tout sa moi. LOS...ect
-
:... wiki est là pour t'aider