SetupArrayProps R: array prop '(null)' is at index zero/es
Definición
Si tienes este error del motor gráfico tras iniciar el mod, debes de estar iniciando Obsidian Conflict con la configuración incorrecta de binarios del motor gráfico (para los curiosos, Source Engine 2009 en vez de Source Engine 2007. Obsidian Conflict corre bajo Source SDK Base 2007 ya que VALVe aún tiene que lanzar Source SDK Base 2009 al público).
Resolución
Para resolver este problema, abre gameinfo.txt (no confundir con gameconfig.txt) dentro de tu carpeta obsidian (en Steam/steamapps/sourcemods para los que no lo sepan). Deberías ver lo siguiente:
"GameInfo" { game "Obsidian Conflict 1.35" title "OBSIDIAN CONFLICT 1.35" title2 "OBSIDIAN CONFLICT 1.35" type multiplayer_only nomodels 0 nohimodel 1 nocrosshair 1 hidden_maps { "test_speakers" 1 "test_hardware" 1 } developer "Obsidian Conflict Team" developer_url "http://obsidianconflict.net" manual "http://wiki.obsidianconflict.net" icon "resource/obsidian" FileSystem { SteamAppId 218 // This will mount all the GCFs we need (240=CS:S, 220=HL2). ToolsAppId 211 // Tools will load this (ie: source SDK caches) to get things like materials\debug, materials\editor, etc. // // The code that loads this file automatically does a few things here: // // 1. For each "Game" search path, it adds a "GameBin" path, in <dir>\bin // 2. For each "Game" search path, it adds another "Game" path in front of it with _<langage> at the end. // For example: c:\hl2\cstrike on a french machine would get a c:\hl2\cstrike_french path added to it. // 3. For the first "Game" search path, it adds a search path called "MOD". // 4. For the first "Game" search path, it adds a search path called "DEFAULT_WRITE_PATH". // // // Search paths are relative to the base directory, which is where hl2.exe is found. // // |gameinfo_path| points at the directory where gameinfo.txt is. // We always want to mount that directory relative to gameinfo.txt, so // people can mount stuff in c:\mymod, and the main game resources are in // someplace like c:\program files\valve\steam\steamapps\half-life 2. // SearchPaths { Game |gameinfo_path|. Game |all_source_engine_paths|hl2 } } }
Paso uno
Lo primero que hay que comprobar es los AppId montados. Esto viene referido en la siguiente parte del fichero:
FileSystem { SteamAppId 218 // This will mount all the GCFs we need (240=CS:S, 220=HL2). ToolsAppId 211 // Tools will load this (ie: source SDK caches) to get things like materials\debug, materials\editor, etc.
SteamAppId Solo debería ser 218, y ningún otro. Si no lo fuera, cambialo a este valor.
ToolsAppId Solo debería ser 211, y ningún otro. Si no lo fuera, cambialo a este valor.
Nota: AdditionalContentID, si está presente, es ignorado por Obsidian Conflict.
Step Two
Next, check the search path configuration. This refers to the following block in the file:
SearchPaths { Game |gameinfo_path|. Game |all_source_engine_paths|hl2 }
This block defines how Obsidian Conflict searches for a file to load. For the sample above, the mod will first search for the file inside the obsidian folder, before falling back to the GCFs.
Only the above two lines should be listed in this block (the only exception will be the use of the Metamod: Source plugin, but that is beyond the scope of this article). If there are excess lines, remove them to return to this configuration.
Step Three
Once both the above blocks are checked and reverted to their proper values, save the file and restart Steam. The issue should now be resolved.