Ignore:
Timestamp:
Sep 21, 2014, 7:20:16 PM (10 years ago)
Author:
alloc
Message:

fixes

Location:
binary-improvements/7dtd-server-fixes
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements/7dtd-server-fixes/7dtd-server-fixes.csproj

    r196 r197  
    124124    <Compile Include="src\JSON\MalformedJSONException.cs" />
    125125    <Compile Include="src\CustomCommands\Unban.cs" />
     126    <Compile Include="src\ItemList.cs" />
    126127  </ItemGroup>
    127128  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
  • binary-improvements/7dtd-server-fixes/src/CustomCommands/Give.cs

    r130 r197  
    3636                                }
    3737
    38                                 ItemBase item = null;
    39 
    40                                 foreach (ItemBase ib in ItemBase.list) {
    41                                         if (ib.name != null && ib.name.ToLower ().Equals (_params [1].ToLower ())) {
    42                                                 item = ib;
    43                                                 break;
    44                                         }
    45                                 }
    46 
    47                                 if (item == null) {
     38                                Nullable<ItemValue> iv = ItemList.Instance.GetItemValue(_params[1]);
     39                                if (iv == null) {
    4840                                        m_Console.SendResult ("Item not found.");
    4941                                        return;
     
    5749
    5850                                EntityPlayer p = CommonMappingFunctions.GetEntityPlayer (ci);
    59                                 CommonMappingFunctions.GetGameManager ().DropEntityItemServer (item.itemID, n, p.GetPosition (), Vector3.zero, Vector3.zero, 50, CommonMappingFunctions.GetEntityID (ci));
     51                                CommonMappingFunctions.GetGameManager ().DropEntityItemServer ((int)iv.Value.rawData, n, p.GetPosition (), Vector3.zero, Vector3.zero, 50, CommonMappingFunctions.GetEntityID (ci));
    6052
    6153                                m_Console.SendResult ("Dropped item");
  • binary-improvements/7dtd-server-fixes/src/CustomCommands/ListItems.cs

    r130 r197  
    2929
    3030                                int n = 0;
    31                                 foreach (ItemBase ib in ItemBase.list) {
    32                                         if (ib.name != null && ib.name.ToLower ().Contains (_params [0].ToLower ())) {
    33                                                 m_Console.SendResult ("    " + ib.name);
     31                                foreach (string s in ItemList.Instance.ItemNames) {
     32                                        if (s.ToLower ().Contains (_params [0].ToLower ())) {
     33                                                m_Console.SendResult ("    " + s);
    3434                                                n++;
    3535                                        }
  • binary-improvements/7dtd-server-fixes/src/PersistentData/Inventory.cs

    r192 r197  
    2121                {
    2222                        //Log.Out ("Updating player inventory - player id: " + pdf.id);
    23                         ProcessInv (bag, pdf.bag);
    24                         ProcessInv (belt, pdf.inventory);
     23                        ProcessInv (bag, pdf.bag, pdf.id);
     24                        ProcessInv (belt, pdf.inventory, pdf.id);
    2525                }
    2626
    27                 private void ProcessInv (List<InvItem> target, InventoryField[] sourceFields)
     27                private void ProcessInv (List<InvItem> target, InventoryField[] sourceFields, int id)
    2828                {
    2929                        lock (target) {
     
    3232                                        if (sourceFields [i].count > 0) {
    3333                                                int count = sourceFields [i].count;
     34                                                int maxAllowed = ItemBase.list [sourceFields [i].itemValue.type].StackNumber;
    3435                                                string name = getInvFieldName (sourceFields [i]);
    3536
     37                                                if (count > maxAllowed)
     38                                                        Log.Out ("Player with ID " + id + " has stack for \"" + name + "\" greater than allowed (" + count + " > " + maxAllowed + ")");
    3639                                                target.Add (new InvItem (name, count));
    3740                                        } else {
     
    4548                {
    4649                        ItemBase iBase = ItemBase.list [item.itemValue.type];
    47                         return iBase.GetItemName(item.itemValue);
     50                        return iBase.GetItemName (item.itemValue);
    4851                }
    4952
  • binary-improvements/7dtd-server-fixes/src/StateManager.cs

    r182 r197  
    1212                        try {
    1313                                Log.Out ("[7dtd-server-fixes by Alloc] Version: " + Assembly.GetExecutingAssembly ().GetName ().Version);
    14                                 new Web();
    15                                 new Telnet();
     14                                new Web ();
     15                                new Telnet ();
    1616
     17                                ItemList.Instance.Init ();
    1718                                CommandExtensions.InitCommandExtensions (manager);
    1819
Note: See TracChangeset for help on using the changeset viewer.