Сообщений: 211
Тем: 11
Зарегистрирован: Jul 2009
Репутация:
2,309
MaT Написал:в общем суть проблемы, при выбори диалога у нпц заточить скилы, окно с возможностью заточить не появляется, как это можно исправить?
Папку систем смени.
Сообщений: 139
Тем: 6
Зарегистрирован: Dec 2009
Репутация:
17
02-23-2010, 10:57 PM
(Сообщение последний раз редактировалось: 02-23-2010, 11:39 PM Perfecto.)
Помогите вот логин пароль проходит а при выборе серва не входит серв видит.Версия La2Phoenix 17352
Логи
Starting L2P Login Server.
20:40:00.154 loading login config
20:40:00.232 MLog clients using java 1.4+ standard logging.
20:40:00.342 Initializing c3p0-0.9.1.2 [built 21-May-2007 15:04:56; debug? true
; trace: 10]
20:40:00.420 Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSourc
e [ acquireIncrement -> 5, acquireRetryAttempts -> 0, acquireRetryDelay -> 100,
autoCommitOnClose -> true, automaticTestTable -> null, breakAfterAcquireFailure
-> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectio
nTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSource
Name -> 1bqon2k861xyfwo7fchfe4|1d80e6d, debugUnreturnedConnectionStackTraces ->
false, description -> null, driverClass -> com.mysql.jdbc.Driver, factoryClassLo
cation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1bq
on2k861xyfwo7fchfe4|1d80e6d, idleConnectionTestPeriod -> 60, initialPoolSize ->
1, jdbcUrl -> jdbc:mysql://localhost/l2pdb, maxAdministrativeTaskTime -> 0, maxC
onnectionAge -> 0, maxIdleTime -> 600, maxIdleTimeExcessConnections -> 0, maxPoo
lSize -> 100, maxStatements -> 100, maxStatementsPerConnection -> 0, minPoolSize
-> 1, numHelperThreads -> 5, numThreadsAwaitingCheckoutDefaultUser -> 0, prefer
redTestQuery -> null, properties -> {user=******, password=******}, propertyCycl
e -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unr
eturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ]
20:40:00.716 Loading LoginController...
20:40:00.716 Loaded Whirlpool as default crypt.
20:40:02.947 Cached 10 KeyPairs for RSA communication
20:40:03.150 Stored 20 keys for Blowfish communication
20:40:03.165 Loaded 127 server names
20:40:03.196 Loaded 1 registered Game Servers
20:40:03.586 Cached 10 RSA keys for Game Server communication.
20:40:03.618 Listening for GameServers on *:9014
20:40:03.618 LoginServer: GS listener started.
20:40:03.618 LoginServer Telnet server is currently disabled.
20:40:03.618 Login Server ready on port 2106
20:40:03.633 0 banned IPs defined
20:40:03.633 Restarting in 21600 sec.
20:40:04.389 Free memory 122 Mb of 127 Mb
20:41:05.654 Init connection crypt for gameserver 127.0.0.1: NewCrypt
20:41:05.666 Trying to register server: 1, 127.0.0.1
20:41:05.667 Updated Gameserver Bartz Hostname's:
20:41:05.667 InternalHostname: 127.0.0.1
20:41:05.668 ExternalHostname: 127.0.0.1
20:41:05.670 Server registration successful.
java.lang.NullPointerException
at l2p.loginserver.gameservercon.lspackets.PlayerAuth Response.<init>(Pla
yerAuthResponse.java:22)
at l2p.loginserver.gameservercon.gspackets.PlayerAuth Request.read(Player
AuthRequest.java:53)
at l2p.loginserver.gameservercon.gspackets.ClientBase Packet.run(ClientBa
sePacket.java:84)
at java.util.concurrent.ThreadPoolExecutor$Worker.run Task(Unknown Source
)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
at l2p.loginserver.gameservercon.lspackets.PlayerAuth Response.<init>(Pla
yerAuthResponse.java:22)
at l2p.loginserver.gameservercon.gspackets.PlayerAuth Request.read(Player
AuthRequest.java:53)
at l2p.loginserver.gameservercon.gspackets.ClientBase Packet.run(ClientBa
sePacket.java:84)
at java.util.concurrent.ThreadPoolExecutor$Worker.run Task(Unknown Source
)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (Unknown Source)
at java.lang.Thread.run(Unknown Source)
Заметил что одного чара получилось создать и он входит постояно а других нельзя создать не пускает на серв при выборе серва?
Сообщений: 211
Тем: 11
Зарегистрирован: Jul 2009
Репутация:
2,309
Travesil Написал:Помогите вот логин пароль проходит а при выборе серва не входит серв видит.Версия La2Phoenix 17352
Логи
Starting L2P Login Server.
20:40:00.154 loading login config
20:40:00.232 MLog clients using java 1.4+ standard logging.
20:40:00.342 Initializing c3p0-0.9.1.2 [built 21-May-2007 15:04:56; debug? true
; trace: 10]
20:40:00.420 Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSourc
e [ acquireIncrement -> 5, acquireRetryAttempts -> 0, acquireRetryDelay -> 100,
autoCommitOnClose -> true, automaticTestTable -> null, breakAfterAcquireFailure
-> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectio
nTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSource
Name -> 1bqon2k861xyfwo7fchfe4|1d80e6d, debugUnreturnedConnectionStackTraces ->
false, description -> null, driverClass -> com.mysql.jdbc.Driver, factoryClassLo
cation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1bq
on2k861xyfwo7fchfe4|1d80e6d, idleConnectionTestPeriod -> 60, initialPoolSize ->
1, jdbcUrl -> jdbc:mysql://localhost/l2pdb, maxAdministrativeTaskTime -> 0, maxC
onnectionAge -> 0, maxIdleTime -> 600, maxIdleTimeExcessConnections -> 0, maxPoo
lSize -> 100, maxStatements -> 100, maxStatementsPerConnection -> 0, minPoolSize
-> 1, numHelperThreads -> 5, numThreadsAwaitingCheckoutDefaultUser -> 0, prefer
redTestQuery -> null, properties -> {user=******, password=******}, propertyCycl
e -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unr
eturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ]
20:40:00.716 Loading LoginController...
20:40:00.716 Loaded Whirlpool as default crypt.
20:40:02.947 Cached 10 KeyPairs for RSA communication
20:40:03.150 Stored 20 keys for Blowfish communication
20:40:03.165 Loaded 127 server names
20:40:03.196 Loaded 1 registered Game Servers
20:40:03.586 Cached 10 RSA keys for Game Server communication.
20:40:03.618 Listening for GameServers on *:9014
20:40:03.618 LoginServer: GS listener started.
20:40:03.618 LoginServer Telnet server is currently disabled.
20:40:03.618 Login Server ready on port 2106
20:40:03.633 0 banned IPs defined
20:40:03.633 Restarting in 21600 sec.
20:40:04.389 Free memory 122 Mb of 127 Mb
20:41:05.654 Init connection crypt for gameserver 127.0.0.1: NewCrypt
20:41:05.666 Trying to register server: 1, 127.0.0.1
20:41:05.667 Updated Gameserver Bartz Hostname's:
20:41:05.667 InternalHostname: 127.0.0.1
20:41:05.668 ExternalHostname: 127.0.0.1
20:41:05.670 Server registration successful.
java.lang.NullPointerException
at l2p.loginserver.gameservercon.lspackets.PlayerAuth Response.<init>(Pla
yerAuthResponse.java:22)
at l2p.loginserver.gameservercon.gspackets.PlayerAuth Request.read(Player
AuthRequest.java:53)
at l2p.loginserver.gameservercon.gspackets.ClientBase Packet.run(ClientBa
sePacket.java:84)
at java.util.concurrent.ThreadPoolExecutor$Worker.run Task(Unknown Source
)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
at l2p.loginserver.gameservercon.lspackets.PlayerAuth Response.<init>(Pla
yerAuthResponse.java:22)
at l2p.loginserver.gameservercon.gspackets.PlayerAuth Request.read(Player
AuthRequest.java:53)
at l2p.loginserver.gameservercon.gspackets.ClientBase Packet.run(ClientBa
sePacket.java:84)
at java.util.concurrent.ThreadPoolExecutor$Worker.run Task(Unknown Source
)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (Unknown Source)
at java.lang.Thread.run(Unknown Source)
Заметил что одного чара получилось создать и он входит постояно а других нельзя создать не пускает на серв при выборе серва?
Если чар был создан через авто регу, то он может зайти только со второго раза, а вобще выкинь этот логин сервер ставь с 14** ревы.
Сообщений: 139
Тем: 6
Зарегистрирован: Dec 2009
Репутация:
17
Вот большое спасибо, выручил, а я 1 пароль повторял один и тот же, а другие вбивал каждый раз новые. 3 дня втыкал в моник. Кину логин, как предложил ты, вот прочитал всю тему, хотел бы попросить дать l2pdb.sql модифицированный с меньшим количесвом ошибок. При загрузке сервера видно много ошибок про DOOR ID , Error while loading envoy(s) for Western Fortress,итд. И хотел узнать, кто-то может придумать GM SHOP с пухами и броней s80,s84, сам играл на этом серве месяца два, есть клиент под этот серв Asterios обновленый, ток толку мало, не знаю, как сделать, чтоб не шло обновление от них, а запусклась кнопа играть, сам плохо шарю((
Сообщений: 5
Тем: 0
Зарегистрирован: Jan 2010
Репутация:
0
02-24-2010, 03:17 PM
(Сообщение последний раз редактировалось: 02-24-2010, 03:46 PM sporty.)
помогите пожалуйста как отключить лог итемов кто нибудь пожалуйста сервер очень грузит а у меня железо слабое:o тоесть интернет
Сообщений: 211
Тем: 11
Зарегистрирован: Jul 2009
Репутация:
2,309
02-24-2010, 06:10 PM
(Сообщение последний раз редактировалось: 02-24-2010, 06:23 PM Goodday.)
Вобщем столкнулся сегодня с проблемой на своём пвп сервере, а это время баффов, я думаю такая проблема возникла у многих, увы разрабы феникса не предусмотрели такой конфиг, именно по этому мне и пришлось внести его. Выкладываю сразу исходники.
PHP код: <?php
package services.PVPCommunityBoard;
import l2p.Config;
import l2p.extensions.scripts.Functions;
import l2p.extensions.scripts.ScriptFile;
import l2p.gameserver.ThreadPoolManager;
import l2p.gameserver.cache.Msg;
import l2p.gameserver.instancemanager.TownManager;
import l2p.gameserver.model.L2Character;
import l2p.gameserver.model.L2Player;
import l2p.gameserver.model.L2Skill;
import l2p.gameserver.model.L2Summon;
import l2p.gameserver.model.entity.olympiad.Olympiad;
import l2p.gameserver.model.entity.residence.Residence;
import l2p.gameserver.model.entity.siege.Siege;
import l2p.gameserver.model.instances.L2NpcInstance;
import l2p.gameserver.serverpackets.MagicSkillLaunched;
import l2p.gameserver.skills.effects.EffectTemplate;
import l2p.gameserver.tables.SkillTable;
import l2p.util.Files;
import l2p.util.Util;
public class CBBuffer extends Functions implements ScriptFile
{
public L2NpcInstance npc;
private static int CAST_TIME = 0; // время каста
private static int BUFF_TIME = 120000 * 60; // время баффа (2 часа)
private static int grpCount1, grpCount2, grpCount3, grpCount4, grpCount5;
private static int buffs[][] = { // id, lvl, group
// Chants
{1251, 2, 5}, // Chant of Fury
{1252, 3, 5}, // Chant of Evasion
{1253, 3, 5}, // Chant of Rage
{1461, 3, 5}, // Chant of protect
{1308, 3, 5}, // Chant of Predator
{1309, 3, 5}, // Chant of Eagle
{1310, 4, 5}, // Chant of Vampire
{1362, 1, 5}, // Chant of Spirit
{1363, 1, 5}, // Chant of Victory
{1390, 3, 5}, // War Chant
{1391, 3, 5}, // Earth Chant
// Songs
{264, 1, 4}, // Song of Earth
{265, 1, 4}, // Song of Life
{266, 1, 4}, // Song of Water
{267, 1, 4}, // Song of Warding
{268, 1, 4}, // Song of Wind
{269, 1, 4}, // Song of Hunter
{270, 1, 4}, // Song of Invocation
{304, 1, 4}, // Song of Vitality
{306, 1, 4}, // Song of Flame Guard
{308, 1, 4}, // Song of Storm Guard
{349, 1, 4}, // Song of Renewal
{363, 1, 4}, // Song of Meditation
{364, 1, 4}, // Song of Champion
// Dances
{271, 1, 3}, // Dance of Warrior
{272, 1, 3}, // Dance of Inspiration
{273, 1, 3}, // Dance of Mystic
{274, 1, 3}, // Dance of Fire
{275, 1, 3}, // Dance of Fury
{276, 1, 3}, // Dance of Concentration
{277, 1, 3}, // Dance of Light
{307, 1, 3}, // Dance of Aqua Guard
{309, 1, 3}, // Dance of Earth Guard
{310, 1, 3}, // Dance of Vampire
{311, 1, 3}, // Dance of Protection
{365, 1, 3}, // Dance of Siren
// Группа для магов 2
{ 7059, 1, 2 }, // Wild Magic
{ 4356, 3, 2 }, // Empower
{ 4355, 3, 2 }, // Acumen
{ 4352, 1, 2 }, // Berserker Spirit
{ 4346, 4, 2 }, // Mental Shield
{ 4344, 3, 2 }, // Shield
{ 4351, 6, 2 }, // Concentration
{ 4342, 2, 2 }, // Wind Walk
{ 4347, 6, 2 }, // Bless the Body
{ 4348, 6, 2 }, // Bless the Soul
{ 4350, 4, 2 }, // Resist Shock
{ 4350, 4, 2 }, // Resist Shock
{ 4347, 6, 2 }, // Bless the Body
{ 4348, 6, 2 }, // Bless the Soul
{ 4349, 2, 2 }, // Magic Barrier
{ 1391, 3, 2 }, // Earth Chant
{ 1252, 3, 2 }, // Chant of Evasion
{ 1284, 3, 2 }, // Chant of Revenge
{ 1362, 1, 2 }, // Chant of Spirit
{ 1413, 1, 2 }, // Chant of Victory
{ 1323, 1, 2 }, // Noblesse of Blessing
{ 273, 1, 2 }, // Dance of Mystic
{ 276, 1, 2 }, // Dance of Concentration
{ 365, 1, 2 }, // Dance of Siren
{ 264, 1, 2 }, // Song of Earth
{ 266, 1, 2 }, // Song of Water
{ 267, 1, 2 }, // Song of Warding
{ 268, 1, 2 }, // Song of Wind
{ 304, 1, 2 }, // Song of Vitality
{ 306, 1, 2 }, // Song of Flame Guard
{ 308, 1, 2 }, // Song of Storm Guard
{ 349, 1, 2 }, // Song of Renewal
{ 363, 1, 2 }, // Song of Meditation
{ 4554, 4, 2 }, // Hot Springs Malaria 4 lvl
// Группа для воинов 1
{ 4345, 3, 1 }, // Might
{ 4344, 3, 1 }, // Shield
{ 4349, 2, 1 }, // Magic Barrier
{ 4342, 2, 1 }, // Wind Walk
{ 4357, 2, 1 }, // Haste
{ 4359, 3, 1 }, // Focus
{ 4358, 3, 1 }, // Guidance
{ 4360, 3, 1 }, // Death Whisper
{ 4354, 4, 1 }, // Vampiric Rage
{ 4346, 4, 1 }, // Mental Shield
{ 4352, 1, 1 }, // Berserker Spirit
{ 4350, 4, 1 }, // Resist Shock
{ 4347, 6, 1 }, // Bless the Body
{ 4348, 6, 1 }, // Bless the Soul
{ 1391, 3, 1 }, // Earth Chant
{ 1252, 3, 1 }, // Chant of Evasion
{ 1284, 3, 1 }, // Chant of Revenge
{ 1362, 1, 1 }, // Chant of Spirit
{ 1363, 1, 1 }, // Chant of Victory
{ 1323, 1, 1 }, // Noblesse of Blessing
{ 271, 1, 1 }, // Dance of Warrior
{ 274, 1, 1 }, // Dance of Fire
{ 275, 1, 1 }, // Dance of Fury
{ 264, 1, 1 }, // Song of Earth
{ 267, 1, 1 }, // Song of Warding
{ 268, 1, 1 }, // Song of Wind
{ 269, 1, 1 }, // Song of Hunter
{ 304, 1, 1 }, // Song of Vitality
{ 306, 1, 1 }, // Song of Flame Guard
{ 308, 1, 1 }, // Song of Storm Guard
{ 349, 1, 1 }, // Song of Renewal
{ 364, 1, 1 } // Song of Champion
};
public void onLoad()
{
if(Config.SERVICES_BUFFER_ENABLED)
System.out.println("Loaded Service: CBBuffer [state: ON]");
else
System.out.println("Loaded Service: CBBuffer [state: OFF]");
for(final int buff[] : buffs)
switch(buff[2])
{
case 1:
grpCount1++;
break;
case 2:
grpCount2++;
break;
case 3:
grpCount3++;
break;
case 4:
grpCount4++;
break;
case 5:
grpCount5++;
break;
}
}
public void onReload()
{}
public void onShutdown()
{}
public void doBuffGroup(final String[] args)
{
//final L2Player player = (L2Player) self;
final L2Player player = (L2Player)getSelf();
final L2Summon pet = player.getPet();
if( !checkCondition(player))
return;
if(player.getAdena() < Config.SERVICES_BUFFER_PRICE * (Integer.valueOf(args[1]) + 2))
{
player.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
return;
}
player.reduceAdena(Config.SERVICES_BUFFER_PRICE * (Integer.valueOf(args[1]) + 2));
int time = 0;
final int id_groups = Integer.valueOf(args[0]);
final int select_id = Integer.valueOf(args[1]);
L2Skill skill;
for(final int buff[] : buffs)
if(buff[2] == id_groups)
{
if(select_id == 0)
{
skill = SkillTable.getInstance().getInfo(buff[0], buff[1]);
for(EffectTemplate et : skill.getEffectTemplates())
{
et.setPeriod(BUFF_TIME);
}
ThreadPoolManager.getInstance().scheduleGeneral(new BeginBuff(player, skill, player), CAST_TIME);
time += 0;
}
if(select_id == 1)
{
if(pet == null)
return;
skill = SkillTable.getInstance().getInfo(buff[0], buff[1]);
for(EffectTemplate et : skill.getEffectTemplates())
{
et.setPeriod(BUFF_TIME);
}
ThreadPoolManager.getInstance().scheduleGeneral(new BeginPetBuff(player, skill, pet), CAST_TIME);
time += 0;
}
}
}
public void doBuff(final String[] args)
{
final L2Player player = (L2Player)getSelf();
final L2Summon pet = player.getPet();
if( !checkCondition(player))
return;
if(player.getAdena() < Config.SERVICES_BUFFER_PRICE)
{
player.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
return;
}
try
{
final int skill_id = Integer.valueOf(args[0]);
final int skill_lvl = Integer.valueOf(args[1]);
final int select_id = Integer.valueOf(args[2]);
final L2Skill skill = SkillTable.getInstance().getInfo(skill_id, skill_lvl);
for(EffectTemplate et : skill.getEffectTemplates())
{
et.setPeriod(BUFF_TIME);
}
if(select_id == 0)
ThreadPoolManager.getInstance().scheduleGeneral(new BeginBuff(player, skill, player), CAST_TIME);
if(select_id == 1)
{
if(pet == null)
return;
ThreadPoolManager.getInstance().scheduleGeneral(new BeginPetBuff(player, skill, pet), CAST_TIME);
}
player.reduceAdena(Config.SERVICES_BUFFER_PRICE);
}
catch(final Exception e)
{
player.sendMessage("Invalid skill!");
}
}
public void speedBuff(final String[] args)
{
final L2Player player = (L2Player)getSelf();
final L2Summon pet = player.getPet();
if( !checkCondition(player))
return;
if(player.getAdena() < Config.SERVICES_BUFFER_PRICE)
{
player.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
return;
}
try
{
final int skill_id = Integer.valueOf(args[0]);
final int skill_lvl = Integer.valueOf(args[1]);
final int select_id = Integer.valueOf(args[2]);
final L2Skill skill = SkillTable.getInstance().getInfo(skill_id, skill_lvl);
if(select_id == 0)
ThreadPoolManager.getInstance().scheduleGeneral(new BeginBuff(player, skill, player), CAST_TIME);
if(select_id == 1)
{
if(pet == null)
return;
ThreadPoolManager.getInstance().scheduleGeneral(new BeginPetBuff(player, skill, pet), CAST_TIME);
}
player.reduceAdena(Config.SERVICES_BUFFER_PRICE);
show("data/scripts/commands/voiced/buff.html", player);
}
catch(final Exception e)
{
player.sendMessage("Invalid skill!");
}
}
public boolean checkCondition(final L2Player player)
{
if( !Config.SERVICES_BUFFER_ENABLED || player == null)
return false;
if(player.getOlympiadGameId() != -1 || Olympiad.isRegisteredInComp(player))
{
show("Buff sell are closed for Oly time.", player);
return false;
}
String html;
if(player.getLevel() > Config.SERVICES_BUFFER_MAX_LVL || player.getLevel() < Config.SERVICES_BUFFER_MIN_LVL)
{
html = Files.read("data/scripts/services/NPCBuffer/no-lvl.htm", player);
html = html.replace("%min_lvl%", Integer.toString(Config.SERVICES_BUFFER_MIN_LVL));
html = html.replace("%max_lvl%", Integer.toString(Config.SERVICES_BUFFER_MAX_LVL));
show(html, player);
return false;
}
if( !Config.SERVICES_BUFFER_SIEGE)
{
//final Residence castle = TownManager.getInstance().getClosestTown(self).getCastle();
//final Siege siege = castle.getSiege();
final Residence castle = TownManager.getInstance().getClosestTown(getSelf()).getCastle();
final Siege siege = castle.getSiege();
if(siege != null && siege.isInProgress())
{
show(Files.read("data/scripts/services/NPCBuffer/no-siege.htm", player), player);
return false;
}
}
return true;
}
public void SelectMenu(final String[] args)
{
final int select_menu = Integer.valueOf(args[0]);
final L2Player player = (L2Player)getSelf();
String html = null;
if(select_menu == 0)
html = Files.read("data/scripts/services/NPCBuffer/buffschar.htm", player);
if(select_menu == 1)
{
if(Config.SERVICES_BUFFER_PET_ENABLED != true)
return;
if(player.getPet() == null)
return;
html = Files.read("data/scripts/services/NPCBuffer/buffspet.htm", player);
}
assert html != null;
html = html.replace("%grp_price1%", Util.formatAdena(Config.SERVICES_BUFFER_PRICE * (grpCount1 + 2)));
html = html.replace("%grp_price2%", Util.formatAdena(Config.SERVICES_BUFFER_PRICE * (grpCount2 + 2)));
html = html.replace("%grp_price3%", Util.formatAdena(Config.SERVICES_BUFFER_PRICE * (grpCount3 + 2)));
html = html.replace("%grp_price4%", Util.formatAdena(Config.SERVICES_BUFFER_PRICE * (grpCount4 + 2)));
html = html.replace("%grp_price5%", Util.formatAdena(Config.SERVICES_BUFFER_PRICE * (grpCount5 + 2)));
html = html.replace("%buffs_in_grp1%", Integer.toString(grpCount1));
html = html.replace("%buffs_in_grp2%", Integer.toString(grpCount2));
html = html.replace("%buffs_in_grp3%", Integer.toString(grpCount3));
html = html.replace("%buffs_in_grp4%", Integer.toString(grpCount4));
html = html.replace("%buffs_in_grp5%", Integer.toString(grpCount5));
html = html.replace("%price%", Util.formatAdena(Config.SERVICES_BUFFER_PRICE));
show(html, player);
}
public class BeginBuff implements Runnable
{
L2Character _buffer;
L2Skill _skill;
L2Player _target;
public BeginBuff(final L2Character buffer, final L2Skill skill, final L2Player target)
{
_buffer = buffer;
_skill = skill;
_target = target;
}
public void run()
{
if(_target.isInOlympiadMode() || _target.isAttackingNow() || _target.isCastingNow() || _target.isInCombat())
return;
//_buffer.broadcastPacket(new MagicSkillUse(_buffer, _target, _skill.getDisplayId(), _skill.getLevel(), _skill.getHitTime(), 0));
ThreadPoolManager.getInstance().scheduleGeneral(new EndBuff(_buffer, _skill, _target), CAST_TIME);
}
}
public class EndBuff implements Runnable
{
L2Character _buffer;
L2Skill _skill;
L2Player _target;
public EndBuff(final L2Character buffer, final L2Skill skill, final L2Player target)
{
_buffer = buffer;
_skill = skill;
_target = target;
}
public void run()
{
_skill.getEffects(_buffer, _target, false, false);
//_buffer.broadcastPacket(new MagicSkillLaunched(_buffer.getObjectId(), _skill.getId(), _skill.getLevel(), _target, _skill.isOffensive()));
}
}
public class BeginPetBuff implements Runnable
{
L2Character _buffer;
L2Skill _skill;
L2Summon _target;
public BeginPetBuff(final L2Character buffer, final L2Skill skill, final L2Summon target)
{
_buffer = buffer;
_skill = skill;
_target = target;
}
public void run()
{
//_buffer.broadcastPacket(new MagicSkillUse(_buffer, _target, _skill.getDisplayId(), _skill.getLevel(), _skill.getHitTime(), 0));
ThreadPoolManager.getInstance().scheduleGeneral(new EndPetBuff(_buffer, _skill, _target), CAST_TIME);
}
}
public class EndPetBuff implements Runnable
{
L2Character _buffer;
L2Skill _skill;
L2Summon _target;
public EndPetBuff(final L2Character buffer, final L2Skill skill, final L2Summon target)
{
_buffer = buffer;
_skill = skill;
_target = target;
}
public void run()
{
_skill.getEffects(_buffer, _target, false, false);
//_buffer.broadcastPacket(new MagicSkillLaunched(_buffer.getObjectId(), _skill.getId(), _skill.getLevel(), _target, _skill.isOffensive()));
}
}
}
PHP код: <?php
package l2p.gameserver.skills.effects;
import java.util.Iterator;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.logging.Logger;
import l2p.gameserver.model.*;
import l2p.gameserver.model.L2Effect.EffectType;
import l2p.gameserver.skills.Env;
import l2p.gameserver.skills.conditions.Condition;
import l2p.gameserver.skills.funcs.FuncTemplate;
import l2p.gameserver.templates.StatsSet;
public final class EffectTemplate
{
static Logger _log = Logger.getLogger(EffectTemplate.class.getName());
public static final String NO_STACK = "none".intern();
public Condition _attachCond;
public final double _value;
public final int _counter;
public long _period;
public final int _abnormalEffect;
public FuncTemplate _funcTemplates[];
public final EffectType _effectType;
public final String _stackType;
public final String _stackType2;
public final int _stackOrder;
public final int _displayId;
public final int _displayLevel;
public final boolean _applyOnCaster;
public final boolean _cancelOnAction;
public EffectTemplate(StatsSet set)
{
_value = set.getDouble("value");
_counter = set.getInteger("count", 1) < 0 ? Integer.MAX_VALUE : set.getInteger("count", 1);
_period = Math.min(Integer.MAX_VALUE, 1000 * (set.getInteger("time", 1) < 0 ? Integer.MAX_VALUE : set.getInteger("time", 1)));
_abnormalEffect = set.getInteger("abnormal", 0);
_stackType = set.getString("stackType", NO_STACK);
_stackType2 = set.getString("stackType2", NO_STACK);
_stackOrder = set.getInteger("stackOrder", _stackType != NO_STACK || _stackType2 != NO_STACK ? 0 : 1);
_applyOnCaster = set.getBool("applyOnCaster", Boolean.valueOf(false)).booleanValue();
_cancelOnAction = set.getBool("cancelOnAction", Boolean.valueOf(false)).booleanValue();
_displayId = set.getInteger("displayId", 0);
_displayLevel = set.getInteger("displayLevel", 0);
_effectType = set.getEnum("name", EffectType.class);
}
public L2Effect getEffect(Env env)
{
if(_attachCond != null && !_attachCond.test(env))
return null;
else
return _effectType.makeEffect(env, this);
}
public void attachCond(Condition c)
{
_attachCond = c;
}
public void attachFunc(FuncTemplate f)
{
if(_funcTemplates == null)
_funcTemplates = new FuncTemplate[] {f};
else
{
int len = _funcTemplates.length;
FuncTemplate[] tmp = new FuncTemplate[len + 1];
System.arraycopy(_funcTemplates, 0, tmp, 0, len);
tmp[len] = f;
_funcTemplates = tmp;
}
}
public long getPeriod()
{
return _period;
}
public void setPeriod(long time)
{
_period = time;
}
public EffectType getEffectType()
{
return _effectType;
}
public L2Effect getSameByStackType(ConcurrentLinkedQueue ef_list)
{
for(Iterator i$ = ef_list.iterator(); i$.hasNext();)
{
L2Effect ef = (L2Effect)i$.next();
if(ef != null && EffectList.checkStackType(ef._template, this))
return ef;
}
return null;
}
public L2Effect getSameByStackType(EffectList ef_list)
{
return getSameByStackType(ef_list.getAllEffects());
}
public L2Effect getSameByStackType(L2Character actor)
{
return getSameByStackType(actor.getEffectList().getAllEffects());
}
}
Исходы не декомпил
Добавлено через 12 минут
http://vtakte.net/Compile.zip
скомпиленный вариант.
Сообщений: 251
Тем: 4
Зарегистрирован: Oct 2008
Репутация:
0
Куда это пихать? ПвП я пихнул в скриптс.jar, а папку l2p куда пихать...Помоги плз, заранее благодарен, и еще скиньте EnchCB.class
Сообщений: 211
Тем: 11
Зарегистрирован: Jul 2009
Репутация:
2,309
cokol Написал:Куда это пихать? ПвП я пихнул в скриптс.jar, а папку l2p куда пихать...Помоги плз, заранее благодарен, и еще скиньте EnchCB.class
l2pserver.jar переименуй в l2pserver.zip распакуй его и всё сразу станет ясно.
На счёт точилки она низкофункциональная нету её смысла даже ставить.
Сообщений: 251
Тем: 4
Зарегистрирован: Oct 2008
Репутация:
0
Спасибо, то есть точилку придется самому писать или у тя есть норм точилка?
Сообщений: 211
Тем: 11
Зарегистрирован: Jul 2009
Репутация:
2,309
cokol Написал:Спасибо, то есть точилку придется самому писать или у тя есть норм точилка?
Есть только эта..
http://planetka.net/EnchCB.zip
|