Autor Tema: Ajuda com o Jewel Bank Script LUA  (Leído 563 veces)

Desconectado adrianjrb

  • *


  • 5

    2

    0
  • ve
Estou usando esses arquivos

https://www.creandomu.com/index.php?topic=3280.0

Olá, você poderia me ajudar?, Estou usando esse código, adicionei apenas as linhas de comando e conexão ao SQL:

Código
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

O status do banco funciona bem para mim, mas no caso de depósito de joias sempre recebo esta mensagem:

Código
	if quantidade <= 0 then
NoticeSend(aIndex,1,"O número de jóias a ser depositado deve ser maior do que 0")

Também deixarei aqui o código ScriptCore.lua para que vocês possam ver as opções, grato pela ajuda

Código
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



 

.