Problemática:
Hola, hoy hago un aporte de un codigo que encontre hace un tiempo de jewel bank, pero no me funcionaba y estaba en portugues tambien hahaha, asi que ahora le he hecho mio propio ya que modifique un montón de cosas y corregí varios bugs.
NOTA IMPORTANTE:
NOTA-1: Para versiones 2.3.0, 2.2.9, 2.2.8 o mayor, usar el Modo de instalación mas actual
NOTA-2: Para versiones inferiores, usar el Modo de instalación de versiones antiguas.Descripción:
Este es un script hecho para tener jewel bank con comandos, ya que SSeMU no posee jewel bank como tal con UI o interfaces, así que agregue esta funcionalidad por que mis usuarios lo pedían.
NOTA: Los archivos o códigos lo subo ya que para mi es más fácil corregir algún bug o algo por el estilo y subirlo en el servidor de archivos que actualizar mi post en cada sitio donde subo las cosasChangelog
## [1.0.5] - 2023-09-12
### Añadido
- Agregando soporte para ODBC que no se llaman "MuOnline"
## [1.0.4] - 2023-09-04
### Corregido
- Fix igualando con un valor nulo
## [1.0.3] - 2023-09-01
### Corregido
- Fix desconexión a todo el servidor cuando recoges una joya
## [1.0.2] - 2023-08-20
### Corregido
- Fix dupeo cuando hacen trade
## [1.0.1] - 2023-08-10
### Añadido
- Se agregó Auto Pick
- Se agregó un nuevo comando /autobanco
- Se agregaron algunos valores al SQL
### Corregido
- Se cambió algunos diálogos
## [1.0.0] - 2023-08-08
### Añadido
- Traducido al lenguaje al Español
### Corregido
- Fix BridgeFunctionAttach
- Fix No ejecuta sentencias SQL
- Fix No hay retornos en las functions
- Fix otros problemas
FORMA DE INSTALACIÓN EN VERSIONES ANTIGUAS
- Primero que todo necesecitas correr el script JewelBank.sql en tu bd.
- Bueno aqui vamos a tener cuidado, tienes que abrir el archivo descargado ScriptBankAutoPick.lua, ScriptBankDepositar.lua, ScriptBankRetirar.lua y ScriptBankVer.lua
- Luego tienes que copiar la function y con funciones me refiero a todo lo que contenga desde function hasta el end, no copies nada mas, las funciones son: ScriptBankAutoPick_OnShutScript(), ScriptBankAutoPick_OnCommandManager(aIndex, code, arg), GetOnOff(value), ScriptBankAutoPick_OnTimerThread(), ScriptBankDepositar_OnCommandManager(aIndex, code, arg), ScriptBankRetirar_OnCommandManager(aIndex, code, arg) y ScriptBankVer_OnCommandManager(aIndex, code, arg)
- Luego lo copias al final de ScriptMain.lua que esta en Data\Script
- Finalmente buscas las funciones que te voy a mostrar abajo y le pones lo siguiente adentro:
function OnShutScript()
ScriptBankAutoPick_OnShutScript()
end
function OnTimerThread()
ScriptBankAutoPick_OnTimerThread()
end
function OnCommandManager(aIndex,code,arg)
ScriptBankAutoPick_OnCommandManager(aIndex, code, arg)
ScriptBankDepositar_OnCommandManager(aIndex, code, arg)
ScriptBankRetirar_OnCommandManager(aIndex, code, arg)
ScriptBankVer_OnCommandManager(aIndex, code, arg)
return 0
end
- También debes recordar que al inicio de todo el archivo ScriptMain.lua debes poner lo siguiente, observando que 'MuOnline' sea el nombre de tu ODBC, si no lo es cambialo por el tuyo, ejemplo 'MuOnlineS6'
SQLConnect('MuOnline', '', '')
- Vamos al paso 5 de la FORMA DE INSTALACIÓN PARA VERSIONES NUEVAS
- Finalmente haces reload del command y script en tu gs.exe y gscs.exe
FORMA DE INSTALACIÓN EN VERSIONES NUEVAS
Paso 1:
Antes de todo primero debes descargar esto:
Primero vamos a necesitar agregar unas cosas a la Base de datos, por que la base de datos, pues es simple, necesitamos guardar las joyas que tienen en el banco por usuario, y esa información no se puede guardar en cache o algo por el estilo lamentablemente, así que necesitamos persistirla en la base de datos.
En la descarga anterior vamos a encontrar un archivo sql, ahí lo ejecutan en su base de datos de MuOnline.
Paso 2:
Comencemos copiando y pegando cada código en su respectiva carpeta, vamos a nuestro server y vamos a la carpeta de
Data/Script/Script y creamos una carpeta de que llamaremos
JewelBank y luego pegamos todo lo que descargamos adentro:
Paso 3:
Ahora retrocedemos una carpeta y vamos a ScriptMain.lua,
ahi pegamos este código, esto nos sirve para que SSeMU detecte el script y sepa dónde está nuestro script:
require('Script\\JewelBank\\ScriptBankAutoPick')
require('Script\\JewelBank\\ScriptBankDepositar')
require('Script\\JewelBank\\ScriptBankRetirar')
require('Script\\JewelBank\\ScriptBankVer')
Debe quedar algo asi:
Paso 4 (Opcional):
Esto es en caso
su base de datos no se llame MuOnline, en cada script debes cambiar esta linea
SQLConnect('MuOnline', '', '')
Solo
debes cambiar en donde dice MuOnline por tu base de datos, no es necesario que pongas el usuario o el password
Paso 5:
Debemos agregarlo en el
CommandManager.txt que esta en la carpeta Data y ¿por qué?, porque debemos agregar los comandos que llamo desde los scripts, estos los llamo por un número, son los siguientes números asociados pero pueden cambiarle el nombre si gustan:
// ----------------------------------------------------------------------------
// [Switch] [Command]
// Index AL0 AL1 AL2 AL3 Syntax
// ----------------------------------------------------------------------------
24 1 1 1 1 "/depositar" --- TODO lo DEMÁS IGUAL
25 1 1 1 1 "/retirar" --- TODO lo DEMÁS IGUAL
26 1 1 1 1 "/verbanco" --- TODO lo DEMÁS IGUAL
28 1 1 1 1 "/autobanco" --- TODO lo DEMÁS IGUAL
29 1 1 1 1 "/verpick" --- TODO lo DEMÁS IGUAL
Uso:
La forma de usarlo es simple:
/depositar <tipo de joya> <cantidad> | Deposita una cantidad al banco.
Tipo de joya: bless, soul, chaos, life, creation, guardian, harmony, hrefin, lrefin, gemstone.
Ejemplo: /depositar soul 13 |
/retirar <tipo de joya> <cantidad> | Retira una cantidad del banco.
Tipo de joya: bless, soul, chaos, life, creation, guardian, harmony, hrefin, lrefin, gemstone.
Ejemplo: /retirar soul 11 |
/verbanco | Sirve para ver la cantidad del banco |
/autobanco [Tipo de joya] [on/off] | Sirve para que recoja del inventario automáticamente.
Tipo de joya: all, bless, soul, chaos, life, creation, guardian, harmony, hrefin, lrefin, gemstone.
Ejemplo: /autobanco all on |
/verpick | Mira que autoguardado de joyas tienes activos. |
NOTA: Use colores por que la tabla que trae SMF no tiene bordes y recien me di cuenta y ya me daba flojera editarlo todo xDTipos de joya: bless, soul, life, chaos, creation, guardian, harmony, hrefin, lrefin, gemstone.
En algunos casos como autobanco se puede poner
all para que acepte todas las joyas justo como el ejemplo.
Diccionario:
hrefin -> High Refining Stone
lrefin -> Low Refining Stone
Imágenes:
Creditos:ghmoraes - Idea basada en X-Team
Anthony Rosas o Gambasoxd - Adaptarlo a SSeMU y corrección de bugs y mejoras