GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Kuroba le 10 Novembre 2008, 15:36:57
-
Yop, donc je viens de débuter en PAWN. Et j'ai un problème avec les Spawns de mes Teams. J'ai crée 3 Teams : Vagos, Aztecas & Grove. Avec 3 skins pour chaque team.
Le premier skin Vagos spawn au bon endroit, mais le deuxième skin Vagos spawn chez les Aztecas, et le troisième chez les Grove. Tout est un peu décalé ^^'.
Est ce que quelqu'un pourrait m'aider plz? >_<
-
a mon avis tu a mal placé tes skin lorsque tu a fait /save ou dans ton script mais sa serai plus simple de t'aider si tu pouvait poster le bout de script ou les skin sont sa pourrait nous aidés ;)
-
AddPlayerClass(108,2435.0137,-1221.9115,25.1029,157.5237,0,0,0,0,0,0); // Vagos spawn
AddPlayerClass(109,2435.0137,-1221.9115,25.1029,157.5237,0,0,0,0,0,0); // Vagos spawn
AddPlayerClass(110,2435.0137,-1221.9115,25.1029,157.5237,0,0,0,0,0,0); // Vagos spawn
AddPlayerClass(114,2636.8982,-2003.9919,13.5559,269.5948,0,0,0,0,0,0); // Aztecas Spawn
AddPlayerClass(115,2636.8982,-2003.9919,13.5559,269.5948,0,0,0,0,0,0); // Aztecas Spawn
AddPlayerClass(116,2636.8982,-2003.9919,13.5559,269.5948,0,0,0,0,0,0); // Aztecas Spawn
AddPlayerClass(105,2516.7432,-1671.8773,13.9310,71.4871,0,0,0,0,0,0); // Grove Spawn
AddPlayerClass(106,2516.7432,-1671.8773,13.9310,71.4871,0,0,0,0,0,0); // Grove Spawn
AddPlayerClass(107,2516.7432,-1671.8773,13.9310,71.4871,0,0,0,0,0,0); // Grove Spawn
return 1;
}
Voila les skins.
-
alors la je ne peut pas t'aider car sa devrai marcher il doit y avoir un bug dans ton GM ou alors si ce n'est pa sa je ne peut pas t'aider
-
As tu créés tes team avec un static gTeam[MAX_PLAYERS]; en haut de ton script ? en définissant un lieu de spawn dans OnPlayerSpawn ?? C'est le meilleur moyen pour ne pas avoir ce problème ;) Aussi si tu a défini tes team, peut a tu fais juste un
new TEAM_VAGOS 0
new TEAM_AZTECAS 1
new TEAM_GROVE 2
Hors tu as 3 skins pour chaques classes, alors :
new TEAM_VAGOS 0
new TEAM_VAGOS1 1
new TEAM_VAGOS2 2
new TEAM_AZTECAS 3
new TEAM_AZTECAS1 4
new TEAM_AZTECAS2 5
new TEAM_GROVE 6
new TEAM_GROVE1 7
new TEAM_GROVE2 8
Comme ça tout tes skins sont classés pour une team, après tu as juste a définir quand il spawn
gTeam[playerid] = TEAM_VAGOS;
et c'est tout, tu n'a pas besoin de mettre le VAGOS1 ou le VAGOS2 ;)
-
Merci, mais je dois les placer ou ? En dessous des#define?
-
Je script avec Kuroba, on fait notre mode de chaque côté mais on s'aide quand on a un petit soucis, et là j'ai rien compris a ce que tu as dit Man, pourrais tu expliquer en détaillant bien a fond ? ou alors je vais me faire cuir un oeuf ...
-
^^
En haut du script, dans les en dessous des #define
static gTeam[MAX_PLAYERS];
en dessous tu fais des #define pour tes teams (oui c'est pas des news ^^ :p )
#define TEAM_VAGOS 0
#define TEAM_VAGOS1 1
#define TEAM_VAGOS2 2
#define TEAM_AZTECAS 3
#define TEAM_AZTECAS1 4
#define TEAM_AZTECAS2 5
#define TEAM_GROVE 6
#define TEAM_GROVE1 7
#define TEAM_GROVE2 8
Ensuite tu as tes
AddPlayerClass(108,2435.0137,-1221.9115,25.1029,157.5237,0,0,0,0,0,0); // Vagos spawn
AddPlayerClass(109,2435.0137,-1221.9115,25.1029,157.5237,0,0,0,0,0,0); // Vagos spawn
AddPlayerClass(110,2435.0137,-1221.9115,25.1029,157.5237,0,0,0,0,0,0); // Vagos spawn
AddPlayerClass(114,2636.8982,-2003.9919,13.5559,269.5948,0,0,0,0,0,0); // Aztecas Spawn
AddPlayerClass(115,2636.8982,-2003.9919,13.5559,269.5948,0,0,0,0,0,0); // Aztecas Spawn
AddPlayerClass(116,2636.8982,-2003.9919,13.5559,269.5948,0,0,0,0,0,0); // Aztecas Spawn
AddPlayerClass(105,2516.7432,-1671.8773,13.9310,71.4871,0,0,0,0,0,0); // Grove Spawn
AddPlayerClass(106,2516.7432,-1671.8773,13.9310,71.4871,0,0,0,0,0,0); // Grove Spawn
AddPlayerClass(107,2516.7432,-1671.8773,13.9310,71.4871,0,0,0,0,0,0); // Grove Spawn
Après tu fais un public OnPlayerRequestClass(playerid, classid) (tu devrais l'avoir d'origine)
Et dedans tu fais
if(classid == 0)
{
gTeam[playerid] = TEAM_VAGOS;
}
ainsi de suite
Après dans OnPlayerSpawn(playerid)
if(gTeam[playerid] == TEAM_VAGOS)
{
SetPlayerPos(playerid, pos x, y, z);
}
etc...
et voila ;)
-
Merci sa marche pour nous !
-
Thanks, problème résolu :P
-
Eu [StafF]Man tu met ça :
if(gTeam[playerid] == TEAM_VAGOS)
{
SetPlayerPos(playerid, pos x, y, z);
}
Mais y'en a pas besoin vu que les coordonnées pour spawner le joueur sont déja dans le AddPlayerClass .Je me trompe ???
-
Oui mais après faut associer le Spawn à chaque team je pense
-
Mais y'en a pas besoin vu que les coordonnées pour spawner le joueur sont déja dans le AddPlayerClass .Je me trompe ???
Man a mit justement ca car la position via les addplayerclass ne marche pas, sinon on est pas si bete que ca ;)
Relis le haut du sujet.
++
nikko
-
J'ai jamais dit que vous étiez bête , mais c'était une supposition .
On apprend en se tromprant :happy
-
Y a pas de mal ;) Il faut mettre un SetPlayerPos car sinon ça ne marchera pas, tu peut essayer, tu verra que tu sera bloquer :bangin
-
J'ai jamais dit que vous étiez bête
je rigolais.
D'ailleur, je ne comprend pas pourquoi son addplayerclass ne marche pas bien ... cest quand meme bizar.
++
nikko
-
Salut,
je crois que le problème vient d'un autre script,
il doit avoir un endroit où il change la position des joueurs au moment du spawn,il n,existe aucune raison pour que les positions des AddPalyerClass ne mènent pas au bon endroit (sauf si ce ne sont pas les bonnes coordonnés)
sinon, peut-être qu'une include a un truc du genre, mais alors il ferait une erreur (fonction appelée deux fois, dans le include et dans le gm...)
++Sim++