Jump to content
Kasa

Petite question à propos de la taille du .amx quand on compile

Recommended Posts

Salut, j'aurais une petite question à propos de la taille du .amx, j'ai du code sur un fichier .pwn qui fait environ 250 Ko or quand je le compile le .amx fait plus de 21Mo (22000Ko) ce que je trouve énorme, car juste avant j'ai fait un backup le .amx était seulement de 433Ko pour 161Ko le .pwn, j'ai rajouté quelque fonctionnalités en plus et pouff j'ai 21Mo qui sont apparus d'un coup. J'voulais savoir si cela était normal car pour moi ça me parait énorme alors que quelques modification on était faite, passé de 433Ko à 22000Ko me paraît assez bizarre.

 

zp1w.jpg

7dxk.jpg

Share this post


Link to post
Share on other sites

En gros si tu optimise pas tes variable global sa peut faire que le amx sois enorme pour rien pareil pour les pragma et verifie tes includes aussi

Share this post


Link to post
Share on other sites

Salut, déjà merci pour ta réponse. Donc pour l'instant j'ai vérifier niveau includes et j'ai les même depuis le début que j'ai commencer à coder donc peut probable que ce soit les includes,

J'ai vérifié les pragma j'en ai qu'un et celui-ci est au niveau de l'antideamx qui est là depuis le début aussi.

 

En effet j'ai plusieurs variable global, c'est sans doute ça en gros j'ai fait ça pour mes variable:

static
	gBalbla[MAX_PLAYERS],
	Player[MAX_PLAYERS],
	Sympa = 1,
	Timer,
	Text:Speed[3]; // etc...

 

Puis j'ajoute au fur et à mesure de mon utilisation, le problème c'est que je vois pas comment je pourrais optimisé ça, j'ai aussi plusieurs enumération comme

enum weap_params {MAXAMMO, PRICE, NAME[20]};
new WeaponInfo[47][weap_params] ={{0,0,"Poing"},{1,20,"Poing Americain"},{1,0,"Club"},{1,0,"Matraque"},{1,17,"Couteau"},{1,20,"Batte de Baseball"},{1,0,"Pelle"},{1,0,"Queue de billard"},{1,0,"Katana"},{1,0,"Tronçonneuse"},{0,0,"Grand Gode"},{0,0,"Petit Gode"},{0,0,"Gode Blanc"},{1,0,"Gode Gris"},{1,0,"Fleurs"},{1,40,"Canne"},{0,0,"Grenade"},{10,0,"Gaz Lacrimo"},{0,0,"Cocktail Molotov"},{0,0,""},{0,0,""},{0,0,""},{30,1000,"Colt 45"},{15, 0,"Silenced pistol"},{30,3600,"Desert Eagle"},{20,2500,"Fusil à pompe"},{0,0,"Mini Shotgun"},{0,0,"Combat Shotgun"},{100,0,"Uzi"},{100,0,"MP5"},{100,0,"AK47"},{100,0,"M4"},{100,0,"TEC9"},{20,4700,"Rifle"},{20,0,"Fusil Sniper"},{0,0,"Lance Rocket"},{0,0,"HS Rocket"},{0,0,"Lance Flammes"},{0,0,"Minigun"},{0,0,"Satchel Charge"},{0,0,"Detonateur"},{100,0,"Spray Can"},{300,0,"Extincteur"},{60,120,"Appareil Photo"},{0,0,"NightVision"},{0,0,"Termal Goggles"},{1,0,"Parachute"}};

Si quelqu'un peut m'éclairer là dessus car j'ai sans doute fait une erreur comme par exemple utilisé static au lieu de new ou quelque chose dans le genre merci

Edited by Kasa

Share this post


Link to post
Share on other sites

Salut, la taille du .amx est à tout à fait normale car c'est une version compilée. Tu peux tout de même optimiser sa taille ainsi que ton code en faisant des redéfinissions.

#undef MAX_PLAYERS
#define MAX_PLAYERS 50

Sachant que le MAX_PLAYERS de base vaut 1000, si tu accueilles seulement 50 joueurs, c'est tout de même mieux. Ce sera mieux aussi si tu fais une boucle. Même chose pour les véhicules. Rarement le MAX_VEHICLES est atteint à 2000. Tu peux le descendre facilement à 1000.

 

Voici la taille de mon gamemode de zéro. Avec une bonne optimisation, tu pourras avoir ce résultat:

Tu as seulement 300Ko de différence.
image.png.052d9efb1f7ea99cdee510882e56d7ee.png

 

Tu voulais également qu'on t'éclaire sur les initialiseurs new et static, sache que le plus recommandé à mon sens est d'utiliser l'initialiseur static quand tu crées une include. Ça te permettra d'utiliser uniquement ta variable dans ce fichier. Tu ne pourras pas l'appeler par exemple dans ton gamemode. Utile si deux noms de variable porte le même nom. (Gamemode & Include)

 

C_far l'explique mieux que moi dans son tutoriel: http://web-old.archive.org/web/20190416002916/https://wiki.sa-mp.com/wiki/Apprendre_le_Pawn_avec_Dutheil

Edited by Heaven

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


Contact

Email : contact@sa-mp-fr.com

Communauté San Andreas Multiplayer France

 

La plateforme San Andreas Multiplayer France (sa-mp-fr.com) est un site communautaire indépendant mettant en avant la communauté française du mod San Andreas Multiplayer (SA:MP).

 

sa-mp-fr.com et son contenu ne sont pas affiliés à Rockstar Games, Rockstar North ou Take-Two Interactive Software Inc.

Grand Theft Auto et Grand Theft Auto: San Andreas sont des marques déposées de Take-Two Interactive Software Inc.

×
×
  • Create New...