Jump to content

[DUDA] Nueva funcionalidad OO y recurso edf


MigAndresC

Recommended Posts

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

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
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
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

  
<!-- 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

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...