Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Авто выдача бонуса.
#1
У меня возникла проблема с авто-выдачей бонуса L2Top.
Сборка: Madden Project на основе Фениксов.
Суть проблемы: Ошибка в ГС что не правильный ключ.
Сама ошибка:
Цитата:20:53:36.333 VoteManager: Error url parse.
20:53:36.434 VoteManager: Error url parse.
Конфиг:
Цитата:# Включена ли система Автоматической выдачи бонусов
L2VoteManagerEnable = True

# Период в минутах, между каждой проверкой L2Top'а (рекомендуется значение от 5 минут)
L2VoteManagerTime = 5

# ID сервера и Key для получения данных со страницы с голосами. Key вы можете поссмотреть в панеле управления сервером на L2Top.
L2TopID = 187*8
L2TopKey = cf3b539457dfb6ff824ed157729****

# ID предмета и Кол-во, выдаваемое за каждый голос.
L2VoteManagerRewardID = 4357
L2VoteManagerRewardCount = 5
Ответ
#2
Up.... =((((
Ответ
#3
возможно етот менедреж под старые сылки л2топа...
Ответ
#4
мейби а сайт не кто не знает этой тимы что бы исходы норм скачать? а то заходил на их сайт который указан при запуске сервер он в оффлайне Sad(
Ответ
#5
Скрипт проверил сылка указана нормально.
Ответ
#6
Скиньте в ПМ ссылку на свою статистику.

Добавлено через 51 минуту
Сверь..
[src=sql]
package services;

import l2p.Config;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.logging.Logger;
import java.util.concurrent.ScheduledFuture;
import java.net.URL;

import l2p.common.ThreadPoolManager;
import l2p.database.FiltredPreparedStatement;
import l2p.database.L2DatabaseFactory;
import l2p.database.ThreadConnection;
import l2p.extensions.scripts.Functions;
import l2p.extensions.scripts.ScriptFile;
import l2p.gameserver.model.L2ObjectsStorage;
import l2p.gameserver.model.L2Player;
import l2p.util.Rnd;



public class VoteManager extends Functions implements ScriptFile
{
/*
* © Ro0TT
*/
private static Logger log = Logger.getLogger(VoteManager.class.getName());
private static ScheduledFuture<?> _startTask;

Timestamp _lastVote;
private String urlS = "";

public class StartTask implements Runnable
{
public void run()
{
while (Config.L2VOTEMANAGER_ENABLE)
{
try
{
URL url = new URL(urlS);
parse(url.openStream());
}
catch(Exception e)
{
log.warning("VoteManager: Error url parse.");
}

try
{
Thread.sleep(Config.L2VOTEMANAGER_TIME);
}
catch(InterruptedException e)
{
e.printStackTrace();
}
}
}

}

public void onShutdown()
{
}

public void onLoad()
{
try
{
ThreadConnection con = L2DatabaseFactory.getInstance().getConnection();
FiltredPreparedStatement stm = con.prepareStatement("select max(votedate) from character_votes");
ResultSet r = stm.executeQuery();
if(r.next())
_lastVote = new Timestamp(r.getLong(1) * 1000);
if (_lastVote==null)
{
_lastVote = new Timestamp(0);
}
r.close();
stm.close();
con.close();
}
catch(SQLException e)
{
log.warning("VoteManager: Error connection to database: "+e);
}

urlS = "http://l2top.ru/editServ/?adminAct=lastVotes&uid=" + Config.L2TOP_ID + "&key=" + Config.L2TOP_KEY;


_startTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new StartTask(), 1, 1);
}

public void onReload()
{
_startTask.cancel(true);
onLoad();

}

public void parse(InputStream is) throws Exception
{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"windows-1251"));
String line;
int votes = 0;
Timestamp last = _lastVote;

while((line=reader.readLine()) != null)
{
if (line.indexOf("\t") != -1)
{
Timestamp voteDate = Timestamp.valueOf(line.substring(0,line.indexOf("\t")).trim());
if (voteDate.after(_lastVote))
{
if(voteDate.after(last))
last = voteDate;

String charName = line.substring(line.indexOf("\t")+1).toLowerCase();
Store(charName, voteDate);
votes++;
}
}
}
_lastVote = last;
log.info("VoteManager: "+votes+" processed");
}

public void reward(L2Player player)
{
if(player != null)
{
player.getInventory().addItem(Config.L2VOTEMANAGER_REWARD_ID, Config.L2VOTEMANAGER_REWARD_KEY);
if (player.isOnline())
player.sendMessage("Спасибо, что проголосовали за наш сервер!");
player.store(true);
}
}

public void Store(String _charName, Timestamp _votedate)
{
try
{
ThreadConnection con = L2DatabaseFactory.getInstance().getConnection();
FiltredPreparedStatement stm = con.prepareStatement("insert into character_votes select ?,? from characters where not exists(select * from character_votes where votedate=? and charName =?) limit 1");
stm.setLong(1, _votedate.getTime()/1000);
stm.setString(2, _charName);
stm.setLong(3, _votedate.getTime()/1000);
stm.setString(4, _charName);
boolean sendPrize = stm.executeUpdate() > 0;
stm.close();
if (sendPrize)
{
L2Player player = L2ObjectsStorage.getPlayer(_charName);
if(player != null)
reward(player);
}
}
catch (SQLException e)
{
log.warning("VoteManager: Error storing data "+e);
}
}


}
[/src]
Ответ
#7
Поставил этот скрипт пошли ошибки.

Цитата:.\data\scripts\services\VoteManager.java:46: ';' expected
.\data\scripts\services\VoteManager.java:78: ';' expected
.\data\scripts\services\VoteManager.java:79: ';' expected
.\data\scripts\services\VoteManager.java:80: ';' expected
.\data\scripts\services\VoteManager.java:82: ';' expected
.\data\scripts\services\VoteManager.java:96: ')' expected
.\data\scripts\services\VoteManager.java:96: illegal start of expressi
.\data\scripts\services\VoteManager.java:96: not a statement
.\data\scripts\services\VoteManager.java:96: ';' expected
.\data\scripts\services\VoteManager.java:108: ';' expected
.\data\scripts\services\VoteManager.java:108: ')' expected
.\data\scripts\services\VoteManager.java:108: ')' expected
.\data\scripts\services\VoteManager.java:108: not a statement
.\data\scripts\services\VoteManager.java:108: not a statement
.\data\scripts\services\VoteManager.java:108: ';' expected
.\data\scripts\services\VoteManager.java:115: ';' expected
.\data\scripts\services\VoteManager.java:118: ';' expected
.\data\scripts\services\VoteManager.java:120: ';' expected
.\data\scripts\services\VoteManager.java:135: ';' expected
.\data\scripts\services\VoteManager.java:138: ';' expected
.\data\scripts\services\VoteManager.java:156: ';' expected
.\data\scripts\services\VoteManager.java:159: ';' expected
.\data\scripts\services\VoteManager.java:46: ';' expected
.\data\scripts\services\VoteManager.java:78: ';' expected
.\data\scripts\services\VoteManager.java:79: ';' expected
.\data\scripts\services\VoteManager.java:80: ';' expected
.\data\scripts\services\VoteManager.java:82: ';' expected
.\data\scripts\services\VoteManager.java:96: ')' expected
.\data\scripts\services\VoteManager.java:96: illegal start of expressi
.\data\scripts\services\VoteManager.java:96: not a statement
.\data\scripts\services\VoteManager.java:96: ';' expected
.\data\scripts\services\VoteManager.java:108: ';' expected
.\data\scripts\services\VoteManager.java:108: ')' expected
.\data\scripts\services\VoteManager.java:108: ')' expected
.\data\scripts\services\VoteManager.java:108: not a statement
.\data\scripts\services\VoteManager.java:108: not a statement
.\data\scripts\services\VoteManager.java:108: ';' expected
.\data\scripts\services\VoteManager.java:115: ';' expected
.\data\scripts\services\VoteManager.java:118: ';' expected
.\data\scripts\services\VoteManager.java:120: ';' expected
.\data\scripts\services\VoteManager.java:135: ';' expected
.\data\scripts\services\VoteManager.java:138: ';' expected
.\data\scripts\services\VoteManager.java:156: ';' expected
.\data\scripts\services\VoteManager.java:159: ';' expected

Добавлено через 3 минуты
До этого стоял вот такой: package services;

import l2p.Config;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.logging.Logger;
import java.util.concurrent.ScheduledFuture;
import java.net.URL;

import l2p.common.ThreadPoolManager;
import l2p.database.FiltredPreparedStatement;
import l2p.database.L2DatabaseFactory;
import l2p.database.ThreadConnection;
import l2p.extensions.scripts.Functions;
import l2p.extensions.scripts.ScriptFile;
import l2p.gameserver.model.L2ObjectsStorage;
import l2p.gameserver.model.L2Player;
import l2p.util.Rnd;



public class VoteManager extends Functions implements ScriptFile
{
/*
* © Ro0TT
*/
private static Logger log = Logger.getLogger(VoteManager.class.getName());
private static ScheduledFuture<?> _startTask;

Timestamp _lastVote;
private String urlS = "";

public class StartTask implements Runnable
{
public void run()
{
while (Config.L2VOTEMANAGER_ENABLE)
{
try
{
URL url = new URL(urlS);
parse(url.openStream());
}
catch(Exception e)
{
log.warning("VoteManager: Error url parse.");
}

try
{
Thread.sleep(Config.L2VOTEMANAGER_TIME);
}
catch(InterruptedException e)
{
e.printStackTrace();
}
}
}

}

public void onShutdown()
{
}

public void onLoad()
{
try
{
ThreadConnection con = L2DatabaseFactory.getInstance().getConnection();
FiltredPreparedStatement stm = con.prepareStatement("select max(votedate) from character_votes");
ResultSet r = stm.executeQuery();
if(r.next())
_lastVote = new Timestamp(r.getLong(1) * 1000);
if (_lastVote==null)
{
_lastVote = new Timestamp(0);
}
r.close();
stm.close();
con.close();
}
catch(SQLException e)
{
log.warning("VoteManager: Error connection to database: "+e);
}

urlS = "http://l2top.ru/editServ/?adminAct=lastVotes&uid=" + Config.L2TOP_ID + "&key=" + Config.L2TOP_KEY;


_startTask = ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new StartTask(), 1, 1);
}

public void onReload()
{
_startTask.cancel(true);
onLoad();

}

public void parse(InputStream is) throws Exception
{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"windows-1251"));
String line;
int votes = 0;
Timestamp last = _lastVote;

while((line=reader.readLine()) != null)
{
if (line.indexOf("\t") != -1)
{
Timestamp voteDate = Timestamp.valueOf(line.substring(0,line.indexOf("\t")).trim());
if (voteDate.after(_lastVote))
{
if(voteDate.after(last))
last = voteDate;

String charName = line.substring(line.indexOf("\t")+1).toLowerCase();
Store(charName, voteDate);
votes++;
}
}
}
_lastVote = last;
log.info("VoteManager: "+votes+" processed");
}

public void reward(L2Player player)
{
if(player != null)
{
player.getInventory().addItem(Config.L2VOTEMANAGER_REWARD_ID, Config.L2VOTEMANAGER_REWARD_KEY);
if (player.isOnline())
player.sendMessage("Спасибо, что проголосовали за наш сервер!");
player.store(true);
}
}

public void Store(String _charName, Timestamp _votedate)
{
try
{
ThreadConnection con = L2DatabaseFactory.getInstance().getConnection();
FiltredPreparedStatement stm = con.prepareStatement("insert into character_votes select ?,? from characters where not exists(select * from character_votes where votedate=? and charName =?) limit 1");
stm.setLong(1, _votedate.getTime()/1000);
stm.setString(2, _charName);
stm.setLong(3, _votedate.getTime()/1000);
stm.setString(4, _charName);
boolean sendPrize = stm.executeUpdate() > 0;
stm.close();
if (sendPrize)
{
L2Player player = L2ObjectsStorage.getPlayer(_charName);
if(player != null)
reward(player);
}
}
catch (SQLException e)
{
log.warning("VoteManager: Error storing data "+e);
}
}


}
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  rguard\ftguard Отправка покета на Авто бан farax 0 1,176 12-25-2015, 03:26 PM
Последний пост: farax
  Авто атака Vavilon 4 1,479 08-19-2015, 04:31 PM
Последний пост: Vavilon
  авто атака Skilz 2 1,263 07-09-2013, 08:11 PM
Последний пост: OneThunder
  Авто запуск сервера Debian Fudji 9 2,454 06-11-2013, 09:25 AM
Последний пост: APKO
  Авто-сервис Time of Gods 4 1,341 12-15-2012, 08:06 PM
Последний пост: AceShadow
  Авто-Выдача награды по достижению LvL Raikerock 2 2,056 10-30-2012, 11:24 AM
Последний пост: ProDev
  Авто атака dorocki 24 4,200 10-06-2012, 07:19 AM
Последний пост: dorocki
  Выдача предмета всем персам Kollaps 27 6,789 05-10-2012, 05:40 PM
Последний пост: Gaikotsu
  Программа для Авто поднятие сервера под Windows MeGaPk 0 1,180 05-09-2012, 01:28 AM
Последний пост: MeGaPk
  Выдача славы Klinz 5 1,853 03-15-2012, 12:47 AM
Последний пост: linliss

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


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