Exemplo n.º 1
0
        public static void DbItemsCommaWriter <TKey>(DbDebugItem <TKey> debug, AbstractDb <TKey> db)
        {
            try {
                StringBuilder builder = new StringBuilder();

                if (debug.FileType == FileType.Txt)
                {
                    if (AllLoaders.GetServerType() == ServerType.RAthena)
                    {
                        DbIntCommaRange(debug, db, 0, ServerItemAttributes.OnUnequipScript.Index + 1);
                        return;
                    }

                    DbItemsWriterSub(builder, db, db.Table.FastItems.OrderBy(p => p.GetKey <TKey>()), ServerType.RAthena);
                    File.WriteAllText(debug.FilePath, builder.ToString(), Encoding.Default);
                }
                else if (debug.FileType == FileType.Conf)
                {
                    builder.AppendLineUnix("item_db: (");
                    builder.Append(SqlParser.HerculesItemsDbTxtHeader);
                    DbItemsWriterSub(builder, db, db.Table.FastItems, ServerType.Hercules);
                    builder.AppendLineUnix(")");
                    File.WriteAllText(debug.FilePath, builder.ToString(), Encoding.Default);
                }
                else if (debug.FileType == FileType.Sql)
                {
                    SqlParser.DbSqlItems(debug, db);
                }
            }
            catch (Exception err) {
                debug.ReportException(err);
            }
        }
Exemplo n.º 2
0
        public static void DbItemsWriter(DbDebugItem <int> debug, AbstractDb <int> db)
        {
            try {
                StringBuilder builder = new StringBuilder();

                if (debug.FileType == FileType.Txt)
                {
                    if (DbPathLocator.GetServerType() == ServerType.RAthena)
                    {
                        DbIOMethods.DbWriterComma(debug, db, 0, ServerItemAttributes.OnUnequipScript.Index + 1, (tuple, items) => {
                            if (db.ProjectDatabase.IsRenewal)
                            {
                                string value = tuple.GetValue <string>(ServerItemAttributes.Matk) ?? "";

                                if (value == "" || value == "0")
                                {
                                    return;
                                }

                                string atk = items[ServerItemAttributes.Attack.Index].ToString();

                                items[ServerItemAttributes.Attack.Index] = (atk == "" ? "0" : atk) + ":" + value;
                            }
                        });
                        return;
                    }

                    DbItemsWriterSub(builder, db, db.Table.FastItems.OrderBy(p => p.GetKey <int>()), ServerType.RAthena);
                    FtpHelper.WriteAllText(debug.FilePath, builder.ToString());
                }
                else if (debug.FileType == FileType.Conf)
                {
                    DbIOMethods.DbIOWriterConf(debug, db, (r, q) => WriteEntry(db, r, q));
                }
                else if (debug.FileType == FileType.Sql)
                {
                    SqlParser.DbSqlItems(debug, db);
                }
            }
            catch (Exception err) {
                debug.ReportException(err);
            }
        }