Ir para conteúdo
  • Cadastre-se

War system (Com escudo) erro no "balance" da guild.


Posts Recomendados

Boa noite gente. Bem, quando vou depositar dinheiro na conta da guild, usando o comando /balance donate 1000 (exemplo)
Me deparo com este erro no distro do servidor; SQLITE3_prepare_v2<>: SQLITE error: near "LIMIT": syntax error (UPDATE) guilds SET "balance" + 1000 WHERE "id" = 1 LIMIT 1>

Alguém sabe como resolver?    Peço que algum moderador feche o tópico.

Consegui arrumar, era um erro bem idiota, mexi muito e não tinha conseguido, ai agora me veio a cabeça deletar o LIMIT 1 (que sinceramente era bem óbvio, mas não pensei nisso, eu estava mexendo era na DB ao invés de mexer no script) e consegui ahuaudsuha

Estou postando a solução caso alguém se depare com o mesmo erro. 

No script que citei abaixo (balance.lua)

Troque a linha:

 if(not db.executeQuery('UPDATE `guilds` SET `balance` = `balance` - ' .. money[1] .. ' WHERE `id` = ' .. guild .. ' LIMIT')) then

 

Por: 

if(not db.executeQuery("UPDATE `guilds` SET `balance` = `balance` - " .. money[1] .. " WHERE `id` = " .. guild .. "")) then

 

E mais abaixo troque a outra linha: 

 

 

db.executeQuery('UPDATE `guilds` SET `balance` = `balance` + ' .. money .. ' WHERE `id` = ' .. guild .. ' LIMIT')

Por: 

 

db.executeQuery("UPDATE `guilds` SET `balance` = `balance` + " .. money .. " WHERE `id` = " .. guild .. "")

Meu script; 

 

local function isValidMoney(value)

if(value == nil) then
return false
end
 
return (value > 0 and value <= 99999999999999)
end
 
function onSay(cid, words, param, channel)
local guild = getPlayerGuildId(cid)
if(guild == 0) then
return false
end
 
local t = string.explode(param, ' ', 1)
if(getPlayerGuildLevel(cid) == GUILDLEVEL_LEADER and isInArray({ 'pick' }, t[1])) then
if(t[1] == 'pick') then
local money = { tonumber(t[2]) }
if(not isValidMoney(money[1])) then
doPlayerSendChannelMessage(cid, '', 'Invalid amount of money specified.', TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD)
return true
end
 
local result = db.getResult('SELECT `balance` FROM `guilds` WHERE `id` = ' .. guild)
if(result:getID() == -1) then
return false
end
 
money[2] = result:getDataLong('balance')
result:free()
 
if(money[1] > money[2]) then
doPlayerSendChannelMessage(cid, '', 'The balance is too low for such amount.', TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD)
return true
end
 
if(not db.executeQuery('UPDATE `guilds` SET `balance` = `balance` - ' .. money[1] .. ' WHERE `id` = ' .. guild .. ' LIMIT')) then
return false
end
 
doPlayerAddMoney(cid, money[1])
doPlayerSendChannelMessage(cid, '', 'You have just picked ' .. money[1] .. ' money from your guild balance.', TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD)
else
doPlayerSendChannelMessage(cid, '', 'Invalid sub-command.', TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD)
end
elseif(t[1] == 'donate') then
local money = tonumber(t[2])
if(not isValidMoney(money)) then
doPlayerSendChannelMessage(cid, '', 'Invalid amount of money specified.', TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD)
return true
end
 
if(getPlayerMoney(cid) < money) then
doPlayerSendChannelMessage(cid, '', 'You don\'t have enough money.', TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD)
return true
end
 
if(not doPlayerRemoveMoney(cid, money)) then
return false
end
 
db.executeQuery('UPDATE `guilds` SET `balance` = `balance` + ' .. money .. ' WHERE `id` = ' .. guild .. ' LIMIT')
doPlayerSendChannelMessage(cid, '', 'You have transfered ' .. money .. ' money to your guild balance.', TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD)
else
local result = db.getResult('SELECT `name`, `balance` FROM `guilds` WHERE `id` = ' .. guild)
if(result:getID() == -1) then
return false
end
 
doPlayerSendChannelMessage(cid, '', 'Current balance of guild ' .. result:getDataString('name') .. ' is: ' .. result:getDataLong('balance') .. ' bronze coins.', TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD)
result:free()
end
 
return true
end
 
Editado por Eduardo Dantas (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Scorpiondaniel
      Quero que o balance do bank do personagem apareça na conta do cara no site

      Script usado:
       
       
       

      NPC BANKMAN
      <?xml version="1.0" encoding="UTF-8"?> <npc name="BankMan" script="data/npc/scripts/bank.lua" walkinterval="25" floorchange="0" access="5" > <health now="150" max="150"/> <look type="132" head="115" body="0" legs="114" feet="0" addons="3" corpse="2212"/> <parameters> <parameter key="message_greet" value="Welcome |PLAYERNAME|! Here, you can {deposit}, {withdraw} or {transfer} your money from your bank account. I can change your coins too."/> <parameter key="message_alreadyfocused" value="You are drunked ? I talk with you."/> <parameter key="message_farewell" value="Goodbye. I wanna see your money... oh you again."/> </parameters> </npc>  
       
       
      bank.lua
      local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid --------------------MESSAGES------------------------------------------------------------------------------ if msgcontains(msg, 'deposit') then selfSay('Please tell me how much gold it is you would like to deposit.', cid) talkState[talkUser] = 1 elseif msgcontains(msg, 'withdraw') then selfSay('Please tell me how much gold you would like to withdraw.', cid) talkState[talkUser] = 3 elseif msgcontains(msg, 'transfer') then selfSay('Please tell me the amount of gold coins you would like to transfer.', cid) talkState[talkUser] = 5 elseif msgcontains(msg, 'change gold') then selfSay('How many platinum coins do you want to get?', cid) talkState[talkUser] = 8 elseif msgcontains(msg, 'change platinum') then selfSay('Do you want to change your platinum coins to gold or crystal?', cid) talkState[talkUser] = 10 elseif msgcontains(msg, 'change crystal') then selfSay('How many crystal coins do you want to change to platinum?', cid) talkState[talkUser] = 15 elseif msgcontains(msg, 'balance') then n = getPlayerBalance(cid) selfSay('Your balance are '..n..' golds.', cid) talkState[talkUser] = 0 ----------------------DEPOSIT------------------------------------------------------- elseif talkState[talkUser] == 1 then if msgcontains(msg, 'all') then n = getPlayerMoney(cid) selfSay('Do you want deposit '..n..' golds ?', cid) talkState[talkUser] = 2 else n = getNumber(msg) selfSay('Do you want deposit '..n..' golds ?', cid) talkState[talkUser] = 2 end elseif talkState[talkUser] == 2 then if msgcontains(msg, 'yes') then if getPlayerMoney(cid) >= n then doPlayerDepositMoney(cid,n) selfSay('Sucessfull. Now your balance account is ' ..getPlayerBalance(cid)..' golds.', cid) talkState[talkUser] = 0 else selfSay('You don\'t have money.', cid) end else selfSay('Ok then', cid) end ----------------------WITHDRAW------------------------------------------------------------------------------------- elseif talkState[talkUser] == 3 then if msgcontains(msg, 'all') then n = getPlayerBalance(cid) selfSay('Do you want withdraw '..n..' golds ?', cid) talkState[talkUser] = 4 else n = getNumber(msg) selfSay('Do you want withdraw '..n..' golds ?', cid) talkState[talkUser] = 4 end elseif talkState[talkUser] == 4 then if msgcontains(msg, 'yes') then if getPlayerBalance(cid) >= n then doPlayerWithdrawMoney(cid, n) selfSay('Here you are, '..n..' gold. Now your balance account is ' ..getPlayerBalance(cid)..' golds.', cid) talkState[talkUser] = 0 else selfSay('There is not enough gold on your account', cid) end else selfSay('Ok then', cid) end ----------------------TRANSFER---------------------------------------------------------------------------------------- elseif talkState[talkUser] == 5 then if msgcontains(msg, 'all') then n = getPlayerBalance(cid) selfSay('Who would you like transfer '..n..' gold to?', cid) talkState[talkUser] = 6 else n = getNumber(msg) selfSay('Who would you like transfer '..n..' gold to?', cid) talkState[talkUser] = 6 end elseif talkState[talkUser] == 6 then p = msg selfSay('So you would like to transfer '..n..' gold to '..p..'?', cid) talkState[talkUser] = 7 elseif talkState[talkUser] == 7 then if msgcontains(msg, 'yes') then if getPlayerBalance(cid) >= n then if doPlayerTransferMoneyTo(cid, p, n) == TRUE then selfSay('You have transferred '..n..' gold to '..p..' and your account balance is '..getPlayerBalance(cid)..' golds.', cid) talkState[talkUser] = 0 else selfSay('This player does not exist. Please tell me a valid name!', cid) talkState[talkUser] = 0 end else selfSay('There is not enough gold on your account', cid) talkState[talkUser] = 0 end else selfSay('Ok then', cid) talkState[talkUser] = 0 end ----------------------CHANGE GOLD--------------------------------------------------------------------------------- elseif talkState[talkUser] == 8 then n = getNumber(msg) b = n * 100 selfSay('So I should change '..b..' of your gold coins to '..n..' platinum coins for you?', cid) talkState[talkUser] = 9 elseif talkState[talkUser] == 9 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid, 2148, b) == TRUE then doPlayerAddItem(cid, 2152, n) talkState[talkUser] = 0 else selfSay('You don\'t have money.', cid) talkState[talkUser] = 0 end else selfSay('Ok. We cancel.', cid) talkState[talkUser] = 0 end ---------------------CHANGE PLATINUM------------------------------------------------------------------------- elseif talkState[talkUser] == 10 then if msgcontains(msg, 'gold') then selfSay('How many platinum coins do you want to change to gold?', cid) talkState[talkUser] = 11 elseif msgcontains(msg, 'crystal') then selfSay('How many crystal coins do you want to get?', cid) talkState[talkUser] = 13 end elseif talkState[talkUser] == 11 then n = getNumber(msg) b = n * 100 selfSay('So I should change '..n..' of your platinum coins to '..b..' gold coins for you?', cid) talkState[talkUser] = 12 elseif talkState[talkUser] == 12 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid, 2152, n) == TRUE then doPlayerAddItem(cid, 2148, b) talkState[talkUser] = 0 else selfSay('You don\'t have money.', cid) talkState[talkUser] = 0 end else selfSay('Ok. We cancel.', cid) talkState[talkUser] = 0 end elseif talkState[talkUser] == 13 then n = getNumber(msg) b = n * 100 selfSay('So I should change '..b..' of your platinum coins to '..n..' crystal coins for you?', cid) talkState[talkUser] = 14 elseif talkState[talkUser] == 14 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid, 2152, b) == TRUE then doPlayerAddItem(cid, 2160, n) talkState[talkUser] = 0 else selfSay('You don\'t have money.', cid) talkState[talkUser] = 0 end else selfSay('Ok. We cancel.', cid) talkState[talkUser] = 0 end ---------------------CHANGE CRYSTAL------------------------------------------------------------------------------- elseif talkState[talkUser] == 15 then n = getNumber(msg) b = n * 100 selfSay('So I should change '..n..' of your crystal coins to '..b..' platinum coins for you?', cid) talkState[talkUser] = 16 elseif talkState[talkUser] == 16 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid, 2160, n) == TRUE then doPlayerAddItem(cid, 2152, b) talkState[talkUser] = 0 else selfSay('You don\'t have money.', cid) talkState[talkUser] = 0 end else selfSay('Ok. We cancel.', cid) talkState[talkUser] = 0 end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) -- function maded by Gesior-- function getNumber(txt) --return number if its number and is > 0, else return 0 x = string.gsub(txt,"%a","") x = tonumber(x) if x ~= nill and x > 0 then return x else return 0 end end
    • Por flyblade
      Fatal error: Call to a member function createObject() on null in C:\xampp\htdocs\pages\wars.php on line 20
       
      alguém sabe como resolvo esse problema ? 
      obg.
    • Por Luizbaiak
      Confira Novo Servidor Baiak
      Devilbaiak.ml
       
      Olá Galerinha Tibiana!
      Durante 3 anos o baiak ainda está se atualizando cada vez mais e agora eu venho trazer a nova versao 10.10 não esta 100% mais garanto que vao gostar,entao vamos ver oque há de novo nele ?
       
      Essa Nova Versão eu conseguir criar em apenas 2 dias e meio e nao deu tempo de testar mais se houver bugs comentem por favor.
       
      Versão x10.1-  1.0 Oque há de novo ?
       
      • Todas as mountarias da versao 10.10
      • Todos os outfits 10.10
      • Todos os items 10.10
      • Monsters ainda em andamento.
      • Templo com cara de 10.10
      • City Vip com novo visual 10.10
      • War System 100%
      - Comandos :/war invite,nomedaguildrival  outra guild ativar a war /accept war,guildrival cancelar war . /war cancel,guildrival
      • Cast System 100%
      - Comandos:!cast list para ver casts abertos,!cast nomedoplayer para entrar, !cast exit para sair do cast que voce está !cast on para voce abrir um cast e !cast off para sair
      • Novo Npc no templo que vende items 10.10
      • Novo npc que vende items vip
      • Bug das houses retirados
      • Bug da Sql retirado
      • Novos Comandos
      /rank
      !mount nomedamount
      !addon nomedoaddon
      !changesex
      !buyhouse,!leavehouse,alana res,!sellhouse funcionando 100%
      e muito mais que nao veio na cabeça mais quando eu lembrar posto.
      O Servidor está em SQL pronto para por online e os erros do distro nao encomodam o server.
       
      • Baiak Yurots V5.2 Oque Mudou ?
       
      •Tirei bug das houses
      •Tirei todos os erro do distro
      •Arrumei o lado >> da city vip agora mais rox.
       
      • Baiak Yurots V5.1 Oque Mudou ?
       
      • Mudei a Quest do templo lv 150 ganha 2kk agora ganha só 500k
      • Melhorei os teleports master lv 300+ agora tem 4 novas quest e 2 hunt +
      • Mudei respaw de todas as hunts free , vip e master agora ta 5x melhor.
      • Mudei Tempo da loteria tava 15 em 15 minutos agora ta de 1 em 1 hora.
      • Melhorei a Exori gran do kina.
      • Mudei os loot do monster bosses agora igual da versao 10.30 do global
      • Adicionei quest do addon doll na area d lvel 300+
      • Adicionei Quest do 2kk na area d Lvl 300+
      • Adicionei Quest do necromancer shield na area de Lv 300+
      • Adicionei Quest do Dwarven Set e hornede helmet na area de level 300+
      • Adicionei o novo monster Master Medusa Lv 300+
      • Adicionei 2 novas hunt de Master Medusa.
      Se eu lembrar mas alguma coisa eu posto. :S
       
      • Baiak Yurots V5.0 Oque Mudou ?
       
      • Agora a City Está Maior Mais Bonita e Com Mais Houses.
      • Novo Sistema de Treiner não prescisa andar muito para axar um livre.
      • Novos monstros vip ( Sea Serpent Vip , Hellhound vip , night mare vip , fury vip ) novos monstros master ( hydra master , frost master , grim master e demon master).
      • Nova Quest Master Com Armas Para todas as vocaçao.
      • Agora o NPC VIP Vende e compra items vip, pois se voce pegar item vip de algum red algo assim voce pode vender mais so que o npc compra 60% mais barato ☺
      • Novo Npc que vender Red Remover.
      • Novo Templo.
      • Novas Quests.
      • Novo Depot.
      • Novos Commandos ( !food Compra 100 , !topfrags Ver quem é o top frag , !glist  ver as guild do server e !glist Nameguild para ver os player da guild.
      • Teleports Free e vip Agora com nova cara.
      • Novo Caminho Para Poi no mesmo lugar so que mais bonito.
      • Addon agora é com addon doll npc Varkhal Vende.
      • Systema de Loteria a cada 2 Horas.
      • Nova arena de team god que organiza.
      E muito Mais ..
       
      Novos Items.

       
      Master vip Quest

       
      Teleports Master

      Templo vip

      Templo city

       
      Teleports Master

      Teleport Free

       
      O Server Está FULL EM SQL Só Baixar e Por Online Abaixo !
       
      DOWNLOAD
      4shared
       
      SCAN
      VirusTotal
       
      Testado 32bits windows 7.
       
      ACC DO GOD
      god/god
       
      Creditos
      10% GOD Bon |  Por editar em 2008 90% Baiak Lula = Luizbaiak | Por editar2010 a 2014  
      Obrigado bom jogo!              GOSTOU? DE REP+.
    • Por Dieguiin XP
      Fala galera, hoje venho trazer um mapa editado por mim umpouco parecido com o "BaiakWars" vamos lá   oque contem nesse baiak? -Novo Templo -Castle 24HRS (Unico) com aviso de invasores -Paladin arrumado, agóra pode healar com potion e atacar ao mesmo tempo -Utito Tempo San Arrumado Agóra não da mais Exausted em outras magias -Dodge System -Critical System -Itens Donates para vender no Site ou no Jogo -Itens VIP a mostra no templo -Todos itens DONATES dando as skills normalmente -Vários Teleports  -Novas Hunts -Look Frags -Potions Editadas -War System -Muitas quests -City editada para um PvP muito melhor  -Arena PVP -Fast Attack ROX Para melhor PvP -Quest de set free para Pally/Kinas -Quest de set free para Mages -quest para armas editadas -Treiners com novos visual -30% a mais de experiencia para players donates -10% a mais de experiencia para guild que domina o Castle 24HRS E muito mais!   Comandos principais: !dodoge !critical !stamina !aol !bless !notice.   Vamos as imagens:   templo http://imgur.com/eY4hWyI   teleports http://imgur.com/Xd8YUg8   Quests http://imgur.com/o9beGwi   castle http://imgur.com/CfAiSBI   hunts do castle http://imgur.com/4ix1RD7   area donate http://imgur.com/NGWOA7H   Acc do GOD: 5/god       Download :http://www.4shared.com/rar/hlajskCyce/DiegoWars.html Scan: https://www.virustotal.com/pt/file/7585ec4867213d5f9230eb1f554a4f320756c37db53406f2b9b80e1d75037cbf/analysis/1413409264/   Créditos Dieguiin XP Marcos Vinicius     OBS: Decupem se o tópico ficou meio bagunçado       Gostou? Da um Rep+    
    • Por luanluciano93
      Olá pessoal, tive a iniciativa de criar esse tópico para atualizar e otimizar as sources do TFS 0.4 DEV que é uma das mais usadas no mundo do otserv. Conteúdo totalmente gratuito e pretendemos melhora-lo cada vez mais. 
       
      Qualquer um pode colaborar, postando bugs, erros, otimizando códigos, comentar aqui no tópico, toda ajuda é bem vinda, vamos tornar essa a melhor source disponível. Conto com vocês.
       
      Versão do Tibia: 8.60
       
      Alguns sistema já implementados na source:
      • TFS 0.4 DEV rev 3777 (by TFS Team)
      • Anti-Divulgação (.servegame, .no-ip, .net, .com, .org, .pl, .biz, .br, .sytes, .info)
      • War System
      • Cast System (by Summ)
      • Retirado bugs de anti-push ..
      • Retirado bugs de elfbot ...
      • Retirado erro de não aceitar outros items ...
      • Retirado erro de Malformed File ...
      • Add creatureevent onMoveItem()  ...
      • Add função getCreaturePathTo () ...
      • E vários outros!
       
      Complementos:
      • Add cast System (passo a passo): [AQUI]
      • Pode add o comando na config.lua:
      healthHealingColor = COLOR_GREEN -- [podendo alterar a cor]. manaHealingColor = COLOR_DARKPURPLE -- [podendo alterar a cor]. Downloads:
      • Distro Compilada 32x
      • Distro Compilada 64x
      • Sources 7
       
       
      TESTADO EM WINDOWS, DEBIAN 7.8, UBUNTU 12.04 E 14.05!
       
       
      • Compilar em Linux: 
       
       
       
      • Erros para arrumar: 
       


      Obrigado ao runeraserver pelo incentivo em fixa-la para linux

      E é isso pessoal, espero ter ajudado, abraços
       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo