Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Core
#31
lin Написал:Где вы это на interlude видели?

Я упростил решение данному человеку, сведя все в зоны.
Ответ
#32
Cywka! Написал:Я упростил решение данному человеку, сведя все в зоны.
Я вот тоже, что-то там ничего подобного не вижу, в zone.xml, там даже про Core ничего не говорится и собственно квадрат 20_21 там только вот это:
PHP код:
<?php 
<zone id='15063' type='WaterZone' shape='NPoly' minZ='-4810' maxZ='-3810'/> <!-- [20_21_1] water zone-->
Про этот подиум ни малейшей зацепки.
Странно как-то, куда дели непонятно.Smile
Ответ
#33
Нашел, находится это в L2DamageZone. =)))
Странно в зоне прописано только это:
PHP код:
<?php 
<zone id='20000' type='DamageZone' shape='NPoly' minZ='-6519' maxZ='-6319'/>
Ответ
#34
Тогда возможно нужно копать в ядре сами типы зон)
Ответ
#35
lin Написал:Мне вот что пришло в голову, что-то как-то так делать, на сколько это будет эффективно я не знаю...
config.properties:
PHP код:
<?php 
#Config types:
boolean-BOOL=false
string
-STR=Name
PHP код:
<?php 
public class Config<Type> {

private static
Map<String, Object> config = new ConcurrentHashMap<>();
private static
String file = "C:\\config.properties";

public static
void main(String[] args) throws IOException {
final
Properties load = new Properties();
load.load(new FileInputStream(Config.file));
for (final
Entry<Object, Object> entry : load.entrySet()) {
final
String[] str = ((String) entry.getKey()).split("-");
if (
2 == str.length) {
switch (
str[0]) {
case
"string":
Config.config.put(str[1], String.valueOf(entry.getValue()));
break;
case
"boolean":
Config.config.put(str[1], Boolean.parseBoolean(String.valueOf(entry.getValue())));
break;
}
}
}
//Вывод:
System.out.println(Config.get("STR")); // String - Name
System.out.println(Config.get("BOOL")); // Boolean - false
}

public static <
Type> Type get(final String key) {
return (
Type) Config.config.get(key);
}
}
Но было бы очень удобно...
PHP код:
<?php 
if("Name".equals(Config.get("STR"))) {
System.out.println(Config.get("STR")); // Name
}
if(
Config.get("BOOL")) {
System.out.println(Config.get("BOOL")); // true
}


Хм, интересно...
Сделал так. Удачнее, чем выше.


PHP код:
<?php 
public final class Config implements Serializable {

private static
ConcurrentHashMap<String, Object> config = new ConcurrentHashMap<>();
private static final
String FILE = "C:\\config.properties",
SAVE_FILE = System.getProperty("user.dir") + File.separator + "config.object";

private
void load() throws IOException, ClassNotFoundException {
final
File current = new File(Config.FILE),
save = new File(Config.SAVE_FILE);
if (
save.exists() && save.lastModified() == current.lastModified()) {
final
FileInputStream FileOutputStream = new FileInputStream(Config.SAVE_FILE);
final
ObjectInputStream ObjectInputStream = new ObjectInputStream(FileOutputStream);
Config.config = (ConcurrentHashMap) ObjectInputStream.readObject();
} else if (
current.exists()) {
final
Properties Properties = new Properties();
Properties.load(new FileInputStream(current.getAbsolutePath()));
Properties.entrySet().stream().forEach((Entry<Object, Object> entry) -> {
final
String key = entry.getKey().toString(),
string = entry.getValue().toString(),
lower = string.toLowerCase().trim();
final
boolean isBool = lower.startsWith("true") || lower.startsWith("false"),
isInt = lower.matches("[-+]?\\d+"),
isDouble = Pattern.matches("^[\\+\\-]{0,1}[0-9]+[\\.\\,]{1}[0-9]+$", (CharSequence) lower);
if (
isBool) {
Config.config.put(key, Boolean.parseBoolean(string));
} else if (
isInt) {
Config.config.put(key, Integer.parseInt(string));
} else if (
isDouble) {
Config.config.put(key, Double.parseDouble(string));
} else {
Config.config.put(key, string);
}
});
if (
0 < Config.config.size()) {
try (
ObjectOutputStream ObjectOutputStream = new ObjectOutputStream(new FileOutputStream(Config.SAVE_FILE))) {
ObjectOutputStream.writeObject(Config.config);
}
if (
save.exists()) {
save.setLastModified(current.lastModified());
}
}
}
}

public static <
Type> Type get(final String key) {
return (
Type) Config.config.get(key);
}
}
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  C3 Win7 - Win10 Core.dll WhiteO 5 1,990 01-19-2016, 10:15 AM
Последний пост: feiteng

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)