Estoy usando estos archivos
https://tuservermu.com.ve/index.php?topic=45113.0Buenas, alguien me podria ayudar? Estoy usando este codigo,agregué apenas las lineas de comando y conexion SQL
BridgeFunctionAttach("OnReadScript","ScriptBankDep_OnReadScript")
BridgeFunctionAttach("OnCommandManager","ScripBankDep_OnCommandManager")
function ScriptBankDep_OnReadScript()
if(not SQLCheck()) then
SQLConnect("MuOnline_EX501","sa","1234567890")
end
end
function ScripBankDep_OnCommandManager(aIndex,code,arg)
if(code == 89) then
BankDep(aIndex,arg)
return 1
end
return 0
end
function BankDep(aIndex,arg)
local User = GetObjectAccount(aIndex)
SQLQuery("SELECT TOP (1) memb___id, BSoul, BBless, BLife, BChaos, BCreation, BGuardian, BHarmony, BRefin, BLowRefin, BGemstone FROM MEMB_INFO WHERE memb___id='"..User.."' order by memb___id")
SQLFetch()
SQLClose()
local joia = CommandGetArgString(arg,0)
local quantidade = CommandGetArgNumber(arg,1)
if quantidade <= 0 then
NoticeSend(aIndex,1,"O número de jóias a ser depositado deve ser maior do que 0")
else
if joia == "bless" then
local blessinv = InventoryGetItemCount(aIndex,7181,-1)
if quantidade <= blessinv then
InventoryDelItemCount(aIndex,7181,-1,quantidade)
SQLQuery("Update MEMB_INFO set BBless=BBless+"..quantidade.." where memb___id='"..User.."'")
NoticeSend(aIndex,1,string.format("Você adicionou "..quantidade.." Bless ao seu banco!"))
else
NoticeSend(aIndex,1,"Você não tem essa quantidade de Bless para depositar")
end
elseif joia == "soul" then
local soulinv = InventoryGetItemCount(aIndex,7182,-1)
if quantidade <= soulinv then
InventoryDelItemCount(aIndex,7182,-1,quantidade)
SQLQuery("Update MEMB_INFO set BSoul=BSoul+"..quantidade.." where memb___id='"..User.."'")
NoticeSend(aIndex,1,string.format("Você adicionou "..quantidade.." Soul ao seu banco!"))
else
NoticeSend(aIndex,1,"Você não tem essa quantidade de Soul para depositar")
end
elseif joia == "life" then
local lifeinv = InventoryGetItemCount(aIndex,7184,-1)
if quantidade <= lifeinv then
InventoryDelItemCount(aIndex,7184,-1,quantidade)
SQLQuery("Update MEMB_INFO set BLife=BLife+"..quantidade.." where memb___id='"..User.."'")
NoticeSend(aIndex,1,string.format("Você adicionou "..quantidade.." Life ao seu banco!"))
else
NoticeSend(aIndex,1,"Você não tem essa quantidade de Life para depositar")
end
elseif joia == "chaos" then
local chaosinv = InventoryGetItemCount(aIndex,6159,-1)
if quantidade <= chaosinv then
InventoryDelItemCount(aIndex,6159,-1,quantidade)
SQLQuery("Update MEMB_INFO set BChaos=BChaos+"..quantidade.." where memb___id='"..User.."'")
NoticeSend(aIndex,1,string.format("Você adicionou "..quantidade.." Chaos ao seu banco!"))
else
NoticeSend(aIndex,1,"Você não tem essa quantidade de Chaos para depositar")
end
elseif joia == "creation" then
local creationinv = InventoryGetItemCount(aIndex,7190,-1)
if quantidade <= creationinv then
InventoryDelItemCount(aIndex,7190,-1,quantidade)
SQLQuery("Update MEMB_INFO set BCreation=BCreation+"..quantidade.." where memb___id='"..User.."'")
NoticeSend(aIndex,1,string.format("Você adicionou "..quantidade.." Creation ao seu banco!"))
else
NoticeSend(aIndex,1,"Você não tem essa quantidade de Creation para depositar")
end
elseif joia == "guardian" then
local guardianinv = InventoryGetItemCount(aIndex,7199,-1)
if quantidade <= guardianinv then
InventoryDelItemCount(aIndex,7199,-1,quantidade)
SQLQuery("Update MEMB_INFO set BGuardian=BGuardian+"..quantidade.." where memb___id='"..User.."'")
NoticeSend(aIndex,1,string.format("Você adicionou "..quantidade.." Guardian ao seu banco!"))
else
NoticeSend(aIndex,1,"Você não tem essa quantidade de Guardian para depositar")
end
elseif joia == "harmony" then
local harmonyinv = InventoryGetItemCount(aIndex,7210,-1)
if quantidade <= harmonyinv then
InventoryDelItemCount(aIndex,7210,-1,quantidade)
SQLQuery("Update MEMB_INFO set BHarmony=BHarmony+"..quantidade.." where memb___id='"..User.."'")
NoticeSend(aIndex,1,string.format("Você adicionou "..quantidade.." Harmony ao seu banco!"))
else
NoticeSend(aIndex,1,"Você não tem essa quantidade de Harmony para depositar")
end
elseif joia == "hrefin" then
local hrefininv = InventoryGetItemCount(aIndex,7212,-1)
if quantidade <= hrefininv then
InventoryDelItemCount(aIndex,7212,-1,quantidade)
SQLQuery("Update MEMB_INFO set BRefin=BRefin+"..quantidade.." where memb___id='"..User.."'")
NoticeSend(aIndex,1,string.format("Você adicionou "..quantidade.." High Refin ao seu banco!"))
else
NoticeSend(aIndex,1,"Você não tem essa quantidade de High Refin para depositar")
end
elseif joia == "lrefin" then
local lrefininv = InventoryGetItemCount(aIndex,7211,-1)
if quantidade <= lrefininv then
InventoryDelItemCount(aIndex,7211,-1,quantidade)
SQLQuery("Update MEMB_INFO set BLowRefin=BLowRefin+"..quantidade.." where memb___id='"..User.."'")
NoticeSend(aIndex,1,string.format("Você adicionou "..quantidade.." Low Refin ao seu banco!"))
else
NoticeSend(aIndex,1,"Você não tem essa quantidade de Low Refin para depositar")
end
elseif joia == "gemstone" then
local gemnsinv = InventoryGetItemCount(aIndex,7209,-1)
if quantidade <= gemnsinv then
InventoryDelItemCount(aIndex,7209,-1,quantidade)
SQLQuery("Update MEMB_INFO set BGemstone=BGemstone+"..quantidade.." where memb___id='"..User.."'")
NoticeSend(aIndex,1,string.format("Você adicionou "..quantidade.." Gemstone ao seu banco!"))
else
NoticeSend(aIndex,1,"Você não tem essa quantidade de Gemstone para depositar")
end
else
NoticeSend(aIndex,1,"Você deve escolher uma jóia válida.")
end
end
end
El estado del banco funciona bien, mas en el caso de deposito de joyas siempre recibo este mensaje:
if quantidade <= 0 then
NoticeSend(aIndex,1,"O número de jóias a ser depositado deve ser maior do que 0")
Tambien dejare aqui el código ScriptCore.lua para que ustedes puedan ver las opciones, agradecido por la ayuda
require("System\\ScriptDefine")
require("System\\ScriptReader")
BridgeFunctionTable = {}
function BridgeFunctionAttach(BridgeName,FunctionName)
if BridgeName == "OnReadScript" then
if BridgeFunctionTable[1] == nil then BridgeFunctionTable[1] = {} end
table.insert(BridgeFunctionTable[1],{Function=FunctionName})
elseif BridgeName == "OnShutScript" then
if BridgeFunctionTable[2] == nil then BridgeFunctionTable[2] = {} end
table.insert(BridgeFunctionTable[2],{Function=FunctionName})
elseif BridgeName == "OnTimerThread" then
if BridgeFunctionTable[3] == nil then BridgeFunctionTable[3] = {} end
table.insert(BridgeFunctionTable[3],{Function=FunctionName})
elseif BridgeName == "OnCommandManager" then
if BridgeFunctionTable[4] == nil then BridgeFunctionTable[4] = {} end
table.insert(BridgeFunctionTable[4],{Function=FunctionName})
elseif BridgeName == "OnCharacterEntry" then
if BridgeFunctionTable[5] == nil then BridgeFunctionTable[5] = {} end
table.insert(BridgeFunctionTable[5],{Function=FunctionName})
elseif BridgeName == "OnCharacterClose" then
if BridgeFunctionTable[6] == nil then BridgeFunctionTable[6] = {} end
table.insert(BridgeFunctionTable[6],{Function=FunctionName})
elseif BridgeName == "OnNpcTalk" then
if BridgeFunctionTable[7] == nil then BridgeFunctionTable[7] = {} end
table.insert(BridgeFunctionTable[7],{Function=FunctionName})
elseif BridgeName == "OnMonsterDie" then
if BridgeFunctionTable[8] == nil then BridgeFunctionTable[8] = {} end
table.insert(BridgeFunctionTable[8],{Function=FunctionName})
elseif BridgeName == "OnUserDie" then
if BridgeFunctionTable[9] == nil then BridgeFunctionTable[9] = {} end
table.insert(BridgeFunctionTable[9],{Function=FunctionName})
elseif BridgeName == "OnUserRespawn" then
if BridgeFunctionTable[10] == nil then BridgeFunctionTable[10] = {} end
table.insert(BridgeFunctionTable[10],{Function=FunctionName})
elseif BridgeName == "OnCheckUserTarget" then
if BridgeFunctionTable[11] == nil then BridgeFunctionTable[11] = {} end
table.insert(BridgeFunctionTable[11],{Function=FunctionName})
elseif BridgeName == "OnCheckUserKiller" then
if BridgeFunctionTable[12] == nil then BridgeFunctionTable[12] = {} end
table.insert(BridgeFunctionTable[12],{Function=FunctionName})
elseif BridgeName == "OnItemPick" then
if BridgeFunctionTable[13] == nil then BridgeFunctionTable[13] = {} end
table.insert(BridgeFunctionTable[13],{Function=FunctionName})
elseif BridgeName == "OnItemDrop" then
if BridgeFunctionTable[14] == nil then BridgeFunctionTable[14] = {} end
table.insert(BridgeFunctionTable[14],{Function=FunctionName})
elseif BridgeName == "OnPacketRecv" then
if BridgeFunctionTable[15] == nil then BridgeFunctionTable[15] = {} end
table.insert(BridgeFunctionTable[15],{Function=FunctionName})
elseif BridgeName == "OnSQLAsyncResult" then
if BridgeFunctionTable[16] == nil then BridgeFunctionTable[16] = {} end
table.insert(BridgeFunctionTable[16],{Function=FunctionName})
end
end
function BridgeFunction_OnReadScript()
if BridgeFunctionTable[1] ~= nil then
for n=1,#BridgeFunctionTable[1],1 do
_G[BridgeFunctionTable[1][n].Function]()
end
end
end
function BridgeFunction_OnShutScript()
if BridgeFunctionTable[2] ~= nil then
for n=1,#BridgeFunctionTable[2],1 do
_G[BridgeFunctionTable[2][n].Function]()
end
end
end
function BridgeFunction_OnTimerThread()
if BridgeFunctionTable[3] ~= nil then
for n=1,#BridgeFunctionTable[3],1 do
_G[BridgeFunctionTable[3][n].Function]()
end
end
end
function BridgeFunction_OnCommandManager(aIndex,code,arg)
if BridgeFunctionTable[4] ~= nil then
for n=1,#BridgeFunctionTable[4],1 do
local ret = _G[BridgeFunctionTable[4][n].Function](aIndex,code,arg)
if ret ~= 0 then return 1 end
end
end
return 0
end
function BridgeFunction_OnCharacterEntry(aIndex)
if BridgeFunctionTable[5] ~= nil then
for n=1,#BridgeFunctionTable[5],1 do
_G[BridgeFunctionTable[5][n].Function](aIndex)
end
end
end
function BridgeFunction_OnCharacterClose(aIndex)
if BridgeFunctionTable[6] ~= nil then
for n=1,#BridgeFunctionTable[6],1 do
_G[BridgeFunctionTable[6][n].Function](aIndex)
end
end
end
function BridgeFunction_OnNpcTalk(aIndex,bIndex)
if BridgeFunctionTable[7] ~= nil then
for n=1,#BridgeFunctionTable[7],1 do
local ret = _G[BridgeFunctionTable[7][n].Function](aIndex,bIndex)
if ret ~= 0 then return 1 end
end
end
return 0
end
function BridgeFunction_OnMonsterDie(aIndex,bIndex)
if BridgeFunctionTable[8] ~= nil then
for n=1,#BridgeFunctionTable[8],1 do
_G[BridgeFunctionTable[8][n].Function](aIndex,bIndex)
end
end
end
function BridgeFunction_OnUserDie(aIndex,bIndex)
if BridgeFunctionTable[9] ~= nil then
for n=1,#BridgeFunctionTable[9],1 do
_G[BridgeFunctionTable[9][n].Function](aIndex,bIndex)
end
end
end
function BridgeFunction_OnUserRespawn(aIndex,KillerType)
if BridgeFunctionTable[10] ~= nil then
for n=1,#BridgeFunctionTable[10],1 do
_G[BridgeFunctionTable[10][n].Function](aIndex,KillerType)
end
end
end
function BridgeFunction_OnCheckUserTarget(aIndex,bIndex)
if BridgeFunctionTable[11] ~= nil then
for n=1,#BridgeFunctionTable[11],1 do
local ret = _G[BridgeFunctionTable[11][n].Function](aIndex,bIndex)
if ret == 0 then return 0 end
end
end
return 1
end
function BridgeFunction_OnCheckUserKiller(aIndex,bIndex)
if BridgeFunctionTable[12] ~= nil then
for n=1,#BridgeFunctionTable[12],1 do
local ret = _G[BridgeFunctionTable[12][n].Function](aIndex,bIndex)
if ret == 0 then return 0 end
end
end
return 1
end
function BridgeFunction_OnItemPick(aIndex,index,ItemTable)
if BridgeFunctionTable[13] ~= nil then
for n=1,#BridgeFunctionTable[13],1 do
local ret = _G[BridgeFunctionTable[13][n].Function](aIndex,index,ItemTable)
if ret == 0 then return 0 end
end
end
return 1
end
function BridgeFunction_OnItemDrop(aIndex,index,x,y,ItemTable)
if BridgeFunctionTable[14] ~= nil then
for n=1,#BridgeFunctionTable[14],1 do
local ret = _G[BridgeFunctionTable[14][n].Function](aIndex,index,x,y,ItemTable)
if ret == 0 then return 0 end
end
end
return 1
end
function BridgeFunction_OnPacketRecv(aIndex,buff,size)
if BridgeFunctionTable[15] ~= nil then
for n=1,#BridgeFunctionTable[15],1 do
_G[BridgeFunctionTable[15][n].Function](aIndex,buff,size)
end
end
end
function BridgeFunction_OnSQLAsyncResult(label,param,result)
if BridgeFunctionTable[16] ~= nil then
for n=1,#BridgeFunctionTable[16],1 do
local ret = _G[BridgeFunctionTable[16][n].Function](label,param,result)
if ret == 1 then return 0 end
if ret == 2 then return 1 end
end
end
return 0
end