Herramientas de usuario

Herramientas del sitio


spawnloadouts

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
spawnloadouts [2026/03/19 08:32] adminwikispawnloadouts [2026/03/19 08:52] (actual) adminwiki
Línea 7: Línea 7:
   - El archivo CommonItems.txt contiene los items comunes para todos los personajes.   - El archivo CommonItems.txt contiene los items comunes para todos los personajes.
   - Los archivos de la carpeta Donators se identifican con el número SteamId de cada jugador.   - Los archivos de la carpeta Donators se identifican con el número SteamId de cada jugador.
 +
 +**Ejemplo de la estructura de carpetas y archivos**
 +
 +  G:\SERVER_PATAGONIA\PROFILES\SPAWNLOADOUT
 +  │   CommonItems.txt
 +  │   Regular.txt
 +  │
 +  └───Donators
 +          76561198031630167.txt
 +          76561198182095246.txt
 +
  
 **Ejemplo de archivo Regular.txt** **Ejemplo de archivo Regular.txt**
Línea 45: Línea 56:
   AviatorGlasses   AviatorGlasses
   StunBaton   StunBaton
 +
 +
 +**EJEMPLO DE ARCHIVO DE MISION init.c**
 +
 +  void main()
 +  {
 +      Weather weather = g_Game.GetWeather();
 +      weather.MissionWeather(false);
 + 
 +      Hive ce = CreateHive();
 +      if ( ce )
 +  ce.InitOffline();
 +  }
 +  
 +  
 +  // SPAWN LOADOUT
 +  class CustomMission: MissionServer
 +  {
 +      string m_SpawnLoadoutDirectory = "$profile:SpawnLoadout/";
 +      string m_DonatorDirectory = m_SpawnLoadoutDirectory + "Donators/"; 
 +      string m_RegularLoadout = m_SpawnLoadoutDirectory + "Regular.txt"; 
 +      string m_CommonItems = m_SpawnLoadoutDirectory + "CommonItems.txt";regular and donator
 +  
 +      void CustomMission()
 +      {
 +          FileHandle templateFile;
 + 
 +    PrintString("[CustomMission] CustomMission");
 +    PrintString("[CustomMission] SpawnLoadoutDirectory: " + m_SpawnLoadoutDirectory);
 +    PrintString("[CustomMission] DonatorDirectory: " + m_DonatorDirectory);
 +    PrintString("[CustomMission] RegularLoadout: " + m_RegularLoadout);
 +    PrintString("[CustomMission] CommonItems: " + m_CommonItems);
 +  
 +          if (!FileExist(m_SpawnLoadoutDirectory))
 +          {
 +            PrintString("[CustomMission] Spawn loadout folder does not exist: " + m_SpawnLoadoutDirectory);
 +            PrintString("[CustomMission] Making directory: " + m_SpawnLoadoutDirectory);
 +            MakeDirectory(m_SpawnLoadoutDirectory);
 +            PrintString("[CustomMission] Directory made: " + m_SpawnLoadoutDirectory);
 +  
 +            // create default CommonItems.txt
 +            PrintString("[CustomMission] Creating file: " + m_CommonItems);
 +            templateFile = OpenFile(m_CommonItems, FileMode.WRITE);
 +            FPrintln(templateFile, "// COMMON ITEMS\nBandageDressing 4\nHuntingKnife\nMatchbox\nHatchet\nFlashlight\nBattery9V\nSodaCan_Cola\nBakedBeansCan");
 +            CloseFile(templateFile);
 +            PrintString("[CustomMission] File created: " + m_CommonItems);
 +  
 +            // create default Regular.txt
 +            PrintString("[CustomMission] Creating file: " + m_RegularLoadout);
 +            templateFile = OpenFile(m_RegularLoadout, FileMode.WRITE);
 +            FPrintln(templateFile, "// REGULAR ITEMS\nBomberJacket_Grey\nJeans_Grey\nTaloonBag_Blue\nAthleticShoes_Grey");
 +            CloseFile(templateFile);
 +            PrintString("[CustomMission] File created: " + m_RegularLoadout);
 +          }
 +  
 +          if (!FileExist(m_DonatorDirectory))
 +          {
 +             PrintString("[CustomMission] Donator folder does not exist: " + m_DonatorDirectory);
 +             string template = GetDonatorFile("STEAMIDHERE.txt");
 +  
 +             PrintString("[CustomMission] Making directory: " + m_DonatorDirectory);
 +             MakeDirectory(m_DonatorDirectory);
 +             PrintString("[CustomMission] Directory made: " + m_DonatorDirectory);
 +  
 +             // create template donator file
 +             PrintString("[CustomMission] Creating template donator file... ");
 +             templateFile = OpenFile(template, FileMode.WRITE);
 +             FPrintln(templateFile, "// STEAMIDNUMBER\nBomberJacket_Black\nJeans_Black\nTaloonBag_Black\nAthleticShoes_Black");
 +             CloseFile(templateFile);
 +             PrintString("[CustomMission] Template donator file created");
 +          }
 +      }
 +  
 +      override void StartingEquipSetup(PlayerBase player, bool clothesChosen)
 +      {
 +        PrintString("[StartingEquipSetup] StartingEquipSetup... ");
 +        player.RemoveAllItems(); // clear all default spawning items
 +  
 +        FileHandle donatorFile;
 +        string line;
 +  
 +        TStringArray contents = new TStringArray();
 +        string file = GetDonatorFile(player.GetIdentity().GetPlainId());
 +  
 +        if (FileExist(file))
 +        {
 +          PrintString("[StartingEquipSetup] Donator file exists: " + file);
 +          SpawnLoadout(player, ReadFileLines(file)); // spawn donator loadout
 +          return;
 +        }
 +  
 +        PrintString("[StartingEquipSetup] Inexistent donator file: " + file);
 +        SpawnLoadout(player, ReadFileLines(m_RegularLoadout)); // spawn regular player loadout
 +      }
 +  
 +      private void SpawnLoadout(PlayerBase player, ref TStringArray loadout)
 +      {
 +        PrintString("[SpawnLoadout] SpawnLoadout.");
 +        FileHandle loadoutFile;
 +        string line;
 +  
 +        // creates clothes loadout
 +        PrintString("[SpawnLoadout] Creating clothes loadout");
 +        foreach (string clothes : loadout)
 +        {
 +          PrintString("[SpawnLoadout] Clothes: " + clothes);
 +          player.GetInventory().CreateInInventory(clothes);
 +  }
 +   
 +        // creates common items
 +        PrintString("[SpawnLoadout] Reading the common items: " + m_CommonItems);
 +        TStringArray items = ReadFileLines(m_CommonItems);
 +        foreach (string item : items)
 +        {
 +    PrintString("[SpawnLoadout] Item: " + item);
 +    if (!item.Contains("//")) // check for commented lines
 +    {
 +      player.GetInventory().CreateInInventory(item);
 +    }
 +  }
 +      }
 +  
 +      private void CreateQuantityItem(PlayerBase player, string item)
 +      {
 +        PrintString("[CreateQuantityItem] CreateQuantityItem: " + item);
 +        TStringArray quantity = new TStringArray();
 +        item.Split(" ", quantity);
 +  
 +        ItemBase quantityItem = player.GetInventory().CreateInInventory(quantity[0]);
 +          quantityItem.SetQuantity(quantity[1].ToFloat());
 +      }
 +  
 +      private string GetDonatorFile(string id)
 +      {
 +  PrintString("[GetDonatorFile] GetDonatorFile: " + m_DonatorDirectory + id + ".txt");
 +        return string.Format("%1%2.txt", m_DonatorDirectory, id);
 +      }
 +  
 +      private TStringArray ReadFileLines(string path)
 +      {
 +  PrintString("[ReadFileLines] ReadFileLines: " + path);
 +        FileHandle file;
 +        string line;
 +  
 +        TStringArray contents = new TStringArray();
 +  
 +        file = OpenFile(path, FileMode.READ);
 +        while (FGets(file, line) > 0)
 +        {
 +          line.Trim();
 +    PrintString("[ReadFileLines] Line: " + line);
 +          if (line != string.Empty)
 +          {
 +            contents.Insert(line);
 +            line = string.Empty;
 +          }
 +        }
 +  
 +        CloseFile(file);
 +        return contents;
 +      }
 +  };
 +  
 +  Mission CreateCustomMission(string path)
 +  {
 +  return new CustomMission();
 +  }
 +
  
spawnloadouts.1773919924.txt.gz · Última modificación: por adminwiki

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki