Jump to content

Posts Recomendados

Publicado

Bueno inglaterra esta siendo la pesadilla que me imaginé, incluso con mas trabas, las ciudades de nacimiento apenas salen en la base de datos, los primeros perdia tiempo en buscar zonas mas cercanas, ya no, directamente si no sale, les meto en la ciudad del club que debutan.

Otro de los problemas es que tengo mas datos que en el resto de competiciones, hasta 40-50 años mas atras que alemania por ejemplo.

Y el ultimo problema es que tienen tantos vaivenes los clubs que juzgar en que epoca estan los jugadores tambien si lo miro al dedillo me retraso mas aun. Uso una pagina que me admite guardar en favoritos 500 jugadores, y ahi guardo los que ya he metido y estan en otros clubs que no he mirado en otro momento, al cargar me salian con estrella y ya no perdia el tiempo mirando mas, pues tambien al garete, tienen tanto vaiven de jugadores que se me ha llenado ya con los 500 espacios usados, con lo cual hasta que no vayan saliendo los que ya estan no me deja meter mas, otro problema.

Lo bueno es que de casualidad me encontre con una pelicula muy entretenida -the damned united- se llama, si podeis mirarla. Trata sobre el futbol ingles de los 60-70, en especial leeds y derby county y me ha hecho especial ilusion al empezarla ver que jugadores que estan en la base de datos salen en ella, y eso que aun no he llegado a esos clubs

Las buenas noticias, no todo puede ser malo, que hoy acabare el west ham y estoy mas o menos dentro de lo pensado, los inicios son los mas duros (empiezo por los equipos que mejor quedaron la temporada pasada) y luego van sobre ruedas porque suelen bajar las temporadas de los que van por zonas bajas, y ya los ascensores ni te cuento. Aunque inglaterra me da miedo que no sea asi.

De momento city, arsenal, liverpool, aston villa, totheham, chelsea, newcastle y manchester liquidados. Aston villa a punto de caramelo y 400 ingleses ya estan en la lista deseando estar en vuestros pcs volver al cesped. (esta liga tambien esta haciendo crecer mucho escocia (supera los 100), y en menor medida eire, irlanda del norte y wales, pero tambien estan subiendo entre los 3 superan ya los 100 tambien

Ya queda menos chavales, un poco paciencia.

  • Like 2
  • ¡Gracias! 2
Publicado

Hola edneud11FELICIDADES POR EL TRABAJAZO HECHO!!!!, he leído todos los comentarios desde el inicio, sois todos unos cracks. Yo también una vez se retiraban los jugadores actuales me "aburria" bastante, y desde hace 3 años o 4 juego con Leyendas, y vos buscando siempre base de datos más completas y con más jugadores. Cuando lo tengas acabado se podrá buscar en Workshop de Stem por ejemplo?, desde allí es muy fácil luego incluir en las partidas nuevas, Un abrazo y gracias por todo!!!! Espero que estes del todo recuperado de la cadera ;-) 

  • Like 2
Publicado (editado)
El hace 53 minutos, EmilioR24 dijo:

Hola edneud11FELICIDADES POR EL TRABAJAZO HECHO!!!!, he leído todos los comentarios desde el inicio, sois todos unos cracks. Yo también una vez se retiraban los jugadores actuales me "aburria" bastante, y desde hace 3 años o 4 juego con Leyendas, y vos buscando siempre base de datos más completas y con más jugadores. Cuando lo tengas acabado se podrá buscar en Workshop de Stem por ejemplo?, desde allí es muy fácil luego incluir en las partidas nuevas, Un abrazo y gracias por todo!!!! Espero que estes del todo recuperado de la cadera ;-) 

Hola Emilio!! La cadera algo mejor la verdad aunque no al 100%, a ver como salgo de esta semana de noche del trabajo que me suele joder medio cuerpo 😁 y la cabeza entera.

Supongo que te refieres a Steam no? Yo no tengo problema en compartirla allí si no le importa a @Black_River , que de hecho le tengo que preguntar aún donde y como la pongo aquí. Lo que si me harías un favor es si me buscas como se hace, porque steam apenas si lo he usado, y si me buscas como hacerlo de manera sencilla pues lo incluyo allí sin problema.

Las leyendas que jugabas las hacías tu o eran bases de datos que pillabas por internet? Me gustaría saber los que habéis buscado archivos así con que material os habéis encontrado? es decir que amplitud tenían en cuanto a jugadores.

Esta en concreto va a pasar de 6000 jugadores, desconozco si las habrá mas grandes por ahí, o mejores, y me gustaría un poco saber como andará en la batalla. Y mi idea con ella es mantenerla viva, pero para ello os voy a necesitar a todos los que la uséis reportándome fallos que encontreis, incluso me haria ilusión que aunque no los encontreis (que los hay porque yo los estoy viendo y corrigiendo a medida que veo) conteis como os van las partidas, subais pantallazos, ver como varian jugadores de unas partidas a otras para entender un poco como funciona el mundo del regen ya que no deja de ser aleatorio, y nos podemos encontrar con un platini que parezca un Makelele que sea un portento fisico o que sea un platini de verdad un portento tecnico. En este sentido creo que estara relacionado con la altura que haya mas opciones de una cosa u otra, pero por eso me gustaria ver lo que os va saliendo.

La idea será dividirlos en 14 temporadas sus nacimientos, totalmente aleatorios en el momento que se lo asigne. ¿Porque 14? Pues porque quiero hacer que la base de datos sea doble, es decir los duplicare, el que nazca en el 2008, volveria a nacer a los 15 años, en el 2023, el que nazca en el 2014 volveria a nacer en el 2029, y para eso necesito que su yo mas "viejo" este retirado o en las puertas. Si nacen con 16-17-18 años le meto 15 y se me van a 31-33 años y le añado los 2 o 3 que van a necesitar para llegar al primer equipo a priori, pues casi que el otro quedo retirado. Además de esta manera no estareis en el primer año buscando a messi con el buscador 😁 poner a trabajar a los ojeadores holgazanes, lo mismo lo teneis que esperar 15 años, eso lo eligira el destino.

Ademas asi quedan repartidos por el tiempo y nos queda sin duplicar que los ultimos nacen en 2022, con lo cual entran en el juego 2038-2040 (creo que depende del pais) y ya se puede jugar hasta el 2055 sin problemas. Duplicando pues nos iriamos al 2068 ... tendriais valor de llegar a ese año?

Ah y tengo la idea de meter algun REGEN falso, de mi grupo de musica favorito, en paises aleatorios poco futbolisticos y con calidades altas 🤗 no sean los mejores del juego pero si estaran en un nivel que todos querran tener en sus plantillas, os tocara buscarlos. Será mi pequeña firma a esta base de datos, espero me permitais la licencia.

 

Sobre como va inglaterra? Llevaré unos 21 equipos, y estoy empezando a recoger los que descienden, pero de momento me estoy encontrando con trasatlanticos de muchas temporadas que relantizan el tiempo empleado, pero tambien enriquecen la base de datos. Cuando empece hace unos días inglaterra tenia 75 jugadores, y ahora mismo pasa de 550. Se me está yendo de las manos, creo que superara los 750.

Una vez terminada tocara carga de partida e ir viendo jugadores que salen en categorias bajas, desde 3 division sueca, hasta la vanarama, 3 REF españa, 3 argentina ... ver si salen en la partida, y en caso de que no salgan en esos equipos cambiarlos y probar al siguiente equipo que jugaron y volver a cargar. También me encontre con algo raro, es que los primeros jugadores que tengo tienen mal muchos la fecha de nacimiento, lo he visto a medida que me han ido cargando en las busquedas, y toca corregirlo o intentarlo al menos que se me vayan los minimos posibles, por suerte estan en la parte de arriba de cada pais y estan localizados, aunque tambien me llevara algo de tiempo en las busquedas, lo mismo saco utilidad a alexa y todo y la voy preguntando.Y ademas la mayoria de esos jugadores que meti usando besoccer tienen el primer equipo que aparece en besoccer que no es el primer equipo real en casi ningun caso.

Los pesos los iba a retocar tambien, no me como la cabeza porque el juego esta sacando el peso que le viene en gana, y la altura creo que tambien la esta variando unos cm arriba o abajo. Un trabajo menos.

Los equipos historicos, se iran a la siguiente ronda de actualizacion, que sera para el FM25 o 26, por si acaso no usan el mismo sistema, y los voy haciendo poco a poco una vez termine esto, sin prisa ni presión por acabarlo ya, que aqui me he ido de plazo.

Y todo esto pues no se ya cuando deciros que estará, hare todo lo posible porque se suba el fin de semana del 1-2 febrero, pero manda inglaterra, y el tiempo que esta semana al estar de noche me escasea. Si empiezan a salirme equipos con pocas temporadas pues ira rapido, pero me estan saliendo de momento autenticos trasatlanticos que tienen muchas temporadas y calidad y eso relantiza los tiempos pensados. Hasta ahora coger ya los descendidos me solia encontrar con 3/4 maximo por pais de estos duros, y 20-30 equipos que mirabas entre 3 y 15 temporadas, pero en inglaterra creo que va a ser peor que eso, aunque hare lo que pueda para que este pais suba bastante completo.

 

Editado por edneud11
  • ¡Gracias! 2
Publicado

Me alegro que estes mejor!!, si, disculpa Steam, no se puede escribir sin gafas🤓

Espero ayudarte con lo que te paso. Un abrazo y gracias por todo el trabajo!!

 

Las leyendas con las que aún juego las cogía directamente desde Workshop de Steam:

https://drive.google.com/drive/folders/1hb59z-NZyy8Z2puB0zfHZp1DroY-hR-N?usp=drive_link 

A ver si puedes ver las capturas de pantalla de distintas base de datos de Leyendas en Steam, la que presuntamente tiene más son 1000 jugadores...
 

https://partner.steamgames.com/doc/features/workshop/implementation?l=spanish  No se si es sencillo o no para alguien con tus conocimiento, para mi es chino🤪 si no te funciona el enlace, pego aquí lo que dice:

 

Guía de implantación de Steam Workshop
 

Introducción

Steam Workshop es un sistema de almacenamiento backend y páginas web frontend que permite almacenar, organizar, ordenar, valorar y descargar contenido para tu juego o aplicación.

Esta página incluye detalles técnicos relativos a la implantación de Steam Workshop en tu título. Si necesitas información y definiciones sobre los distintos tipos de integración de Workshop que se pueden usar y cómo sacar el máximo partido a las herramientas de Steam, consulta Steam Workshop antes de iniciar el proceso de integración en tu juego.

En una configuración típica, los usuarios del juego utilizarán las herramientas que les proporciones junto con él para modificarlo o crear contenido totalmente nuevo. A continuación, enviarán este contenido a Steam Workshop utilizando un formulario integrado en tu herramienta. Luego, otros clientes podrán navegar, ordenar, calificar y suscribirse a los elementos que deseen agregar a tu juego al ir a Steam Workshop en la comunidad de Steam. Hecho esto, dichos artículos se descargarán a través de Steam. Si te has registrado para la función callback ISteamUGC::ItemInstalled_t dentro de su juego, puedes llamar a ISteamUGC::GetItemInstallInfo para obtener la ubicación instalada y leer los datos directamente desde esa carpeta. El juego reconocerá el nuevo contenido en una manera que tenga sentido para el juego y el contenido creado.

Tipos de Steam Workshop, monetización y buenas prácticas

Si necesitas más información y definiciones sobre los distintos tipos de integración de Workshop que se pueden usar y cómo sacar el máximo partido a las herramientas de Steam, consulta la documentación de Steam Workshop.

Gestión de la visibilidad de Steam Workshop

Steam Workshop es un sitio web hospedado en Steam que reúne contenido compartido por la comunidad y permite a los usuarios votar y opinar sobre él. De forma predeterminada, las aplicaciones no son visibles en Workshop. Esto evita que el contenido que no se pretende compartir a través del portal de Steam Workshop sea visible a menos que el Workshop esté configurado como público.
Establece el estado de visibilidad del Workshop a través de los siguientes pasos:
  1. Dirígete a la página principal de la aplicación en el sitio web de Steamworks.
  2. Haz clic en Editar configuración de Steamworks
  3. Desde la pestaña Workshop, selecciona General
  4. En el lado derecho de la página, busca la sección Estado de visibilidad.
  5. Usa los botones de opción para seleccionar el nivel de visibilidad deseado, que puede incluir solo desarrolladores, desarrolladores y probadores, clientes, desarrolladores y todos.
  6. Desde la pestaña Publicar, haz clic en Preparar para publicar.
  7. Haz clic en Publicar en Steam y completa el proceso para publicar el cambio.
Nota: Para cambiar el estado de visibilidad a Todos, hay que realizar una serie de comprobaciones de Workshop relacionadas con la personalización del logotipo, el título y la descripción. Además, debe haber un artículo visible para el público, como mínimo.

Resumen técnico

El proceso de compartir y consumir contenido generado por el usuario es mediante la API ISteamUGC que se puede encontrar en Steamworks SDK. Los métodos que incluye conforman un modo de compartir artículos de Workshop, que luego se pueden descubrir a través de Steam Workshop o desde dentro de las propias aplicaciones.

Se debe acceder a la API de Workshop a través del puntero que se devuelve desde SteamUGC().

Ejemplo:
SteamAPICall_t hSteamAPICall = SteamUGC()->CreateItem( SteamUtils()->GetAppID(), k_EWorkshopFileTypeMicrotransaction );

Habilitar ISteamUGC para un juego o aplicación

Antes de que se puedan subir artículos de Workshops al backend de Steamworks hay que realizar dos pasos previos: configurar las cuotas de Steam Cloud y habilitar la API de ISteamUGC.

Steam Cloud se usa para almacenar las imágenes de vista previa asociadas a los artículos de Workshop. La cuota de Steam Cloud se puede configurar siguiendo estos pasos:
  1. Navega a la página Configuración de Steam Cloud en el panel de administración de la aplicación.
  2. Establece la Cuota de bytes por usuario y el Número de archivos permitidos por usuario en los valores adecuados para el almacenamiento de imagen de la vista previa.
  3. Hacer clic en Guardar
  4. Desde la pestaña Publicar, haz clic en Preparar para publicar.
  5. Haz clic en Publicar en Steam y completa el proceso para publicar el cambio.

Habilitar la API ISteamUGC se puede llevar a cabo con los siguientes pasos:
  1. Navega a la página Configuración de Steam Workshop en el panel de administración de la aplicación.
  2. Busca la sección Opciones de configuración adicionales.
  3. Comprueba en Activar ISteamUGC para la transferencia de archivos.
  4. Hacer clic en Guardar.
  5. Desde la pestaña Publicar, haz clic en Preparar para publicar.
  6. Haz clic en Publicar en Steam y completa el proceso para publicar el cambio.
Una vez establecidos estos ajustes, se puede subir contenido a Workshop usando la API.

Crear y subir contenido

El proceso de crear y subir contenido a Workshop es sencillo y repetible, como se puede ver en el siguiente diagrama de flujo.

ISteamUGCFlow-CreateUpload-Web2.png

Crear un artículo de Workshop

  1. Todos los elementos del Workshop comienzan su existencia con una llamada a ISteamUGC::CreateItem
    • La variable nConsumerAppId debe contener el id. de la aplicación para el juego o la aplicación. No se debe pasar el id. de aplicación de la herramienta con la que se creó el artículo de Workshop si tiene un id. distinto.
    • EWorkshopFileType es un tipo de enumeración que define cómo se compartirá el archivo compartido con la comunidad. Los valores válidos son:
      • k_EWorkshopFileTypeCommunity:este tipo de archivo se usa para describir los archivos que los usuarios cargarán y estarán disponibles para descargar por cualquier miembro de la comunidad. Normalmente, se usa para compartir mods creados por los usuarios.
      • k_EWorkshopFileTypeMicrotransaction: este tipo de archivo se usa para describir los archivos que los usuarios cargan, pero que solo pretende que el juego considere agregar contenido oficial. Estos archivos no serán descargados por los usuarios a través del Workshop, pero la comunidad podrá verlos para calificarlos.
        Esta es la implementación que usa Team Fortress 2.
  2. Registra un controlador de resultados de llamadas paraCreateItemResult_t
  3. Primero verifica m_eResult para asegurarte que el artículo se haya creado correctamente.
  4. Cuando se ejecute el manejador de resultados de llamadas, lee el valor m_nPublishedFileId y almacénalo para futuras actualizaciones del elemento del Workshop (por ejemplo, en un archivo de proyecto asociado con la herramienta de creación).
  5. La variable m_bUserNeedsToAcceptWorkshopLegalAgreement debe verificarse y, si es true, se debe redirigir al usuario para que acepte el acuerdo legal. Consulta la sección Acuerdo legal del Workshop para obtener más detalles.

Subir un artículo de Workshop

  1. Una vez que se ha creado un artículo de Workshop y se ha devuelto un valor de PublishedFileId_t, el contenido del artículo de Workshop se puede rellenar y cargar en Steam Workshop.
  2. La actualización de un artículo comienza con una llamada a ISteamUGC::StartItemUpdate
  3. Utilizando UGCUpdateHandle_t que se devuelve desde ISteamUGC::StartItemUpdate, se pueden realizar llamadas para actualizar el Título, Descripción, Visibilidad, Etiquetas, Contenido del artículo e Imagen de vista previa del artículo, a través de los diversos métodos ISteamUGC::SetItem[...].
  4. Una vez que se hayan completado las llamadas de actualización, llamando a ISteamUGC::SubmitItemUpdate iniciará el proceso de carga al Steam Workshop.
    • Registra un controlador de resultados de llamadas para SubmitItemUpdateResult_t
    • Cuando se ejecute el controlador de resultados de la llamada, verifica m_eResult para confirmar que la carga se ha completado correctamente.
    • Nota: No existe ningún método para cancelar la actualización y carga del artículo una vez que se llama a la función.
  5. Si lo desea, puedes seguir el progreso de la carga utilizando ISteamUGC::GetItemUpdateProgress
    • EItemUpdateStatus: define el progreso de la carga y la actualización.
    • punBytesProcessed y punBytesTotal se pueden usar para proporcionar información para un control de interfaz de usuario, como una barra de progreso para indicar el progreso de la carga.
    • punBytesTotal puede actualizarse durante el proceso de carga en función de la etapa de actualización del elemento.
  6. Al igual que cuando se crea un artículo de Workshop, se debe confirmar que el usuario ha aceptado el acuerdo legal. Esto es necesario en los casos en que el usuario no creó inicialmente el artículo, pero está editando un artículo existente.

Notas adicionales

  • Anteriormente, los artículos de Workshop se definían como archivos individuales. Con ISteamUGC, un artículo de Workshop es la representación de una carpeta de archivos.
  • Si un artículo de Workshop requiere más metadatos para las aplicaciones que lo utilizan, puedes adjuntar metadatos al artículo con la llamada a ISteamUGC::SetItemMetadata. Estos metadatos se pueden devolver en consultas sin tener que descargar e instalar el contenido del elemento.
    Anteriormente te sugerimos que guardes estos metadatos en un archivo dentro de la carpeta de elementos del Workshop, lo que, por supuesto, aún puedes hacer.

Consumo de contenido

El consumo de contenido de Workshop entra en dos categorías: suscripción de artículos e instalación de artículos.

Suscripción de artículos

La mayoría de las suscripciones a un artículo de Workshop se realizarán a través del portal de Steam Workshop. Es una ubicación conocida, común a todos los juegos y aplicaciones. Por eso, los usuarios suelen recurrir al sitio de Workshop para buscar artículos y suscribirse a ellos.

No obstante, ISteamUGC ofrece dos métodos para suscribirse y anular la subcripción de forma programática a artículos de Workshop para permitir la gestión de suscripciones en el juego.
  • ISteamUGC::SubscribeItem: suscribirse a un elemento del Workshop. Se descargará e instalará en cuanto sea posible.
  • ISteamUGC::UnsubscribeItem: anular la suscripción de un elemento del taller. Con esto, el artículo se eliminará tras salir del juego.

Existen dos métodos adicionales para enumerar los artículos a los que está suscrito un usuario.

Recibir notificaciones de acciones de suscripción externas

Es posible recibir notificaciones del juego cuando un usuario se suscribe o anular suscripción de un archivo por cualquier mecanismo (por ejemplo, ISteamUGC, el sitio web de Steam Workshop):
  • Registra un controlador de función callback para RemoteStoragePublishedFileSubscribed_t and RemoteStoragePublishedFileUnsubscribed_t
  • Las estructuras serán publicadas con ISteamRemoteStorage::PublishedFileId_t que luego se puede usar para acceder a la información sobre el elemento del taller.
  • Las estructuras también contienen el id. de la aplicación (m_unAppID) asociado con el elemento del taller. Deberá compararse con el id. de la aplicación en ejecución, ya que se llamará al controlador para todas las suscripciones de artículos, independientemente de la aplicación que se esté ejecutando.

Instalación de artículos

Una vez que se conoce la información de suscripción de artículos, se pueden utilizar los demás métodos de consumo. Estos métodos proporcionan información al juego sobre el estado de la descarga e instalación de un artículo. Las descargas de artículos de Workshop se ejecutan por medio del cliente de Steam y se realizan automáticamente según las reglas siguientes:
  1. Cuando el cliente de Steam indica que se va a ejecutar un juego o aplicación, se descargan e instalan todos los repositorios de aplicaciones que se han actualizado.
  2. Los artículos de Workshop ya instalados se actualizan si es necesario.
  3. Se inicia el juego o la aplicación.
  4. Los artículos de Workshop de nueva suscripción que no se hayan descargado, se descargarán en ese momento y se instalarán en segundo plano.
    • Los archivos de los artículos se descargarán en el cliente en el orden en que fueron suscritos.
    • La página de descarga de Steam mostrará las descargas de artículos con un cartel especial que indicará que se están descargando.
El uso de la característica "Verificar integridad de los archivos" en el cliente de Steam también hará que se descarguen los artículos de Workshop.

Dado que el juego se iniciará antes de que se descargue e instale el contenido de nueva suscripción, los demás métodos de consumo existen como ayuda para supervisar y gestionar el progreso de instalación. Pueden usarse también para ofrecer el estado de instalación en tiempo real cuando se realizan suscripciones en el juego.

Estado de un artículo de Workshop

Progreso de descarga de un artículo de Workshop

Iniciar la descarga de un artículo de Workshop o aumentar su prioridad

  • ISteamUGC::DownloadItem
    • Establece bHighPriority a true para pausar las descargas en curso existentes y comenzar a descargar de inmediato este elemento del Workshop.
    • Si el valor de retorno es true, regístrate y espera la función callback ISteamUGC::DownloadItemResult_t antes de llamar ISteamUGC::GetItemInstallInfo o accede al elemento del Workshop del disco.
    • Si la suscripción del usuario no incluye el artículo (por ejemplo, si es un servidor de juego que usa inicio de sesión anónimo), el artículo de Workshop se descargará y se guardará provisionalmente en la caché.
    • Si el elemento del Workshop tiene un ISteamUGC::EItemState de k_EItemStateNeedsUpdate, se puede llamar a ISteamUGC::DownloadItem para iniciar la actualización. No accedas al artículo del Workshop en el disco hasta que se llame a la función callback ISteamUGC::DownloadItemResult_t.
    • Este método solo funciona con ISteamUGC creando artículos de Workshop. No funcionará con elementos del Workshop heredados ISteamRemoteStorage.
    • La estructura de función callback ISteamUGC::DownloadItemResult_t contiene el id. de la aplicación (m_unAppID) asociado con el elemento del Workshop. Deberá compararse con el id. de la aplicación en ejecución, ya que se llamará al controlador para todas las descargas de artículos, independientemente de la aplicación que se ejecute.

Recuperar información sobre la copia local del artículo de Workshop

Notificación cuando se instala o actualiza un artículo de Workshop

Consultar contenido

La interfaz ISteamUGC proporciona una manera flexible de enumerar los distintos tipos de UGC en Steam (por ejemplo, artículos de Workshop, capturas de pantalla, vídeos, etc.).

ISteamUGCFlows-QueryingContent-web2.png
 
  1. Registra un controlador de resultados de llamadas para SteamUGCQueryCompleted_t.
  2. Hay disponibles algunos métodos para crear la consulta según la necesidad: consultar los contenidos asociados a un usuario, consultar todo el contenido u obtener detalles del contenido cuyos id. te pertenecen.
  3. La consulta se personaliza llamando a los métodos de ajuste de opciones:
    • Al consultar UGC de un usuario:
    • Al consultar todo el UGC:
      • ISteamUGC::SetMatchAnyTag: establece si los elementos del Workshop se devolverán si tienen una o más etiquetas coincidentes, o si todas las etiquetas deben coincidir en una consulta pendiente de UGC.
      • ISteamUGC::SetSearchText: establece una cadena para que los elementos deban coincidir con el título o la descripción en una consulta pendiente de UGC.
      • ISteamUGC::SetRankedByTrendDays: establece si el orden de los resultados se actualizará en función del rango de los elementos durante un número de días en una consulta de UGC pendiente.
    • Al consultar cualquier tipo de UGC:
      • ISteamUGC::AddRequiredTag: agrega una etiqueta requerida a una consulta pendiente de UGC. Solo devolverá el UGC que tenga la etiqueta especificada.
      • ISteamUGC::AddExcludedTag: agrega una etiqueta excluida a una consulta pendiente de UGC. Solo devolverá el UGC que no tenga la etiqueta especificada.
      • ISteamUGC::AddRequiredKeyValueTag: agrega una etiqueta de clave-valor requerida a una consulta de UGC pendiente. Esto solo devolverá los elementos del taller que tienen una clave = [param]pKey[/param] and a value = [param]pValue[/param].
      • ISteamUGC::SetReturnOnlyIDs: establece si se deben devolver solo las id. en lugar de todos los detalles en una consulta pendiente de UGC. Es útil cuando no se necesita toda la información (por ejemplo, si solo se quiere obtener los identificadores de los artículos que un usuario tiene en su lista de favoritos).
      • ISteamUGC::SetReturnKeyValueTags: establece si se devolverán las etiquetas de valor-clave para los elementos en una consulta de UGC pendiente.
      • ISteamUGC::SetReturnLongDescription: establece si se debe devolver la descripción completa de los elementos en una consulta de UGC pendiente.
      • ISteamUGC::SetReturnMetadata: establece si se devuelven los metadatos especificados por el desarrollador para los elementos en una consulta de UGC pendiente.
      • ISteamUGC::SetReturnChildren: establece si se devuelven los ids. de los elementos secundarios de los elementos en una consulta pendiente de UGC.
      • ISteamUGC::SetReturnAdditionalPreviews: establece si se deben devolver imágenes o vídeos adicionales adjuntos a los elementos en una consulta pendiente de UGC.
      • ISteamUGC::SetReturnTotalOnly: establece si se debe devolver solo el número total de elementos coincidentes en una consulta pendiente de UGC. Los elementos reales no se devolverán cuando se llame a ISteamUGC::SteamUGCQueryCompleted_t.
      • ISteamUGC::SetLanguage: configura el idioma para devolver el título y la descripción de los elementos en una consulta pendiente de UGC.
      • ISteamUGC::SetAllowCachedResponse: establece si los resultados se devolverán desde el caché durante el período de tiempo específico en una consulta pendiente de UGC.
  4. Envía la consulta a Steam usandoISteamUGC::SendQueryUGCRequest que invocará el ISteamUGC::SteamUGCQueryCompleted_t controlador de resultados de llamadas registrado en el paso 1.
  5. En el controlador de resultados de llamadas para ISteamUGC::SteamUGCQueryCompleted_t, llama ISteamUGC::GetQueryUGCResult para recuperar los detalles de cada artículo devuelto.
     
  6. También se puede llamar a estas funciones para recuperar información adicional de cada artículo (algunos de los datos no se devuelven de forma predeterminada, por lo que debes configurar la consulta adecuadamente):
  7. Llama a ISteamUGC::ReleaseQueryUGCRequest para liberar cualquier memoria asignada al consultar o recuperar los resultados.

Paginación de resultados

Se devolverán hasta 50 resultados por cada consulta. Se puede lograr más resultados mediante la creación de una consulta que incremente el parámetro unPage (que debe comenzar en 1).

Seguimiento de tiempo de juego

Para rastrear el tiempo de reproducción de los elementos del taller, simplemente llama a ISteamUGC::StartPlaytimeTracking con los identificadores de los elementos que desea rastrear. Luego, cuando los elementos se eliminan del juego, llama a ISteamUGC::StopPlaytimeTracking con los identificadores que deseas que dejen de rastrear o llama a ISteamUGC::StopPlaytimeTrackingForAllItems para detener el seguimiento del tiempo de reproducción de todos los elementos a la vez.
Cuando su aplicación se apaga, el tiempo de reproducción se detendrá automáticamente.

También podrás ordenar los elementos por varias métricas de tiempo de juego en las consultas de ISteamUGC::CreateQueryAllUGCRequest. Estos son los tipos de consultas de tiempo de juego que se pueden usar:

Eliminar contenido de artículos de Workshop

Para eliminar un elemento de Workshop, puedes llamar a ISteamUGC::DeleteItem. Ten en cuenta que esto no indica al usuario y no se puede deshacer.

Ejemplo de Steamworks: integración de Spacewar

El Ejemplo de aplicación de la API de Steamworks (Spacewar!) que viene con Steamworks SDK demuestra un subconjunto de la API ISteamUGC.
  • CSpaceWarClient::LoadWorkshopItem muestra la verificación de si un elemento del taller se descarga e instala en el disco, y también solicita información sobre un elemento del taller por ISteamRemoteStorage::PublishedFileId_t
  • CSpaceWarClient::LoadWorkshopItems muestra cómo recuperar la lista de elementos de Workshop suscritos para el usuario actual de la aplicación SpaceWar
  • CSpaceWarClient::OnWorkshopItemInstalled muestra un controlador de función callback para ISteamUGC::ItemInstalled_t

Acuerdo legal de Workshop

Los artículos de Workshop estarán ocultos de forma predeterminada hasta que el colaborador acepte el acuerdo legal de Steam Workshop. Para facilitar que el colaborador haga públicamente visible el artículo, haz lo siguiente.
  1. Incluye el texto junto al botón que envía un artículo al taller, algo como: "Al enviar este artículo, acepta los términos de servicio de Workshop" (incluyendo el enlace).
  2. Después de que un usuario envíe un elemento, abre una ventana del navegador en la página de Steam Workshop para ese elemento llamando a ISteamFriends::ActivateGameOverlayToWebPage con pchURL configurado a steam://url/CommunityFilePage/<PublishedFileId_t> reemplazando <PublishedFileId_t> con la identificación del elemento del Workshop.
Esto tiene la ventaja de que dirige al autor a la página de Workshop para que vea el artículo y lo siga configurando si es necesario, y facilita al usuario la lectura y aceptación del acuerdo legal de Steam Workshop.

Web API

Además de estos métodos, hay un conjunto de interfaces de la Web API que ofrecen una funcionalidad similar, junto con las API de filtrado basadas en la comunidad que enumeran todo el contenido compartido. Consulta la documentación de la interfaz ISteamRemoteStorage en la lista de Web API.

Servidores de juego dedicados

Los servidores de juego también pueden descargar e instalar artículos.
  • El servidor de juego necesitará saber el PublishedFileId_t para solicitar un artículo de Workshop. Puede proporcionárselo el cliente de juego o estar establecido por el operador del servidor. Luego llama a ISteamUGC::DownloadItem para recuperar una copia temporal del elemento del Workshop.
  • Luego se puede hacer una llamada a ISteamUGC::GetItemInstallInfo para recuperar información para localizar y usar el elemento del Workshop.
  • Consulta la sección Instalación de elementos más arriba para obtener más información sobre estos métodos de API.

Integración de SteamCMD

Junto con la API ISteamUGC, se puede usar la herramienta de línea de comandos steamcmd.exe para crear y actualizar artículos de Workshop con fines de pruebas. Esto solo debe servir para fines de pruebas, ya que la herramienta pide al usuario que introduzca sus credenciales de Steam (y no queremos que los clientes tengan que hacerlo).

Para crear un nuevo artículo de Steam Workshop con steamcmd.exe, se debe crear antes un archivo VDF. El VDF es un archivo de texto sin formato que debería contener las claves siguientes.
"workshopitem" { "appid" "480" "publishedfileid" "5674" "contentfolder" "D:\\Content\\workshopitem" "previewfile" "D:\\Content\\preview.jpg" "visibility" "0" "title" "Team Fortress Green Hat" "description" "A green hat for Team Fortress" "changenote" "Version 1.2" }

Notas:
  • Las teclas se asignan a los diversos métodos ISteamUGC::SetItem[...]. Para obtener más información, consulta la documentación anterior.
  • Los valores mostrados son solo ejemplos y se deben modificar adecuadamente.
  • Para crear un nuevo elemento, se debe configurar appid y publishedfileid se debe desactivar o establecer en 0.
  • Para actualizar un elemento existente, se deben configurar, appid y publishedfileid.
  • Los restantes pares clave-valor se deben incluir en el VDF si la clave va a ser actualizada.
Una vez que se ha creado el VDF, steamcmd.exe se puede ejecutar con el parámetro de archivoworkshop_build_item <build config filename>. Ejemplo:
steamcmd.exe +login myLoginName myPassword +workshop_build_item workshop_green_hat.vdf +quit
Si el comando es exitoso, el valor publishedfileid en el VDF se actualizará automáticamente para contener la id. del elemento del Workshop. De esta forma, las llamadas subsiguientes con steamcmd.exe para el mismo VDF tendrán como resultado una actualización, en lugar de la creación de un nuevo artículo.

Errores y registro

La mayoría de los métodos ISteamUGC devuelven valores booleanos. Para más información sobre errores específicos, hay multitud de referencias que consultar:

Preguntas frecuentes

P.¿Puede una aplicación independiente publicar contenido en el Workshop de mi juego?

Sí. Una aplicación independiente para herramientas de edición o publicación puede configurarse con el Workshop de la aplicación básica para que esta acepte contenido de esa aplicación de edición.

Para configurarla, ve a la sección Configuración de Workshop para la aplicación básica y desplázate al final de la página. Introduce el id. de la aplicación independiente en el campo bajo "Permisos de publicación de aplicaciones" y dale a "Añadir".

Una vez publicados los ajustes de Steamworks, la aplicación de edición podrá publicar contenido para el Workshop de la aplicación básica.
  • Like 1
Publicado
El hace 17 horas, EmilioR24 dijo:

Me alegro que estes mejor!!, si, disculpa Steam, no se puede escribir sin gafas🤓

Espero ayudarte con lo que te paso. Un abrazo y gracias por todo el trabajo!!

 

Las leyendas con las que aún juego las cogía directamente desde Workshop de Steam:

https://drive.google.com/drive/folders/1hb59z-NZyy8Z2puB0zfHZp1DroY-hR-N?usp=drive_link 

A ver si puedes ver las capturas de pantalla de distintas base de datos de Leyendas en Steam, la que presuntamente tiene más son 1000 jugadores...
 

https://partner.steamgames.com/doc/features/workshop/implementation?l=spanish  No se si es sencillo o no para alguien con tus conocimiento, para mi es chino🤪 si no te funciona el enlace, pego aquí lo que dice:

 

Guía de implantación de Steam Workshop
 

Introducción

Steam Workshop es un sistema de almacenamiento backend y páginas web frontend que permite almacenar, organizar, ordenar, valorar y descargar contenido para tu juego o aplicación.

Esta página incluye detalles técnicos relativos a la implantación de Steam Workshop en tu título. Si necesitas información y definiciones sobre los distintos tipos de integración de Workshop que se pueden usar y cómo sacar el máximo partido a las herramientas de Steam, consulta Steam Workshop antes de iniciar el proceso de integración en tu juego.

En una configuración típica, los usuarios del juego utilizarán las herramientas que les proporciones junto con él para modificarlo o crear contenido totalmente nuevo. A continuación, enviarán este contenido a Steam Workshop utilizando un formulario integrado en tu herramienta. Luego, otros clientes podrán navegar, ordenar, calificar y suscribirse a los elementos que deseen agregar a tu juego al ir a Steam Workshop en la comunidad de Steam. Hecho esto, dichos artículos se descargarán a través de Steam. Si te has registrado para la función callback ISteamUGC::ItemInstalled_t dentro de su juego, puedes llamar a ISteamUGC::GetItemInstallInfo para obtener la ubicación instalada y leer los datos directamente desde esa carpeta. El juego reconocerá el nuevo contenido en una manera que tenga sentido para el juego y el contenido creado.

Tipos de Steam Workshop, monetización y buenas prácticas

Si necesitas más información y definiciones sobre los distintos tipos de integración de Workshop que se pueden usar y cómo sacar el máximo partido a las herramientas de Steam, consulta la documentación de Steam Workshop.

Gestión de la visibilidad de Steam Workshop

Steam Workshop es un sitio web hospedado en Steam que reúne contenido compartido por la comunidad y permite a los usuarios votar y opinar sobre él. De forma predeterminada, las aplicaciones no son visibles en Workshop. Esto evita que el contenido que no se pretende compartir a través del portal de Steam Workshop sea visible a menos que el Workshop esté configurado como público.
Establece el estado de visibilidad del Workshop a través de los siguientes pasos:
  1. Dirígete a la página principal de la aplicación en el sitio web de Steamworks.
  2. Haz clic en Editar configuración de Steamworks
  3. Desde la pestaña Workshop, selecciona General
  4. En el lado derecho de la página, busca la sección Estado de visibilidad.
  5. Usa los botones de opción para seleccionar el nivel de visibilidad deseado, que puede incluir solo desarrolladores, desarrolladores y probadores, clientes, desarrolladores y todos.
  6. Desde la pestaña Publicar, haz clic en Preparar para publicar.
  7. Haz clic en Publicar en Steam y completa el proceso para publicar el cambio.
Nota: Para cambiar el estado de visibilidad a Todos, hay que realizar una serie de comprobaciones de Workshop relacionadas con la personalización del logotipo, el título y la descripción. Además, debe haber un artículo visible para el público, como mínimo.

Resumen técnico

El proceso de compartir y consumir contenido generado por el usuario es mediante la API ISteamUGC que se puede encontrar en Steamworks SDK. Los métodos que incluye conforman un modo de compartir artículos de Workshop, que luego se pueden descubrir a través de Steam Workshop o desde dentro de las propias aplicaciones.

Se debe acceder a la API de Workshop a través del puntero que se devuelve desde SteamUGC().

Ejemplo:
SteamAPICall_t hSteamAPICall = SteamUGC()->CreateItem( SteamUtils()->GetAppID(), k_EWorkshopFileTypeMicrotransaction );

Habilitar ISteamUGC para un juego o aplicación

Antes de que se puedan subir artículos de Workshops al backend de Steamworks hay que realizar dos pasos previos: configurar las cuotas de Steam Cloud y habilitar la API de ISteamUGC.

Steam Cloud se usa para almacenar las imágenes de vista previa asociadas a los artículos de Workshop. La cuota de Steam Cloud se puede configurar siguiendo estos pasos:
  1. Navega a la página Configuración de Steam Cloud en el panel de administración de la aplicación.
  2. Establece la Cuota de bytes por usuario y el Número de archivos permitidos por usuario en los valores adecuados para el almacenamiento de imagen de la vista previa.
  3. Hacer clic en Guardar
  4. Desde la pestaña Publicar, haz clic en Preparar para publicar.
  5. Haz clic en Publicar en Steam y completa el proceso para publicar el cambio.

Habilitar la API ISteamUGC se puede llevar a cabo con los siguientes pasos:
  1. Navega a la página Configuración de Steam Workshop en el panel de administración de la aplicación.
  2. Busca la sección Opciones de configuración adicionales.
  3. Comprueba en Activar ISteamUGC para la transferencia de archivos.
  4. Hacer clic en Guardar.
  5. Desde la pestaña Publicar, haz clic en Preparar para publicar.
  6. Haz clic en Publicar en Steam y completa el proceso para publicar el cambio.
Una vez establecidos estos ajustes, se puede subir contenido a Workshop usando la API.

Crear y subir contenido

El proceso de crear y subir contenido a Workshop es sencillo y repetible, como se puede ver en el siguiente diagrama de flujo.

ISteamUGCFlow-CreateUpload-Web2.png

Crear un artículo de Workshop

  1. Todos los elementos del Workshop comienzan su existencia con una llamada a ISteamUGC::CreateItem
    • La variable nConsumerAppId debe contener el id. de la aplicación para el juego o la aplicación. No se debe pasar el id. de aplicación de la herramienta con la que se creó el artículo de Workshop si tiene un id. distinto.
    • EWorkshopFileType es un tipo de enumeración que define cómo se compartirá el archivo compartido con la comunidad. Los valores válidos son:
      • k_EWorkshopFileTypeCommunity:este tipo de archivo se usa para describir los archivos que los usuarios cargarán y estarán disponibles para descargar por cualquier miembro de la comunidad. Normalmente, se usa para compartir mods creados por los usuarios.
      • k_EWorkshopFileTypeMicrotransaction: este tipo de archivo se usa para describir los archivos que los usuarios cargan, pero que solo pretende que el juego considere agregar contenido oficial. Estos archivos no serán descargados por los usuarios a través del Workshop, pero la comunidad podrá verlos para calificarlos.
        Esta es la implementación que usa Team Fortress 2.
  2. Registra un controlador de resultados de llamadas paraCreateItemResult_t
  3. Primero verifica m_eResult para asegurarte que el artículo se haya creado correctamente.
  4. Cuando se ejecute el manejador de resultados de llamadas, lee el valor m_nPublishedFileId y almacénalo para futuras actualizaciones del elemento del Workshop (por ejemplo, en un archivo de proyecto asociado con la herramienta de creación).
  5. La variable m_bUserNeedsToAcceptWorkshopLegalAgreement debe verificarse y, si es true, se debe redirigir al usuario para que acepte el acuerdo legal. Consulta la sección Acuerdo legal del Workshop para obtener más detalles.

Subir un artículo de Workshop

  1. Una vez que se ha creado un artículo de Workshop y se ha devuelto un valor de PublishedFileId_t, el contenido del artículo de Workshop se puede rellenar y cargar en Steam Workshop.
  2. La actualización de un artículo comienza con una llamada a ISteamUGC::StartItemUpdate
  3. Utilizando UGCUpdateHandle_t que se devuelve desde ISteamUGC::StartItemUpdate, se pueden realizar llamadas para actualizar el Título, Descripción, Visibilidad, Etiquetas, Contenido del artículo e Imagen de vista previa del artículo, a través de los diversos métodos ISteamUGC::SetItem[...].
  4. Una vez que se hayan completado las llamadas de actualización, llamando a ISteamUGC::SubmitItemUpdate iniciará el proceso de carga al Steam Workshop.
    • Registra un controlador de resultados de llamadas para SubmitItemUpdateResult_t
    • Cuando se ejecute el controlador de resultados de la llamada, verifica m_eResult para confirmar que la carga se ha completado correctamente.
    • Nota: No existe ningún método para cancelar la actualización y carga del artículo una vez que se llama a la función.
  5. Si lo desea, puedes seguir el progreso de la carga utilizando ISteamUGC::GetItemUpdateProgress
    • EItemUpdateStatus: define el progreso de la carga y la actualización.
    • punBytesProcessed y punBytesTotal se pueden usar para proporcionar información para un control de interfaz de usuario, como una barra de progreso para indicar el progreso de la carga.
    • punBytesTotal puede actualizarse durante el proceso de carga en función de la etapa de actualización del elemento.
  6. Al igual que cuando se crea un artículo de Workshop, se debe confirmar que el usuario ha aceptado el acuerdo legal. Esto es necesario en los casos en que el usuario no creó inicialmente el artículo, pero está editando un artículo existente.

Notas adicionales

  • Anteriormente, los artículos de Workshop se definían como archivos individuales. Con ISteamUGC, un artículo de Workshop es la representación de una carpeta de archivos.
  • Si un artículo de Workshop requiere más metadatos para las aplicaciones que lo utilizan, puedes adjuntar metadatos al artículo con la llamada a ISteamUGC::SetItemMetadata. Estos metadatos se pueden devolver en consultas sin tener que descargar e instalar el contenido del elemento.
    Anteriormente te sugerimos que guardes estos metadatos en un archivo dentro de la carpeta de elementos del Workshop, lo que, por supuesto, aún puedes hacer.

Consumo de contenido

El consumo de contenido de Workshop entra en dos categorías: suscripción de artículos e instalación de artículos.

Suscripción de artículos

La mayoría de las suscripciones a un artículo de Workshop se realizarán a través del portal de Steam Workshop. Es una ubicación conocida, común a todos los juegos y aplicaciones. Por eso, los usuarios suelen recurrir al sitio de Workshop para buscar artículos y suscribirse a ellos.

No obstante, ISteamUGC ofrece dos métodos para suscribirse y anular la subcripción de forma programática a artículos de Workshop para permitir la gestión de suscripciones en el juego.
  • ISteamUGC::SubscribeItem: suscribirse a un elemento del Workshop. Se descargará e instalará en cuanto sea posible.
  • ISteamUGC::UnsubscribeItem: anular la suscripción de un elemento del taller. Con esto, el artículo se eliminará tras salir del juego.

Existen dos métodos adicionales para enumerar los artículos a los que está suscrito un usuario.

Recibir notificaciones de acciones de suscripción externas

Es posible recibir notificaciones del juego cuando un usuario se suscribe o anular suscripción de un archivo por cualquier mecanismo (por ejemplo, ISteamUGC, el sitio web de Steam Workshop):
  • Registra un controlador de función callback para RemoteStoragePublishedFileSubscribed_t and RemoteStoragePublishedFileUnsubscribed_t
  • Las estructuras serán publicadas con ISteamRemoteStorage::PublishedFileId_t que luego se puede usar para acceder a la información sobre el elemento del taller.
  • Las estructuras también contienen el id. de la aplicación (m_unAppID) asociado con el elemento del taller. Deberá compararse con el id. de la aplicación en ejecución, ya que se llamará al controlador para todas las suscripciones de artículos, independientemente de la aplicación que se esté ejecutando.

Instalación de artículos

Una vez que se conoce la información de suscripción de artículos, se pueden utilizar los demás métodos de consumo. Estos métodos proporcionan información al juego sobre el estado de la descarga e instalación de un artículo. Las descargas de artículos de Workshop se ejecutan por medio del cliente de Steam y se realizan automáticamente según las reglas siguientes:
  1. Cuando el cliente de Steam indica que se va a ejecutar un juego o aplicación, se descargan e instalan todos los repositorios de aplicaciones que se han actualizado.
  2. Los artículos de Workshop ya instalados se actualizan si es necesario.
  3. Se inicia el juego o la aplicación.
  4. Los artículos de Workshop de nueva suscripción que no se hayan descargado, se descargarán en ese momento y se instalarán en segundo plano.
    • Los archivos de los artículos se descargarán en el cliente en el orden en que fueron suscritos.
    • La página de descarga de Steam mostrará las descargas de artículos con un cartel especial que indicará que se están descargando.
El uso de la característica "Verificar integridad de los archivos" en el cliente de Steam también hará que se descarguen los artículos de Workshop.

Dado que el juego se iniciará antes de que se descargue e instale el contenido de nueva suscripción, los demás métodos de consumo existen como ayuda para supervisar y gestionar el progreso de instalación. Pueden usarse también para ofrecer el estado de instalación en tiempo real cuando se realizan suscripciones en el juego.

Estado de un artículo de Workshop

Progreso de descarga de un artículo de Workshop

Iniciar la descarga de un artículo de Workshop o aumentar su prioridad

  • ISteamUGC::DownloadItem
    • Establece bHighPriority a true para pausar las descargas en curso existentes y comenzar a descargar de inmediato este elemento del Workshop.
    • Si el valor de retorno es true, regístrate y espera la función callback ISteamUGC::DownloadItemResult_t antes de llamar ISteamUGC::GetItemInstallInfo o accede al elemento del Workshop del disco.
    • Si la suscripción del usuario no incluye el artículo (por ejemplo, si es un servidor de juego que usa inicio de sesión anónimo), el artículo de Workshop se descargará y se guardará provisionalmente en la caché.
    • Si el elemento del Workshop tiene un ISteamUGC::EItemState de k_EItemStateNeedsUpdate, se puede llamar a ISteamUGC::DownloadItem para iniciar la actualización. No accedas al artículo del Workshop en el disco hasta que se llame a la función callback ISteamUGC::DownloadItemResult_t.
    • Este método solo funciona con ISteamUGC creando artículos de Workshop. No funcionará con elementos del Workshop heredados ISteamRemoteStorage.
    • La estructura de función callback ISteamUGC::DownloadItemResult_t contiene el id. de la aplicación (m_unAppID) asociado con el elemento del Workshop. Deberá compararse con el id. de la aplicación en ejecución, ya que se llamará al controlador para todas las descargas de artículos, independientemente de la aplicación que se ejecute.

Recuperar información sobre la copia local del artículo de Workshop

Notificación cuando se instala o actualiza un artículo de Workshop

Consultar contenido

La interfaz ISteamUGC proporciona una manera flexible de enumerar los distintos tipos de UGC en Steam (por ejemplo, artículos de Workshop, capturas de pantalla, vídeos, etc.).

ISteamUGCFlows-QueryingContent-web2.png
 
  1. Registra un controlador de resultados de llamadas para SteamUGCQueryCompleted_t.
  2. Hay disponibles algunos métodos para crear la consulta según la necesidad: consultar los contenidos asociados a un usuario, consultar todo el contenido u obtener detalles del contenido cuyos id. te pertenecen.
  3. La consulta se personaliza llamando a los métodos de ajuste de opciones:
    • Al consultar UGC de un usuario:
    • Al consultar todo el UGC:
      • ISteamUGC::SetMatchAnyTag: establece si los elementos del Workshop se devolverán si tienen una o más etiquetas coincidentes, o si todas las etiquetas deben coincidir en una consulta pendiente de UGC.
      • ISteamUGC::SetSearchText: establece una cadena para que los elementos deban coincidir con el título o la descripción en una consulta pendiente de UGC.
      • ISteamUGC::SetRankedByTrendDays: establece si el orden de los resultados se actualizará en función del rango de los elementos durante un número de días en una consulta de UGC pendiente.
    • Al consultar cualquier tipo de UGC:
      • ISteamUGC::AddRequiredTag: agrega una etiqueta requerida a una consulta pendiente de UGC. Solo devolverá el UGC que tenga la etiqueta especificada.
      • ISteamUGC::AddExcludedTag: agrega una etiqueta excluida a una consulta pendiente de UGC. Solo devolverá el UGC que no tenga la etiqueta especificada.
      • ISteamUGC::AddRequiredKeyValueTag: agrega una etiqueta de clave-valor requerida a una consulta de UGC pendiente. Esto solo devolverá los elementos del taller que tienen una clave = [param]pKey[/param] and a value = [param]pValue[/param].
      • ISteamUGC::SetReturnOnlyIDs: establece si se deben devolver solo las id. en lugar de todos los detalles en una consulta pendiente de UGC. Es útil cuando no se necesita toda la información (por ejemplo, si solo se quiere obtener los identificadores de los artículos que un usuario tiene en su lista de favoritos).
      • ISteamUGC::SetReturnKeyValueTags: establece si se devolverán las etiquetas de valor-clave para los elementos en una consulta de UGC pendiente.
      • ISteamUGC::SetReturnLongDescription: establece si se debe devolver la descripción completa de los elementos en una consulta de UGC pendiente.
      • ISteamUGC::SetReturnMetadata: establece si se devuelven los metadatos especificados por el desarrollador para los elementos en una consulta de UGC pendiente.
      • ISteamUGC::SetReturnChildren: establece si se devuelven los ids. de los elementos secundarios de los elementos en una consulta pendiente de UGC.
      • ISteamUGC::SetReturnAdditionalPreviews: establece si se deben devolver imágenes o vídeos adicionales adjuntos a los elementos en una consulta pendiente de UGC.
      • ISteamUGC::SetReturnTotalOnly: establece si se debe devolver solo el número total de elementos coincidentes en una consulta pendiente de UGC. Los elementos reales no se devolverán cuando se llame a ISteamUGC::SteamUGCQueryCompleted_t.
      • ISteamUGC::SetLanguage: configura el idioma para devolver el título y la descripción de los elementos en una consulta pendiente de UGC.
      • ISteamUGC::SetAllowCachedResponse: establece si los resultados se devolverán desde el caché durante el período de tiempo específico en una consulta pendiente de UGC.
  4. Envía la consulta a Steam usandoISteamUGC::SendQueryUGCRequest que invocará el ISteamUGC::SteamUGCQueryCompleted_t controlador de resultados de llamadas registrado en el paso 1.
  5. En el controlador de resultados de llamadas para ISteamUGC::SteamUGCQueryCompleted_t, llama ISteamUGC::GetQueryUGCResult para recuperar los detalles de cada artículo devuelto.
     
  6. También se puede llamar a estas funciones para recuperar información adicional de cada artículo (algunos de los datos no se devuelven de forma predeterminada, por lo que debes configurar la consulta adecuadamente):
  7. Llama a ISteamUGC::ReleaseQueryUGCRequest para liberar cualquier memoria asignada al consultar o recuperar los resultados.

Paginación de resultados

Se devolverán hasta 50 resultados por cada consulta. Se puede lograr más resultados mediante la creación de una consulta que incremente el parámetro unPage (que debe comenzar en 1).

Seguimiento de tiempo de juego

Para rastrear el tiempo de reproducción de los elementos del taller, simplemente llama a ISteamUGC::StartPlaytimeTracking con los identificadores de los elementos que desea rastrear. Luego, cuando los elementos se eliminan del juego, llama a ISteamUGC::StopPlaytimeTracking con los identificadores que deseas que dejen de rastrear o llama a ISteamUGC::StopPlaytimeTrackingForAllItems para detener el seguimiento del tiempo de reproducción de todos los elementos a la vez.
Cuando su aplicación se apaga, el tiempo de reproducción se detendrá automáticamente.

También podrás ordenar los elementos por varias métricas de tiempo de juego en las consultas de ISteamUGC::CreateQueryAllUGCRequest. Estos son los tipos de consultas de tiempo de juego que se pueden usar:

Eliminar contenido de artículos de Workshop

Para eliminar un elemento de Workshop, puedes llamar a ISteamUGC::DeleteItem. Ten en cuenta que esto no indica al usuario y no se puede deshacer.

Ejemplo de Steamworks: integración de Spacewar

El Ejemplo de aplicación de la API de Steamworks (Spacewar!) que viene con Steamworks SDK demuestra un subconjunto de la API ISteamUGC.
  • CSpaceWarClient::LoadWorkshopItem muestra la verificación de si un elemento del taller se descarga e instala en el disco, y también solicita información sobre un elemento del taller por ISteamRemoteStorage::PublishedFileId_t
  • CSpaceWarClient::LoadWorkshopItems muestra cómo recuperar la lista de elementos de Workshop suscritos para el usuario actual de la aplicación SpaceWar
  • CSpaceWarClient::OnWorkshopItemInstalled muestra un controlador de función callback para ISteamUGC::ItemInstalled_t

Acuerdo legal de Workshop

Los artículos de Workshop estarán ocultos de forma predeterminada hasta que el colaborador acepte el acuerdo legal de Steam Workshop. Para facilitar que el colaborador haga públicamente visible el artículo, haz lo siguiente.
  1. Incluye el texto junto al botón que envía un artículo al taller, algo como: "Al enviar este artículo, acepta los términos de servicio de Workshop" (incluyendo el enlace).
  2. Después de que un usuario envíe un elemento, abre una ventana del navegador en la página de Steam Workshop para ese elemento llamando a ISteamFriends::ActivateGameOverlayToWebPage con pchURL configurado a steam://url/CommunityFilePage/<PublishedFileId_t> reemplazando <PublishedFileId_t> con la identificación del elemento del Workshop.
Esto tiene la ventaja de que dirige al autor a la página de Workshop para que vea el artículo y lo siga configurando si es necesario, y facilita al usuario la lectura y aceptación del acuerdo legal de Steam Workshop.

Web API

Además de estos métodos, hay un conjunto de interfaces de la Web API que ofrecen una funcionalidad similar, junto con las API de filtrado basadas en la comunidad que enumeran todo el contenido compartido. Consulta la documentación de la interfaz ISteamRemoteStorage en la lista de Web API.

Servidores de juego dedicados

Los servidores de juego también pueden descargar e instalar artículos.
  • El servidor de juego necesitará saber el PublishedFileId_t para solicitar un artículo de Workshop. Puede proporcionárselo el cliente de juego o estar establecido por el operador del servidor. Luego llama a ISteamUGC::DownloadItem para recuperar una copia temporal del elemento del Workshop.
  • Luego se puede hacer una llamada a ISteamUGC::GetItemInstallInfo para recuperar información para localizar y usar el elemento del Workshop.
  • Consulta la sección Instalación de elementos más arriba para obtener más información sobre estos métodos de API.

Integración de SteamCMD

Junto con la API ISteamUGC, se puede usar la herramienta de línea de comandos steamcmd.exe para crear y actualizar artículos de Workshop con fines de pruebas. Esto solo debe servir para fines de pruebas, ya que la herramienta pide al usuario que introduzca sus credenciales de Steam (y no queremos que los clientes tengan que hacerlo).

Para crear un nuevo artículo de Steam Workshop con steamcmd.exe, se debe crear antes un archivo VDF. El VDF es un archivo de texto sin formato que debería contener las claves siguientes.
"workshopitem" { "appid" "480" "publishedfileid" "5674" "contentfolder" "D:\\Content\\workshopitem" "previewfile" "D:\\Content\\preview.jpg" "visibility" "0" "title" "Team Fortress Green Hat" "description" "A green hat for Team Fortress" "changenote" "Version 1.2" }

Notas:
  • Las teclas se asignan a los diversos métodos ISteamUGC::SetItem[...]. Para obtener más información, consulta la documentación anterior.
  • Los valores mostrados son solo ejemplos y se deben modificar adecuadamente.
  • Para crear un nuevo elemento, se debe configurar appid y publishedfileid se debe desactivar o establecer en 0.
  • Para actualizar un elemento existente, se deben configurar, appid y publishedfileid.
  • Los restantes pares clave-valor se deben incluir en el VDF si la clave va a ser actualizada.
Una vez que se ha creado el VDF, steamcmd.exe se puede ejecutar con el parámetro de archivoworkshop_build_item <build config filename>. Ejemplo:
steamcmd.exe +login myLoginName myPassword +workshop_build_item workshop_green_hat.vdf +quit
Si el comando es exitoso, el valor publishedfileid en el VDF se actualizará automáticamente para contener la id. del elemento del Workshop. De esta forma, las llamadas subsiguientes con steamcmd.exe para el mismo VDF tendrán como resultado una actualización, en lugar de la creación de un nuevo artículo.

Errores y registro

La mayoría de los métodos ISteamUGC devuelven valores booleanos. Para más información sobre errores específicos, hay multitud de referencias que consultar:

Preguntas frecuentes

P.¿Puede una aplicación independiente publicar contenido en el Workshop de mi juego?

Sí. Una aplicación independiente para herramientas de edición o publicación puede configurarse con el Workshop de la aplicación básica para que esta acepte contenido de esa aplicación de edición.

Para configurarla, ve a la sección Configuración de Workshop para la aplicación básica y desplázate al final de la página. Introduce el id. de la aplicación independiente en el campo bajo "Permisos de publicación de aplicaciones" y dale a "Añadir".

Una vez publicados los ajustes de Steamworks, la aplicación de edición podrá publicar contenido para el Workshop de la aplicación básica.

Me lo apunto. Lo intentare una vez subido aqui. No funciono mucho con steam la verdad, porque siempre lo tengo de epic games el football manager, pero por intentarlo no quedara, lo ojeo cuando lo vaya a subir por no amontonar tareas, total mirarlo ahora no me saca de nada porque tendre que ir paso a paso haciendolo.

gracias por comentarme los niveles de jugadores que tiene. Yo si en FM 25 o FM 26 porque practicamente se van a solapar, se mantiene el sistema, o tiene algun pequeño cambio que editarlo no sea hacerlo todo de 0, la mantendre viva y aumentando. Si mi idea original fue hacer una de 500-600 y ya va multiplicada por mas de 10 veces lo esperado, miedo me da. Pero sin la presion de los tiempos y terminarla cuanto antes creo que la disfrutare mas haciendo en tiempos muertos. El pensamiento que tengo es que pase de 10.000 la de futuro, miedo me da multiplicarlo otra vez por 10 ... me puedo morir en ese caso :)

 

  • Like 1
  • 2 semanas más tarde...
Publicado

Bueno desde esta hora la base de datos está cerrada. Encontré una web que tenia equipos historicos por club, desgraciadamente pocos, unos 25 equipos, pero la usé y me di cuenta que los paises que he trillado alemania, españa, italia, inglaterra tenia el 99% de los jugadores ya incluidos en la base de datos, faltaba alguno suelto de 1920 hacia atrás.

Ahora bien me dio por mirar algunos paises que no he trillado, como argentina, lamentablemente solo tenia boca y river el autor de la web, y vi que me faltaban el 70% de los que él consideraba miticos.

Esto hace que la base de datos esté abierta a futuro. Mi objetivo es seguir trabajando con ella, pero ya mucho más relajado y si es posible con colaboración de los que la vayais usando, sobre todo para subsanar errores que veamos / veais

He visto errores, sobre todo en los primeros jugadores que inclui de cada pais, fechas de nacimiento malas, alturas, equipos de origen ... voy a intentar subsanarlo en la medida de lo posible antes de subirlo, no puedo prometer acabarlo, pero lo intentaré.

Me queda de terminar esas correcciones, carga de partidas y comprobar que salen los jugadores que tengo puestos en categorias bajas, para en caso de que no salgan ir poniendo los equipos siguientes, cuanto antes salgan antes adelanto el trabajo, pero en algun caso tengo dudas de que salgan hasta en 5 equipos anteriores, así que si no salen, minimo son 5 cargas de partida, avanzar 1 temporada y mirar uno a uno de los que faltan.  En algun caso los equipos han desaparecido, o no salen tan abajo, con lo cual he usado una pagina que selecciono un pais y me da equipos aleatorios de alli. La unica restricción que pongo es que no puede ser un equipo grande del pais, por ejemplo si me sale Atletico Madrid, Liverpool, Celtic, Ajax ... nunca lo pondré ahi que ya tienen bastantes jugadores, e intentaré meterlo en el de categoria mas baja que salga.

https://www.fmscout.com/f-random-team-generator.html?nation=NOR

Luego para terminar, me quedará la mezcla de los jugadores, que será totalmente aleatoria, para que no coincidan paises o equipos, y si coinciden que sea meramente por cuestión de suerte, si no lo hago por ejemplo Xavi, busquets, iniesta, villa, messi ... nunca coincidirian, al ir seguidos a la hora de incluirlos uno saldria 2008, otro 2011, otro 2014, otro 2017 y otro 2020 ... pero si sigo tirando de la lista luego vienen 40 que jugaron en el barcelona e igual 25 salieron de alli, y se me van repartiendo 2023...2009, 2012 ... es decir, al final saldria alguno todas las temporadas y no quiero eso. Quiero que sea aleatorio, que si la suerte dice que hay una hornada de 5 cracks en el milan una temporada, salgan los 5, y si luego dice que sequia 3 temporadas, pues sequia.

Una vez mezclados, me quedara distribuir el año de salida, que tambien sera aleatorio en función del sitio donde hayan quedado.  Van a salir a lo largo de 14 temporadas, la primera nacerá en 2008, la ultima en 2021 . Porque 14? Por dos motivos, el primero que los voy a ir poniendo año de nacimiento ordenados por la posicion que están, como hay peligro de que me salgan de la misma epoca muy seguidos por mezclar poco, el siguiente llevara 3 años de diferencia, es decir el primero nace en 2008, el que está debajo 2011, el siguiente 2014 ... con lo cual aún lo hago mas aleatorio el año de nacimiento. El segundo motivo es porque la base de datos es muy amplia, diviendolo en 14 temporadas los nacimientos hara que salgan mas de 500 jugadores por temporada repartidos por todo el mundo, lo cual complicará la busqueda por ojeadores a ajustarlo a la realidad, lo mismo os podra nacer en zambia que en en alemania, obviamente alemania al ser mas amplia pues naceran mas cantidad, real como la vida misma, pero os garantizo que hay joyas por todos los continentes, en vuestra mano estará encontrarlos.

La voy a subir el viernes, esté como esté, a este foro e intentaré lo que me pidió el compañero ahi arriba de steam

Creo que ha quedado bastante apañada y muy interesante de jugar si se hace bien con ojeadores y demás, si nos limitamos a poner nombres arriba pues quita el encanto, pero bueno cada uno será libre. El que quiera a Maradona, igual lo tiene que poner 1 sola vez y salió o lo tiene que poner varias veces durante las temporadas y le aparece en la temporada 14 ... la suerte estará hechada.

El viernes nos vemos muchachos, aunque en el momento que tenga el numero exacto de jugadores os escribire para deciros. Tengo dudas de si habre llegado a los 8000 o no los habre alcanzado al final. Creo que es una brutalidad, espero que entendáis que no haya cumplido plazos, la idea original eran 500-600 y se me ha ido de las manos. Ahora me parece una brutalidad, allá para cuando salga FM26 a saber lo mismo la pasamos de 10.000 la base de datos.

  • Like 2
Publicado

Considerando lo ocurrido con el bodrio del FM25, voy a empezar una nueva partida y probar estas miles de leyendas. Hoy lo pones en las descargas @edneud11 ?

  • Like 1
Publicado (editado)
El hace 33 minutos, pelado250 dijo:

Considerando lo ocurrido con el bodrio del FM25, voy a empezar una nueva partida y probar estas miles de leyendas. Hoy lo pones en las descargas @edneud11 ?

Dame un día más pelado se me ha ido de las manos el cambiar las fechas de nacimiento, tenían todos el 2008 para probarlos y ahora entre mezclarlos, para que no me salgan por ejemplo todos los del Barcelona año a año y sea más aleatorio, y cambiar el año...

Pensaba que eso lo haría en 1 día y ni de coña, empecé anoche y ahora mismo llevaré el 50%

Calculad mañana a última hora, siento el retraso de nuevo, pero se me hace complicado calcular los tiempos 

Editado por edneud11
  • Like 1
Publicado (editado)

Esta subido ya chavales, exactamente 7596 jugadores.

Fase beta, cualquier error que veais avisarme

 

Editado por edneud11
  • Like 1
  • edneud11 cambió el título a Regens jugadores historicos. Version beta 1.0
Publicado (editado)
El hace 47 minutos, Black_River dijo:

Dejo por aquí también el enlace: 

@edneud11 cómo has hecho para incrustarlo en el primer post? Jamás vi eso, qué chulo!

Incrustar el archivo?  en el final del post? Anda ... si es eso es muy facil, justo cuando estas escribiendo, como yo ahora, debajo de donde escribes a la derecha hay una cosa que pone "insertar" otros medios. Te da la opcion de adjunto existente o imagen desde url, y ahi sale el archivo mio, quizas por ser el que lo subio. Mira a ver igual tu con los permisos puedes tener acceso a poner los del resto que no lo tengan.

Por cierto manda narices que haya puesto eso y sea incapaz de poner una imagen que se vea 🤣 que lo intente desde esa misma casilla, pegando la direccion directamente en el foro, y desde el link de la barrita donde cogemos la negrita y todo eso

Editado por edneud11
  • Jajaja 1

Únete a la conversación

Puedes publicar ahora y registrarte después. Si ya tienes una cuenta, accede ahora para publicar con tu cuenta.

Guest
Responder a este tema...

×   Has pegado contenido con formato.   Pegar en texto plano

  Only 75 emoji are allowed.

×   El enlace se ha embebido automáticamente.   Convertir a enlace

×   Hemos restaurado el contenido anterior.   Limpiar editor

×   Tu usuario no puede pegar imágenes directamente. Súbelas a postimages y copia la URL de la imagen aquí.

  • Usuarios viendo esta sección   0 miembros

    • Ningún usuario registrado viendo esta página.

FOOTBALL MANAGER ESPAÑA

FMSite.net es la comunidad de Football Manager más grande en español. Con más de 20 años de experiencia, ofrece toda la actualidad del FM, guías, soporte, tácticas, descargas y parches para poner el FM a tono y mucha, mucha diversión.

×
×
  • Crear Nuevo...