GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: MultiGamers le 24 Août 2007, 15:31:59

Titre: Commandes pour une Class...
Posté par: MultiGamers le 24 Août 2007, 15:31:59
Bonjour, j,ai un blanc de memoire... MDR
Je voudrait savoir comment reserver une commande a une CLASS ID ? et le reste jme debrouille... ;)

EDIT: Sa doit etre un IF sa jle sais mais j,ai un blanc.. :D
Titre: Re : Commandes pour une Class...
Posté par: Syg le 24 Août 2007, 16:24:59
Qu'est ce que tu entends par CLASS ID ?
Si c'est la même chose que dans AddPlayerClass alors, on peut pas le récupérer, y'a pas de fonction pour ça (sauf dans OnPlayerRequestClass mais c'est juste quand le joueur selectionne son perso).
La seule chose qu'on peut récupérer dans le même genre, c'est le skin du joueur (qui correspond à un classe unique la plupart du temps).
Pour ça y'a la fonction GetPlayerSkin mais c'est pas top.
Sinon, tu peux le faire toi-même avec un tableau où tu stockes, pour chaque joueur, sa classe. Après, il ne te reste qu'a mettre un test sur ce tableau.

++
Syg
Titre: Re : Commandes pour une Class...
Posté par: MultiGamers le 24 Août 2007, 16:29:04
lol bien le personage 1 ,2, 3....ect.   le premier dans la liste sa devrait etre Class 1 non ? :D

EDIT: au pire j,ai une team de creer Team_Flic on peut toujours reserver cette commande a cette team.... ;)
Titre: Re : Commandes pour une Class...
Posté par: Syg le 24 Août 2007, 16:38:14
Plutôt 0 pour le premier perso.
Mais bon, y'a pas de fonction pour récupérer le classID dans le jeu.
Donc fais toi un tableau ou tu stockes ça pour chaque joueur (dans la callback OnPlayerRequestClass). Tu pourras même commence la numérotation des classes à 1 si tu veux.

A moins que quelqu'un d'autre est une meilleure solution (et plus simple).

++
Syg
Titre: Re : Commandes pour une Class...
Posté par: MultiGamers le 24 Août 2007, 16:46:37
et si jai 2 team defini se posible..? javait deja fait sa... le nom de la team que je veut que sa soit reserver est TEAM_FLIC... ;)
Titre: Re : Commandes pour une Class...
Posté par: spykerc8 le 24 Août 2007, 16:58:08
Code: (cpp) [Sélectionner]

switch (classid) {
        case 0: GameTextForPlayer(playerid, "Booh, 500, 3);
case 1: GameTextForPlayer(playerid, "Gha", 500, 3);
case 2: GameTextForPlayer(playerid, "Meh", 500, 3);
}

Ne pas oublier la possibilité d'un switch.
Titre: Re : Re : Commandes pour une Class...
Posté par: MultiGamers le 24 Août 2007, 17:04:08
Code: (cpp) [Sélectionner]

switch (classid) {
        case 0: GameTextForPlayer(playerid, "Booh, 500, 3);
case 1: GameTextForPlayer(playerid, "Gha", 500, 3);
case 2: GameTextForPlayer(playerid, "Meh", 500, 3);
}

Ne pas oublier la possibilité d'un switch.

On peut mettre sa dedans une commande ? :...
Titre: Re : Commandes pour une Class...
Posté par: MultiGamers le 24 Août 2007, 19:05:52
aucune reponse ? :...
Titre: Re : Commandes pour une Class...
Posté par: Syg le 24 Août 2007, 23:39:52
On ne peut mettre ça que dans OnPlayerRequestClass puisque partout ailleurs, classid est indéfini.
Par contre, effectivement, tu peux te servir de la team du joueur pour filtrer les commandes.

par exemple :
if (Team[playerid] == TEAM_FLIC && strcmp (cmdtext, "CmdPourFlic", true) == 0)
{
     /* On execute la commande*/
     return 1;
}


En vert c'est que tu rajoutes par rapport à une commande normale (et le test peut être fait sur une autre variable de ton choix)

++
Syg
Titre: Re : Commandes pour une Class...
Posté par: MultiGamers le 27 Août 2007, 21:49:56
ah! La je me souvient! MERCI!!! ::)