Jump to content

Sistema De Lojas Offline By Ken (Actualizado)


Sadness
 Share

Recommended Posts

Olá,

 

Estava outro tópico aberto com o mesmo sistema, mas menos completo, daí a criação deste tópico.

 

Esta é uma versão actualizada do sistema com correção mysql.

 

Vídeo:

 
 

Agradecimentos:

zarcky][/color]

tierrilopes[/color]]

 
 

Cumprimentos,

Sadness.

 

Password: m2dev.net

 
 

Offline Shop.7z

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

 

 

 

E tenho de adicionar alguma coisa ao config.cpp normal?

 

Segundo o que sei, não é necessário.

Penso que o conteúdo disponibilizado no tópico chega para a instalação da loja com sucesso, mas não tenho a total certeza pois não tive a oportunidade de testar pessoalmente.

 

Cumprimentos Gol .D Roger :wub:

Link to comment
Share on other sites

  • 1 month later...
  • 2 months later...
  • 2 months later...
  • 11 months later...
Em 05/06/2016 em 20:10, Tierri Lopes disse:

Atualização:

  Mostrar conteúdo oculto

# Metin2 Offline-shop project by Ken## 1/7/2016 - Hotfix1. Fixed a few small problem with Add Item in the current offline shop.2. Added a sql file. This sql file is only for who uses gold_max in the server.## 1/6/2016 - Changelogs1. Fixed non-virtual descructor in offline_shop.cpp2. Fixed a few small problem about automatic destroy offline shop.3. Fixed useless function and variables.## 12/1/2015 - Changelogs1. Fixed a few small problems2. Small crash problems solved.3. Title bug is totally fixed.4. Fixed a few problem in dynamic buy mechanism.5. The entered number will be zero when you withdraw your money.6. Offline shops pointer color is changed. Also, color of offline shop npcs too. [Default color is orange]7. You can withdraw your all money.## 11/27/2015 - Changelogs1. Added empire limit (You cant build in shinsoo if youre coming from jinno (Empire flag))2. COfflineShopManager::DestroyOfflineShop function was re-written.3. Overflow problems solved.## 11/25/2015 - Changelogs1. This error is completely fixed (CInputLogin::Analyze: login phase does not handle this packet! header 56)2. Added a new mechanism for offline shop. You cant open those windows if you dont have an offline shop. 1. Add Item 2. Remove Item 3. Change Price of the item 4. Change time3. Get back window is only open when you close your offline shop.## 11/15/2015 - Changelogs1. You can now increase maximum gold for the offline shop. You just need to write this in your service.h file and Locale_Inc.h file.- #define ENABLE_MAXIMUM_YANG_FOR_OFFLINE_SHOP2. Multi-buy mechanism activated.3. A few query changed via new one.4. Offline shop buttons location is changed.5. When your character dead, offline shop window will close itself.6. If there is no offline-shop name like you enter, the system is not try to destroy offline shop. It will give an error.## 11/6/2015 - Changelogs1. Fixed small bugs2. Added a new gm command to kick the bad offline shop in the game (/kick_offlineshop <owner name of offline shop>)### 11/5/2015 - Changelogs1. Added two new config commands.### 11/2/2015 - Changelogs1. Added new button inside for Get back the items in the game.2. You can get your items even If your offline-shop timer is over.3. Changed icon.tgaThis project made by Ken. Anyone has right to re-sell the files on somewhere.## Offline-shop Change Log 10/16/20151. Offline-shop banks limit is increased. (New limit is 9.223.372.036.854.775.807 yang)2. OFFLINE_SHOP_MAP_ALLOW_LIMIT is changed via ENABLE_OFFLINE_SHOP_MAP_ALLOW_LIMIT3. OFFLINE_SHOP_SOCKET_MAX works fine. (This option is not recommend for Soul Binding. Default is 3)### Offline-shop features1. You can manage to your offline-shop from the different channels.2. You can change the item of the price in your offline-shop from the different channels.3. You can add new item in your offline-shop from the different channels.4. You can remove the item in your offline-shop from the different channels.5. You can change the time of your offline-shop from the different channels.6. You can use special offline-shop config commands for change something before compile the files.### Warning : You have to create a file in every channels and game99.1. This file name is OFFLINE_SHOP_CONFIG.2. Those commands only works in OFFLINE_SHOP_CONFIG.### How to usage offline-shop config commands?- OFFLINE_SHOP_SAVE_TIME : Default value is 5. The system will save offline-shop informations in every 5 minutes. (You can change if you want. Maximum value is 10)- OFFLINE_SHOP_NEED_MONEY : This option provides to you open an offline-shop with required money.- OFFLINE_SHOP_NEED_ITEM : This option provides to you open an offline-shop with required item.- OFFLINE_SHOP_TOTAL_COUNT : This option provides to limit offline-shop.- ENABLE_OFFLINE_SHOP_MAP_ALLOW_LIMIT : This is a boolean. You just use enable/disable or 1/0- OFFLINE_SHOP_MAP_ALLOW : You can put any limit for open an offline-shop.- OFFLINE_SHOP_SOCKET_MAX : This is only for whos using socket more than 3.- MIN_LEVEL: You can put a limit to open an offline-shop for level.- COINS_FOR_UNLIMITED: You can want some coins to change offline-shop via unlimited.- EMPIRE_LIMIT: 0/1 (I explainded the feature at top.)### Offline-shop CONFIG Examples:- OFFLINE_SAVE_TIME: 5- OFFLINE_SHOP_NEED_MONEY: enable 500000(yang)- OFFLINE_SHOP_NEED_MONEY: 1 500000- OFFLINE_SHOP_NEED_ITEM: enable 11499(item_vnum) 2(count)- OFFLINE_SHOP_NEED_ITEM: 1 11499(item_vnum) 2(count)- OFFLINE_SHOP_TOTAL_COUNT: 500- ENABLE_OFFLINE_SHOP_MAP_ALLOW_LIMIT: enable or disable- OFFLINE_SHOP_MAP_ALLOW_LIMIT: 0 or 1- OFFLINE_SHOP_MAP_ALLOW: 1 21 41 (mapIndex)- OFFLINE_SHOP_SOCKET_MAX: 3- MIN_LEVEL: enable 5(minimum level)- MIN_LEVEL: disable 0- MIN_LEVEL: 1 5(minimum level)- MIN_LEVEL: 0 0- COINS_FOR_UNLIMITED: 500- EMPIRE_LIMIT: 1

Informações:

  Mostrar conteúdo oculto

Password: m2dev.net

 

Loja offline atualizada.7z

Loja offline atualizada.7z

Fiz a instalação de tudo, e na hora de compilar o game surgiu os seguintes erros:

offline_shop.cpp: In member function 'void COfflineShop::BroadcastUpdatePrice(BYTE, DWORD)':
offline_shop.cpp:433: error: 'struct TPacketGCShopUpdatePrice' has no member named 'bPos'
offline_shop.cpp: In member function 'void COfflineShop::Refresh(CHARACTER*)':
offline_shop.cpp:446: error: 'SHOP_SUBHEADER_GC_UPDATE_ITEM2' was not declared in this scope
Game Compilando minilzo.c
In file included from main.cpp:4:
offlineshop_config.h:33:7: warning: no newline at end of file
gmake: *** [OBJDIR/offline_shop.o] Error 1
gmake: *** Waiting for unfinished jobs....
offlineshop_manager.cpp: In member function 'void COfflineShopManager::Refresh(CHARACTER*)':
offlineshop_manager.cpp:558: error: 'SHOP_SUBHEADER_GC_UPDATE_ITEM2' was not declared in this scope
offlineshop_manager.cpp: In member function 'void COfflineShopManager::RefreshMoney(CHARACTER*)':
offlineshop_manager.cpp:630: error: 'SHOP_SUBHEADER_GC_REFRESH_MONEY' was not declared in this scope
offlineshop_manager.cpp: In member function 'void COfflineShopManager::RefreshUnsoldItems(CHARACTER*)':
offlineshop_manager.cpp:659: error: 'SHOP_SUBHEADER_GC_UPDATE_ITEM2' was not declared in this scope
offlineshop_manager.cpp: In member function 'void COfflineShopManager::StopShopping(CHARACTER*)':
offlineshop_manager.cpp:922: error: 'SHOP_SUBHEADER_GC_UPDATE_ITEM2' was not declared in this scope
offlineshop_manager.cpp: In member function 'bool COfflineShopManager::HasOfflineShop(CHARACTER*)':
offlineshop_manager.cpp:1027: error: 'SHOP_SUBHEADER_GC_CHECK_RESULT' was not declared in this scope
gmake: *** [OBJDIR/offlineshop_manager.o] Error 1

Usei os arquivos os arquivos originais do LINK acima, e não fiz nenhuma modificação. Alguma solução ?

 

Edit: Já achei o erro, vou corrigir e tentar compilar.

Edited by Sinval
  • Like 1
Link to comment
Share on other sites

4 horas atrás, Tierri Lopes disse:

Os arquivos não eram para ser substituídos no game mas sim para comparar com os teus

SHOP_SUBHEADER_GC_UPDATE_ITEM2

Não esta declarado em Packet.h

Antes eu apenas fui arquivo por arquivo e procurava tudo relacionado com "offline" e "offline_shop", agora fiz a compração de arquivo por arquivo e fiz a instalação sem problemas, compilei e não apresentou nenhum erro.

 

Porém clico para abrir e não acontece nada, será que fiz algo errado ou é algo relacionado às configurações?  PS: Não tem nenhum erro no syserr do cliente ou servidor. 

 

Criei o arquivo "OFFLINE_SHOP_CONFIG" e coloquei dentro de todos os cores.

 

OFFLINE_SHOP_SAVE_TIME: 5
OFFLINE_SHOP_NEED_MONEY: 0 3000000
OFFLINE_SHOP_NEED_ITEM:	1 56900 1
OFFLINE_SHOP_TOTAL_COUNT: 500
OFFLINE_SHOP_MAP_ALLOW_LIMIT: 1
ENABLE_OFFLINE_SHOP_MAP_ALLOW_LIMIT: 0
OFFLINE_SHOP_MAP_ALLOW: 1 3 21 23 41 43 
OFFLINE_SHOP_SOCKET_MAX: 3
MIN_LEVEL: 0 15
COINS_FOR_UNLIMITED: 25
EMPIRE_LIMIT: 0

 

Mfm8EfqWQjWsRs8lxQPaEQ.png

Edited by Sinval
Link to comment
Share on other sites

Boa noite!

 

Consegui instalar e encontrei um BUG, o gold não vai pro "Banco", então se o jogador criar a loja e deslogar, se alguém comprar algo ele não irá receber o gold, se ele deslogar e passar o tempo do refresh ele recebe normalmente, igual se estiver online, ele recebe na mesma hora. Alguma solução ?

Link to comment
Share on other sites

19 minutos atrás, Tierri Lopes disse:

Não tenho esse sistema instalado, mas vou tentar recriar aqui o problema de cache, penso que sei como resolver.

Depois aviso se funcionou ou não

Fico na espera, desde já agradeço!! (Pesquisei por toda parte e a última atualização que está na net, já está com esse problema, a solução é em vez do gold ir pra player.player money ir pra player.offfline_bank money, aonde salve o PID do jogador e o gold, e corrigir o sistema pra poder remover o gold desse "banco" para o inventário do jogador, tenho a noção de como resolver, mais infelizmente não domino a linguagem de programação :/)

Link to comment
Share on other sites

22 hours ago, Sinval said:

Fico na espera, desde já agradeço!! (Pesquisei por toda parte e a última atualização que está na net, já está com esse problema, a solução é em vez do gold ir pra player.player money ir pra player.offfline_bank money, aonde salve o PID do jogador e o gold, e corrigir o sistema pra poder remover o gold desse "banco" para o inventário do jogador, tenho a noção de como resolver, mais infelizmente não domino a linguagem de programação :/)

O que experimentei não funcionou.

Solução que está na internet, podes colocar aqui a estrutura da tabela player.offline_bank sff?

Link to comment
Share on other sites

4 horas atrás, Tierri Lopes disse:

O que experimentei não funcionou.

Solução que está na internet, podes colocar aqui a estrutura da tabela player.offline_bank sff?

DROP TABLE IF EXISTS `new_offline_shop_bank`;
CREATE TABLE `new_offline_shop_bank` (
  `idChar` int(16) DEFAULT NULL,
  `Gold` bigint(11) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

A ideia seria verificar se o jogador está online, caso contrário o gold das vendas deveria ir para essa tabela, aonde ele poderia remover depois, pelo sistema do banco .

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...