Documentation
  • 📄TeamsGG Documentation
    • Common Errors
  • Paid Scripts
    • 📱Phone
      • 🧠Installation
      • 🦄Unique phones
      • 💿Configure
        • 💄Additional Features
        • 📸Camera
        • 🍏Apps
        • 🪵Logs
        • 🖼️Media Customization
        • 🗣️Multi-Language Support
        • 🗃️SIM Cards
        • 🚗Valet System
      • ⏭️Exports
        • Client side
          • 👁️‍🗨️General
          • ☀️Groups
          • 🏢Companies
          • 🔧Misc
        • Server side
          • 🆔Identify Player
          • ☎️Sim Cards
          • ☀️Groups
          • 🌐Cell Broadcast
          • 💸YPay
          • 📧Mail
          • 📪Notifications
          • 📵Screen Damage
          • 🔧Misc
      • 🪛Commands
      • 🍎Custom apps
    • ☎️Boomer Phone
      • 🧠Installation
      • 🦄Unique phones
      • ⏯️Exports
        • Client side
    • 🏠Properties
      • 🧠Installation
      • 💿Configure
      • 🐚Add More Shells
      • ⏭️Exports
        • Client side
          • GetCurrentPropertyId
          • GetCurrentProperty
          • IsPointInsideProperty
          • OpenPropertyMenu
          • AddKey
          • RemoveKey
          • SetWaypointToProperty
          • GetAllProperties
          • GetKeyHolders
          • PoliceRaidDoor
        • Server side
          • GetAllProperties
          • AddKey
          • RemoveKey
          • ToggleDoorlock
          • GetPlayersInProperty
          • GetKeyHolders
          • DeleteProperty
          • AddStarterApartment
      • 👜State bags
    • 🏦Banking
      • 🧠Installation
      • ⏯️Exports
        • Client side
        • Server side
    • 💸Billing
      • 🧠Installation
      • ⏭️Exports
        • Client side
        • Server side
    • 📊Hud
      • 🧠Installation
      • ⏭️Exports
        • Client side
    • 📦Storage Units
      • 🧠Installation
Powered by GitBook
On this page
  • Managing Apps
  • Adding/Removing Apps
  • Basic App Structure
  • App Restrictions
  • Job-Based Restrictions
  • Restriction Types
  • Restriction Logic
  • Custom App Integration
  • Adding Custom Apps
  • App Development Guidelines
  • Configuration Examples
  • Security App (Police Only)
  • Illegal Communications (No Police)
  • Universal Utility App
  • Troubleshooting
  • Common Issues
  • Validation Steps
  • Debug Commands
  1. Paid Scripts
  2. Phone
  3. Configure

Apps

The YSeries phone system allows you to add, remove, and restrict apps through configuration files. Apps can be restricted based on player jobs or completely removed from the phone.

Managing Apps

Adding/Removing Apps

You can add or remove apps from the phone by modifying the config/config.json file:

  1. Navigate to config/config.json

  2. Locate the apps section

  3. Add or remove app entries as needed

  4. Restart the phone system (preferably the whole server)

Important Notes:

  • JSON files don't support comments

  • If apps don't disappear after removal, ensure you completely removed the entry (don't just comment it out)

  • Always validate JSON syntax after modifications

Basic App Structure

{
    "key": "app_identifier",
    "name": "App Display Name",
    "description": "App Category/Description",
    "defaultApp": false
}

App Restrictions

Job-Based Restrictions

You can restrict apps based on player jobs using disabledJobs and allowedJobs arrays:

{
    "key": "darkchat",
    "name": "Dark Chat",
    "description": "Communication",
    "defaultApp": false,
    "disabledJobs": ["police"],
    "allowedJobs": ["cartel"]
}

Restriction Types

Disabled Jobs

  • Purpose: Prevent specific jobs from accessing the app

  • Usage: Add job names to disabledJobs array

  • Example: Police officers cannot access illegal communication apps

"disabledJobs": ["police", "sheriff", "fbi"]

Allowed Jobs

  • Purpose: Only allow specific jobs to access the app

  • Usage: Add job names to allowedJobs array

  • Example: Only cartel members can access dark chat

"allowedJobs": ["cartel", "gang", "mafia"]

Restriction Logic

  • If allowedJobs is defined: Only listed jobs can access the app

  • If disabledJobs is defined: All jobs except listed ones can access the app

  • If both are defined: allowedJobs takes precedence

  • If neither is defined: All jobs can access the app

Custom App Integration

Adding Custom Apps

  1. Create App Configuration:

{
    "key": "myapp",
    "name": "My Custom App",
    "description": "Utilities",
    "defaultApp": false,
    "allowedJobs": ["mechanic"]
}
  1. Implement App Logic:

    • Create UI components in the phone interface

    • Add server-side handlers if needed

    • Implement app-specific functionality

App Development Guidelines

  • Performance: Keep apps lightweight and responsive

  • Consistency: Follow existing app design patterns

  • Security: Validate all user inputs server-side

  • Permissions: Respect job restrictions and permissions

Configuration Examples

Security App (Police Only)

{
    "key": "police_mdt",
    "name": "Police MDT",
    "description": "Law Enforcement",
    "defaultApp": false,
    "allowedJobs": ["police", "sheriff", "fbi"],
    "icon": "shield"
}

Illegal Communications (No Police)

{
    "key": "encrypted_chat",
    "name": "Encrypted Chat",
    "description": "Communication",
    "defaultApp": false,
    "disabledJobs": ["police", "sheriff", "fbi", "ems"]
}

Universal Utility App

{
    "key": "calculator",
    "name": "Calculator",
    "description": "Utilities",
    "defaultApp": true
}

Troubleshooting

Common Issues

  1. Apps not appearing/disappearing:

    • Check JSON syntax validity

    • Ensure complete restart of resource/server

    • Verify app entries are properly formatted

  2. Job restrictions not working:

    • Check job names match exactly (case-sensitive)

    • Verify player job data is properly set

    • Test with different job assignments

  3. JSON parsing errors:

    • Use a JSON validator to check syntax

    • Remove any comments from JSON files

    • Check for trailing commas

Validation Steps

  1. JSON Validation: Use online JSON validators

  2. Job Testing: Test restrictions with different job roles

  3. Server Logs: Check console for configuration errors

  4. Player Testing: Have players with different jobs test access

Debug Commands

-- Check current player job
/job

PreviousCameraNextLogs

Last updated 4 days ago

📱
💿
🍏