1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

RailShp | Créez facilement votre propre shop AMXX !

Discussion dans 'La Taverne des Yubos Bavards' démarrée par micapat, 17 Novembre 2012.

  1. micapat

    micapat Nyuu Nyuuu !?

    Nyuu à tous !

    1. Introduction

    Je pense que certains se souviennent du générateur de shop de Gilbert. Vu qu'il n'avait pas filé les sources et que tous les liens sur l'ancien sujet sont morts, j'ai décidé de retaper un nouveau système un peu plus simple à maintenir ( Pour pouvoir ajouter de nouvelles choses ), portable ( Il doit fonctionner sur Linux, ), et plus personnalisable.

    Le but est simple. Via une interface graphique, vous décidez des items présents dans votre shop ( de la vie, des armes ... ). Après avoir désigné le shop de vos rêves, vous appuyez sur le bouton "Compiler" et hop, vous avez en sortie un fichier .sma qu'il suffit ensuite de compiler via les outils AMXX pour obtenir le plugin !

    2. Présentation de l'interface

    Elle est belle et majestueuse, la voici :

    [​IMG]

    [1] : C'est ici que vous rentrez le nom du fichier que vous désirez sauvegarder, ouvrir, compiler ... Ses fichiers ont l'extension .shp. Le programme gère ces fichiers dans le dossier data/ présent à coté de lui.

    [2] : Le menu ! Vous pouvez remettre l'interface à zéro ( Nouveau ), sauvegarder, ouvrir et compiler un fichier. Lors d'une compilation, les erreurs ( s'il y en a ) se trouvent dans un fichier nommé "stderr", présent juste à coté de l’exécutable ! A noter que le fichier compilé se trouvera lui aussi dans le dossier data/ !

    [3] : Vous pouvez passer ici d'un item à un autre. A noter que la page "00" est "spéciale" : elle correspond aux informations relatives au shop ( Son nom, ses commandes, quelle équipe peut l'ouvrir ... ).

    [4] : Vous recevrez sur cette ligne divers messages d'information ( "Compilation réussie", ... ).

    [5] : Le coeur de l'interface ! C'est ici que vous désignez chaque item ! La première colonne correspond aux mots-clefs, la deuxième aux valeurs "principales" et la troisième aux valeurs "secondaires". La croix à droite permet d'effacer la ligne complète.

    Un exemple est fourni avec l’exécutable, il se nomme "test". Étudiez-le !

    N'oubliez pas que si vous avez des suggestions ou des critiques à faire, vous le pouvez hein ;)  Le développement de cette application est loin d'être terminé !!

    3. Les mots-clefs

    Voici maintenant la liste des mots clefs et leur utilité. Faites attention, la première page "Info" n'a bien sûr pas les mêmes mots-clefs que les autres pages ( "Item" ) ;) 

    Mots-clefs -- Info :

    Code (Text):

    NAME ; Valeur principale = TEXTE ( Nom du shop ).
    FORMAT ; Valeur principale = TEXTE ( Format d'affichage du nom du shop ).
    TEAM ; Valeur principale = "T", "CT" ou "ALL" ( Equipe qui peut accéder au shop ).
    COMMAND ; Valeur principale = TEXTE ( Commande pour accéder au shop ).
     
    Mots-clefs -- Item :

    Code (Text):

    NAME ; Valeur principale = TEXTE ( Nom de l'item ).
    FORMAT ; Valeur principale  = TEXTE ( Format d'affichage du nom et du coût de l'item ).
    COST ; Valeur principale = NOMBRE ( Coût de l'item ).
    HEALTH ;  Valeur principale = NOMBRE ( Ajoute de la vie au joueur ).
    ARMOR ; Valeur principale = NOMBRE ( Ajoute du kevlar au joueur ).
    GRAVITY ; Valeur principale = NOMBRE ( Modifie la gravite du joueur ( 800 = Gravité normale )).
    COMMAND ; Valeur principale = TEXTE ( Commande pour accéder directement à l'item ).
    EQUIP ; Valeur principale = NOM_D_UN_EQUIPEMENT ; Valeur secondaire = NBRE_DE_MUNITIONS ( Donne un équipement au joueur ( La seconde valeur n'est utile que pour les armes ! )).
     
    Ici se trouve la liste de tous les équipements disponibles :

    4. Versions + Todo List

    Il est possible d'accéder aux sources ici : micapat/RailShp · GitHub

    Merci de votre attention :D 
     

    Pièces jointes:

    Dernière édition: 28 Novembre 2012
    Tags:
  2. Kid

    Kid H2G2

    Bien joué, c'est du bon boulot ^^ (et open source!)

    Pour les idées:
    - Choisir un message a envoyer quand l'utilisateur achète l'item ("MSG" = "Tu as acheté x") unique a chaque item (plus simple et plus modulable en plus).
    - Idem pour si pas assez d'argent, est mort, ou a déjà l'item.
    - Ajouter un message personnalisable dans INFOS si un joueur tente d'ouvrir un shop et ne peux pas (mauvaise team, mort etc).
    - Pouvoir mettre des messages en couleur.
    - Permettre d'envoyer un message a tous les joueurs en début de round (réglable dans le INFOS), genre "Tapez /shop pour acheter des items".
    - Limiter le nombre d'achats par item.
    - Bloquer l'achat d'un item si un autre a été acheté (dans ce cas là il faut donner des noms différents aux structures ITEM).
     
    • Utile Utile x 1
  3. micapat

    micapat Nyuu Nyuuu !?

    - Je pense que dans le futur de toute façon, le ML sera géré, donc tous les messages seront configurable dans le fichier de langue. Après oui j'ai oublié d'ajouter les client_print quand on est mort, pas dans la bonne équipe etc .. donc à faire !
    - Pouvoir mettre des messages en couleurs pour le moment n'est pas possible vu que j'utilise le "nouveau" système de menu. Dans le futur je reviendrais sur le vieux où tout était personnalisable, ça sera bien mieux.
    - Pour les messages qui donnent les commandes, je pense qu'il serait mieux d'utiliser un plugin annexe genre "In-Game Advertissement", qui sont plus dédiés pour ce genre de choses et qui sont facilement personnalisable via des fichiers de configs.
    - Je vais ajouter la possibilité de limiter les achats ouai.
    - Après avoir discuter avec Connor, je vais aussi ajouter la possibilité d'avoir des items se trouvant dans des plugins annexes, principalement quand ils sont compliqués ( parachute, bhop ... ).

    Merci:pleasantsurprise: 

    EDIT : Si t'es calé en C, tu peux aller jeter un coup d'oeil sur Github et voir si il y a des trucs à améliorer / corriger ... Et c'en est de même pour tout le monde !
    --- Message fusionné : 17 Novembre 2012 ---
    Voila la version 1.1 un peu précoce, mais j'ai corriger pas mal de soucis. Les .sma générés sont bien fonctionnels et peuvent dès à présent être utilisés sans problèmes sur les serveurs :happy3: .

    Pour les changements -> voir le premier post.
     
    Dernière édition: 17 Novembre 2012
  4. ConnorMcLeod

    ConnorMcLeod Modérateur

    Oublie pas Half-Life 1 Game Events - BlinkAcct
    Par défaut dans cs ça clignote 2 fois.

    Pour les messages, y'a déjà des messages par défaut qu'on peut utiliser, voire le shop que je t'ai filé.

    Par contre je vois pas l'utilité de foutre un message pour les morts, tu appuies sur le bouton, ça fait rien, tu te doutes alors que tu peux rien acheter en étant mort, enfin je veux dire c'est le comportement du jeu, après c'est pas non plus une aberration que d'ajouter ce message, j'en conviens :) 
     
    • Utile Utile x 1
  5. micapat

    micapat Nyuu Nyuuu !?

    C'est déjà fait pour cette version:pleasantsurprise: .

    Oui, mais pour le moment je n'ai trouvé utile que #Cstrike_TitlesTXT_Not_Enough_Money. Quand j'ajouterais la possibilité de limiter les items et le buytime / buyzone je me servirait sûrement d'autres #Cstrike_* du genre #Cstrike_TitlesTXT_Cant_buy.

    Je pense aussi que les joueurs se doutent qu'ils ne peuvent accéder au shop quand ils sont morts :D .
     
  6. Kid

    Kid H2G2

    C'est vrai, KISS, mais le principe c'est que ça doit être très modulable, vu que les joueurs devraient pouvoir faire le shop qu'ils veulent? Enfin je pense comme ça quand je développe iChat perso. Ils devraient même pouvoir mettre de la couleur dans leurs menus et les formater comme ils veulent. Genre: "ITEMS_FORMATS" = ": "<white>%NAME% <red>[%COST%]" et mettre ça dans la structure INFOS.
    --- Message fusionné : 19 Novembre 2012 ---
    Je viens d'avoir une idée pour la fréquentation du site: pourquoi pas faire une interface EN LIGNE pour ton programme? Genre le mec créée son shop en ligne, valide. Ca crée un fichier en Shp et ça l'envoie a ton programme côté serveur. Ça compile les sources (ça le site sais déjà faire) et ça permet au mec de récupérer les sources et le .amxx. Pas mal non? ^^
     
    • Utile Utile x 1
  7. micapat

    micapat Nyuu Nyuuu !?

    Je ne vois pas du tout la faisabilité de la chose en fait. Et si il y a une communication site <-> exécutable, elle risque d'être plus que sommaire o_O  . Je ne sais pas comment fonctionnerait un .exe sur un serveur ( Le programme peut-il être lancé plusieurs fois en parallèle ? ).

    D'autre part, je ne maîtrise pas les langages web ( html, php, ... ).
     
    Dernière édition: 20 Novembre 2012
  8. Kid

    Kid H2G2

    Moi par contre je peux plus t'aider côté web. Pas que je sois un dieux du PHP (et ma mise en forme est pas trop jolie), mais ce qu'il y a derrière (JavaScript tout ça) je peux peut-être te faire un script en ligne qui génère un fichier .shp. Après il suffit de l’exécuter avec ton programme qui le transforme en .sma et supprime le fichier temporaire .shp et affiche le .sma à l'utilisateur. Nan? ^^ Enfin ce que je ne saurais pas trop comment faire c'est afficher le .sma en fait ^^
     
  9. micapat

    micapat Nyuu Nyuuu !?

    Il y a un autre problème et pas des moindre, le site ne pourra surement pas accéder à la console et donc remonter les erreurs, infos, etc.. Bref je pense pas que ce soit possible de mélanger aussi simplement. Mais bon il existe Qt ou Java pour faire l'interface graphique facilement hein :whistle: 
     
    Dernière édition: 20 Novembre 2012
  10. Kid

    Kid H2G2

    Bha par contre c’est possible de faire juste un système qui génère un .shp.
     
  11. micapat

    micapat Nyuu Nyuuu !?

    Bah si tu as envie de le faire lance toi :D . Mais bon le plus simple serait quand même un autre exécutable. Il serait ainsi possible via l'interface d’exécuter le programme shptosma facilement.
    Sinon j'ai bientôt fini la prochaine version, manque quelques petits trucs par ci par là :pleasantsurprise:  .
    --- Message fusionné : 24 Novembre 2012 ---
    Bon voila une nouvelle version pour shptosma.exe. J'ai surtout fait une grosse refonte de la partie code ( Donc vous vous en foutez ) et sécurisé pas mal de choses. Je suis en train de regarder en parallèle pour l'interface graphique, si il n'y aurait pas une façon simple de la faire, sans devoir écrire 10^15 lignes de code :playful: .
     
    Dernière édition: 20 Novembre 2012
  12. Arkshine

    Arkshine Le Docteur

    Bouhh, toujours pas d'interface graphique, gros noob. :lipsaresealed: 
     
    • Amusant Amusant x 1
  13. micapat

    micapat Nyuu Nyuuu !?

    Voila l'interface est prête et fonctionnelle !! J'attends des retours, du genre "L'exe mâârche pas", "c nul", etc. :D 

    Si vous avez des améliorations concernant l'interface / le compilo allez y :D 

    Et il faudrait trouver une place sur le forum pour ce topic ! Taverne ça fait pas sérieux ( --> Vos Projets ? ) :( 
     
    Dernière édition: 28 Novembre 2012
  14. ConnorMcLeod

    ConnorMcLeod Modérateur

    Sauf que c'est pas un forum sur les projets des membres ou ceux de micapat, c'est un forum fourre-tout, donc à part appeler ça le coin Dominique Strauss-Kahn, le nom actuel semble quand même approprié.
     
  15. Midori

    Midori Membre

    Tu peux pas faire des menus déroulants pour la première colonne ?
    Je pense que ça serait plus simple, et faire de sorte que quand on clique sur un élément du menu, si y'a qu'une valeur à récupérer ça n'affiche qu'une case à droite, aussi mettre que ça affiche ce qu'on peut mettre dedans et quand tu cliques ça disparaisse, comme certaines zones de textes sur des sites quoi.
     
  16. micapat

    micapat Nyuu Nyuuu !?

    Les menus déroulant en SDL c'est un peu trop chaud, mais je peux faire que à chaque clique sur une case de la première colonne sa valeur passe de mot-clef en mot-clef, et que ça débloque des cases à sa droite :) 
     

Partager cette page

Chargement...
Chargement...