Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
641 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Compléter un Mod de SupCom simple en VB

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Compléter un Mod de SupCom simple en VB

n°2297347
Aryn
"
Posté le 07-03-2017 à 11:37:21  profilanswer
 

Bonjour à tous,
 
Je poste ici, j'espère que ce sera au bon endroit.
 
N'étant pas du tout calé en programmation, mais joueur, je cherche à rendre utilisable une unité (usine expérimentale) d'un mod appelé BrewLan pour toutes les factions du jeu de Supreme Commander Forged Alliance. Grâce à cette unité, l'IA devient plus puissante, et surtout plus maline. Pour faire simple, la faction appelée UEF dispose d'une unité intéressante mais déséquilibrante pour le jeu. Je cherche à l'utiliser pour les AEON, les CYBRAN, et les SERAPHIM.
 
Je sais changer le nom de la faction après avoir fait une copie du fichier unit et script mais du coup, l'IA n'utilise plus l'unité en jeu :( . Le fichier a pour source ......./unit/ seb0401/ SEB0401
Dès que je retire du mod mes fichiers copiés pour les autres factions, ça refonctionne. Les fichiers créées en copie avaient pour nom : ...../unit/ Seb0401/ SEB0402, SEB0403 et SEB0404.
Je ne sais pas comment régler ce problème :/
Il y a 2 fichiers modifiables en VB (il me semble ?) : un fichier script et un fichier unit.
Je vous mets ci-dessous les grandes lignes du fichier script :
 
--------------------------------------------------------------------------------
-- Summary: The Gantry script
-- Author: Sean 'Balthazar' Wheeldon
--------------------------------------------------------------------------------
 
local TLandFactoryUnit = import('/lua/terranunits.lua').TLandFactoryUnit
local explosion = import('/lua/defaultexplosions.lua')
local Utilities = import('/lua/utilities.lua')
local Buff = import('/lua/sim/Buff.lua')
 
SEB0401 = Class(TLandFactoryUnit) {
 
AI control
--------------------------------------------------------------------------------
 
AIStartOrders = function(self)
local aiBrain = self:GetAIBrain()
self.Time = GetGameTimeSeconds()
if aiBrain.BrainType != 'Human' then
--self.engineers = {}
self.BuildModeChange(self)
aiBrain:BuildUnit(self, 'uel0309', 5)
aiBrain:BuildUnit(self, self.ChooseExpimental(self), 1)
aiBrain:BuildUnit(self, 'uel0309', 5)
aiBrain:BuildUnit(self, self.ChooseExpimental(self), 1)
local AINames = import('/lua/AI/sorianlang.lua').AINames
if AINames.seb0401 then
local num = Random(1, table.getn(AINames.seb0401))
self:SetCustomName(AINames.seb0401[num])
end
end
end,
 
UI buildmode change function
--------------------------------------------------------------------------------
 
BuildModeChange = function(self, mode)
self:RestoreBuildRestrictions()
------------------------------------------------------------------------
-- The "Stolen tech" clause
------------------------------------------------------------------------
local aiBrain = self:GetAIBrain()
local engineers = aiBrain:GetUnitsAroundPoint(categories.ENGINEER, self:GetPosition(), 30, 'Ally' )
local stolentech = {}
stolentech.CYBRAN = false
stolentech.AEON = false
stolentech.SERAPHIM = false
for k, v in engineers do
if EntityCategoryContains(categories.TECH3, v) then
for race, val in stolentech do
if EntityCategoryContains(ParseEntityCategory(race), v) then
stolentech[race] = true
end
end
end
end
for race, val in stolentech do
if not val then
self:AddBuildRestriction(categories[race])
end
end
------------------------------------------------------------------------
-- Human UI air/other switch
------------------------------------------------------------------------
if aiBrain.BrainType == 'Human' then
if self.airmode then
self:AddBuildRestriction(categories.NAVAL)
self:AddBuildRestriction(categories.MOBILESONAR)
self:AddBuildRestriction(categories.LAND - categories.ENGINEER)
else
if self:GetCurrentLayer() == 'Land' then
self:AddBuildRestriction(categories.NAVAL)
self:AddBuildRestriction(categories.MOBILESONAR)
elseif self:GetCurrentLayer() == 'Water' then
self:AddBuildRestriction(categories.LAND - categories.ENGINEER)
end
self:AddBuildRestriction(categories.AIR)
end
------------------------------------------------------------------------
-- AI functional restrictions (allows easier AI control)
------------------------------------------------------------------------
else
if self:GetCurrentLayer() == 'Land' then
self:AddBuildRestriction(categories.NAVAL)
self:AddBuildRestriction(categories.MOBILESONAR)
elseif self:GetCurrentLayer() == 'Water' then
self:AddBuildRestriction(categories.LAND - categories.ENGINEER)
self:AddBuildRestriction(categories.ues0401)
end
end
self:RequestRefreshUI()
end,
 
Quels sont les "SEB0401" que je peux modifier en SEB0402/403/404 ? En sachant que je ne modifie pas l'aspect de l'unité, son animation ou sa taille. Je posterai aussi le fichier unit si besoin est.
 
Un grand merci d'avance pour vos regards experts.
 
Bonne journée !!

mood
Publicité
Posté le 07-03-2017 à 11:37:21  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Compléter un Mod de SupCom simple en VB

 

Sujets relatifs
VB : fixer une fenêtre en coin inférieur droitCommunication VBA vers VB.NET
Forum PHP/Mysql simple ?[VB.NET] Créer un formulaire a partir d'une classe
Programmation Catia help? [VB][VB/VBA/VBS] Macro excel d’impression sur plusieurs feuilles.
Intelligence artificielle d'un simple jeux[SQL] Aide exos (simple)
[Vb.Net] Problème téléchargement + décompressionPYTHON MYSQL C'est pourtant simple mais...
Plus de sujets relatifs à : Compléter un Mod de SupCom simple en VB


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR