Accueil   FORUM   Aide Rechercher Calendrier Membres Identifiez-vous Inscrivez-vous   **  
Half-life Design

Articles
  
   Discussions
   Half-Life
       Coding
       Mapping
       Modeling
   Half-Life²
       Coding
       Mapping
       Modeling
   Game Design
       Coding
       Mapping
       Modeling
  
   Worldcraft Online
   Téléchargements
  
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
07 Septembre 2010, 15:13:57

Connexion avec identifiant, mot de passe et durée de la session

Modules

Téléchargements

Last 10 shouts:
19 Septembre 2006, 14:41:54
Ce theme est mieux que l'ancien !
18 Septembre 2006, 03:23:40
bonjour
16 Septembre 2006, 22:22:22
looks realy good
13 Septembre 2006, 11:02:07
+1 y roxx le theme Sourire par contre inutile le truc "1 week, 1month, 1 year" pour se logger, forever suffit...
13 Septembre 2006, 10:36:08
bravo
Pages: [1]
  Envoyer ce fil  |  Imprimer  
Auteur Fil de discussion: Présentation du standard SDK  (Lu 4334 fois)
0 Membres et 1 Invité sur ce fil de discussion.
Ertai
Administrator
Sage
*****

Karma: 266
Hors ligne Hors ligne

Messages: 2649


41243549 tony_bdx@hotmail.com Mnementhis
Voir le profil WWW
« le: 12 Août 2004, 04:03:36 »

Quelques informations avant de commencer:

Une connaissance de base de la programmation en C est nécessaire pour pouvoir suivre l'ensemble des tutoriaux proposés. Pour ceux-ci, je m'appuyerais essentiellement sur le logiciel Visual C++ (version 5 ou plus).
Avant de commencer, il vous faut télécharger le "standard System Develloppement Kit" qui contient l'ensemble des fichiers sources dont nous aurons besoin.

Contenu du standard System Develloppement Kit:

Le SDK est composé de 4 répertoires. Toutefois, en règle générale, seulemement les deux premiers (cl_dll et dlls) nous seront utiles.

Le 1er, cl_dll, vous permettra de compiler le fichier client.dll. Il contient les fichiers permettant d'informer le joueur sur son état (vie, armure, hud,...)
Le 2ème, dlls, vous permettra de compiler le fichier mp.dll. Il contient les fichiers des armes, des items, des objets et des règles de jeu.
Le troisième, engine, contient des déclarations de fonctions utiles pour pouvoir compiler vos dlls.
Le dernier, utils, regroupe divers outils qui ont servi pour la création du jeu comme qrad bien connu des mappers.

Retour en haut

Qu'est-ce qu'une dll:

Une dll (Dynamic Link Library) est une bibliothèque de fonctions qu'un éxécutable va pouvoir utiliser librement lors de son déroulement.
L'utilité d'une dll est de permettre aux dévelloppeurs de pouvoir modifier certaines de ces fonctions et d'en créer d'autres sans avoir à recompiler l'ensemble du programme. Un autre avantage est quelle peut-être utilisée par plusieurs progammes. Ainsi, la bibliothèque gdi32.dll est très souvent utilisée pour tout ce qui concerne l'affichage comme tracer des lignes, des points,...


Dans Half-life, les dlls contiennent tout ce qui permet au moteur du jeu de savoir ce qu'il a à faire.


Retour en haut

Comment savoir dans quelle dll faire ses modifications:

Comme vous avez pu le voir plus haut, il existe deux dlls dans half-life. On peut donc se demander laquelle il va falloir modifier pour faire une modification.
Pour répondre à cette question, il faut vous demander si ce que vous voulez faire sera différent pour chaque joueur ou si la fonction est générale.
Ainsi, si vous voulez indiquer a un joueur les points de vies qu'il lui reste, vous irez voir du côté du client (client.dll) car le joueur est le seul a connaitre ses points de vies. Par contre, si vous décidez qu'une arme infligera 20 points de dommages, il faudra modifier le serveur (mp.dll) car tous les joueurs (quand ils possèdent l'arme) infligeront ces points quand ils tireront.
Vous vous en doutez, la majorité des modifications seront faites au niveau serveur.


Retour en haut

Comment configurer le  [a href="javascript:PopUp('http://www.halflifedesign.net/dico/index.php?mode=def&id=19', 'Compilateur','450','330','0','0','1','1')"]Compilateur[/a]   pour votre  [a href="javascript:PopUp('http://www.halflifedesign.net/dico/index.php?mode=def&id=61', 'Mod','450','330','0','0','1','1')"]Mod[/a]  :

Après avoir decompressé le fichier zip, ouvrez le fichier mp.dsp qui se trouve dans le répertoire dlls. Vous voyez alors la fenetre de VC++ s'afficher avec à gauche les fichiers qui constituent le SDK.

Il faut le configurer pour qu'il installe votre  [a href="javascript:PopUp('http://www.halflifedesign.net/dico/index.php?mode=def&id=61', 'Mod','450','330','0','0','1','1')"]Mod[/a]   au bon endroit.
Pour cela, allez dans le menu project/settings. A droite de cette fenêtre ouvrez l'onglet Custom Build, c'est ici qu'il faut renseigner la  [a href="javascript:PopUp('http://www.halflifedesign.net/dico/index.php?mode=def&id=19', 'Compilateur','450','330','0','0','1','1')"]Compilateur[/a]   sur l'emplacement de votre  [a href="javascript:PopUp('http://www.halflifedesign.net/dico/index.php?mode=def&id=61', 'Mod','450','330','0','0','1','1')"]Mod[/a]  .
Dans Buil command, après $(target path), mettez le chemin de votre  [a href="javascript:PopUp('http://www.halflifedesign.net/dico/index.php?mode=def&id=61', 'Mod','450','330','0','0','1','1')"]Mod[/a]  . Il doit être du type : c:\"répertoire de Half-life"\"nom du  [a href="javascript:PopUp('http://www.halflifedesign.net/dico/index.php?mode=def&id=61', 'Mod','450','330','0','0','1','1')"]Mod[/a]  "\dlls.
Dans Output files, avant $(target path), mettez la même chose.
vous pouvez faire la même chose pour le client.

Voilà... vous pouvez maintenant lancer une première compilation build/build mp.dll et tester votre jeux soit avec la ligne de commande -game "nom du  [a href="javascript:PopUp('http://www.halflifedesign.net/dico/index.php?mode=def&id=61', 'Mod','450','330','0','0','1','1')"]Mod[/a]  " soit dans le menu partie personnalisée du jeux. Créez une partie en local sans vous préoccuper du fait qu'il n'y ait aucune  [a href="javascript:PopUp('http://www.halflifedesign.net/dico/index.php?mode=def&id=59', 'Map','450','330','0','0','1','1')"]Map[/a]   dans le menu puis dans la console tapez  [a href="javascript:PopUp('http://www.halflifedesign.net/dico/index.php?mode=def&id=59', 'Map','450','330','0','0','1','1')"]Map[/a]   bounce ou une autre que vous connaissez...

Vous venez de créer votre propre  [a href="javascript:PopUp('http://www.halflifedesign.net/dico/index.php?mode=def&id=61', 'Mod','450','330','0','0','1','1')"]Mod[/a]  . Certes il s'agit du même jeu mais maintenant il s'éxecute a partir de la dll que vous avez compilé.

Retour en haut

Une première modification:

Nous allons faire une première modification toute simple pour s'assurer que tout marche. Je vous propose juste de modifier les dommages infligés par les différentes armes de Half-life :


Ouvrez le fichier multiplay_gamerules.cpp et cherchez la fonction void CHalfLifeMultiplay::RefreshSkillData( void ).
Dans celle-ci vous truoverez des lignes du genre :
gSkillData.plrDmgCrowbar = 25;
Tout ce que vous avez a faire, c'est de changer 25 par la valeur que vous voulez donner a la crowbar.
Si vous mettez 100 par exemple, la crowbar risque fort de devenir la seule arme utilisée en multijoueur Clin d'oeil.

Une fois que vous avez défini les valeurs que vous voulez, compilez a nouveau (touche F7) et lancez le jeu comme précédemment. Vous venez de faire votre première modification pour Half-life.


Maintenant, il ne vous reste plus qu'a suivre les autres tutoriaux et trouver des idées pour créer votre propre  [a href="javascript:PopUp('http://www.halflifedesign.net/dico/index.php?mode=def&id=61', 'Mod','450','330','0','0','1','1')"]Mod[/a]  .
« Dernière édition: 27 Octobre 2004, 01:39:50 par iTaLiK » Journalisée



- Tu sais le piloter? s'enquit négligemment Ford.
- Non. Et toi?
- Non.
- Trillian, vous savez?
- Non.
- Parfait, dit Zappy, soulagé. Nous le piloterons donc ensemble.
hUm@n
Invité
« Répondre #1 le: 09 Juillet 2009, 15:38:55 »

Les liens sont dead  Huh
Journalisée
FireStorm
Administrator
Honorable
*****

Karma: 12
Hors ligne Hors ligne

Messages: 3837


112973171 fstorm_@hotmail.com
Voir le profil
« Répondre #2 le: 09 Juillet 2009, 16:17:56 »

5 ans après c'est pas très étonnant... Clin d'oeil

Il s'agit juste de liens vers un dictionnaire de définitions. Ertai a du supprimer un fichier sur le serveur et du coup le dico marche plus. La chose a été codée pour l'ancienne version du site Clin d'oeil
Journalisée



hUm@n
Invité
« Répondre #3 le: 09 Juillet 2009, 19:02:16 »

Ué mais bon du cou c'est pas très simple à déchiffrer pour les noob  Sourire
Journalisée
FireStorm
Administrator
Honorable
*****

Karma: 12
Hors ligne Hors ligne

Messages: 3837


112973171 fstorm_@hotmail.com
Voir le profil
« Répondre #4 le: 09 Juillet 2009, 23:14:30 »

Tu peux toujours aller consulter les même termes sur wikipedia Clin d'oeil
Journalisée



Pages: [1]
  Envoyer ce fil  |  Imprimer  
 
Aller à:  


Recents
[31 Août 2010, 04:00:19]

[25 Juin 2010, 12:26:38]

Sondage
Membres
Total des membres: 2358
Dernier: WhenIWasProd
Stats
Total des messages: 36715
Total des fils de discussion: 3403
En ligne aujourd'hui: 25
En ligne total: 122
(07 Avril 2008, 15:51:10)
Membres en ligne
Utilisateurs: 0
Invités: 22
Total: 22

Propulsé par MySQL Propulsé par PHP création de sites-internet ruby on rails Powered by SMF 1.1 RC3 | SMF © 2001-2005, Lewis Media
TinyPortal v0.9.5 © Bloc
XHTML 1.0 Transitionnel valide ! CSS valide !