• 06 Mai 2024, 07:03:44


Auteur Sujet: [INC] teams - gestion d'équipes  (Lu 2666 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
[INC] teams - gestion d'équipes
« le: 12 Juillet 2011, 04:12:54 »
Teams
Une libraire de gestion d'équipes

Présentation

Cette librairie a été créé lors du développement du nouveau serveur de GtaOnline.
Son principal but était très simple : simplifier la vie des scripteurs du projet au niveau de la gestion des équipes.
Bien sur, de nombreuses améliorations peuvent encore être apportées à cette librairie et je n'ai pas l'intention de prétendre qu'il s'agisse d'une référence.
Toutefois, je crois que mon but original est atteint, l'utilisation de cette librairie permet de simplifier la gestion des équipes.

Utilisation

Pour utiliser cette librairie, il suffit de la transférer dans le dossier include du bon pawno puis ajouter la ligne #include <teams> en haut du mode en cours de développement.

Si vous rencontrez des erreurs, veuillez les poster dans ce fil de discussion et j'ajouterai une liste dans cette section des erreurs potentielles, leurs causes et leurs solutions.

Cette librairie utilise des variables qui ne sont pas accessible pour une fonction hors du fichier source (de la librairie).
Normalement, toutes les fonctions nécessaire à la manipulation des teams devraient être incluses, vous ne devriez donc pas avoir à modifier la librairie.

Toutefois, il existe des limites établies par des constantes dans le fichier même. Ces constantes peuvent être modifiées si vous désirez ajouter plus de teams différentes, augmenter la taille des noms de team etc..
Vous les trouverez aux lignes 101 à 103 telle que ci-dessous:
#define MAX_TEAMS (16)
#define MAX_TEAM_VEHICLES (128)
#define MAX_TEAM_NAME (16)
La première constante correspond au nombre maximal d'équipes différentes autorisées.
La seconde, le nombre maximal de véhicule associé à chaque équipe.
La dernière correspond à la longueur maximale du nom de la team.

Les fonctions listées dans le fichier peuvent être utilisées ou non sans problème.
Il est toutefois possible que certaines erreurs subsistent dans certaines fonctions, j'avoue ne pas les avoir toutes testées.

Liste des fonctions

GetPlayerTeam(playerid);
SetPlayerTeam(playerid, teamid);
bool:IsSameTeam(playerid, pid);

BlockTeamKills();
UnblockTeamKills();

GiveTeamPoints(teamid, points);
GetTeamPoints(teamid);
SetTeamPoints(teamid, points);//les points ne peuvent être négatifs

TextDrawShowForTeam(teamid, Text:td);
TextDrawHideForTeam(teamid, Text:td);
GameTextForTeam(teamid, const string[], time, style);
SendPlayerMessageToTeam(teamid, senderid, msg[]);
SendTeamMsg(teamid, msg[]);

GiveTeamWeapon(teamid, weaponid, ammo);
GiveTeamArmor(teamid, amount);
GiveTeamHealth(teamid, amount);
GiveTeamMoney(teamid, amount);

SetTeamVirtualWorld(teamid, worldid);
SetTeamInterior(teamid, interiorid);
WarpTeam(teamid, Float:X, Float:Y, Float:Z);
SetTeamObjective(teamid, Float:X, Float:Y, Float:Z, Float:radius);//checkpoint normal
RemoveTeamObjective(teamid);
SetTeamWantedLevel(teamid, level);

SetTeamSpec(teamid, playerid);//la team teamid spec le joueur playerid (ou avec une team)
StopTeamSpec(teamid);

ExploseTeam(teamid, type = 7, Float:radius = 10.0);//voir les params par défaut

CreateTeamVehicle(model, Float:X, Float:Y, Float:Z, Float:angle, color1, color2, respawn_time, teamid = INVALID_TEAM)
DestroyTeamVehicle(vehicleid);

SetTeamName(teamid, const name[]);
GetTeamName(teamid, name[], len = MAX_TEAM_NAME);
SetTeamSpawnWeapon(teamid, weaponid, ammo, pos = 0);
SetTeamSpawnHealth(teamid, Float:health);
SetTeamSpawnArmor(teamid, Float:armor);

GangZoneShowForTeam(teamid, zoneid, color);
GangZoneHideForTeam(teamid, zoneid);
GangZoneFlashForTeam(teamid, zoneid);
GangZoneStopFlashForTeam(teamid, zoneid);

Les callbacks suivantes sont "interceptées" par la librairie:
OnPlayerSpawn
OnPlayerEnterVehicle
OnPlayerEnterCheckpoint
OnPlayerLeaveCheckpoint

si vous avez des problèmes de compatibilité concernant le système d’accrochage des callbacks, veuillez m'en faire part.
Normalement, la méthode utilisée est compatible avec la plupart des librairies, du moins, celles qui suivent la méthode développée par Y_LESS.

Voilà, je crois avoir fait le tour, bonne chance à vous.

Venons en aux faits:
Téléchargement

V0.1.1:
Lien Pastebin
Lien SolidFiles

V0.1.0 - ANCIENNE VERSION:
Lien Pastebin
Lien SolidFiles

License:


Planification

 - Ajout d'une fonction pour balancer les équipes actives (encore à déterminer la méthode pour savoir quelles équipes sont actives)

Historique

V0.1.1 : Correction du test d'atteinte des objetifs (ce sont des checkpoints)
V0.1.0 : Sortie officielle et initiale

Commentaires

Les suggestions et commentaires sont les bienvenus, surtout si constructifs.

Merci à vous d'utiliser cette librairie ^^

++Sim++
« Modifié: 31 Juillet 2011, 18:28:35 par S!m »





Hors ligne ShaDowxx™

  • We are cats.
  • *
  • Grand Banditisme
  • Messages: 706
    • Voir le profil
Re : [INC] teams - gestion d'équipes
« Réponse #1 le: 12 Juillet 2011, 09:16:56 »
Déjà je dis un GRAND merci ! Sa simplifie la vie ! Je vais l'essayer et si il y a une ou plusieurs erreur comte sur moi

Hors ligne Xolokos

  • PAWN/XHTML/CSS/PHP/SQL/JS
  • *
  • Grand Banditisme
  • What are you waiting for ?
  • Messages: 681
    • Voir le profil
Re : [INC] teams - gestion d'équipes
« Réponse #2 le: 12 Juillet 2011, 11:11:35 »
Beaucoup de choix peut être encore amélioré comme tu le dit je vais testé pour voir je pense que ça vas être utile !
Nippah !

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : [INC] teams - gestion d'équipes
« Réponse #3 le: 12 Juillet 2011, 11:23:58 »
Merci, c'est très utile de travailler sur cette include  :)

Hors ligne cristab

  • *
  • Messages: 8379
    • Voir le profil
Re : [INC] teams - gestion d'équipes
« Réponse #4 le: 12 Juillet 2011, 11:25:59 »
grand bravo a toi

pas d'aide en PM, vous êtes sur un forum est il me semble que vous êtes la pour avoir de l'aide donc pourquoi MP une seul personne qui ne vous répondra pas alors qu'il y a plein de membre ici

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : [INC] teams - gestion d'équipes
« Réponse #5 le: 12 Juillet 2011, 13:20:53 »
Salut,

merci à vous et je compte sur votre aide pour améliorer la librairie  ;)

sinon, en allant me coucher, j'ai trouvé une erreur alors que j'était couché, je sors donc la version 0.1.1 dans quelques minutes...

Beaucoup de choix peut être encore amélioré comme tu le dit je vais testé pour voir je pense que ça vas être utile !
Si tu pouvais me donner quelques exemples, je me ferais un plaisir de changer ces points.

++Sim++
« Modifié: 12 Juillet 2011, 13:31:32 par Sim »





Hors ligne Xolokos

  • PAWN/XHTML/CSS/PHP/SQL/JS
  • *
  • Grand Banditisme
  • What are you waiting for ?
  • Messages: 681
    • Voir le profil
Re : [INC] teams - gestion d'équipes
« Réponse #6 le: 12 Juillet 2011, 14:29:37 »
Un Team capture territoire je pense qui change le territoire a la couleur de la team qu'il la capturé si tu vois ce que je veut dire ?
Nippah !

Hors ligne Hector

  • *
  • Tueur
  • Messages: 81
    • Voir le profil
Re : Re : [INC] teams - gestion d'équipes
« Réponse #7 le: 12 Juillet 2011, 18:17:52 »
Un Team capture territoire je pense qui change le territoire a la couleur de la team qu'il la capturé si tu vois ce que je veut dire ?

Un Tag wars quoi ?
Los Brown Pride 15 th

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [INC] teams - gestion d'équipes
« Réponse #8 le: 12 Juillet 2011, 18:36:31 »
Tu l'as finalement sortit, sympa de ta part et GG :D



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

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Re : [INC] teams - gestion d'équipes
« Réponse #9 le: 13 Juillet 2011, 04:31:17 »
Salut,

Tu l'as finalement sortit, sympa de ta part et GG :D

ouais ça a pris un certains temps, j'ai beaucoup hésité avec Frag'n fun mais ça ne fait pas le serveur, loin de là...

Un Team capture territoire je pense qui change le territoire a la couleur de la team qu'il la capturé si tu vois ce que je veut dire ?
Je pense que ça devrait être fait directement dans le gm, sinon on ne peut pas choisir soi même la façon dont le territoire est capturé etc...
J'ai ajouté quelques fonctions qui simplifient légèrement ce genre de choses... peut-être ajouter TeamPlayerCountInZone(teamid, Float:xmin, Float:xmax, Float:ymin, Float:ymax) ou avec un cercle/une sphère...

++Sim++





Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : [INC] teams - gestion d'équipes
« Réponse #10 le: 13 Juillet 2011, 11:01:56 »
Beau travail, Sim ! :)  :king

Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [INC] teams - gestion d'équipes
« Réponse #11 le: 13 Juillet 2011, 23:20:16 »
Citation de: Sim
avec un cercle/une sphère

Plus un cercle, car mathématiquement, la sphère n'a pas d'aire :P.
Sinon, bon travail !

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Re : [INC] teams - gestion d'équipes
« Réponse #12 le: 14 Juillet 2011, 00:51:37 »
Salut,
Citation de: Sim
avec un cercle/une sphère

Plus un cercle, car mathématiquement, la sphère n'a pas d'aire :P.
Sinon, bon travail !


mais je parle d'une fonction qui évalue le nombre de joueur d'une équipe se trouvant dans le volume d'une sphère ou dans l'aire d'un cercle..

++Sim++





Hors ligne Xartrick

  • *
  • C & Pawn Programmer
  • Messages: 1391
    • Voir le profil
    • Xartrick's Area
Re : [INC] teams - gestion d'équipes
« Réponse #13 le: 14 Juillet 2011, 01:52:52 »
Effectivement, je n'avais pas compris cela, je pensais que tu restais dans une aire sans hauteur prit en compte.

Hors ligne S!m

  • *
  • Messages: 2341
    • Voir le profil
Re : Re : [INC] teams - gestion d'équipes
« Réponse #14 le: 14 Juillet 2011, 02:18:56 »
Salut,

Effectivement, je n'avais pas compris cela, je pensais que tu restais dans une aire sans hauteur prit en compte.

tout à fait compréhensible, ce genre de chose porte souvent à confusion... avec mon chargé de cours l'année passé on avait de la difficulté à se comprendre entre le contour du cercle et son aire...

++Sim++