Kawach Posted May 4, 2016 Share Posted May 4, 2016 Bonjour, je cherche a ajouter des IDs pour pouvoir ajouter des armes et non les remplacer. J'ai regardé un peu partout comment faire mais aucun moyen de trouver quoi que se soit d’intéressant concernant l'ajout d'IDs. Je me demande donc si quelqu'un serait me dire quoi. -------------------------------------------------------------------------- Je viens de trouver : createWeapon -------------------------------------------------------------------------- Je me demande maintenant si maintenant : createProjectile et engineLoadTXD engineLoadDFF engineImportTXD pourrait être utiliser pour se que je veux --------------------------------------------------------------------------- Bon j'ai trouver, sa devrait allé normalement Link to comment
Moderators Citizen Posted May 4, 2016 Moderators Share Posted May 4, 2016 Pour faire court, la réponse est non ! Il n'est pas encore possible de rajouter des ids et donc des armes. Cette demande récurente fait déjà l'objet d'une tâche mais qui est tellement énorme à réaliser en terme de travail/code pour la team MTA que personne ne s'y est encore attaqué. La demande: https://bugs.mtasa.com/view.php?id=7728 (créée en 2011) Sous-tâche qui devra être réalisée avant même de pouvoir penser à réaliser la précédente: https://bugs.mtasa.com/view.php?id=6571 (crée en 2013) La fonction createWeapon permet de spawn une arme comme si tu spawnais un objet avec createObject mais que tu peux contrôler via le script (comme faire tirer l'arme via setWeaponState(weapon, "firing")). L'arme n'est donc pas portée par un joueur ou un NPC et tu peux l'attacher sur un capot de voiture par exemple. L'arme est donc comme un objet et tu ne peux pas non plus la ramasser car ce n'est pas un pickup. Par contre, il me semble que c'est possible "de faire comme ci". En effet une solution possible serait de remplacer un objet dont l'id n'est pas utilisé par GTA. Liste des ids non utilisé par GTA: http://gtaforums.com/topic/488464-free- ... 1060756540 Mais dans la version 1.6 de MTA, ils ont pris certains de ces ids pour rajouter des skins (236 nouveaux skins au total) et donc il ne faut que t'utilises un id qui n'est pas dans cette liste: https://wiki.multitheftauto.com/wiki/Character_Skins 3, 4, 5, 6, 8, 42, 65, 74, 86, 119, 149, 208, 273, 289, 329, 340, 382, 383, 398, 399, 612, 613, 614, 662, 663, 665, 666, 667, 668, 699, 793, 794, 795, 796, 797, 798, 799, 907, 908, 909, 965, 999, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1326, 1573, 1699, 2883, 2884, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3176, 3177, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3188, 3189, 3190, 3191, 3192, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3215, 3216, 3217, 3218, 3219, 3220, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3245, 3247, 3248, 3251, 3254, 3266, 3348, 3349, 3416, 3429, 3610, 3611, 3784, 3870, 3871, 3883, 3889, 3974, 4542, 4543, 4544, 4545, 4546, 4547, 4548, 4549, 4763, 4764, 4765, 4766, 4767, 4768, 4769, 4770, 4771, 4772, 4773, 4774, 4775, 4776, 4777, 4778, 4779, 4780, 4781, 4782, 4783, 4784, 4785, 4786, 4787, 4788, 4789, 4790, 4791, 4792, 4793, 4794, 4795, 4796, 4797, 4798, 4799, 4800, 4801, 4802, 4803, 4804, 4805, 5090, 5104, 5376, 5377, 5378, 5379, 5380, 5381, 5382, 5383, 5384, 5385, 5386, 5387, 5388, 5389 Une fois un id trouvé, tu le remplaces entièrement via les fonctions suivantes: -- Texture engineImportTXD engineLoadTXD -- Model engineLoadDFF engineReplaceModel -- Collision (n'en load pas pour des armes, c'est pas utile et ça peut faire glitcher/buguer) engineSetModelLODDistance -- Si jamais la distance d'affichage est trop courte Ensuite pour utiliser cette nouvelle "arme", tu donnes une arme qui existe déjà au joueur et qui correspond à la nouvelle arme (genre si ta nouvelle arme est un m4a4 qui se prend donc à 2 mains, tu donneras un ak et pas un uzi), tu remplaces sa texture par une texture invisible (y a moyen de le faire via les shaders, ou tout simplement les engineImportTXD et engineLoadTXD) et ensuite tu crées l'arme via le createObject et l'id choisit et tu l'attaches à la main droite du joueur (utilise la ressource bone_attach). Il y aura le problème du son et tu pourras aussi changer les dégats de l'arme en codant un peu dans onClientPlayerDamage. Avec tout ça on devrait avoir quelque chose de potable mais ça demande un peu de boulot. Cordialement, Citizen Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now