Skip to content

Dynamic Billboard Advertising

The script ships as two resources. Keep their folder names exactly rs_ad_agency and rs_ad_agency_assets. Their main files are organized as follows:

  • Directoryrs_ad_agency The script
    • client Client-side rendering, kiosks, reps, editor, city map, and admin interface logic
    • Directorydata Runtime data
      • ads Ad media saved by the server
    • Directoryserver Rentals, payments, analytics, kiosks, reps, reservations, and the admin back end
      • bridge.lua Open framework, permission, and payment adapter
    • Directoryshared Shared modules
      • config.lua Main editable configuration
    • web In-game interfaces: agency manager, ad editor, kiosk screen, admin panel, and 3D map
    • fxmanifest.lua Resource manifest and dependency declarations
    • README.md Quick setup notes
  • Directoryrs_ad_agency_assets Streamed assets
    • Directorystream Billboard faces, baked house ad textures, and the kiosk prop
      • rs_ad_agency_kiosk.ydr Agency kiosk prop
      • rs_adverts_house_ads.ytd Baked house ad textures
    • metadata Billboard catalog data
    • decals.dat Adds the agencyโ€™s render slots
    • gta5.meta Points the level at the agencyโ€™s decals.dat
    • fxmanifest.lua Resource manifest
    • README.md Asset pack notes
PathStatusPurpose
shared/config.luaโœ… OpenAccess points, kiosks, reps, rental terms, slides, pricing, house ads, rendering, and permissions
server/bridge.luaโœ… OpenAdmin checks, player jobs and identifiers, and charging or refunding rent
web/Accessible in the packageInterfaces and styles; preserve compatibility when modifying

The release uses Cfx.re Asset Escrow. Its fxmanifest.lua explicitly leaves these files editable:

  • shared/config.lua
  • server/bridge.lua

The gameplay Lua in client/, server/, and shared/ is otherwise protected. Supported customizations should use config.lua, the in-game admin panel, and bridge.lua instead of editing internal scripts.

PathUsed For
shared/config.luaMain settings and their defaults
server/bridge.luaFramework admin groups, player jobs, and rent payment accounts
data/ads/Ad media stored by the server for every rented board
rs_ad_agency_assets/stream/Billboard faces, the kiosk prop, and baked house ads
rs_ad_agency_assets/gta5.metaThe level meta replacement that adds the render slots

The resource creates and manages its own SQL tables through oxmysql:

TableStores
rs_ad_agency_placementsBillboards, their prices, whether they can be rented, and the ad currently on each
rs_ad_agency_contractsRentals, their terms, slides, and payments
rs_ad_agency_viewsBoard views used for stats and traffic pricing
rs_ad_agency_reservationsBoards kept for players or jobs, and dedicated boards
rs_ad_agency_kiosksKiosks placed in game
rs_ad_agency_agentsAgency reps placed in game
rs_ad_agency_deniedPlayers stopped from renting
rs_ad_agency_settingsSettings changed in the admin panel
rs_ad_agency_receiver_bindings, rs_ad_agency_receiver_aliasesHow the billboard catalog maps to boards in the world