Aller directement au contenu

Archives

19 Sujets 163 Messages

Sujets rattachés à des forums supprimés sur l'ancien site.

Cette catégorie peut être suivie depuis le web social ouvert via le pseudo [email protected]

  • Structure de s4_weapon.x4

    9
    0 Votes
    9 Messages
    989 Vues
    MihawkM
    Bonjour / Bonsoir à toutes et à tous ! Aujourd'hui je vais vous expliquer la structure du fichier "s4_weapon.x4" qui est un des éléments essentiel du jeu. Qu'est ce que s4_weapon.x4 ? s4_weapon.x4 est un fichier regroupant les armes du jeu (logique) mais c'est aussi le fichier qui gère l’interprétation de celles-ci une fois dans le jeu / shop. Ce fichier va permettre de fixer plusieurs choses (lisez bien tout c'est important pour la suite du développement) : Le prix d'une arme (Seulement "l'affichage" car le prix qui sera soutiré au compte est fixé par la BDD => Base de donnée que nous irons voir plus tard dans un prochain tutoriel !) La durabilité et la durée de l'achat avant disparition. Où l'arme sera placé dans le shop Définir si l'arme est "nouvelle" ou non Le skin qui sera chargé sur l'arme (format .dds) La forme sur laquelle sera "plaqué" le skin (format .scn) Les dégâts de l'arme, la vitesse à laquelle on se déplace avec etc.. Description de l'arme, suivant les différents langages Et d'autres propriétés que vous comprendrez par vous même si vous maîtrisez l'anglais ! Comment obtenir ce fichier ? Pour cela, vous devez avoir en possession le "Ressource Tool" que j'ai partagé par ici ! : Puis, vous devez choisir votre dossier S4L pour charger les ressources dans un premier temps (Appuyez sur "Load" et chercher votre dossier S4L) : ![1414753735-ss-2014-10-31-at-12-07-13.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/44/1414753735-ss-2014-10-31-at-12-07-13.png) Une fois chargé, Allez dans le dossier "xml" et trouvez tout en bas le fichier s4_weapons.x4 et faites un save sur votre bureau avec un clic droit dessus : ![1414753694-99998f169e2.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/44/1414753694-99998f169e2.png) Vous n'avez plus qu'à l'ouvrir avec Notepad++ pour votre éditeur de texte préféré Allez ! maintenant on regarde en détail avec un exemple d'arme dans ce fichier! <sub_category id="5"> <item number="1"> <product id="1" term_contract="NO_TIME_LIMIT" gm_price="40000" cash_price="0" durability_inital_value="2400" remaining_second="-1" refund_enable="true" /> <product id="2" term_contract="TS_5_HOURS" gm_price="5000" cash_price="0" durability_inital_value="-1" remaining_second="18000" refund_enable="true" /> <base name="그레네이드 건" require_level="0" exp_boost_percent="0" require_license="license_mine_gun" sale_mode="0" /> <client icon_image="Resources/Image/Weapon/icon_gun_mine.tga" attrib_comment="{A-L}{F-2002_12}볼 형태로 압축된 폭발성 에너지를{N}원하는 타이밍에 투척할 수 있도록{N}제작한 무기. 신체와 물체에 닿을 시{N}폭발하도록 설계되어 있다.{N}포물선으로 날아가는 에너지 볼의 {N}궤적을 연구할 필요가 있다.{N}{CB-0,255,0,255}[조작법]{N}마우스 왼쪽 버튼 : 에너지볼 발사{N}{CB-255,0,0,255}시범무기로써 라이센스로 획득한 무기만{N}사용할 수 있습니다.{N}추후 밸런스 조정 가능성이 있습니다." feature_comment="투척 무기" /> <license script_file="license_MineGun.lua" script_func="OnMineGunLicenseTest" license_map="104" /> <attach /> <weapon type="10" rate_of_fire="" power="45.0" move_speed_rate="1.0" attack_move_speed_rate="1.0" magazine_capacity="1" cracked_magazine_capacity="1" max_ammo="4" accuracy="" range="500.0" support_sniper_mode="0" sniper_mode_fov="15" reload_sound_file="Resources/Sound/grenade_reload.ogg" slot_image_file="Resources/Image/Weapon/slot_gun_mine.tga" crosshair_file="Resources/Image/Weapon/crosshair_gun_mine" crosshair_zoomin_file="Resources/Image/Weapon/crosshair_gun_mine" auto_target_distance="0.0"> <scene value="resources/Model/Weapon/minegun.scn" /> </weapon> <lang> <nation id="2" name_code="Mine Gun" attrib_comment_code="{A-L}{F-2002_12}Waffe, die zur gewünschten Zeit mit{N}konzentrierter Energie in Ballform angreift.{N}Eingerichtet, um bei physischem Kontakt zu{N}explodieren. Die Flugformation des Energieballs ist {N}noch unerforscht.{N}{CB-0,255,0,255}[Anwendung]{N}Linke Maustaste: Energieball abschießen{N}{CB-255,0,0,255}Dies ist eine befristete Waffe, die nur{N}durch den License Test erworben werden kann.{N}Spätere Änderungen zur Anpassung möglich." feature_comment_code="Throwing Weapon" /> <nation id="3" name_code="Mine Gun" attrib_comment_code="{A-L}{F-2002_12}Weapon with compressed explosive energy{N}in ball form for carefully timed sniping. It is made to{N}explode on physical contact. Research into the{N}flight of the ball is essential.{N}{CB-0,255,0,255}[Operation]{N}Click left mouse button: Fire weapon.{N}{CB-255,0,0,255}This is a temporary weapon{N}which can only be used by acquiring a weapons license.{N}Balance adjustment might be required afterwards." feature_comment_code="Throwing Weapon" /> <nation id="4" name_code="Mine Gun" attrib_comment_code="{A-L}{F-2002_12}Arme avec de l&apos;énergie explosive compressée{N}sous la forme d&apos;une balle pour tirer selon un timing précis. Elles sont faites{N}pour exploser au contact physique. Des recherches{N}sur le comportement de l&apos;energyball sont nécessaires.{N}{CB-0,255,0,255}[Utilisation]{N}Clic gauche: tirer {N}{CB-255,0,0,255}C&apos;est une arme temporaire{N}qui peut uniquement être utilisée pendant la licence{N}Des ajustements pourraient être nécessaires." feature_comment_code="Throwing Weapon" /> <nation id="5" name_code="Mine Gun" attrib_comment_code="{A-L}{F-2002_12}Weapon with compressed explosive energy{N}in ball form for sniping on desired timing. It is made{N}to explode on physical contact. Research of the{N}energyball flight formation is needed.{N}{CB-0,255,0,255}[Controls]{N}Left mouse button : Fire energyball {N}{CB-255,0,0,255}This is a temporary weapon{N}which can only be used by license acquired weapons{N}Balance adjustment might be required afterwards." feature_comment_code="Throwing Weapon" /> <nation id="6" name_code="Mine Gun" attrib_comment_code="{A-L}{F-2002_12}Arma ad energia compressa in una sfera{N}che esplode in un momento preciso.{N}Esplode a contatto. Fai attenzione{N}alla sua traettoria.{N}{CB-0,255,0,255}[Comandi]{N}Tasto sinistro: spara la energyball{N}{CB-255,0,0,255}Arma temporanea{N}da usare con armi di cui si ha la licenza.{N}Può essere necessario ribilanciarle." feature_comment_code="Throwing Weapon" /> <nation id="7" name_code="Mine Gun" attrib_comment_code="{A-L}{F-2002_12}Оружие со спресованной в шар{N}взрывной энергией для точных выстрелов с учетом{N}поправки на траекторию. Взрывается при физическом{N}контакте с противником.{N}{CB-0,255,0,255}[Управление]{N}Левая кнопка мыши: выстрелить шаром{N}{CB-255,0,0,255}Это временное оружие,{N}получить которое можно только через{N}Лицензию. Проводится балансировка." feature_comment_code="Throwing Weapon" /> </lang> </item> Place à l'explication de ce qui figure dans ce fichier ! sub_category : sous catégorie de l'arme. (Les armes ont toutes une Category de "2" qui correspond aux armes) sub_category id="0" => Armes au corps à corps sub_category id="1" => Armes à distance (Légères Automatiques & Semi automatiques) sub_category id="2" => Armes à distance (Lourdes Automatiques & Semi automatiques) sub_category id="3" => Armes à longue distance (Snipers) sub_category id="4" => Armes stationnaires (SentyNell, SentryGun) sub_category id="5" => Armes de lancer (Il n'y en a qu'une à cette version, le MineGun, lance grenade) sub_category id="6" => Armes "autres" (MindEnergy, MindShock) item_number : ID unique de l'objet dans la sub_category (il ne peut pas y avoir deux fois un item_number "1" dans une même sub category) product_id : Ceci correspond à l'ensemble des propriétés du produit dans le shop (Si vous voulez ajouter cette arme au shop (j'expliquerais comment dans un autre tutoriel) avec le product id 1, cela chargera donc toutes les propriétés à droite de ce product_id) weapon_type : Type de l'arme (c'est défini dans les .lua du jeu, je vous conseille de ne pas y toucher sans une maîtrise complète du langage lua, sinon tout le jeu ne marchera plus normalement ..) scene value :  Valeur de ce qu'on appelle la "scène" qui correspond à la forme de l'arme, ainsi que d'autres propriétés telles que des animations, ou une éventuelle transparence. (Tout ceci est contenu dans un fichier .scn) Et là vous allez me dire (si vous avez lu en haut) mais où est la texture qui est censé être juste en dessous de la scène ? Et bien c'est tout simple il ne demande pas d'en charger. Pourquoi ? Si vous n'indiquez pas de texture à l'arme avec un texture_suffix diffuse, le jeu va donc comprendre que la texture porte le même nom que le .scn chargé plus haut, et donc la charger automatiquement Si vous vouliez charger une autre texture pour cette arme, voilà ce qu'il faudrait avoir : <scene value="resources/Model/Weapon/minegun.scn"> <texture_suffix diffuse="_1" /> </scene> et dans le cas là, la texture chargée sera minegun_1.dds et non dans le cas précédent minegun.dds nation_id : ID de la région, et donc des textes chargés. Pour les plus curieux d'entre vous, vous aurez remarqué d'ailleurs que ce chiffre figure dans le Launcher que je vous ai mis dans le dossier S4League : ![1414753355-bf07ff84d32.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/44/1414753355-bf07ff84d32.png) Si vous voulez changer la langue chargée au démarrage du jeu, changez juste le "3" qui correspond à l'anglais en "4" pour français. Voilà j'ai fini de vous expliquer les détails de ce fichier pour pouvaient pour paraître un peu "flou" Si vous avez des remarques, suggestions, ou que vous aimeriez que je détail autre chose, n'hésitez pas !
  • Créer un serveur privé

    Épinglé
    35
    0 Votes
    35 Messages
    4k Vues
    MihawkM
    Bonjour à toutes et à tous ! Aujourd'hui je vais vous expliquer comment créer un serveur privé S4League simplement, et rapidement ! (Avant d'aller plus loin dans les tutoriels bien entendu) /!\ CE TUTORIEL A ÉTÉ RÉDIGÉ POUR MELINYEL /!\ Pré-requis : L'émulateur : https://mega.co.nz/#!dJRj2BQS!aDD055yhVXuGc4QDZlrCpdjfYibBgtJx90su72gM0c8 Le client (Mis à jour à la version de l'ému) : https://mega.co.nz/#!9ZIFmYrA!xXeD2Cul5uUJUXi2cHMLYhsNnmHMGH1EhxlCPHRCuTo Les sources (si vous souhaitez améliorer l'émulateur, & autre) : https://mega.co.nz/#!ZJwWGLYI!2xc0W_MZpb1GinX6APmsiLs9tnEbu6kVyU2SLy14Z6Y Navicat : http://navicat.softonic.fr/ uWamp (pour les bases de données) : http://www.uwamp.com/fr/?page=download Etape 1 - Installation des bases de données : Commencez par ouvrir le dossier de l'émulateur, vous devriez avoir ceci : ![1414682567-415a3537ae2.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/44/1414682567-415a3537ae2.png) Ouvrez par la suite le dossier "sql" qui contient les 2 sql des 2 bases de données du serveur : ![1414682650-a31259c54c2.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/44/1414682650-a31259c54c2.png) Installez uWamp, lancez le, et connecter vous grâce à Navicat avec les identifiants suivants : utilisateur : root mot de passe : root port : 3306 host : 127.0.0.1 Créez 2 bases de données du même nom que ces deux sql, vu un peu plus haut : [image: d6a1758630.png]  [image: 1d5fd4b8ee.png] Une fois ces deux bases de données crées, exécutez les sql correspondant dedans : ![1414682895-929a54d3ec2.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/44/1414682895-929a54d3ec2.png)  ![1414682895-c49fd5f3a92.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/44/1414682895-c49fd5f3a92.png) Maintenant, rendez vous dans la table "server" de la base de donnée "auth" : ![1414683035-fa9e28faf52.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/44/1414683035-fa9e28faf52.png) Voici ce que vous pouvez modifier : le nom du serveur sur la première ligne "FagNet" en ce que vous voulez, "Serveur 1" etc .. ATTENTION : VOUS NE DEVEZ PAS TOUCHER LE NOM DES AUTRES "FAGNET" ! La limite de joueur, ici fixée à 1000. L'IP à modifier en conséquence (votre IP hamachi, ou l'ip de la machine, à changer dans les 4 cases.) ATTENTION : VOUS NE DEVEZ PAS TOUCHER AUX PORTS ! Et voilà ! La base de donnée est prête ! passons à la suite ! Etape 2 - Configuration du serveur et lancement ! On va retourner dans le dossier du serveur configurer les fichiers suivants : auth_config.xml chat_config.xml game_config.xml relay_config.xml ![1414682567-415a3537ae2.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/44/1414682567-415a3537ae2.png) Voici comment ils doivent être configurés (le texte affiché en noir est là pour vous aider, il n’apparaît pas normalement) : Auth_config.xml : ![1414683510-2150ce06942.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/44/1414683510-2150ce06942.png) Chat_config.xml : ![1414683593-61fa4e8d322.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/44/1414683593-61fa4e8d322.png) Game_config.xml : ![1414683887-7a28f4f7212.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/44/1414683887-7a28f4f7212.png) Relay_config.xml : ![1414683887-7926a7c64f2.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/44/1414683887-7926a7c64f2.png) Voilà pour ça ! vous n'avez plus qu'à démarrer toutes les applications dans l'ordre ainsi défini : - FagNetAuth.exe - FagNetChat.exe - FagNetGame.exe - FagNetRelay.exe Votre serveur est désormais ouvert et fonctionnel ! Etape 3 - Réglage du client : Dans le dossier du client, vous aurez un fichier de configuration du nom de : version.ini (ouvrez le et configurez le ainsi) : [VERSION] LatestVersion = 1011 MinimalVersion= 1000 OwnVersion = 1 [DOWNLOAD] server1 = http://s4league.patch.aeriagames.com/release/S4L/ [SERVER] INDEX1 = 1 URL1 = http://s4league.patch.aeriagames.com/release/S4L/version.ini COUNT = 1 IP1 = IP du serveur ici PORT1 = 28002 Ensuite, lancez le .bat déjà présent dans le dossier afin de lancer le client avec les paramètres de commandes nécessaire Voilà ! C'est fini ! Je reste à disposition pour toutes les demandes d'aides, au cas ou. Cordialement, Mihawk.
  • Problème FNRessourceTool

    4
    0 Votes
    4 Messages
    138 Vues
    J
    Bonsoir, Cela fait un moment que je tente d'extraire les données de S4 League avec le FNRessourceTool. Le problème étant qu'à chaque fois que j'essaye, il me met le message : "File format has changed". Image : http://hpics.li/4886ec9 Que faire pour y remédier ?
  • Ressource (site d'inscription) & outil de développement

    10
    0 Votes
    10 Messages
    622 Vues
    MihawkM
    Bonjour / Bonsoir à toutes et à tous ! Voilà, je vous partage quelques ressources, afin de vous aider dans cette grande aventure ! Que contient ce partage ? Un outil pour extraire les ressources du jeu, appelé "Ressource Tool" (INDISPENSABLE) Un "CMS" d'inscription, afin de faciliter la création de compte pour vos débuts (je précise que je ne suis le créateur de rien, si ce n'est le petit tutoriel d'installation pour débutant pour le site, qui figure dans le partage, on sait jamais ça peut toujours servir à certains ^^) Comment les télécharger ? Vous pouvez télécharger ces ressources, sur le site MEGA : ==> https://mega.co.nz/#!5Qhz3KgA!A2LmvuC6uIS-9fTZZKpraeYYExYKeGAoPBx_BE-7Ork <== Voilà ! par la suite, on se servira du "Ressource Tool" pour d'autres tutoriels ! alors n'hésitez surtout pas à le prendre, c'est essentiel pour le développement d'un serveur. Cordialement, Mihawk.
  • [Listing] Correction d'erreurs de compilation.

    6
    0 Votes
    6 Messages
    299 Vues
    HazzerH
    Bonjour, Je crée ce topic pour recenser les différentes erreurs de compilation des sources FagNet et si possible donner leur solution ! The type or namespace name 'MySqlConnection' could not be found (are you missing a using directive or an assembly reference?). Correction : On rencontre parfois cette erreur lorsque l'on essaie de compiler avec MSVS 2013. Pour corriger ce problème il vous faut : - Connector/Net 6.8.1 ou supérieur : http://dev.mysql.com/downloads/connector/net/ - Visual Studio 2011/12/13 Pro ou supérieur - MySQL Visual Studio Plugin Beta 1.1.1 : https://cdn.mysql.com/Downloads/MySQLInstaller/mysql-visualstudio-plugin-1.1.1.msi - Windows 7 ou supérieur. Vous pouvez utilisez aussi une version supérieur de MySQL pour Visual Studio ; http://dev.mysql.com/downloads/windows/visualstudio/ [Divers] Pour compiler proprement il est bien de suivre la démarche suivante : Ouvrez la solution FagNet avec Visual Studio. Puis : 1 - Dans le menu en haut, cliquez sur "Générer" 2 - Ouvrez "Gestionnaire de configurations" 3 - Dans "Configuration de la solution active" passer en mode "Release" 3 - Fait un clique droit sur "Solution FagNet" dans l'explorateur de solutions 4 - Faites "Nettoyer la solution" 5 - De nouveau clique droit sur "Solution FagNet" 6 - Faites "Générer la solution" Suite à la compilation vous devrez avoir le message : (dans la box de sortie) ========== Génération : 5 a réussi, 0 a échoué, 0 mis à jour, 0 a été ignoré ==========  Je mettrais à jour le sujet au fur et à mesure des différentes erreurs et corrections. Bye !
  • Patcher / Launcher

    7
    0 Votes
    7 Messages
    354 Vues
    M
    Salut, alors comme je développe en C# j'ai décider de faire un patcher  / launcher pour S4League. Il ferra les mises à jours tout seul (vérification des fichiers etc.) il permet de changer de langues (FR / EN / DE) et de lancer le jeu, de voir les news, de visiter le site et de s'inscrire (redirection sur le site). Je vous poste ce screen car iln'est pas fini: [image: c39b36f452.jpg] Cordialement Manghao.
  • Ajouter une arme dans la boutique

    7
    0 Votes
    7 Messages
    871 Vues
    MihawkM
    Bonjour tout le monde ! Aujourd'hui vous allez apprendre à ajouter un objet dans la boutique (dans notre exemple ça sera une arme, mais ça peut être avec tout type d'objet, il suffit juste d'adapter) Avant toutes choses, il vous faut les pré-requis ! Pré-requis : Un serveur installé et fonctionnel, ainsi qu'un client (cf. : ) Avoir pris connaissance de ce tutoriel (Pour extraire les ressources essentiellement => ) Navicat, pour éditer la base de donnée. Notepad++ (ça sera plus simple qu'un simple bloc note) Un petit peu de patience ! Etape 1 - Réglage des propriétés de l'arme : Alors, dans un premier temps, vous allez avec notepad++ ouvrir le fichier s4_weapons.x4 (Dans notre exemple, nous utiliserons le "Minegun") Utilisez la commande rapide une fois le fichier ouvert Ctrl + H afin d'ouvrir la barre de recherche, puis cherchez "Mine gun" : ![1415113512-ea488719162.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/45/1415113512-ea488719162.png) Vous devriez maintenant voir un contenu similaire à celui-ci : <sub_category id="5"> <item number="1"> <product id="1" term_contract="NO_TIME_LIMIT" gm_price="40000" cash_price="0" durability_inital_value="2400" remaining_second="-1" refund_enable="true" /> <product id="2" term_contract="TS_5_HOURS" gm_price="5000" cash_price="0" durability_inital_value="-1" remaining_second="18000" refund_enable="true" /> <base name="그레네이드 건" require_level="0" exp_boost_percent="0" require_license="license_mine_gun" sale_mode="0" /> <client icon_image="Resources/Image/Weapon/icon_gun_mine.tga" attrib_comment="{A-L}{F-2002_12}볼 형태로 압축된 폭발성 에너지를{N}원하는 타이밍에 투척할 수 있도록{N}제작한 무기. 신체와 물체에 닿을 시{N}폭발하도록 설계되어 있다.{N}포물선으로 날아가는 에너지 볼의 {N}궤적을 연구할 필요가 있다.{N}{CB-0,255,0,255}[조작법]{N}마우스 왼쪽 버튼 : 에너지볼 발사{N}{CB-255,0,0,255}시범무기로써 라이센스로 획득한 무기만{N}사용할 수 있습니다.{N}추후 밸런스 조정 가능성이 있습니다." feature_comment="투척 무기" /> <license script_file="license_MineGun.lua" script_func="OnMineGunLicenseTest" license_map="104" /> <attach /> <weapon type="10" rate_of_fire="" power="45.0" move_speed_rate="1.0" attack_move_speed_rate="1.0" magazine_capacity="1" cracked_magazine_capacity="1" max_ammo="4" accuracy="" range="500.0" support_sniper_mode="0" sniper_mode_fov="15" reload_sound_file="Resources/Sound/grenade_reload.ogg" slot_image_file="Resources/Image/Weapon/slot_gun_mine.tga" crosshair_file="Resources/Image/Weapon/crosshair_gun_mine" crosshair_zoomin_file="Resources/Image/Weapon/crosshair_gun_mine" auto_target_distance="0.0"> <scene value="resources/Model/Weapon/minegun.scn" /> </weapon> <lang> <nation id="2" name_code="Mine Gun" attrib_comment_code="{A-L}{F-2002_12}Waffe, die zur gewünschten Zeit mit{N}konzentrierter Energie in Ballform angreift.{N}Eingerichtet, um bei physischem Kontakt zu{N}explodieren. Die Flugformation des Energieballs ist {N}noch unerforscht.{N}{CB-0,255,0,255}[Anwendung]{N}Linke Maustaste: Energieball abschießen{N}{CB-255,0,0,255}Dies ist eine befristete Waffe, die nur{N}durch den License Test erworben werden kann.{N}Spätere Änderungen zur Anpassung möglich." feature_comment_code="Throwing Weapon" /> <nation id="3" name_code="Mine Gun" attrib_comment_code="{A-L}{F-2002_12}Weapon with compressed explosive energy{N}in ball form for carefully timed sniping. It is made to{N}explode on physical contact. Research into the{N}flight of the ball is essential.{N}{CB-0,255,0,255}[Operation]{N}Click left mouse button: Fire weapon.{N}{CB-255,0,0,255}This is a temporary weapon{N}which can only be used by acquiring a weapons license.{N}Balance adjustment might be required afterwards." feature_comment_code="Throwing Weapon" /> <nation id="4" name_code="Mine Gun" attrib_comment_code="{A-L}{F-2002_12}Arme avec de l&apos;énergie explosive compressée{N}sous la forme d&apos;une balle pour tirer selon un timing précis. Elles sont faites{N}pour exploser au contact physique. Des recherches{N}sur le comportement de l&apos;energyball sont nécessaires.{N}{CB-0,255,0,255}[Utilisation]{N}Clic gauche: tirer {N}{CB-255,0,0,255}C&apos;est une arme temporaire{N}qui peut uniquement être utilisée pendant la licence{N}Des ajustements pourraient être nécessaires." feature_comment_code="Throwing Weapon" /> <nation id="5" name_code="Mine Gun" attrib_comment_code="{A-L}{F-2002_12}Weapon with compressed explosive energy{N}in ball form for sniping on desired timing. It is made{N}to explode on physical contact. Research of the{N}energyball flight formation is needed.{N}{CB-0,255,0,255}[Controls]{N}Left mouse button : Fire energyball {N}{CB-255,0,0,255}This is a temporary weapon{N}which can only be used by license acquired weapons{N}Balance adjustment might be required afterwards." feature_comment_code="Throwing Weapon" /> <nation id="6" name_code="Mine Gun" attrib_comment_code="{A-L}{F-2002_12}Arma ad energia compressa in una sfera{N}che esplode in un momento preciso.{N}Esplode a contatto. Fai attenzione{N}alla sua traettoria.{N}{CB-0,255,0,255}[Comandi]{N}Tasto sinistro: spara la energyball{N}{CB-255,0,0,255}Arma temporanea{N}da usare con armi di cui si ha la licenza.{N}Può essere necessario ribilanciarle." feature_comment_code="Throwing Weapon" /> <nation id="7" name_code="Mine Gun" attrib_comment_code="{A-L}{F-2002_12}Оружие со спресованной в шар{N}взрывной энергией для точных выстрелов с учетом{N}поправки на траекторию. Взрывается при физическом{N}контакте с противником.{N}{CB-0,255,0,255}[Управление]{N}Левая кнопка мыши: выстрелить шаром{N}{CB-255,0,0,255}Это временное оружие,{N}получить которое можно только через{N}Лицензию. Проводится балансировка." feature_comment_code="Throwing Weapon" /> </lang> </item> /!\ Afin que mon explication ne soit pas "flou" pour certains, je vous conseille d'aller voir dans un premier temps, ce sujet, avant d'aller plus loin : Donc ! Voilà les lignes qui nous intéressent pour ce tutoriel, gardez les bien en vu ! Je vais vous expliquer pourquoi nous allons en avoir besoin juste après, dans l'étape 2 : <sub_category id="5"> <item number="1"> <product id="1" term_contract="NO_TIME_LIMIT" gm_price="40000" cash_price="0" durability_inital_value="2400" remaining_second="-1" refund_enable="true" /> <product id="2" term_contract="TS_5_HOURS" gm_price="5000" cash_price="0" durability_inital_value="-1" remaining_second="18000" refund_enable="true" /> Petite explication brève des variables (non-vu dans le sujet sur la structure de weapons) : term_contract : Ceci correspond à la durée d'utilisation de l'objet avant qu'il ne disparaisse de l'inventaire. ATTENTION ! BUG REPÉRÉ ! Quel est le soucis rencontré avec l'émulateur à ce sujet actuellement ? (Petite astuce pour y faire face.) Certains qui auront déjà tentés l'auront remarqués, les objets malgré qu'on leur mettent un term_contract "NO_TIME_LIMIT" et un remaining_second de "-1" disparaissent après un certain temps (variable et vous allez comprendre pourquoi, même si c'est ridicule.) Si vous utilisez un product_id différent de 1 pour un objet illimité, celui-ci ne le sera tout simplement jamais (en terme d'expiration de temps) Pourquoi ? C'est une question que je me pose, cela doit venir certainement de l'émulateur, mais pas que, le client datant un peu doit y être pour quelque chose. EN TOUT CAS ! si vous voulez des exemples de product_id valides, avec les bons temps d'expiration, prenez cet exemple là, qui lui est bon (je précise aussi qu'il n'y a que le "temps" qui est touché par le bug, et rien d'autre) : <product id="1" term_contract="NO_TIME_LIMIT" gm_price="29000" cash_price="0" durability_inital_value="2400" remaining_second="-1" refund_enable="true" /> <product id="2" term_contract="TS_5_HOURS" gm_price="5000" cash_price="0" durability_inital_value="-1" remaining_second="18000" refund_enable="true" /> <product id="3" term_contract="NO_TIME_LIMIT" gm_price="0" cash_price="0" durability_inital_value="2400" remaining_second="-1" refund_enable="false" /> <product id="4" term_contract="TS_1_HOURS" gm_price="1000" cash_price="0" durability_inital_value="-1" remaining_second="3600" refund_enable="true" /> <product id="5" term_contract="TS_3_HOURS" gm_price="3000" cash_price="0" durability_inital_value="-1" remaining_second="10800" refund_enable="true" /> <product id="6" term_contract="TS_7_HOURS" gm_price="7000" cash_price="0" durability_inital_value="-1" remaining_second="25200" refund_enable="true" /> <product id="7" term_contract="TS_10_HOURS" gm_price="10000" cash_price="0" durability_inital_value="-1" remaining_second="36000" refund_enable="true" /> <product id="8" term_contract="TS_10_HOURS" gm_price="0" cash_price="0" durability_inital_value="-1" remaining_second="36000" refund_enable="false" /> gm_price : Prix fixé en "PEN" pour l'arme (Seulement "visuel") cash_price : Prix fixé en "AP" pour l'arme (Seulement "visuel") durability_initial_value : Durabilité interprété par le client maximum de l'arme (et ensuite comparé à la BDD) EXPLICATION IMPORTANTE SUR CE POINT ! la durabilité fixé dans ce paramètre n'est pas celle que l'utilisateur aura à l'achat, comme je l'ai dis, elle sert juste de "comparatif" Pourquoi ? Dans la BDD (nous allons le voir tout à l'heure) vous allez aussi fixé une durabilité (la même) à l'achat. Le client quand à lui va comparer par rapport à la durabilité de base, qu'on a fixé dans le .x4 avec celle actuellement présente dans l'inventaire (une autre table) Il fait cette comparaison pour une raison toute simple, moins une arme a de durabilité (par rapport à celle de base, 2400) moins elle fera de dégâts ! (c'est le système de l'époque, on y peut rien) Faites aussi très attention à ça, car côté émulateur, il y a un autre bug (Encore ?!) Et oui, la réparation est impossible. Il va donc falloir ruser, afin d'éviter cette baisse des dégâts pour les joueurs (ou régler le problème directement dans l'émulateur) remaining_second : Le temps avant suppression de l'arme (pareil, c'est à titre comparatif, avec la table de l'inventaire) refund_enable : Définit si l'arme peut-être revendu ou non. Etape 2 - On prépare l'ajout de l'arme dans la BDD depuis s4_shop.x4 ! Dans cette deuxième étape, vous allez devoir ouvrir s4_shop.x4 et cherchez category_id="2" : ![1415115315-0152ca638b2.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/45/1415115315-0152ca638b2.png) Puis descendez jusqu'à trouver la sub_category_id="5", vous devriez tomber sur ça ! : <sub_category id="5"> <!--투척무기--> <item number="1"> <product id="1" dev="true" /> <product id="2" dev="true" /> </item> <!--투척형 베러아이템--> <item number="2101"> <product id="2" dev="true" /> <product id="3" dev="true" /> <product id="1" dev="true" /> </item> </sub_category> Oh mais ! L'arme est déjà présente ?! Que dois-je faire ? Pas de panique ! C'est normal, l'arme était déjà présente dans le client à cette époque, mais juste pas sortie. Pour cela, S4L a mis au point cette petite variable => dev="true" afin de masquer l'arme dans le shop ! Vous n'avez qu'à remplacer celle ligne, afin de faire apparaître l'arme dans le shop (avec uniquement l'achat illimité) <item number="1"> <product id="1" dev="true" /> en : <item number="1"> <product id="1" dev="false" /> Voilà ! Maintenant on passe à la base de donnée ! Etape 3 - Configuration dans la base de donnée ! Ouvrez navicat, connectez vous à votre réseau, et ouvrez la basse de donnée "game" : ![1415115716-cdedd43e352.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/45/1415115716-cdedd43e352.png)   => double cliquez sur la table "shop" afin de l'ouvrir Voici la ligne à ajouter (je vais expliquer pourquoi remplir ainsi) : ![1415115924-7697e5fcba2.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/45/1415115924-7697e5fcba2.png)![1415115924-971c2724812.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/45/1415115924-971c2724812.png) ID : ID de l'objet dans le shop, doit être unique ! Type : Type d'achat (numérotez en 1,2,3 si vous avez plusieurs fois le même objet, mais avec différents product_id) Category : Catégorie de l'arme (cf. s4_weapon.x4) SubCategory : Sous-catégorie de l'arme (cf. s4_weapon.x4) ItemID : ID de l'arme (cf. s4_weapon.x4) ProductID : ID du "product_id" (mettez le même que celui présent dans s4_weapon & s4_shop, que l'affichage, et l'argent soutiré soient identiques) Price : Prix en PEN soutiré à l'achat (Ce n'est pas le prix affiché, mais uniquement soutiré) Cash : Prix en AP soutiré à l'achat (Idem) Energy : Durabilité de l'objet donné à l'achat (cf. ce que j'ai expliqué à ce sujet, un peu plus haut) Time : Temps restant avant la suppression de l'objet (cf. s4_weapon.x4) Comment : Commentaire, à indiquer pour mieux vous repérer dans la table, uniquement Voilà ! c'est terminé ! Vous n'avez plus qu'à remplacer les s4_weapons.x4 et s4_shop.s4 de votre client, afin que tout soit bon ! (clic droit sur le fichier à remplacer, puis "replace") ![1415116453-191867deac2.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/45/1415116453-191867deac2.png) ET N'OUBLIEZ PAS DE SAUVEGARDER ! =====> ![1415116527-397389df282.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/45/1415116527-397389df282.png)
  • Problème Minegun

    2
    0 Votes
    2 Messages
    175 Vues
    T
    Bonjour, Je suis actuellement en train de fonder S4'Kill, et j'ai suivis le tutoriel de Mihawk, pareil pour mettre les objets en boutiqie seulement le Mine Gun n'est disponible que en license et pas en achat que faire ? Merci d'avance, Cordialement, Tomm.
  • Temps de connexion exprié

    Verrouillé
    6
    0 Votes
    6 Messages
    211 Vues
    M
    Salut, etant novice dans l'émulation S4League j'ai suivis le tuto pour créer un serveur, tout ce passe bien jusqu'au moment de choisir le serveur. Quand je choisi le serveur ça me met "Le temps de connexion à expiré !". J'ai chercher dans la config du jeu voir si il ne manquait rien et idem dans les config de l'émulateur.
  • Probleme FagNet sur la creation du serveur s4 league

    Verrouillé
    7
    0 Votes
    7 Messages
    245 Vues
    F
    Bonjour**,** Je vous contacte car une fois mon serveur crée, tout ce qui doit être crée est crée ,sur le TUTO il y a écrit qu'il faut exécuter les 4 commande (FagNetAuth,Relay,Game) mais quand je les lance il démarre 2 sec puis il y a un grand message rouge qui apparaît vite ,avant que la commande s’éteigne ! Pouvez-vous m'aider svp Cordialement Fireknight!
  • Aide serveur concret

    Verrouillé
    8
    0 Votes
    8 Messages
    381 Vues
    FaryBloodF
    Bonjours je fait se nouveau topic pour savoir si il y avait des gens partant pour faire avancer les serveurs privée S4 ,par exemple deja ameliorer le client ,si possible le mettre a la saison 2 !(avec le serveur) pour ma pars j'ai plutot pas mal de compétence en web et un peu de java et je cherche des gens pour un projets assez fun qui peut faire avancer surement les choses Cordialement FaryBlood
  • [Release]Petit launcher "FirstLauncher"

    7
    0 Votes
    7 Messages
    239 Vues
    FaryBloodF
    Bonjours a toute et a tous. je vois que la catégorie n'est plus trop active donc je me suis dit pour peut être la relancer je ferai un petite partage donc voila j'ai fait un mini-launcher c'est le cas de le dire ^^ (fait en c# je tien a préciser) Screen :[image: sJR431q.png] Avec seulement la base d'utilisation (lancer le jeu et fermer le launcher) Sa peut toujours servir pour les débutant donc j'offre donc les source avec! voila voila j’espère que sa servira. Dl : http://paf.im/ECE4f et Virus scan pour les curieux :  https://www.virustotal.com/fr/file/15c5bdb806f8db7716eaa5e9e90fb52944e9db7584983b2fedf5af00ebc06284/analysis/1432925129/
  • Problème de création de compte serveur S4League privé

    Verrouillé
    18
    0 Votes
    18 Messages
    622 Vues
    G
    Bonsoir, j'ai un problème: j'ai créé mon serveur privé S4League mais je n'arrive pas à me connecter aux comptes que j'ai créés alors que j'ai converti les mots de passe. Alors j'ai téléchargé le "CMS" d'inscription et je ne sait pas comment l'appliquer en fait (l'exécuter si vous préférez). Donc voilà j'aurai besoins d'aide merci à vous ! Mon skype si besoins: zanstaff
  • Création de compte

    8
    0 Votes
    8 Messages
    535 Vues
    MihawkM
    Bonjour / bonsoir à toutes et à tous ! Pour ce tutoriel, je prend en compte que votre serveur est déjà installé et fonctionnel, si ce n'est pas le cas, suivez ce tutoriel : Pour créer un compte, vous allez devoir dans un premier temps, ouvrir navicat, et ouvrir la base de donnée "auth" : ![1414709514-534afc1fbe2.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/44/1414709514-534afc1fbe2.png) Ouvrez la table accounts, vous devriez avoir ceci : ![1414709591-61dbca26c62.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/44/1414709591-61dbca26c62.png) et maintenant, on décortique ! ID : L'id du compte (il est unique et s'incrémente tout seul, si vous utilisez des script php pour créer un compte) Username : Nom de compte Nickname : Nom en jeu (attention à ne pas mettre de crochets ! sinon il sera impossible de "kick" le joueur en jeu, dû à un bug avec le plugin de commande) Paswword : Les mots de passe sur S4L sont encodés en SHA-256. Vous avez à votre disposition des convertisseurs comme celui-ci : http://www.xorbin.com/tools/sha256-hash-calculator Banned : Banned utilise ce que l'on appelle le "timestamp", il ne faut donc pas simplement rentré "1" pour ban quelqu'un à la place du zéro. Pareil vous avez ce site à votre disposition pour créer une date jusqu'à laquelle le joueur sera ban : http://www.timestamp.fr/ BanReason : Raison du ban, affiché à la connexion. GMLevel : Niveau de GM du compte : 0 - Joueur / 3 - GameMaster Voilà maintenant, vous n'avez plus qu'à remplir les cases manuellement sans vous tromper, ou créer un script php pour l'inscription des membres !
  • [Release] Script d'inscription

    3
    0 Votes
    3 Messages
    328 Vues
    HazzerH
    Bonjour, Je vous partage un script d'inscription que j'ai réalisé il y à quelques temps ! L'archive comprend : Un fichier index.php Un fichier register.php Un README (un peut inutile a vrai dire ^^) Un dossier style (inutile aussi) A vous de l'adapter à vos besoin. J'ai réaliser le script de façon très simple, pour que que tout le monde puisse le comprendre, le modifier et le configurer ! http://mega.co.nz/#!a1ZnQQ5Z!SJZhnY6cXpAIjS_uof2HKWp1QGllf5o7Hs8EzLNHSmg Si vous avez besoin d'aide, je vous laisse poster dans la section prévue à cet effet (cf. Aide & Support). Bye
  • [Release] Script nickname interdit

    4
    0 Votes
    4 Messages
    251 Vues
    HazzerH
    Bonjour, Je met à disposition ici un tout petit script qui permet de check le nickname que rentre l'utilisateur lors de son inscription pour savoir si il est interdit ou non (pour éviter les nickname grossiers). Comment le script fonctionne? Un fichier .txt contient tout les nickname interdits que vous souhaitez, le script récupère ce fichier et compare le nickname rentré par l'utilisateur avec ceux présents dans le fichier. Le code est commenté, à vous de l'améliorer et de le modifier pour vos besoins Pour rajouté un pseudo, il faut que celui-ci soit en MAJUSCULES ! La liste de pseudo fournie dans l'archive viens d'internet, j'ai pas trop regarder ce qu'il y avait dedans ! Voici la liste des pseudos bloquer IG (lors de la création d'un nouveau personnage) : admin administrator anus bitch blowjob boobs cock cunt developer dick entwickler fuck gamemaster gm goddamn hitler jot maniac master mastergamemaster masturbation mgm mod moderator neowiz nigger onanism orgasm penis pentavision shit sibal sperm ssibal ssibbal suck sucker swine testicles tits vagina vulva wanker whore admin administrator anus ass batard bitch bite blowjob boobs burettes chatte chier cock connard connasse cul cunt developer dick emmerdeur encule enculé enfoire enfoiré entwickler éroine fadasse fuck gamemaster garce gm goddamn goddamn hitler jot maniac master mastergamemaster masturbation merde merdeux mgm mod moderator neowiz nigger nique niquer onanism orgasm orgasme petasse pede pédé penis pénis pentavision pétasse poufiasse putain pute salaud salopard salope seins shit sibal sperm ssibal ssibbal suceur suck sucker swine testicles tits vagin vagina vulva wanker whore zob Le lien : https://mega.co.nz/#!m1ojlKgI!TYSje45D_HSGFJ59zTgP5INjt5hcXBx8zqzDjXm9CWs Bye !
  • GmCommandes/armes

    Verrouillé
    5
    0 Votes
    5 Messages
    322 Vues
    FaryBloodF
    Bonjours a toutes et a tous j'ai un probléme pour met Gmcommandes mais aussi pour les changement d'armes j'aimerai savoir comment mettre le changement sur la molette mais aussi reglé le problème des gmcommandes ,j'ai bien mit mon compte en gm aucune commandes ne marche ingame en se servant de la console merci d'avance!
  • Plugins de l'émulateur

    11
    0 Votes
    11 Messages
    502 Vues
    MihawkM
    Bonjour / Bonsoir à toutes et à tous ! Aujourd'hui je vais vous expliquer comment fonctionnent les plugins de l'émulateur et à quoi ils servent. Liste des plugins qui seront expliqués : GMCommands PityRemove RemoveStats Maintenant, je vais tâcher d'expliquer un à un, les plugins ! GMCommands : Je pense que vous vous en doutez, il s'agit des commandes de modérateur in-game. Comment les utiliser ? et quelles sont-elles ? Afin d'utiliser les commandes MJ, vérifiez à ce que votre compte, soit déjà un compte MJ. Pour cela, GMLevel doit être similaire à ceci (database auth, table accounts) : ![1416089378-8d8ade92ba2.png](<base_url>/applications/sslimageproxy/interface/image.php?url=http://image.noelshack.com/fichiers/2014/46/1416089378-8d8ade92ba2.png) Ensuite, une fois en jeu, appuyez sur F11 afin d'ouvrir la console d'administration Voici donc maintenant, la liste des commandes : /additem <catégorie de l'objet> <sous catégorie de l'objet> <id de l'objet> <product id de l'objet> <Nom du joueur> Cette commande vous permet de donner un objet au joueur souhaité. NB 1 : Vous ne savez pas à quoi correspondent les valeurs à rentrer ? renseignez-vous sur la strucutre des armes ici : NB 2 : Vous ne savez pas ce qu'est le "product id" ? Rendez-vous ici : /closeroom Cette commande vous permet de fermer la salle dans laquelle vous vous trouvez actuellement /broadcast <Votre message> Cette commande vous permet d'envoyer une annonce globale sur le serveur (sera noté en jaune en jeu) /kick <Nom du joueur / ID de son compte> Cette commande vous permettra d'exclure un joueur du jeu (ce qui le forcera à fermer le client) /roomkick <Nom du joueur / ID de son compte> Exclu un joueur de la room seulement /setlevel <Niveau> <Nom du joueur / ID de son compte> Modifie le niveau d'une personne. (Niveau max : 100) PityRemove : Ceci est ce que l'ont pourrait appeler un plugin "passif" il agit sur l'ensemble du serveur, dès son démarrage. Sur S4League existe ce qu'on appelle la pity, qui est une sorte de statistique pour favoriser l'équipe actuellement perdante. L'équipe qui est actuellement menée de 2 Touchdowns ou plus, reçoit ce bonus de pity (Dégâts supplémentaires & Consomation des SP réduite), ce bonus augmente en fonction de l'écart (cap : 4) Ce plugin va donc "désactiver" ce bonus, et donc, même si vous avez 4 Touchdowns de retard, vous n'aurez pas ce bonus pour vous rattraper. RemoveStats : C'est également un plugin passif. Quand vous achetez un vêtement ou une arme sur S4League, celui-ci aura des statistiques (plus importantes si vous payez avec le vrai argent sur l'argent du jeu) Ces statistiques provoquent généralement un déséquilibre dans le jeu (ce qui est d'ailleurs la raison de la "rage" de beaucoup de joueurs) Ce plugin va donc enlever toutes les statistiques des objets achetés à l'achat. Comment désactiver un plugin ? : L'explication risque d'être brève, car c'est très simple. Vous n'avez qu'à retirer le plugin que vous souhaitez du dossier "Plugins" et redémarrer la console FagNetGame.exe Voilà j'espère que ça aura éclairé certains ! Cordialement, Mihawk.
  • Nouveau forum : S4 League !

    Épinglé
    6
    0 Votes
    6 Messages
    455 Vues
    AzadA
    Bonjour ! Ceci est un nouveau forum dédié à l'émulation de S4L ! N'hésitez pas à suggérer la création de sous-forum pour trier et ordonner les tutoriels, et bien sûr n'hésitez pas non plus à rédiger de superbes tutoriels dans cette catégorie. Vous serez valoriser si vous apportez du contenu dans cette section qui débute pour l'instant. Egalement, si vous êtes passionnés par ce jeu, postulez donc pour en devenir un modérateur spécialisé ! Let's do this !