Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Офф торг на l2teon. Как реализовать и возможно ли это?
#1
Доброе время суток уважаемые админы/гм и прочие представители класса правящего...

Вот возникла такая проблема очень нужен офф торг. Но с великим удивлением мы узнали что сборка l2teon Interlude данной фишки не предусматривает.

Вот и очень хотелось бы узнать реально ли реализовать это, и если да то как? =) За инструкцию для нубов отдельное большое человеческое СПАСИБО =)

Smile
Ответ
#2
если есть исходники то делаешь новую команду которая после введения выкидывает игрока из игры а чара оставляет
ЛЮДИ ВКЛЮЧИТЕ ВАШИ МОЗГИ
а то китайцы уже андроидов в телефоны пихают
Nokia N810
[Изображение: Bez_nazvy-2.png]
[Изображение: account_detailed.gif]
Ответ
#3
Это то мы понимаем. Как именно сделать эту команду =) Обьснение требуется для нубов =)
Ответ
#4
Тебе нужно создать воисхендлер ну и саму систему офф трейдаSmile Причем лучше не создавать с нуля а посмотреть как это реализовано в других сборках. Если что скажи в какой сборке (с сорцами) есть офф трейд - постараюсь помочь Smile
Ответ
#5
Ребят а подскажите в зборке L2JFree 1.1.5A stable (Hellbaund) офф трейд реализован ???
Ответ
#6
странно
начался разговор про ИТ зборку а закончился вопросом про Hellbaund
ЛЮДИ ВКЛЮЧИТЕ ВАШИ МОЗГИ
а то китайцы уже андроидов в телефоны пихают
Nokia N810
[Изображение: Bez_nazvy-2.png]
[Изображение: account_detailed.gif]
Ответ
#7
bizi, а что тебе мешает посмотреть?
Ответ
#8
Я проверил он не реализован (.
Кто может помочь с исходниками к этой зборке, да и в настройке офф торга.
ICQ и Skype смотрите в профиле.
Ответ
#9
Ozzy,
вот оффлайн торг из сорцев Ighap,как его мона засунуть в l2jteon?
PHP код:
<?php 
/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2emu.gameserver.datatables;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import com.l2emu.Config;
import com.l2emu.L2DatabaseFactory;
import com.l2emu.gameserver.idfactory.IdFactory;
import com.l2emu.gameserver.model.L2ManufactureItem;
import com.l2emu.gameserver.model.L2ManufactureList;
import com.l2emu.gameserver.model.L2World;
import com.l2emu.gameserver.model.TradeList.TradeItem;
import com.l2emu.gameserver.model.actor.instance.L2PcInstance;

public class
OfflineTradersTable
{
private final static
Log _log = LogFactory.getLog(OfflineTradersTable.class);

public static
void storeTradeItems()
{
System.out.println("Store offline traders...");
Connection con = null;
try
{
con = L2DatabaseFactory.getInstance().getConnection();
PreparedStatement stm1 = con.prepareStatement("insert into `offline_characters` values(?,?,?,?,?)");
PreparedStatement stm2 = con.prepareStatement("insert into `offline_shops` values(?,?,?,?)");
for(
L2PcInstance pc : L2World.getInstance().getAllPlayers().values())
{
if(
pc.isOfflineTrade())
synchronized(pc)
{
int shopId = IdFactory.getInstance().getNextId();
stm1.setInt(1, pc.getObjectId());
stm1.setInt(2, shopId);
stm1.setInt(3, pc.getPrivateStoreType());
String title = "";
int isPackage = 0;
if(
pc.getPrivateStoreType()==L2PcInstance.STORE_PRIVATE_BUY)
{
title = pc.getBuyList().getTitle();
isPackage = pc.getBuyList().isPackaged()?1:0;
}
else if(
pc.getPrivateStoreType()==L2PcInstance.STORE_PRIVATE_SELL ||
pc.getPrivateStoreType()== L2PcInstance.STORE_PRIVATE_PACKAGE_SELL)
{
title = pc.getSellList().getTitle();
isPackage = pc.getSellList().isPackaged()||pc.getPrivateStoreType()== L2PcInstance.STORE_PRIVATE_PACKAGE_SELL ?1:0;
}
else
title = pc.getCreateList().getStoreName();
stm1.setInt(4, isPackage);
stm1.setString(5, title);
stm1.execute();

stm2.setInt(1, shopId);
switch(
pc.getPrivateStoreType())
{
case
L2PcInstance.STORE_PRIVATE_BUY:
for(
TradeItem it: pc.getBuyList().getItems() )
{
stm2.setInt(2, it.getItem().getItemId());
stm2.setLong(3, it.getCount());
stm2.setLong(4, it.getPrice());
stm2.execute();
}
break;
case
L2PcInstance.STORE_PRIVATE_PACKAGE_SELL:
case
L2PcInstance.STORE_PRIVATE_SELL:
for(
TradeItem it: pc.getSellList().getItems())
{
stm2.setInt(2, it.getObjectId());
stm2.setLong(3, it.getCount());
stm2.setLong(4, it.getPrice());
stm2.execute();
}
break;
case
L2PcInstance.STORE_PRIVATE_MANUFACTURE:
for(
L2ManufactureItem it: pc.getCreateList().getList())
{
stm2.setInt(2, it.getRecipeId() );
stm2.setInt(3, 0);
stm2.setLong(4, it.getCost());
stm2.execute();
}
break;
}
}
}
stm1.close();
stm2.close();
}
catch (
Exception e)
{
System.out.println("OfflineTradersTable[storeTradeItems()]: Error while saving offline traders: " + e);
e.printStackTrace();
}
finally
{
L2DatabaseFactory.close(con);
}
}

public static
void loadOffliners()
{
System.out.print("Load offline traders...");
Connection con = null;
int nTraders=0;
try
{
con = L2DatabaseFactory.getInstance().getConnection();
PreparedStatement stm = con.prepareStatement("Select charId, shopid, mode, packaged, title from offline_characters");
PreparedStatement stm2 = con.prepareStatement("select itemid, count, price from offline_shops where shopid=?");
ResultSet rs = stm.executeQuery();
while(
rs.next())
{
L2PcInstance offliner = L2PcInstance.load(rs.getInt(1));
if(
offliner!=null) try
{
stm2.setInt(1, rs.getInt(2));
ResultSet rs2 = stm2.executeQuery();
while (
rs2.next())
{
switch(
rs.getInt(3))
{
case
L2PcInstance.STORE_PRIVATE_BUY:
offliner.getBuyList().addItemByItemId(rs2.getInt(1), rs2.getInt(2), rs2.getInt(3));
break;
case
L2PcInstance.STORE_PRIVATE_SELL:
offliner.getSellList().addItem(rs2.getInt(1), rs2.getInt(2), rs2.getInt(3));
break;
case
L2PcInstance.STORE_PRIVATE_MANUFACTURE:
offliner.getCreateList().add(new L2ManufactureItem(rs2.getInt(1),rs2.getInt(3)));
break;
}
}
rs2.close();

offliner.spawnMe();

offliner.sitDown();
if (
Config.OFFLINE_SET_NAME_COLOR)
offliner.getAppearance().setNameColor(Config.OFFLINE_NAME_COLOR);
offliner.setPrivateStoreType(rs.getInt(3));
switch(
rs.getInt(3))
{
case
L2PcInstance.STORE_PRIVATE_BUY:
offliner.getBuyList().setTitle(rs.getString(5));
offliner.getBuyList().setPackaged(rs.getInt(4)!=0);
break;
case
L2PcInstance.STORE_PRIVATE_SELL:
offliner.getSellList().setTitle(rs.getString(5));
offliner.getSellList().setPackaged(rs.getInt(4)!=0);
break;
case
L2PcInstance.STORE_PRIVATE_MANUFACTURE:
offliner.getCreateList().setStoreName(rs.getString(5));
break;
}
offliner.setOfflineTrade(true);
offliner.broadcastUserInfo();
nTraders++;
}
catch(
Exception e)
{
e.printStackTrace();
offliner.decayMe();
offliner = null;
}
}
stm2.close();
rs.close();
stm.close();
stm = con.prepareStatement("delete from offline_characters");
stm.execute();
stm.close();
stm = con.prepareStatement("delete from offline_shops");
stm.execute();
stm.close();

_log.info(nTraders+" trader(s) loaded");
}
catch (
Exception e)
{
_log.error("OfflineTradersTable[loadOffliners()]: Error while loading offline traders: " + e);
}
finally
{
L2DatabaseFactory.close(con);
}
}
}
Ответ
#10
реализовал офф трейд за основу был взят офф трейд с EmuRT
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Возможно ли ? Bend3r 27 5,812 08-26-2013, 09:20 PM
Последний пост: n3k0nation
  Как реализовать изучение скилов на выбор. ruslanback 7 1,896 11-19-2012, 03:36 AM
Последний пост: Zubastic
  Придумайте как это реализовать. fedmen 11 2,762 06-02-2012, 11:49 PM
Последний пост: Zubastic
  Как реализовать(изучение скиллов до 81 лвл) Ambrozie 1 1,204 04-07-2012, 07:14 PM
Последний пост: aoim
  Возможно ли? BlackPR 15 3,249 04-01-2012, 11:55 AM
Последний пост: BlackPR
  А такое возможно?! Exsender 5 1,984 02-10-2012, 10:11 AM
Последний пост: Azagthtot
  Не возможно создать персонажа AlienKras 1 1,967 12-27-2011, 08:43 AM
Последний пост: [STIGMATED]
  Подскажите как реализовать свой квест? Tonchi 8 2,658 03-21-2011, 12:52 AM
Последний пост: krisadr
  Чатмодератор (как реализовать) feroom 11 3,502 08-19-2010, 08:49 AM
Последний пост: feroom
  l2Teon virus 0 1,335 03-15-2010, 10:03 PM
Последний пост: virus

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


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