MigAndresC Posted September 15, 2014 Share Posted September 15, 2014 Buenas. He estado intentando crear mi propio módulo de definición para el editor de mapas, he avanzado lentamente fijándome del recurso race. Noté que en el archivo de definición (.edf) se cargaron unos cuantos scripts (de la misma manera que se hace en "meta") así que seguí la corriente e hice lo mismo en mi módulo. El problema viene en que en meta.xml yo coloco: >true> Lo cual me permite trabajar con OOP, pero esto no me sirve en el archivo .edf Este es el código: name="Vehicle Spawn Manager"> >true> ="classy.lua" type="shared" /> ="table.lua" type="shared" /> ="functions.lua" type="shared" cache="false" /> ="VehicleClass.lua" type="shared" cache="false" /> ="VehicleClasses.lua" type="shared" cache="false" />> ¿Cómo puedo trabajar con el OOP en el .edf? Link to comment
Castillo Posted September 15, 2014 Share Posted September 15, 2014 La verdad que no te entiendo, porque no podes usar OOP para hacer lo que necesitas? Link to comment
MigAndresC Posted September 16, 2014 Author Share Posted September 16, 2014 Precisamente esa es la pregunta, ¿por qué no puedo usar POO en los scripts que usa el .edf? Los scripts que utiliza el .edf son VehicleClass.lua y VehicleClasses.lua (entre otros) y cuando intento usar POO en ellos me sale como error que no existen los objetos que normalmente define MTA por defecto. Por ejemplo, no puedo utilizar este método (no confundir funciones con métodos, hablo de XML.load()): https://wiki.multitheftauto.com/wiki/XmlLoadFile Porque según el error no existe XML. Posiblemente lo esté haciendo todo mal, agradecería si alguien me pudiera dar un ejemplo... Link to comment
MTA Team 0xCiBeR Posted September 16, 2014 MTA Team Share Posted September 16, 2014 Buenas. He estado intentando crear mi propio módulo de definición para el editor de mapas, he avanzado lentamente fijándome del recurso race. Noté que en el archivo de definición (.edf) se cargaron unos cuantos scripts (de la misma manera que se hace en "meta") así que seguí la corriente e hice lo mismo en mi módulo. El problema viene en que en meta.xml yo coloco: >true> Lo cual me permite trabajar con OOP, pero esto no me sirve en el archivo .edf Este es el código: name="Vehicle Spawn Manager"> >true> ="classy.lua" type="shared" /> ="table.lua" type="shared" /> ="functions.lua" type="shared" cache="false" /> ="VehicleClass.lua" type="shared" cache="false" /> ="VehicleClasses.lua" type="shared" cache="false" />> ¿Cómo puedo trabajar con el OOP en el .edf? Tu meta esta mal estructurado. Fijate donde estas poniendo el OOP. Link to comment
MigAndresC Posted September 16, 2014 Author Share Posted September 16, 2014 Tu meta esta mal estructurado. Fijate donde estas poniendo el OOP. Disculpa pero, ¿podrías explicarme donde debería ir el oop? En el meta.xml del recurso, el oop está ubicado justo antes de los scripts y todo funciona normalmente (puedo usar los métodos). El problema está en el .edf (https://wiki.multitheftauto.com/wiki/Re ... Editor/EDF) donde intento cargar varios scripts que usan los nuevos métodos y no funciona el oop. Este .edf no depende del meta hasta donde yo se, el .edf no carga los mismos scripts que carga el meta. Aclarado que no estoy trabajando en el meta, ¿en que parte del .edf debería ir el true? Y si no va allí (en el .edf), ¿donde debería ir? Link to comment
MTA Team 0xCiBeR Posted September 16, 2014 MTA Team Share Posted September 16, 2014 <!-- MUCHAS COSAS AQUI --> <oop>true</oop> <script src="classy.lua" type="shared" /> <script src="table.lua" type="shared" /> <script src="functions.lua" type="shared" cache="false" /> <script src="VehicleClass.lua" type="shared" cache="false" /> <script src="VehicleClasses.lua" type="shared" cache="false" /> Todo eso va en el meta.xml. En resumen estas definiendo cosas donde no van. Saca todo eso de tu EDF y metelo en tu meta.xml EDF sigue este formato y corresponde a un archivo .edf <def name="Capture the Orb"> <element name="orb" friendlyname="Orb spawnpoint" instructions="Place your orb in a position that can be collected."> <data name="position" type="coord3d" default="0,0,0" /> <marker size="0.5" type="corona" color="#ffff00ff" /> </element> <element name="objective" friendlyname="Objective point" instructions="Place your objective point in a position that can be reached."> <data name="position" type="coord3d" default="0,0,0" /> <marker size="3" type="cylinder" color="#9370dbaa" /> </element> <element name="spawnpoint" friendlyname="Spawnpoint"> <object editorOnly="true" model="3092" posZ="1" /> <data name="position" type="coord3d" default="0,0,0" /> <data name="rotation" type="coord3d" default="0,0,0" /> <data name="skin" type="skinID" default="0" /> </element> </def> Link to comment
MigAndresC Posted September 16, 2014 Author Share Posted September 16, 2014 Entiendo. Me surgen muchas dudas... estaba siguiendo el formato del recurso race, donde está este .edf name="Race"> name="racepickup" friendlyname="Race pickup" icon="edf/pickup.png"> name="position" type="coord3d" default="0,0,0" /> name="type" type="selection:nitro,repair,vehiclechange" description="The type of pickup. Can repair the vehicle, add a Nitro, or change the player's vehicle" default="nitro" /> name="respawn" type="integer" default="0" description="The respawn time in miliseconds" /> name="vehicle" type="vehicleID" default="522" description="The vehicle model, if a vehiclechange pickup" required="false" /> model="2221" position="0,0,0" /> model="1234" position="0,0,0" editorOnly="true" alpha="0"/> position="0,0,0" type="corona" color="#00000000" editorOnly="true"/> > ="edf/edf.lua" /> ="edf/edf_client.lua" type="client" /> ="edf/edf_client_cp_lines.lua" type="client" />> Eso funciona, de verdad lo único que no funciona es el oop. Incluso tengo agregada la etiqueta (true) en el meta.xml del recurso que contiene el edf pero no hace efecto EN LOS SCRIPTS QUE CARGA EL .EDF No quiero ponerlo todo en el meta.xml porque no quiero cargar los scripts específicos al .edf cuando se cargue el recurso sin el editor de mapas, es decir, pretendía separar los scripts del recurso normal (meta.xml) de los scripts del editor (.edf). Si no es posible no hay problema. Desde ya agradezco la ayuda que me han dado y me disculpo por molestar tanto. Link to comment
Recommended Posts