• 22 Avril 2025, 17:24:25


Auteur Sujet: [TUTO] Crée un systeme d'equipe pour un serveur DM .  (Lu 2476 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne mjlayak

  • *
  • Tueur en série
  • Messages: 150
    • Voir le profil
[TUTO] Crée un systeme d'equipe pour un serveur DM .
« le: 09 Novembre 2010, 16:04:38 »

Bonjour je vous proposes ce petit tuto , j'ai vus que beaucoup de personne sont en difficulté avec le systeme d'equipe , donc je leurs proposes un coup de mains . Je remercis aussi toutes les personnes qui m'on aider a arriver a mon niveaux  '-'  j'ai encore beaucoup de choses a apprendre mes ce que je sais je vais le faire decouvrir au personne qui on on besoin .

1) Création des skins des equipes et de leurs vehicules
Prenez un game mode vide , puis aller dans :
public OnGameModeInit()
Choisissez 6 skin 3 pour les grooves et 3 pour les Ballas .

public OnGameModeInit()
{
SetGameModeText("TutoLayak");
AddPlayerClass(142,2498, -1686, 13,90.4503,-1,-1,24,60,29,200); // skin groove
AddPlayerClass(180,2498, -1686, 13,90.4503,-1,-1,24,60,29,200);// skin groove
AddPlayerClass(19,2498, -1686, 13,90.4503,-1,-1,24,60,29,200);// skin groove
AddPlayerClass(143,2145.96,-1487.80,25.54,90.4503,-1,-1,24,60,29,200); // skin ballas
AddPlayerClass(21,2145.96,-1487.80,25.54,180.4503,-1,-1,24,60,29,200);// skin ballas
AddPlayerClass(24,2145.96,-1487.80,25.54,380.4503,-1,-1,24,60,29,200);// skin ballas

return 1;
}
On va ajoutez les vehicules , j'ai choisis des vehicules qui font une allure de gangs ,

AddStaticVehicle(560,2483.945800,-1653.816406,13.082028,88.911155,0,0);
AddStaticVehicle(492,2475.137695,-1681.036376,13.136338,60.089332,0,0);
AddStaticVehicle(566,2468.715332,-1670.321533,13.196229,10.110590,0,0);
AddStaticVehicle(567,2127.592041,-1487.348510,23.750598,180.345001,0,0);
AddStaticVehicle(492,2134.533447,-1484.243896,23.672067,359.012939,0,0);
AddStaticVehicle(567,2127.569091,-1474.869262,23.748228,178.489181,0,0);

Donc vous les rajoutez a la suite des AddPlayerClass .

2)  Creation du systeme d'equipe .

Aller dans
public OnPlayerRequestClass(playerid, classid)
Et vous allez crée vos equipes .
Il vous faut definir le Gteam et les couleur avant .

#define COULEUR_VERT 0x00FFFFFF
#define COULEUR_ROUGE 0xFF0000FF
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_YELLOW 0xFFFF00AA
#define TEAM_GROOVE 0 // Equipe 0
#define TEAM_BALLAS 1 // Equipe 1
static gTeam[MAX_PLAYERS];
en haut du script ( Le reste vous servira pour plus tard )


if(classid == 0) // "Si tu est dans l'equipe 0 tu fera/aura : "
{
GameTextForPlayer(playerid, "~g~EQUIPE GROOVE", 3000, 4); // On marque le nom de l'equipe a l'ecran au joueur
SetPlayerPos(playerid, 2499, -1686, 13); // On definie la position
SetPlayerFacingAngle(playerid,90); // On definie l'angle
SetPlayerCameraPos(playerid, 2495, -1686, 14); // On definie la position de la camera
SetPlayerCameraLookAt(playerid, 2495, -1686, 14); // On definie la position de la camera ( A laisser comme le SetPlayerCameraPos
SetPlayerColor(playerid, COULEUR_VERT);  // Couleur de l'equipe
gTeam[playerid] = TEAM_GROOVE;  // Nom de l'equipe
}
if(classid == 1)
{
GameTextForPlayer(playerid, "~g~EQUIPE GROOVE", 3000, 4);
SetPlayerPos(playerid, 2499, -1686, 13);
SetPlayerFacingAngle(playerid,90);
SetPlayerCameraPos(playerid, 2495, -1686, 14);
SetPlayerCameraLookAt(playerid, 2495, -1686, 14);
SetPlayerColor(playerid, COULEUR_VERT);
gTeam[playerid] = TEAM_GROOVE;
}
if(classid == 2)
{
GameTextForPlayer(playerid, "~g~EQUIPE GROOVE", 3000, 4);
SetPlayerPos(playerid, 2499, -1686, 13);
SetPlayerFacingAngle(playerid,90);
SetPlayerCameraPos(playerid, 2495, -1686, 14);
SetPlayerCameraLookAt(playerid, 2495, -1686, 14);
SetPlayerColor(playerid, COULEUR_VERT);
gTeam[playerid] = TEAM_GROOVE;

}
if(classid == 3)
{
GameTextForPlayer(playerid, "~g~EQUIPE BALLAS", 3000, 4);
SetPlayerPos(playerid, 2145.96,-1487.80,25.54);
SetPlayerFacingAngle(playerid,90);
SetPlayerCameraPos(playerid, 2140.96,-1487.80,25.54);
SetPlayerCameraLookAt(playerid, 2140.96,-1487.80,25.54);
SetPlayerColor(playerid, COULEUR_ROUGE);
gTeam[playerid] = TEAM_BALLAS;
}
if(classid == 4)
{
GameTextForPlayer(playerid, "~g~EQUIPE BALLAS", 3000, 4);
SetPlayerPos(playerid, 2145.96,-1487.80,25.54);
SetPlayerFacingAngle(playerid,90);
SetPlayerCameraPos(playerid, 2140.96,-1487.80,25.54);
SetPlayerCameraLookAt(playerid, 2140.96,-1487.80,25.54);
SetPlayerColor(playerid, COULEUR_ROUGE);
gTeam[playerid] = TEAM_BALLAS;
}
if(classid == 5)
{
GameTextForPlayer(playerid, "~g~EQUIPE BALLAS", 3000, 4);
SetPlayerPos(playerid, 2145.96,-1487.80,25.54);
SetPlayerFacingAngle(playerid,90);
SetPlayerCameraPos(playerid, 2140.96,-1487.80,25.54);
SetPlayerCameraLookAt(playerid, 2140.96,-1487.80,25.54);
SetPlayerColor(playerid, COULEUR_ROUGE);
gTeam[playerid] = TEAM_BALLAS;;
}
return 1;
}
Puis dans :


Quand le joueur va spawn on va lui donné de la vie de l'argent et aussi de l'armure .
public OnPlayerSpawn(playerid)
{

GivePlayerMoney(playerid, 100); // On donne de l'argent au joueur qui spawn
SetPlayerHealth(playerid, 100); // On donne de la vie
SetPlayerArmour(playerid, 100); // On donne de l'armure

return 1;


}
Et enfin :

dans

Quand une personne tue un joueur on lui donne de l'argent et +1 au score
public OnPlayerDeath(playerid, killerid, reason)
{
SetPlayerScore(killerid,GetPlayerScore(killerid)+1); // On donne 1 de score au tueur
GivePlayerMoney(killerid, 200); // On donne 200 $ au tueur
if(gTeam[killerid] == gTeam[playerid]) // et la un anti team kill si un joueur tue une personne de sont equipe on lui donne 20 PV et on lui retire 1 au score
{
{
if(gTeam[playerid] == TEAM_GROOVE)

    {
          SetPlayerHealth(killerid, 20.0);
          SetPlayerArmour(killerid, 0.0);
          SetPlayerScore(killerid,GetPlayerScore(killerid)-1);
          return 1;
    }
    }
   
    {
    if(gTeam[playerid] == TEAM_BALLAS)
    {

          SetPlayerHealth(killerid, 20.0);
          SetPlayerArmour(killerid, 0.0);
          SetPlayerScore(killerid,GetPlayerScore(killerid)-1);

          return 1;
    }
}
}
  return 1;
}
3) La premiere commande d'equipe .

Aller dans


public OnPlayerCommandText(playerid, cmdtext[])
{

if(strcmp(cmdtext, "/objectif", true) == 0)

{
    {
if(gTeam[playerid] == TEAM_GROOVE)
    {
SendClientMessage(playerid, COLOR_YELLOW,"|______________________  Groove ______________________|");
SendClientMessage(playerid, COLOR_ORANGE," Vous devez tuer les Ballas" );
    }
    }
    {
if(gTeam[playerid] == TEAM_BALLAS)

    {
SendClientMessage(playerid, COLOR_YELLOW,"|______________________  BALLAS ______________________|");
SendClientMessage(playerid, COLOR_ORANGE," Vous devez tuer les GROOVE" );
    }
    }


}
return 1;
}
Cela dira , si tu est dans l'equipe groove , tu dois tuer les ballas , si tu est dans l'equipe ballas tu dois tuer les groove .

4) Creation de leurs planque et de la commande pour y entrer ( Commande basique )

if(strcmp(cmdtext, "/entrer", true) == 0 || strcmp(cmdtext, "/enter", true) == 0) // Deux type de commande sont possible pour y entrer en anglais ou en francais .
{
   if(IsPlayerInRangeOfPoint(playerid,9.0,2495, -1691, 14)) // On definie la positions du joueur pour qu'il entre dans la planque
{
SetPlayerPos(playerid, 2496, -1695.71, 1015); // On marque la positions du joueur a l'entrer
SetPlayerInterior(playerid,3); // On marque l'interieur
}
   if(IsPlayerInRangeOfPoint(playerid,9.0,2148, -1485, 26))
{
SetPlayerPos(playerid, 2452, -1703.71, 1014);
SetPlayerInterior(playerid,2);
}
return 1;
}

Je vous laisses faire la commande pour sortir , elle est tres simple vous pouvez la faire rien qu'avec les positons si dessus .
Si vous voulez rajouter une restriction de classe pour y entrer rajouter

if(gTeam[playerid] == TEAM_GROOVE) ou if(gTeam[playerid] == TEAM_BALLAS)

Voila fin du tuto , si vous souhaitez un supplement n'exitez pas a poster . ( Ps : Désolé pour les fautes . )
Pastebin :

http://pastebin.gtaonline.fr/pastebin.php?show=919
« Modifié: 10 Novembre 2010, 17:14:29 par mjlayak »

Karting06

  • Invité
Re : [TUTO] Crée un systeme d'equipe pour un serveur DM .
« Réponse #1 le: 09 Novembre 2010, 16:36:38 »
Cool, je sais déjà faire ça mais pas mettre l'angle de la caméra.  :-X
Ah oui, demande à un admin de le déplacé dans les Tutos...

Hors ligne spiirou

  • *
  • L'avenir appartient à ceux qui se lèvent
  • Messages: 866
    • Voir le profil
Re : [TUTO] Crée un systeme d'equipe pour un serveur DM .
« Réponse #2 le: 09 Novembre 2010, 18:27:43 »
Veille a identer correctement les scripts,
Autre chose, tu montre des bouts de code et seulement après du declare les variables..

Spiirou
++

PS : Mon avis personnel est que ce tuto a été fait rapidement, a l'aide de Copier / Coller..

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [TUTO] Crée un systeme d'equipe pour un serveur DM .
« Réponse #3 le: 09 Novembre 2010, 18:50:25 »
Sinon, tu peut utiliser SetPlayerTeam au lieu de créer une variable ^^


et comme ça, ça évite le Team Kill



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne mjlayak

  • *
  • Tueur en série
  • Messages: 150
    • Voir le profil
Re : [TUTO] Crée un systeme d'equipe pour un serveur DM .
« Réponse #4 le: 09 Novembre 2010, 19:10:42 »
J'ai crus bien faire , si sa genes tant je peux retirer ce n'est pas un probleme , et ce n'est pas du copier collé , il a etait fait a partir du GM de mon serveur .

Hors ligne serdar95

  • *
  • Criminel
  • Messages: 37
    • Voir le profil
Re : Re : [TUTO] Crée un systeme d'equipe pour un serveur DM .
« Réponse #5 le: 10 Novembre 2010, 15:44:32 »
J'ai crus bien faire , si sa genes tant je peux retirer ce n'est pas un probleme , et ce n'est pas du copier collé , il a etait fait a partir du GM de mon serveur .

Non laisse sa moi sa ma aidé sérieux , il prend son temps a faire un Tuto même pas une personne Remercie ou au moins Félicité ( que vous aimé ou non il est 1é a faire un TDM expliqué )

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : [TUTO] Crée un systeme d'equipe pour un serveur DM .
« Réponse #6 le: 10 Novembre 2010, 16:31:41 »
Bon travail ! Au moins tu as pris la peine de faire un tuto, même si il viens de ton GM, tu l'explique et tu maitrise... avec quelque ambiguïté quand même mais bon..
Dizzy, que ça vienne du GM ou d'un FS ou de lui... au final c'est pareil, le but d'un tuto c'est d'expliquer et non créé montrer qu'on sait coder.

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : [TUTO] Crée un systeme d'equipe pour un serveur DM .
« Réponse #7 le: 10 Novembre 2010, 22:22:00 »
Ouais, ça peut être le cas, si tu y tiens. Mais au final a part le nom des variables ou une ou deux lignes qui diffère pas grand chose change au final x')

Karting06

  • Invité
Re : [TUTO] Crée un systeme d'equipe pour un serveur DM .
« Réponse #8 le: 10 Novembre 2010, 22:32:21 »
Comment faut-il utiliser SetPlayerTeam? :)

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : [TUTO] Crée un systeme d'equipe pour un serveur DM .
« Réponse #9 le: 10 Novembre 2010, 22:58:54 »
Tu peut si tu veux, utiliser le paramètres classid dans onplayerquestclass donc dans cette même fonction tu rajoutes :

SetPlayerTeam(playerid, classid);
 

A+, Sam.