GTAOnline.net
San Andreas Multiplayer (sa:mp) => Autre => Discussion démarrée par: chrislabricole le 31 Décembre 2007, 13:14:01
-
Bonjour,
Comme dans titre, je voudrais associé 2 spawn à une équipe, donc couleur, puisque je distingue les équipes en couleur dans mon script
Donc, j'ai en tout 4 spawn ,
je voudrais que l'équipe 1 (0 pour le pawn) sois spawner uniquement sur les 2 premières coordonnées
L'équipe 2 (1 pour le pawn) sois spawner uniquement sur les 2 dernières coordonnées ...
En gros, faire spawner une équipe sur 2 coordonnées ....
Voila, merci de votre aide :)
Bonne année pour encore quelques heures :p :)
Christophe
-
J'ai absolument pas compris !
NV.
-
J'ai absolument pas compris !
NV.
je veux faire spawné l'équipe 0 à un endroit
et l'équipe 1 à un autre... :P
-
Exemple:
AddPlayerClass(294,1834.1643,-1370.4514,13.5726,269.1425,0,0,0,0,-1,-1); // Equipe 1
AddPlayerClass(292,1834.1643,-1370.4514,13.5726,269.1425,0,0,0,0,-1,-1); // Equipe 1
AddPlayerClass(101,-2017.0909,176.5968,27.7740,269.1425,0,0,0,0,-1,-1); // Equipe 2
AddPlayerClass(122,-2017.0909,176.5968,27.7740,257.9751,0,0,0,0,0,0); // Equipe 2
Comme ça ?
NV.
-
se que tu a mis en couleur, c'est les coordonnées lors de la prévisualisation non ? (avec les flèches)
Je veux que le joueur qui a choisi l'équipe 1 sois spawner à un endroit (donc après qui a appuyer sur shift...)
Et celui qui a choisi l'équipe 2, sois spawner quelque-part d'autre
^^
Merci de votre aide ! :D
-
Oui on a compris et Native a répondu a ton probleme se sont les coordonées du joueur apres avoir fait SHIFT ( donc apres la classe de selection ) puisque ses un AddPlayerClass :)
Mais si tu n'a pas compris je t'explique plus simplement :
Dans OnGameModeInit :
/* EQUIPE 1 ( spawn au skatepark ) */
AddPlayerClass(188,1926.7340,-1399.3108,13.5703,162.7203,46,0,0,0,0,0);
/* EQUIPE 2 ( spawn a l'aeroport de Los Santos ) */
AddPlayerClass(61,1613.0461,-2539.5403,13.5469,92.2901,46,0,0,0,0,0);
Dans OnPlayerSpawn :
if(gTeam[playerid] == TEAM_EQUIPE 1) {
SetPlayerColor(playerid,COLOR_GREEN); // Equipe 1 en VERT
}
else if(gTeam[playerid] == TEAM_EQUIPE 2) {
SetPlayerColor(playerid,COLOR_RED; // Equipe 2 en ROUGE
}
}
return 1;
}
Dans OnPlayerRequestClass :
switch (classid) {
case 0:
{
GameTextForPlayer(playerid, "~g~EQUIPE 1", 500, 3); // a la selection un message en vert s'affiche " EQUIPE 1 "
}
case 1:
{
GameTextForPlayer(playerid, "~r~EQUIPE 2", 500, 3); // a la selection un message en rouge s'affiche " EQUIPE 2 "
}
}
return 1;
}
Et enfin dans SetPlayerClass :
if(classid == 0) {
gTeam[playerid] = TEAM_EQUIPE 1; // définie la team EQUIPE 1 ( tout les joueurs qui prenderont cette equipe seront en VERT )
} else if(classid == 1) {
gTeam[playerid] = TEAM_EQUIPE 2; // définie la team EQUIPE 2 ( tout les joueurs qui prenderont cette equipe seront en ROUGE )
}
}
Donc maintenant quand tu choisira par exemple l'equipe 1 ( vert ) tu sera au skatepark et quand tu choisira l'equipe 2 ( rouge ) tu sera a l'aeroport de Los Santos
A+
-
Je n'ai pas SetPlayerClass..
si je fais ça, il me sors une erreur :
SetPlayerClass(playerid, classid) {
if(classid == 0) {
gTeam[playerid] = TEAM_TERRO;
} else if (classid == 1) {
gTeam[playerid] = TEAM_ATERRO;
}
return 1;
}
Sinon, le message quand on préselectionne, marche, pour le spawn... non, je suis spawner au même endroit
Mais quand j'ai créer ce topic, je pensais que ça aller avoir rapport avec
new Float:gRandomPlayerSpawns
Le voici :
new Float:gRandomPlayerSpawns[2][3] = {
{2637.2712,1129.2743,11.1797} // équipe 1
{2295.855469,2468.642334,10.823071}, // équipe 2
};
j'ai écrit // équipe 1 et 2 , mais bon , l'équipe 1 est parfois spawner dans le "can" de l'équipe 2 et et vice versa....
Merci de votre aide ! :D
Christophe
-
Si tu veut des spawn Fixe tu ne peut pas mettre de gRandom puisque sa sera aléatoire ;)
Pour le SetPlayerClass tu doit avoir sa pour que sa fonctionne :
Tout en haut de ton script :
static gTeam[MAX_PLAYERS];
new gPlayerClass[MAX_PLAYERS];
Puis le code :
SetPlayerClass(playerid, classid) {
if(classid == 0) {
gTeam[playerid] = TEAM_EQUIPE 1; // définie la team EQUIPE 1 ( tout les joueurs qui prenderont cette equipe seront en VERT )
} else if(classid == 1) {
gTeam[playerid] = TEAM_EQUIPE 2; // définie la team EQUIPE 2 ( tout les joueurs qui prenderont cette equipe seront en ROUGE )
}
}
-
Ok, il y avais juste le "static" qui manquer puis le 1 et 2 après le nom de la team dans le SetPlayerClass
Malgré cela, toujours quelques erreurs :
C:\...\gamemodes\lvdm.pwn(44) : error 021: symbol already defined: "gTeam"
C:\...\gamemodes\lvdm.pwn(963) : warning 203: symbol is never used: "SetPlayerClass"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
1 Error.
L44 : new gTeam[MAX_PLAYERS];
L963 : cette ligne n'existe pas, la 962, c'est la dernière ligne du fichier...
Merci de votre aide !
-
Pour l'erreur c'est pck tu a defini 2 fois gTeam pour le warning c'est pck tu n'utilise pas SetPlayerClass
-
Pour l'erreur c'est pck tu a defini 2 fois gTeam pour le warning c'est pck tu n'utilise pas SetPlayerClass
Pourrais-tu plus préciser s'il-te-plait ? :-\
:happy
Merci :)
-
C'est simple tu a du ecrire 2 fois new gTeam pout le warning tu a defini SetPlayerClass mais tu ne l'a pas utiliser
-
C'est simple tu a du ecrire 2 fois new gTeam
Bah non, il y a une fois new gTeam[MAX_PLAYERS];, mais il y a static gTeam[MAX_PLAYERS];, je ne sais pas si c'est ça faute :P
pout le warning tu a defini SetPlayerClass mais tu ne l'a pas utiliser
Pour le SetPlayerClass, j'ai :
SetPlayerClass(playerid, classid) {
if(classid == 0) {
gTeam[playerid] = TEAM_TERRO 1;
} else if (classid == 1) {
gTeam[playerid] = TEAM_ATERRO 2;
}
}
Je ne vois pas se qu'il ne va pas :blink
-
Eseye d'enver le new gTeam et laisse le static sinon pour ton SetPlayerClass je voit pas
-
A tu ajouter ceci :
SetPlayerClass(playerid, classid);
SetupPlayerForClassSelection(playerid);
gPlayerClass[playerid] = classid;
dans le OnPlayerRequestClass ?
-
C'est pire ;D
C:\...\gamemodes\lvdm.pwn(570) : error 017: undefined symbol "SetPlayerClass"
C:\...\gamemodes\lvdm.pwn(571) : error 017: undefined symbol "gPlayerClass"
C:\...\gamemodes\lvdm.pwn(571) : warning 215: expression has no effect
C:\...\gamemodes\lvdm.pwn(571) : error 001: expected token: ";", but found "]"
C:\...\gamemodes\lvdm.pwn(571) : error 029: invalid expression, assumed zero
C:\...\gamemodes\lvdm.pwn(571) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
5 Errors.
----
Bonne et heureuse année 2008 :D :cheers
-
Tu a peut etre mal aligner le code :) sinon ajoute ceci en haut de ton GM :
forward public SetupPlayerForClassSelection(playerid);
meme si sa va pas changer grand chose , au pire envoye moi se qui bug que je te le corrige car chez moi j'ai 9 team et sa marche nikel je vois pas pourquoi chez toi sa bugerai ;)
-
Non, ça ne change rien....
Je recommence du début pour que vous voyez bien tous le code... ;)
forward public SetupPlayerForClassSelection(playerid);
static gTeam[MAX_PLAYERS];
....
new Float:gRandomPlayerSpawns[2][3] = {
{2637.2712,1129.2743,11.1797}, // spawn juste pour équipe 1
{2295.855469,2468.642334,10.823071} // spawn juste pour équipe 2
}
....
AddPlayerClass(254,2637.2712,1129.2743,11.1797,0.0,32,300,22,1000,17,10); // équipe 1
AddPlayerClass(287,2295.855469,2468.642334,10.823071,269.1425,24,500,31,300,34,30); // équipe 2
....
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerClass(playerid, classid);
gPlayerClass[playerid] = classid;
iSpawnSet[playerid] = 0;
SetupPlayerForClassSelection(playerid);
switch (classid) {
case 0:
{
GameTextForPlayer(playerid, "~r~EQUIPE 1", 1000, 3);
}
case 1:
{
GameTextForPlayer(playerid, "~g~EQUIPE 2", 1000, 3);
}
}
return 1;
}
et avec cela, j'ai :
C:\...\gamemodes\lvdm.pwn(14) : error 017: undefined symbol "SetPlayerClass"
C:\...\gamemodes\lvdm.pwn(15) : error 017: undefined symbol "gPlayerClass"
C:\...\gamemodes\lvdm.pwn(15) : warning 215: expression has no effect
C:\...\gamemodes\lvdm.pwn(15) : error 001: expected token: ";", but found "]"
C:\...\gamemodes\lvdm.pwn(15) : error 029: invalid expression, assumed zero
C:\...\gamemodes\lvdm.pwn(15) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
5 Errors.
J'ai bien sûr modifier le numero des lignes sur le quote ci-dessus pour que vous voyez la correspondance ;)
Merci de votre aide et bonne année :)
-
Moi j'aimerais bien qu'on m'explqie comment on fait des teams avec des commandes propres a eux, que les autres peuvent pas utiliser et que si les joueurs vont dans un groupe et qui ne sont pas dans ce groupe, ils sont kick et aussi qu'ils sont civil et aprés ils choissisent un groupe ( un job ) donc va dans une team ( le job )
Ou je dois faire ca avec des levels ?
Le jobs que j'ai et les couleurs sont :
Groupe 1 ( choissisable directement dans le "job house" )
- Policiers ( bleu )
- Conducteur de transport en commun ( jaune )
- Medecins ( vert clair )
- Moniteur de conduite ( orange )
- Pilote ( gris )
Groupe 2 ( disponible autre que dans le "job house" )
- Prostitué ( rose ) dans le Big Pen
- Anarchist ( brun clair ) dans Ocean Docks
Groupe 3 ( évolution d'un job )
- Hitman - Mercenaire ( brun foncé ) évolution de l'anarchist
- Garde de sécurité ( bleu ciel ) évolution de policier
- S.W.A.T - Unité d'élite de police ( bleu foncé ) évolution du policier
- Armée ( vert foncé )
Groupe 4 ( défini par l'administrateur, non disponible )
- Maire ( violet )
- Parrain de la mafia ( noir )
Groupe 5 ( par défaut )
- Civils ( blanc )