- Хроники
- Chaotic Throne: High Five
- Исходники
- Присутствуют
- Сборка
- Rebellion
Есть какие-нибуть программы для управления сервером, в котором это реализовано? Или можно как-то через telnet консоль выдать командой?
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
я скачал компиль отсюда Компил - Rebellion-Teamпасиб. а есть исходник TelnetItems? а то у меня нету такого
package l2r.gameserver.network.telnet.commands;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
import l2r.gameserver.model.GameObjectsStorage;
import l2r.gameserver.model.Player;
import l2r.gameserver.model.items.ItemInstance;
import l2r.gameserver.network.serverpackets.SystemMessage2;
import l2r.gameserver.network.telnet.TelnetCommand;
import l2r.gameserver.network.telnet.TelnetCommandHolder;
import l2r.gameserver.utils.ItemFunctions;
import l2r.gameserver.utils.Log;
public class TelnetItems implements TelnetCommandHolder {
private...
Запросом в базу можно сделать.Есть какие-нибуть программы для управления сервером, в котором это реализовано? Или можно как-то через telnet консоль выдать командой?
А без участия базы данных?Запросом в базу можно сделать.
А есть гайд по работе с телнетом? Какие команды юзать?Посмотреть вложение 54586
Да и как Вы сами указали - в конфигах то есть возможность работы через telnet.
telnet {BindAddress} {Port}
# Telnet по умолчанию выключен. Установите на True для включения.
EnableTelnet = true
# Кодировка по-умолчанию
TelnetEncoding = UTF-8
# На каком адресе слушать подключения, укажите * для всех доступных
BindAddress = 127.0.0.1
# Порт для входящих соединения
Port = 12345
# Пароль можно не указывать, в таком случае следует закрыть доступ по ip
Password = 12345678
telnet 127.0.0.1 12345
add_item Shtebon 57 1000000
пасиб. а есть исходник TelnetItems? а то у меня нету такогоПосмотреть вложение 54593
стало быть команды для телнета следующие:
открываем командную строку (WIN + R -> cmd) и вводим команду
- add_item <char name> <itemId> <count> - выдача предмета персонажу
- add_item_all <itemId> <count> - выдача всем персонажам
- add_pcp <char name> <count> - выдача персонажу PcBangPoints
- add_pp <char name> <count> - выдача персонажу PremiumPoints
telnet {BindAddress} {Port}
исходя из следующих настроек
команда для подключения к телнет будет выглядеть вот такКод:# Telnet по умолчанию выключен. Установите на True для включения. EnableTelnet = true # Кодировка по-умолчанию TelnetEncoding = UTF-8 # На каком адресе слушать подключения, укажите * для всех доступных BindAddress = 127.0.0.1 # Порт для входящих соединения Port = 12345 # Пароль можно не указывать, в таком случае следует закрыть доступ по ip Password = 12345678
потребуется ввод пароля (в данном случае 12345678)Код:telnet 127.0.0.1 12345
ну и команда на выдачу предмета
Код:add_item Shtebon 57 1000000
p.s. - вместо командной строки возможно подойдет такой софт как putty и подобные
я скачал компиль отсюда Компил - Rebellion-Teamпасиб. а есть исходник TelnetItems? а то у меня нету такого
package l2r.gameserver.network.telnet.commands;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
import l2r.gameserver.model.GameObjectsStorage;
import l2r.gameserver.model.Player;
import l2r.gameserver.model.items.ItemInstance;
import l2r.gameserver.network.serverpackets.SystemMessage2;
import l2r.gameserver.network.telnet.TelnetCommand;
import l2r.gameserver.network.telnet.TelnetCommandHolder;
import l2r.gameserver.utils.ItemFunctions;
import l2r.gameserver.utils.Log;
public class TelnetItems implements TelnetCommandHolder {
private Set<TelnetCommand> _commands = new LinkedHashSet<>();
public TelnetItems() {
_commands.add(new TelnetCommand("add_item") {
public String getUsage() {
return "add_item <char name> <itemId> <count>";
}
public String handle(String[] args) {
if (args.length == 0 || args[0].isEmpty() || args[1].isEmpty() || args[2].isEmpty())
return null;
Player player = GameObjectsStorage.getPlayer(args[0]);
int itemID = Integer.parseInt(args[1]);
long itemCount = Integer.parseInt(args[2]);
if (player != null) {
TelnetItems.createItem(player, itemID, itemCount);
return "Player " + player.getName() + " give item " + itemID + " count " + itemCount + ".\n\r";
}
return "Player not found.\n\r";
}
});
_commands.add(new TelnetCommand("add_item_all") {
public String getUsage() {
return "add_item_all <itemId> <count>";
}
public String handle(String[] args) {
if (args.length == 0 || args[0].isEmpty() || args[1].isEmpty())
return null;
int item_id = Integer.parseInt(args[0]);
long item_count = Integer.parseInt(args[1]);
Iterator<Player> iterator = GameObjectsStorage.getAllPlayersForIterate().iterator();
if (iterator.hasNext()) {
Player player = iterator.next();
TelnetItems.createItem(player, item_id, item_count);
return "All Players give item " + item_id + " count " + item_count + ".\n\r";
}
return "";
}
});
_commands.add(new TelnetCommand("add_pcp") {
public String getUsage() {
return "add_pcp <char name> <count>";
}
public String handle(String[] args) {
if (args.length == 0 || args[0].isEmpty() || args[1].isEmpty())
return null;
Player player = GameObjectsStorage.getPlayer(args[0]);
int itemCount = Integer.parseInt(args[1]);
if (player != null) {
player.addPcBangPoints(itemCount, false);
return "Player " + player.getName() + " give item PCPoints count " + itemCount + ".\n\r";
}
return "Player not found.\n\r";
}
});
_commands.add(new TelnetCommand("add_pp") {
public String getUsage() {
return "add_pp <char name> <count>";
}
public String handle(String[] args) {
if (args.length == 0 || args[0].isEmpty() || args[1].isEmpty())
return null;
Player player = GameObjectsStorage.getPlayer(args[0]);
int itemCount = Integer.parseInt(args[1]);
if (player != null) {
player.reducePremiumPoints(itemCount);
return "Player " + player.getName() + " give premium items count " + itemCount + ".\n\r";
}
return "Player not found.\n\r";
}
});
}
private static ItemInstance createItem(Player player, int itemId, long count) {
ItemInstance createditem = ItemFunctions.createItem(itemId);
createditem.setCount(count);
Log.LogItem(player, "Create", createditem);
player.getInventory().addItem(createditem);
if (!createditem.isStackable()) {
long i;
for (i = 0L; i < count - 1L; i++) {
createditem = ItemFunctions.createItem(itemId);
Log.LogItem(player, "Create", createditem);
player.getInventory().addItem(createditem);
}
}
player.sendPacket(SystemMessage2.obtainItems(itemId, count, 0));
return createditem;
}
public Set<TelnetCommand> getCommands() {
return _commands;
}
}
addHandler(new TelnetDebug()); // line 71
addHandler(new TelnetItems()); // added
addHandler(new TelnetPerfomance());
я скачал компиль отсюда Компил - Rebellion-Team
пришлось декомпельнуть
Java:package l2r.gameserver.network.telnet.commands; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.Set; import l2r.gameserver.model.GameObjectsStorage; import l2r.gameserver.model.Player; import l2r.gameserver.model.items.ItemInstance; import l2r.gameserver.network.serverpackets.SystemMessage2; import l2r.gameserver.network.telnet.TelnetCommand; import l2r.gameserver.network.telnet.TelnetCommandHolder; import l2r.gameserver.utils.ItemFunctions; import l2r.gameserver.utils.Log; public class TelnetItems implements TelnetCommandHolder { private Set<TelnetCommand> _commands = new LinkedHashSet<>(); public TelnetItems() { _commands.add(new TelnetCommand("add_item") { public String getUsage() { return "add_item <char name> <itemId> <count>"; } public String handle(String[] args) { if (args.length == 0 || args[0].isEmpty() || args[1].isEmpty() || args[2].isEmpty()) return null; Player player = GameObjectsStorage.getPlayer(args[0]); int itemID = Integer.parseInt(args[1]); long itemCount = Integer.parseInt(args[2]); if (player != null) { TelnetItems.createItem(player, itemID, itemCount); return "Player " + player.getName() + " give item " + itemID + " count " + itemCount + ".\n\r"; } return "Player not found.\n\r"; } }); _commands.add(new TelnetCommand("add_item_all") { public String getUsage() { return "add_item_all <itemId> <count>"; } public String handle(String[] args) { if (args.length == 0 || args[0].isEmpty() || args[1].isEmpty()) return null; int item_id = Integer.parseInt(args[0]); long item_count = Integer.parseInt(args[1]); Iterator<Player> iterator = GameObjectsStorage.getAllPlayersForIterate().iterator(); if (iterator.hasNext()) { Player player = iterator.next(); TelnetItems.createItem(player, item_id, item_count); return "All Players give item " + item_id + " count " + item_count + ".\n\r"; } return ""; } }); _commands.add(new TelnetCommand("add_pcp") { public String getUsage() { return "add_pcp <char name> <count>"; } public String handle(String[] args) { if (args.length == 0 || args[0].isEmpty() || args[1].isEmpty()) return null; Player player = GameObjectsStorage.getPlayer(args[0]); int itemCount = Integer.parseInt(args[1]); if (player != null) { player.addPcBangPoints(itemCount, false); return "Player " + player.getName() + " give item PCPoints count " + itemCount + ".\n\r"; } return "Player not found.\n\r"; } }); _commands.add(new TelnetCommand("add_pp") { public String getUsage() { return "add_pp <char name> <count>"; } public String handle(String[] args) { if (args.length == 0 || args[0].isEmpty() || args[1].isEmpty()) return null; Player player = GameObjectsStorage.getPlayer(args[0]); int itemCount = Integer.parseInt(args[1]); if (player != null) { player.reducePremiumPoints(itemCount); return "Player " + player.getName() + " give premium items count " + itemCount + ".\n\r"; } return "Player not found.\n\r"; } }); } private static ItemInstance createItem(Player player, int itemId, long count) { ItemInstance createditem = ItemFunctions.createItem(itemId); createditem.setCount(count); Log.LogItem(player, "Create", createditem); player.getInventory().addItem(createditem); if (!createditem.isStackable()) { long i; for (i = 0L; i < count - 1L; i++) { createditem = ItemFunctions.createItem(itemId); Log.LogItem(player, "Create", createditem); player.getInventory().addItem(createditem); } } player.sendPacket(SystemMessage2.obtainItems(itemId, count, 0)); return createditem; } public Set<TelnetCommand> getCommands() { return _commands; } }
ну и не забываем подключить/зарегистрировать команду в TelnetServerHandler.java
Java:addHandler(new TelnetDebug()); // line 71 addHandler(new TelnetItems()); // added addHandler(new TelnetPerfomance());
нуебатькопать импорт то кто будет добавлять?
import l2r.gameserver.network.telnet.commands.TelnetBan;
import l2r.gameserver.network.telnet.commands.TelnetConfig;
import l2r.gameserver.network.telnet.commands.TelnetDebug;
import l2r.gameserver.network.telnet.commands.TelnetPerfomance;
import l2r.gameserver.network.telnet.commands.TelnetSay;
import l2r.gameserver.network.telnet.commands.TelnetServer;
import l2r.gameserver.network.telnet.commands.TelnetStatus;
import l2r.gameserver.network.telnet.commands.TelnetWorld;
import l2r.gameserver.network.telnet.commands.*;
import l2r.gameserver.network.telnet.commands.TelnetItems;
пасибо) компильнул)нуебатькопать импорт то кто будет добавлять?
заменить
на следующееJava:import l2r.gameserver.network.telnet.commands.TelnetBan; import l2r.gameserver.network.telnet.commands.TelnetConfig; import l2r.gameserver.network.telnet.commands.TelnetDebug; import l2r.gameserver.network.telnet.commands.TelnetPerfomance; import l2r.gameserver.network.telnet.commands.TelnetSay; import l2r.gameserver.network.telnet.commands.TelnetServer; import l2r.gameserver.network.telnet.commands.TelnetStatus; import l2r.gameserver.network.telnet.commands.TelnetWorld;
Java:import l2r.gameserver.network.telnet.commands.*;
или же просто добавить
Java:import l2r.gameserver.network.telnet.commands.TelnetItems;
ЗАРАБОТАЛО)))нуебатькопать импорт то кто будет добавлять?
заменить
на следующееJava:import l2r.gameserver.network.telnet.commands.TelnetBan; import l2r.gameserver.network.telnet.commands.TelnetConfig; import l2r.gameserver.network.telnet.commands.TelnetDebug; import l2r.gameserver.network.telnet.commands.TelnetPerfomance; import l2r.gameserver.network.telnet.commands.TelnetSay; import l2r.gameserver.network.telnet.commands.TelnetServer; import l2r.gameserver.network.telnet.commands.TelnetStatus; import l2r.gameserver.network.telnet.commands.TelnetWorld;
Java:import l2r.gameserver.network.telnet.commands.*;
или же просто добавить
Java:import l2r.gameserver.network.telnet.commands.TelnetItems;
Шелл клиент закиньте себе, да делайте что хотите через сайт.через сайт может есть возможность?)
SELECT owner_id FROM characters WHERE _char_name = 'тут_ник_игрока';
INSERT INTO items_delayed (owner_id, item_id, count) VALUES ('ПОЛУЧЕННЫЙ_OWNER_ID', 'ИД_ИТЕМА', 'КОЛИЧЕСТВО');
чел вот тут что то мутил линкчерез сайт может есть возможность?)