Projet Présentation A3RP - A new roleplay framework

3rk

TP-Shop Team
Developer
29/12/19
41
3
14
300
Bonjour,

Cela fait quelques semaines que je travaille sur un projet qui est une alternative à Altis Life.
Je n'en suis qu'aux prémices du projet et je m'efforce de créer quelque chose de propre et de facilement maintenable.

L'objectif n'est pas du tout de remplacer Altis Life, c'est plus un challenge personnel pour voir jusqu'où je peux aller. :)
Le repo est disponible à cette URL : https://github.com/KR3KZ/A3-RP (y)

Je n'ai pas encore de roadmap, mais j'ai les choses en tête.

Ce que j'ai fais :
  • Structure base de données relationnelle
  • Connexion à la base de données
  • Création d'un personnage
  • Possibilité d'avoir plusieurs personnages par side (avec un nom différent)
  • Possibilité de choisir le personnage avec lequel jouer à la connexion
  • Quelques dialogs

Ce qu'il reste à faire dans un futur proche :
  • Choix du spawn
  • Sauvegarde automatique du monde
  • Sauvegarde du joueur à la déconnexion

En image :

Ah oui, d'ailleurs, le projet se nomme A3RP (pour Arma 3 Rôle Play, original hein ?)

A bientôt :D
 

Aecy

TP-Shop Team
Membre du personnel
Developer
4/5/20
42
2
5
450
France
Pour l'avoir vu en direct, très très beau projet et prometteur.

Félicitations !
 
  • Like
Les réactions: 3rk

3rk

TP-Shop Team
Developer
29/12/19
41
3
14
300
Bonjour !

Je viens aux nouvelles :)

Ce que j'ai fais :
  • Choix du personnage
  • Choix du spawn
  • Sauvegarde du joueur lors de la déconnexion
  • Sauvegarde des dégâts des véhicules
  • Sauvegarde du monde (joueurs, véhicules) toutes les X secondes
  • Chargement de l'équipement du joueur lorsqu'il spawn
  • Chargement des véhicules (avec application des dégâts) sur le monde lorsque le serveur démarre

Ce qu'il reste à faire dans un futur proche :
  • Système de santé, je vais probablement utiliser ACE 3
  • Système de maisons, j'y réfléchis encore, mais j'aimerai que le système soit souple et permette pas mal d'options pour le joueur
  • Système de magasins
En image :

20201101152944_1.jpg
20201101153048_1.jpg
 
  • Like
Les réactions: Jean-Baptiste

JasonA3

User
17/3/20
41
1
20
450
Ca a l'air super sympa! Tu as une idée précise de ce que tu veux faire sur le framework, ou tu développes tes idées au fur et à mesure qu'elles arrivent ? :p
 
  • Like
Les réactions: 3rk

3rk

TP-Shop Team
Developer
29/12/19
41
3
14
300
Ca a l'air super sympa! Tu as une idée précise de ce que tu veux faire sur le framework, ou tu développes tes idées au fur et à mesure qu'elles arrivent ? :p
Disons que j'ai une idée globale du projet, je n'y vais pas complètement au hasard :p, je veux proposer un framework très modulable pour les admins et très complet pour les joueurs, donc un peu des deux !
 

JasonA3

User
17/3/20
41
1
20
450
Disons que j'ai une idée globale du projet, je n'y vais pas complètement au hasard :p, je veux proposer un framework très modulable pour les admins et très complet pour les joueurs, donc un peu des deux !

I see! Hâte de voir à quoi ça va ressembler, bonne chance :)
 
  • Like
Les réactions: 3rk

3rk

TP-Shop Team
Developer
29/12/19
41
3
14
300
Hello !

Je viens poster un peu de news.

J'ai pas mal bossé sur le système de maisons.

Le principe est simple, n'importe quel bâtiment du jeu est achetable et peut-être utilisé comme point d'apparition, cependant, il est prévu que certains type de bâtiments soient réservés à l'achat aux entreprises (oui il y aura un système d'entreprise), par exemple les hangars, immeubles, usines...

On peut imaginer par la suite plusieurs systèmes de revenus pour les entreprises ou bien la location d'immeubles pour particuliers.

Pour faciliter ceci, j'ai crée plusieurs fonctions qui permettent d'administrer directement en jeu quel type de bâtiments est achetable ou non.
Celle ci permet de rendre un type de bâtiment achetable (https://github.com/KR3KZ/A3-RP/blob/master/a3rp_server/building/admin/fn_set_building_buyable.sqf)
S’il vous plaît, Connexion ou S'inscrire pour voir le code !
Si le classname du bâtiment est Land_i_Garage_V2_F, alors tous les bâtiments qui ont ce classname sont achetables par les joueurs et ce, instantanément, sans reboot.

Ce faisant, les classname des bâtiments sont stockés en base de données dans la table building_directory
Il y aura dans le futur un panel admin en jeu pour gérer ça.

Pour acheter une maison :
S’il vous plaît, Connexion ou S'inscrire pour voir le code !

Si la maison est déjà achetée ou que l'achat sur ce type de bâtiment est interdit, l'achat est cancel.
Sinon la maison est insérée dans la table building_owned après plusieurs vérifications côté serveur
0806f8efdd8209f51b4a5a1b443e21c2.png

Le lien de propriété entre la maison et le joueur est inséré dans la table building_key
c5c28350a0b32e09715fbc42792fa56b.png


Ce système permet de gérer facilement la multipropriété (et la location prochainement)

Vous pouvez vous amuser à regarder les autres fonctions pour le système de maisons ici : https://github.com/KR3KZ/A3-RP/tree/master/a3rp_server/building

Sinon, en terme de fonctionnalités utilisateur, j'ai modifié quelque peu le spawn pour permettre au joueur de spawn dans ses propriétés.
e3ca1d9ae929e3b802984e1ff392b343.jpg


Notez que le joueur peut renommer les bâtiments qu'il achète pour s'y retrouver. J'en ai renommé deux comme on peut le voir sur le screen.
Sinon le nom de base du jeu est affiché.

J'ai fais énormément de modifications back-end sur le projet, donc je vous invite directement à vous balader dans le github pour voir ce qui vous intéresse. Le système de maisons n'est pas terminé, mais il est sur de solides bases.

Remarquez également qu'aucune vérification n'est liée à l'argent du joueur pour l'instant, car je ne sais pas encore comment modéliser le système d'argent.

A la prochaine !
 
  • Like
Les réactions: MaKKo et Bugz

3rk

TP-Shop Team
Developer
29/12/19
41
3
14
300
Bonjour ! :)

Après un long moment d'absence, je reprend le développement :

Qu'est-ce qui change ?

Je me suis mis en tête de faciliter le processus de développement en améliorant le système de requêtes vers la base de données.

En gros on passe de ça à :
S’il vous plaît, Connexion ou S'inscrire pour voir le code !
à ça :
S’il vous plaît, Connexion ou S'inscrire pour voir le code !

Evidemment, c'est le même principe pour les insert et update sauf qu'on a des paramètres en plus pour les conditions et les options de requête (GROUP BY, LIMIT, etc...).
Pour les plus curieux voici le commit en question : https://github.com/KR3KZ/A3-RP/commit/cc7c205df0a27ec62b9e07c6c2925689c690db57

Bon, avant, ces requêtes retournaient des tableaux bruts, par exemple la requête ci-dessus retournait quelque chose comme ça :
S’il vous plaît, Connexion ou S'inscrire pour voir le code !
Vu que c'est moche, que c'est pénible à utiliser, j'ai décidé de tout switcher en hashmap (https://community.bistudio.com/wiki/HashMap)
Maintenant chaque requêtes SELECT va me retourner un hashmap qui contient toutes les colonnes que j'ai demandé donc dans notre exemple :
S’il vous plaît, Connexion ou S'inscrire pour voir le code !

Comment ça marche ? (voir ici et ici)

ça facilite énormément le développement et surtout la compréhension du code pour ceux qui s'y aventureraient.
 
  • Muscle
  • Like
Les réactions: MaKKo et Maxence
Activité
Pour l'instant, il n'y a personne ici