[PROJET] PapawyRP
#1




Introduction

Pour commencer, bonjour, ayant eu envie de crйer quelque chose, j'me suis dit que j'allais crйer une base RP simple.

En partant de lа, j'ai eu l'idйe de crйer un script bien organisй, facile а comprendre et facile а personnaliser et а йtendre.

Le concept est que l'on puisse ajouter des systиmes facilement, comme par exemple un systиme de radio via TS avec le plugin TeamSpeak Connector.
Les systиmes sont aussi trиs facilement modifiables (vous n'aimez pas l'inscription ? Modifiez la !).

Aussi, le GameMode est dit Open-Source. Tout est disponible sur GitHub, et si quelque chose vous
semble indispensable ou que vous trouvez un bug, signalez le !
Ce sera sans doute ajoutй si cela correspond bien au concept du GameMode.

Le GM sera donc partagй dиs qu'il sera terminй (enfin il est dйjа partagй sur GitHub).


Systиmes

Le GameMode propose avant tout une architecture "moderne" (зa vient du repos GitHub) :
Code:
 
    + core < include all necessary files

    - Utils
        + utils_functions < usefull functions (SendClientMessageEx, GetPlayerNameEx, etc.)

    - GUI
        + gui_fields < user can type text in, and you get the text back like a Dialog

    - MySQL :
        + mysql_infos < mysql informations & vars
        + mysql_init < initialise mysql connection

    - Server infos
        + server_infos < server infos (players connected, etc) AND loading configuration & data files

    - Player Infos
        + players_vars < standardize players information backups
        + players_infos < per player enum' and basic checks functions (registered ? connected ?)
        + players_connection < obvious
        + players_registration < obvious

    - Commands
        + commands_config < configuration (color, format, etc.)
        + commands_functions < functions used in commands
        + commands_generals < help, etc.
        + commands_tchat < all tchat commands (tchat IC, OOC, /me, /do, etc.
Comme vous pouvez le voir, tout est organisй par fichiers.
Cela permet un accиs facile а chaque systиme.
Un gros systиme mis un en place de base sera le systиme d'inventaire avec mon plugin Papawytems (une version modifiйe surement).
Ce GameMode utilise donc massivement y_hooks et tout la bibliothиque YSI (version 4) en gйnйral.

Un installeur a йtй fait pour mettre en place le fichier de configuration et la base SQL plus facilement, tout ce fait In Game !

Pour revenir sur le systиme d'inventaire, TOUT passe par cela. Vous venez d'avoir votre permis ? C'est un item !
Carte bancaire, permis, carte d'identitй, armes, nourritures, vкtements, tout est objets !
Certains objets pourront en contenir d'autres (poches de jeans, sacs, etc).
Ainsi, si vous perdez un de ces items, vous кtes bon pour aller les refaire si vous le pouvez !

Tout est dynamique. J'entend par lа que lorsque vous installez le GameMode, AUCUNE faction n'est crййe.
A vous de crйer une police, un gouvernement, etc. Des types de factions seront donc dйfinis.

Mкme les informations du serveur sont stockйes via SQL (le nom, site, etc.) !
Pouvez donc les changer facilement ou automatiquement !

Avancement

Pour l'instant,
L'installeur est terminй.
L'enregistrement du joueur est presque terminй.
Les infos serveur stockйes en SQL sont faites.
Les commandes de tchat sont presque finies.

Le systиme de GUI

Un systиme d'interface utilisateur a йtй mis en place.
Celui-ci propose des fonctions simples et pratiques.
Ces fichiers peuvent кtre utilisйs indйpendamment du GameMode (il faut juste modifier pour enlever y_hooks, c'es trиs facile).

Voici les йlйments ajoutйs pour le moment :

Des boutons


Des champs de textes


Des backgrounds (en fond)


Code
Le code est trиs simple pour faire ce genre de choses.
Voyez plutфt :
PHP Code:
// Dйclaration des variables (globales) contenant l'id de nos йlйments.
new Name[MAX_PLAYERS];
new 
Pass[MAX_PLAYERS];
new 
RegistrationButton[MAX_PLAYERS];
new 
Background[MAX_PLAYERS];
// Dans une callback quelconque
Name[playerid] = CreatePlayerField(playerid250100"Pseudo""Votre pseudo"); // on crйe le champ de texte
ShowPlayerField(playeridName[playerid]); // on l'affiche
Pass[playerid] = CreatePlayerField(playerid250200"Mot de passe""...");  // on crйe le champ de texte
SetFieldDefaultBehavior(playeridPass[playerid], false);
/*
 On dйsactive le comportement par dйfaut.
 Il consiste а mettre le texte tapй dans le champ, mais nous, on ne veut pas que le mot de passe soit affichй !
 Donc on le dйsactive !
*/
ShowPlayerField(playeridPass[playerid]); // on l'affiche
AcceptButton[playerid] = CreatePlayerButton(playerid320300"S'inscrire"); // on crйe un bouton
ShowPlayerButton(playeridAcceptButton[playerid]); // on l'affiche
Background[playerid] = CreatePlayerBackground(playerid220804203200x20202030); // on crйe un background
ShowPlayerBackground(playeridBackground[playerid]); // on l'affiche
/*
 J'ai dы un peu tвtonner pour obtenir la position voulue.
 Il faudrait que j'implйmente les largeurs de chaque йlйments pour avoir des positions fiables.
*/
// La callback appelйe lorsque le joueur a entrй le texte dans le champ
public OnPlayerFieldResponse(playeridfieldidinputtext[])
{
    if(
fieldid == Pass[playerid])
    {
    new 
tmpstr[NORMAL_STR];
    for(new 
i=0i<strlen(inputtext); ++i)
        
tmpstr[i] = 'X';
        
// On remplace toutes les lettres par des 'X' pour cacher le mot de passe
    
UpdateFieldName(playeridfieldidtmpstr); // On met а jour le texte du champ
    
}
    return 
1;
}
// La callback appelйe lorsque le joueur a appuyй sur le bouton
public OnPlayerClickButton(playeridbuttonID)
{
    if(
buttonID == AcceptButton[playerid])
    {
        
SendClientMessage(playerid, -1"Plop !");
    }
    return 
1;

Remerciements

Je tiens а remercier :
Y_Less pour YSI.
BluG et maddinator pour le plugin MySQL.
Emmet pour easyDialog.


Contributeurs
(le listing est fait suivant ce que je vois sur GitHub)

OpakoDev
Papawy

GitHub

Le repos GitHub est disponibles ici :
https://github.com/Papawy/PapawyRP

Vous l'aurez compris, il est toujours en dйveloppement mais avance а grands pas !
Reply
#2

Merci c'est sympa, mais bientфt, зa va кtre limite un gm prйparer pour les kikoos ?
Reply
#3

C'est "le but", mais зa changera de SARP, qui est un peu mal foutu. Lа ce sera une bonne base je pense, et assez йvoluйe.

Et puis bon, si le mec ne sait pas gйrer une base SQL, зa va кtre dur pour lui.

Ce GM doit кtre facile d'accиs dans un premier temps, puis кtre assez йvoluй pour servir de base а de trиs bons GM ou autre.
Reply
#4

Dйjа que quand tu vois en ce moment les kikoo's avec SARP qui modifie que les crйdits, moi je dis et j'en suis dйsolй tu nous enfonce. C'est gйnйreux de ta part mais la а ce point... Autant que j’apprenne pas а scriptй quoi..

Prйparez vous les gars а ExtraRolePlay V2 [EXCLU] ou encore Votre Nouvelle Vie V3.....
Reply
#5

Quand tu lances le GM, tu n'as rien sur le serveur, faut tout placer, tout construire (factions, jobs, etc).
Зa va en dйmotiver plus d'un.

De toute faзon, un GM est une chose, un staff en est une autre. Gйrer un serveur est compliquй (pour зa que je ne me lance pas lа dedans pour l'instant d'ailleurs). Ceux qui ne font pas l'effort de modifier le GM coulerons.
Reply
#6

Quote:

Quand tu lances le GM, tu n'as rien sur le serveur, faut tout placer, tout construire (factions, jobs, etc).

Si tu parle uniquement avec des commandes comme SARP... Entre kikoos ils vont se venir en aide ou trouver des pigeons... Si c'est par script, je retire tout ce que j'ai dis.
Reply
#7

Justement mais tu dois quand mкme bouger ton cul et travailler pour pouvoir avoir du contenue, c'est зa que j'aime bien dans ce projet.
Reply
#8

Mise а jour du thread principal (les boutons sont lа !).

Dites moi si vous voulez que je release toute la GUI que je vais faire (bien sur, il n'y aura aucune dйpendance).
Je pense ajouter des backgrounds, des labels (juste du texte quoi, зa peut кtre utile), et des infobox (qui disparaissent avec le temps), voire aussi des boоtes а cocher.
Reply
#9

C'est vraiment bien comme зa je trouve.
Reply
#10

Bon courage а toi ! Le concept est vraiment sympa. Зa ferra une vraie base (& non un GM complet/semi complet) 100% francophone
Reply
#11

Tu compte tout faire de faзon systeme dynamique ? (Vehicule, crйation de faction, biz)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)