GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: ShaDowxx™ le 27 Janvier 2011, 08:17:11

Titre: Créer une commande et mettre des voitures pour telle grade.
Posté par: ShaDowxx™ le 27 Janvier 2011, 08:17:11
Bonjour j'ai besoins de votre aide, je voudrais créer une commande pour mettre la dernière grade de mon serveur par contre, je ne sais pas le faire. Je vous donne tout le code susceptible a faire cette commande :

Code: (pawn) [Sélectionner]
#define CommandantenChef 7

---

Donc avec ce grade on pourrait faire une commande qui permet de mettre un joueur Commandant en Chef ?

Seconde Question :

J'ai mis des Hydra et des Rustler mais je sais que si le nouveau peu prendre des Hydra c'est pas drôle (j'aime bien la torture). Donc avec ça je voudrais savoir si sa serait possible de bloquer tout les Rustler du GM. Mais il me faut pouvoir le bloquer pour 3 grades. Les voici :

Code: (pawn) [Sélectionner]
#define Pilote 1
#define Capitaine  2
#define Major 3

Bon après je voudrais faire aussi un autre truc, c'est que quand il n'y a plus de Hydra je voudrais en faire spawné un contre du score (je sais faire le score) et de l'argent. Merci de votre aide à tous !
Titre: Re : Créer une commande et mettre des voitures pour telle grade.
Posté par: steve76 le 27 Janvier 2011, 09:37:43
Je suis pas sur d'avoir tous compris, enfin voila ce que je te propose comme raisonnement après à toi de coder.

1) Tu vérifie si le joueur monte dans un des véhicules que tu veux protéger (ici, l'hydra et le rustler) Indication: une callback permet de vérifier ceci.
2) Tu vérifie que le joueur à bien le grade pour pouvoir l'utiliser
3a) Le joueur n'a pas le grade et on l'éjecte du véhicule
3b) Le joueur a le grade, donc on ne fait rien

Pour le grade, tu rajoutes une infos dans les données du joueur, avec ta commande tu changes cette valeur.

Bon courage, et fait attention à tes formulations de phrases, j'ai dû relire plusieurs fois pour à peu près comprendre.


++
Steve
Titre: Re : Créer une commande et mettre des voitures pour telle grade.
Posté par: ShaDowxx™ le 27 Janvier 2011, 12:50:46
Merci de ton aide !

Mais pour ceux qui n'on rien compris, ce que je veut faire c'est une commande qui permet de mettre le dernier grade que nous avons défini (je l'ai fais avec un ami). Et enfin je veut faire un système de véhicule par grade.

Double post
UP S'il vous plaît ! Personne ne sais faire pour la première ? :(
Titre: Re : Créer une commande et mettre des voitures pour telle grade.
Posté par: Xolokos le 28 Janvier 2011, 21:12:10
C'est moi l'ami.
En bref Julien voudrais une commande Administrateur qui quand il la fait en exemple /donnerrangs [Player/ID] on lui mette le rangs 7 CommandentenChef et une autre pour le rétrograder. Car les rangs en dessous que j'ai fait avec lui le 6 5 4 3 2 1 sont attribuer avec des scores et il veut que le Chef sois donne rpar un Administrateur.
Merci.

Xolokos.
Titre: Re : Créer une commande et mettre des voitures pour telle grade.
Posté par: ShaDowxx™ le 29 Janvier 2011, 08:55:34
Exactement ce que je veut faire. Après on pourra créer les commandes pour ce rang
Titre: Re : Créer une commande et mettre des voitures pour telle grade.
Posté par: Myk3L le 29 Janvier 2011, 13:17:33
Tu peux faire une enum comme ceci :

Citer
enum pInfo
{
    pAdmin, // Sera stocké niveau d'administrateur du joueur
    pRank,   // Sera stocké ici le rang du joueur
    pTeam  // Sera stocké ici le n° d'équipe du joueur
}
new PlayerInfo[MAX_PLAYERS][pInfo]; // MAX_PLAYERS pour pouvoir l'assigner à un joueur (playerid)

Pour l'utiliser, très simple :

Citer
if(PlayerInfo[playerid][pAdmin] >= 3) // Si il est admin lvl 3 ou plus
{
   // code a exécuter
}
else SendClientMessage(playerid, COLOR, "Vous n'avez pas le niveau d'administration requis pour effectuer cette commande");

Oublie pas de sauvegarder ça et puis à chaque connexion et déconnexion tu initialise tout à 0 :

Citer
PlayerInfo[playerid][pAdmin] = 0;
PlayerInfo[playerid][pRank] = 0;
PlayerInfo[playerid][pTeam] = 0; 

A toi de te servir de ça comme exemple ;)
(dans le OnPlayerConnect et OnPlayerDisconnect)