Jump to content

Alexs

Members
  • Posts

    2,869
  • Joined

  • Last visited

Everything posted by Alexs

  1. Alexs

    Desvalorización

    Creo que es importante considerar el uso que se da al producto. Los servidores que generan ingresos significativos son muy contadas excepciones, por lo que el gasto en recursos no es una inversión ni nada similar y difícilmente alguien dejaría una cantidad importante de dinero en algo que, en cualquier caso, es un hobbie. Además no se puede ignorar que la mayoría de usuarios de MTA es joven y no tienen ingresos más allá de lo que puedan entregarle sus padres. Con esas dos cosas en consideración, sería muy difícil que la cantidad de dinero que se maneja en MTA cambie.
  2. Sobre la distinción entre cliente y servidor, puede que en un comienzo parezca confusa, pero resulta más clara si lo piensas como un sitio web: Por un lado tienes la página web (el front-end) en que es visible toda la interfaz con la que el usuario puede interactuar, mientras que "detrás" tienes el servidor (back-end) que puedes pensar como un cúmulo de información disponible para todos los usuarios. Entonces, el cliente es una suerte de caja cerrada a la que otros clientes no pueden acceder directamente. Si el ejemplo no es claro, la distinción está mejor explicada acá: https://www.cloudflare.com/learning/serverless/glossary/client-side-vs-server-side/ En tu caso, la recomendación general es que el dinero de los usuarios se asigne en el lado del servidor, para esto puedes utilizar setPlayerMoney. Por último, sin ánimos de remarcar lo evidente, notarás que existen diferentes sintaxis en algunas funciones, dependiendo de si se utilizará en el lado del cliente o del servidor, por lo que sugiero prestar atención a la documentación de la wiki para evitar problemas relacionados a ello.
  3. Almacena los vehículos en una tabla que utilice al jugador cómo índice, así puedes tener control sobre varios a la vez. Si publicas el trozo de código en que creas y en que destruyes el vehículo, podemos ayudarte con un ejemplo más concreto.
  4. Para reproducir un archivo de audio es sencillo, solo debes usar playSound.
  5. Creo que tampoco comprendí la situación por completo, así que daré algunas ideas generales. Si la intención es mantener una referencia a la cantidad de tiempo que algo lleva activo, mantener un conteo de esto no es la mejor opción posible, pues fácilmente puede desincronizarse o generar problemas de eficiencia. Por el contrario, sugiero almacenar referencias temporales, por ejemplo, si quisieras saber cuanto tiempo lleva el jugador activo, guardas la fecha y hora en que el jugador se conectó y calculas el tiempo transcurrido hasta el momento actual. Si quisieras almacenar la cantidad total que un jugador ha estado activo en toda la historia, entonces tomas el momento en que se conectó y el momento en que se desconectó, calculas la distancia entre ambos momentos y la sumas a la cantidad que el jugador previamente ha estado activo. Puede sonar lioso al principio, pero se simplifica una vez que decides una manera para obtener referencias temporales, de las cuales hay muchas, nombraré algunas palabras clave que puedan servir para buscar documentación: datetime, timestamp, tick count. En cualquier caso, también puedes mostrarnos tu código a ver lo que falla con tu método, si es que prefieres no modificarlo demasiado.
  6. En general se usa setCameraMatrix y alguna animación, que puedes generar con interpolateBetween o usando funciones de easing, también algunos prefieren usar un objeto que es más fácil de animar con moveObject. Si quieres una respuesta más detallada, podrías dar una descripción de lo que tengas en mente.
  7. Esa función está obsoleta, por lo que es preferible sugerir setPlayerHudComponentVisible. setPlayerHudComponentVisible ( 'radar', false )
  8. Prueba con reemplazar las líneas 30 a la 35 con esto: addEventHandler("onBotWasted", root, function () if (source == nemesi) then local x, y, z = getElementPosition(source) createExplosion(x, y, z, 9) destroyElement(myBlip) end end )
  9. Esta no es la sección para esto, la próxima vez publica en Scripting. Por lo demás, ¿podrías publicar tu meta.xml? No veo ningún error a simple vista y supongo que no es un error de los archivos, así que pienso que tal vez lo estás cargando del lado del servidor y no del cliente, debes especificar que sea: <script {...} type="client" />
  10. Lxs que tenemos antigüedad en MTA sabemos lo difícil que es sostener un servidor de RP por lo sucia que llega a ser la competencia con otros servidores, así que te deseo toda la suerte del mundo jeje
  11. Alexs

    Debug Setting

    No se me ocurre alguna manera de saberlo directamente, pero quizá sea una buena estrategia comprobar si los shaders y las texturas fueron aplicadas correctamente, pues me imagino (no lo he comprobado) que utilizando esa configuración, las funciones para modificar texturas o aplicar shaders debiesen fallar (y, por tanto, devolver false).
  12. ¿No estás conectado mediante un VPN o proxy? Ese código no es porque tengas lag, sino por la detección de alguna herramienta/software/programa (como quieras llamarle) para manipular tu latencia.
  13. Alexs

    Atraer Jugador

    En vez de interpolateBetween, recomiendo usar la formula nativa de la función de interpolación, adjunto una librería que resulta más eficiente y la fuente de las funciones: https://github.com/EmmanuelOga/easing http://robertpenner.com/easing/
  14. Usa setPedFightingStyle y getPedFightingStyle.
  15. Que bueno ver un username conocido alguna vez. También estoy alejado de MTA, pero tengo la sensación de que las mejoras más relevantes han sido el añadir luces (createLight), la implementación de CEF y las mejoras a funciones que a veces resultaban poco estables (dbQuery/dbExec), además de algunas utilidades interesantes para desarrolladores, como el fakelag.
  16. Hola a todos, perdón si posteé en el subforo equivocado. Seré breve: Hace aproximadamente un año y medio hice un recurso que reemplazaba varias casas por su versión hueca (con interior en la dimensión principal), ¿se lo compartí a alguno de ustedes o existe algún recurso público similar? Lo busco para evitar hacer varias correcciones de coordenadas de nuevo. Gracias.
  17. Existe una función llamada processLineOfSight; su particularidad es que detecta lo que hay entre dos posiciones considerando incluso partes del mapa de San Andreas, es una función pesada pero de las más detalladas que provee MTA. Puedes modificar el comportamiento del slothbot para que se reposicione si existe algo bloqueando el trayecto.
  18. Por una parte puede ser para emular programación orientada a objetos y por otra (difícilmente en MTA) para simular entornos aislados, sin embargo, ni en Lua ni en MTA son buenas opciones, sobre todo la primera, pues no estamos en un lenguaje pensado para eso y ocasiona malgaste de recursos.
  19. Alexs

    ¿Cuanto cobrar?

    Yo que estuve durante bastante tiempo escribiendo recursos por dinero, puedo decir que estoy de acuerdo con @Arsilex, sin embargo, no creo que alguien pueda ganarse la vida siendo scripter en MTA. Actualmente estoy estudiando y eso me gasta mucho tiempo, pero he obtenido muchas más ganancias ayudando en la programación de juegos independientes que con recursos para MTA y ahora pronto apostaré por una alternativa que me parece será aun más rentable. Así que eso, hay que ser moderado, quizá no sea bueno trabajar por amor al código y cobrando barato, pero tampoco hay que exagerar los precios, que el scripting no es algo tan esforzado ni que lleve tantas horas.
  20. Crear shaders y modelos debe ser la forma más innovadora de aportar a la comunidad. Me gusta mucho.
  21. No sé si muriendo o no, pues hace tiempo no entro a jugar, pero estas fechas son excelentes para empezar a desarrollar un modo de juego y tener listo el lanzamiento para diciembre, que es la fecha en que efectivamente comienza a haber más movimiento.
  22. A mi me gustaba mucho este servidor.
  23. Si, es posible utilizando un renderTarget y dxDrawMaterialLine3D. En general los shaders se utilizan para transformación compleja de colores a nivel de GPU y para cosas como esta deben utilizarse las posibilidades directas que entrega la librería gráfica (todas esas funciones que empiezan por dx, jé).
  24. Creo que te refieres a archivos de extensión .ifp. Hasta dónde tengo entendido aún no se pueden reemplazar estos archivos ya que cuando se implementó ocasionaba errores como modificaciones arbitrarias y aunque ha aparecido en el roadtrack de desarrollo varias veces, no se ha concretado. Sin embargo, ya que hay una librería de animaciones bastante extensa en GTA San Andreas, quizá la alternativa de @vinexX sea lo más prudente.
  25. Me parece excelente que al fin existan verdaderos aportes en esta sección, más aún cuando estos son recursos tan buenos como éste. Gracias por el aporte.
×
×
  • Create New...