Post by mro on Sept 5, 2009 6:38:40 GMT -8
VC2 PROBLEM
Theme:
when you finalize MP mode with Friendly_AI (e.g. CooP_US with US_AI), the specialist don't work: medic doesn't heal, engineer doesn't give ammo, etc..
Comment:
in testing game mode all works properly, but once you finalize MP game they stop their specific duties
Test made:
we tried to add, cancel parts to AI scripts, and to create extra scripts, but at the moment all was meaningless
we also noted that the "testing game mode" is based on SP mode: in fact:
- when you accidentally kill an US_AI appears the SP note "Mission Failed"
- when you kill an enemy doesn't appear the message
In fact you can test the game even without MP scripts:
the folder ..\data\Levelname\scripts\MP is not considered when you recompile scripts with F8 function.
Note:
when you finalize an MP map with editor, it appears "Level.c creation failed":
so I personally guess that this bug is connected with Level.c
this because it must depend on a script which controls all MP games,
and this should be the Level script.
In addition:
I also noted that medic and engineer in VC side work, even if just sometimes, they heal and give ammo to VC soldiers..
So I try to conclude that:
- in MP, in particular coop, the script comments AI only for enemy side
At the moment, after 3 weeks of study, we didn't reach the solution, so please if someone has some idea, and / or much more experience than myself in scripting please participate to this study.
Suggestions:
- I strongly guess that it depends on Level.c: in fact in inc\shigor\Level.cxx there is the following part to "ENABLE / DISABLE MEDIC AND ENGINEER"
CODE
_________________________________________________________________________________________
void Menu_EnableMedicEng(){
s_SC_PC_CmdMenu menu;
SC_PC_GetCommandMenu(&menu);
menu.flags = SC_PC_CMDMENU_FL_ENABLEMEDIC | SC_PC_CMDMENU_FL_ENABLEAMMO;
menu.medik_max_call_distance=40;
menu.ammo_max_call_distance=40;
SC_PC_SetCommandMenu(&menu);
}
void Menu_EnableMedicEng2(float distance){
s_SC_PC_CmdMenu menu;
SC_PC_GetCommandMenu(&menu);
menu.flags = SC_PC_CMDMENU_FL_ENABLEMEDIC | SC_PC_CMDMENU_FL_ENABLEAMMO;
menu.medik_max_call_distance=distance;
menu.ammo_max_call_distance=distance;
SC_PC_SetCommandMenu(&menu);
}
void Menu_DisableMedicEng(){
s_SC_PC_CmdMenu menu;
SC_PC_GetCommandMenu(&menu);
menu.flags = 0;
SC_PC_SetCommandMenu(&menu);
}
_________________________________________________________________________________________
- it could depend on INI files
- it could be important to study from line 371 of inc\Maxovo\uni_soldier.cxx
- note that in definitions of inc\shigor\ussoldier.cxx and vcsoldier.cxx there are many differences: in VC medic and engineer are enabled, while in US there are no comments about them
THANKS in ADVANCE for COOPERATION
Mauro
Theme:
when you finalize MP mode with Friendly_AI (e.g. CooP_US with US_AI), the specialist don't work: medic doesn't heal, engineer doesn't give ammo, etc..
Comment:
in testing game mode all works properly, but once you finalize MP game they stop their specific duties
Test made:
we tried to add, cancel parts to AI scripts, and to create extra scripts, but at the moment all was meaningless
we also noted that the "testing game mode" is based on SP mode: in fact:
- when you accidentally kill an US_AI appears the SP note "Mission Failed"
- when you kill an enemy doesn't appear the message
In fact you can test the game even without MP scripts:
the folder ..\data\Levelname\scripts\MP is not considered when you recompile scripts with F8 function.
Note:
when you finalize an MP map with editor, it appears "Level.c creation failed":
so I personally guess that this bug is connected with Level.c
this because it must depend on a script which controls all MP games,
and this should be the Level script.
In addition:
I also noted that medic and engineer in VC side work, even if just sometimes, they heal and give ammo to VC soldiers..
So I try to conclude that:
- in MP, in particular coop, the script comments AI only for enemy side
At the moment, after 3 weeks of study, we didn't reach the solution, so please if someone has some idea, and / or much more experience than myself in scripting please participate to this study.
Suggestions:
- I strongly guess that it depends on Level.c: in fact in inc\shigor\Level.cxx there is the following part to "ENABLE / DISABLE MEDIC AND ENGINEER"
CODE
_________________________________________________________________________________________
void Menu_EnableMedicEng(){
s_SC_PC_CmdMenu menu;
SC_PC_GetCommandMenu(&menu);
menu.flags = SC_PC_CMDMENU_FL_ENABLEMEDIC | SC_PC_CMDMENU_FL_ENABLEAMMO;
menu.medik_max_call_distance=40;
menu.ammo_max_call_distance=40;
SC_PC_SetCommandMenu(&menu);
}
void Menu_EnableMedicEng2(float distance){
s_SC_PC_CmdMenu menu;
SC_PC_GetCommandMenu(&menu);
menu.flags = SC_PC_CMDMENU_FL_ENABLEMEDIC | SC_PC_CMDMENU_FL_ENABLEAMMO;
menu.medik_max_call_distance=distance;
menu.ammo_max_call_distance=distance;
SC_PC_SetCommandMenu(&menu);
}
void Menu_DisableMedicEng(){
s_SC_PC_CmdMenu menu;
SC_PC_GetCommandMenu(&menu);
menu.flags = 0;
SC_PC_SetCommandMenu(&menu);
}
_________________________________________________________________________________________
- it could depend on INI files
- it could be important to study from line 371 of inc\Maxovo\uni_soldier.cxx
- note that in definitions of inc\shigor\ussoldier.cxx and vcsoldier.cxx there are many differences: in VC medic and engineer are enabled, while in US there are no comments about them
THANKS in ADVANCE for COOPERATION
Mauro