SI VOUS AVEZ BESOIN DE PRÉCISION OU DE SCREEN DEMANDER LE ICI.Après avoir télécharger le sdk ainsi que VC++ nous allons faire notre premier "mode".
Pour commencer décompresser l'archive qui contient le SDK, vous avez 2 dossiers et fichiers ( codemp & ui ).
Dans codemp vous avez plusieurs dossiers, le plus important est le dossier "
game", ouvrer le et nous voyons dedans une partie des fichiers sources de jka ( multijoueur ).
Pour notre premier mode nous allons modifier le nom ... du mode, pour cela, ouvrer le fichier "
g_local.h" dans le dossier "
game" et regardons le nom du mode actuel.
Ligne 29
- Citation :
- // the "gameversion" client command will print this plus compile date
#define GAMEVERSION "basejka_mod"
Ici nous allons changer "basejka_mod" par "MON_MEGA_MODE"
- Citation :
- // the "gameversion" client command will print this plus compile date
#define GAMEVERSION "MON_MEGA_MODE"
Sauvegarder le fichier ( CTRL+S ou la disquette en haut ), nous allons passer à la compilation.
Ce qui nous intéresse pour notre compilation, c'est le fichier "
JK2_game.vcproj" ( dans le dossier game ), double cliquer dessus et VC++ s'ouvre avec une assistance de conversion, faites suivant, oui ou non comme vous voulez ( j'ai mis non ) et ensuite terminer, nous avons ceci :
Nous voyons sur notre gauche une arborescence, ce qui nous intéresse c'est ce qui est en gras "
JK2game".
Clique droit dessus et faites "Générer".
Après la compilation, nous avons ceci :
- Citation :
1>JK2game - 1 erreur(s), 184 avertissement(s)
========== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========
( Ne pas prendre compte des avertissements )
La compilation à échoué, regardons pourquoi, pour cela faites une recherche ( CTRL+F ou en haut dans la barre d'outil avec le dossier + les jumelles ) du mot error, et nous trouvons ceci :
- Citation :
1>c:\documents and settings\yberion\bureau\dossiers\jeux\star wars jedi academy\mods\sdk\jka_mp_sdk_universal\jka_mp_sdk_universal\codemp\game\q_math.c(1476) : error C2059: erreur de syntaxe : 'type'
Donc il va falloir ouvrir le fichier "
q_math.c" et aller à la ligne 1476. ( Pour cela rien de plus simple double cliquer sur l'erreur )
Le code qui nous embête est :
- Citation :
float powf ( float x, int y )
{
float r = x;
for ( y--; y>0; y-- )
r = r * r;
return r;
}
Il va falloir, pour réglé le problème, ajouter "/*" au début de la fonction, donc avant le "
float powf ( float x, int y )" ET à la fin, donc après le "
}" ( /* commentaire */ est utiliser pour les commentaires, en gros on va désactiver ces ligne, on va les mettre en commentaire ) ce qui donne :
- Citation :
/*float powf ( float x, int y )
{
float r = x;
for ( y--; y>0; y-- )
r = r * r;
return r;
}*/
Retestons une compilation, pour cela clique droit, "
Régénérer"
Encore une erreur !
- Citation :
- 1>..\win32\JK2game.rc(10) : fatal error RC1015: cannot open include file 'afxres.h'.
Bon pour ce problème là, il va falloir ajouter le header afxres dans le dossier "
win32" de "
codemp", pour cela, sois vous le télécharger ici :
http://afj.olympe-network.com/jka/SDK/header/afxres.hsois vous créer un nouveau fichier que vous nommé "
afxres.h" ( avec l'extension .h, vérifier bien que vous affichez les extension ) et vous y coller le code suivant :
- Spoiler:
#ifndef _AFXRES_H
#define _AFXRES_H
#if __GNUC__ >= 3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _WINDOWS_H
#include <windows.h>
#endif
/* IDC_STATIC is documented in winuser.h, but not defined. */
#ifndef IDC_STATIC
#define IDC_STATIC (-1)
#endif
#ifdef __cplusplus
}
#endif
#endif
Retestons !!!, faites clique droit "
Régénérer", ET LA AUCUNE ERREUR !!
- Citation :
- 1>JK2game - 0 erreur(s), 184 avertissement(s)
========== Régénération globale : 1 a réussi, 0 a échoué, 0 a été ignoré ==========
Pour pouvoir tester notre mode il va falloir aller chercher la dll qui viens d'être compiler.
Pour cela aller dans le dossier "
Debug" qui se trouve dans "
codemp"
Nous avons un tas de fichier, ce qui nous intéresse c'est le fichier ( la dll ) "
jampgamex86.dll".
Pour pouvoir voir le résultat, nous devons la mettre au format pk3 ( format de compression utiliser par le moteur Quake Engine, donc celui de jka ), pour cela il va falloir télécharger PakScape ici :
http://afj.olympe-network.com/jka/utilitaire/pk3/PakScape.exeou ici :
http://jediknight3.filefront.com/file/Pakscape;31681Placer le dans le dossier base de jka, la dll "
jampgamex86.dll" aussi et ouvrer PakScape, créer un nouveau fichier ( CTRL + N ou la feuille blanche en haut à gauche ), faites un glisser déplacer de la dll sur la fenêtre de pakscape de tel façon à l'avoir dans notre nouveau fichier.
Ensuite sauvegarder notre nouveau fichier pk3 qui contient notre dll, pour cela sois vous cliquer sur la disquette en haut à gauche sois vous faites CTRL+S , là une nouvelle fenêtre s'ouvre et vous demande le nom du fichier, mettez par exemple assets4.pk3 ( n'oublier pas le .pk3 ).
Pour voir si notre mode fonctionne, il va falloir créer un serveur en local ( sans ouvrir les ports vu que ceci n'est qu'un teste ) :
https://jk-team.forumgaming.fr/jedi-academy-f71/Dans les tutos sur les serveur, ne pas prendre en compte :
- Spoiler:
Télécharger la dll qui protégera votre serveur contre les dernières failles de jka =
http://www.megaupload.com/?d=LVTIPI6BOu ici : esl-fr.verygames.net
Vous devez mettre le .pk3 dans le dossier Base !
vu que nous avons notre propre dll.
Bon après avoir créer notre server en local, pour voir le résultat vous n'avez plus qu'a faire "info server" sur votre server ( dans la liste des server ), ce qui donne :
SI VOUS AVEZ BESOIN DE PRÉCISION OU DE SCREEN DEMANDER LE ICI.