Register for your free account! | Forgot your password?

You last visited: Today at 12:53

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[RELEASE][PYTHON/LUA][GUI] Bank-System

Discussion on [RELEASE][PYTHON/LUA][GUI] Bank-System within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old 04/18/2015, 15:21   #16
 
elite*gold: 26
Join Date: Oct 2011
Posts: 1,262
Received Thanks: 1,062
Wenn man sowas richtig machen möchte, sollte man es per Source machen.
Quests sind dafür eigentlich nicht gedacht und werden für sowas auch nicht mehr benötigt. (Praise the Leak!)

Nettes Release, aber trotzdem nichts besonderes/neues

Regards
He3o Crysis is offline  
Old 04/18/2015, 15:23   #17

 
Mr. 'Avenue™'s Avatar
 
elite*gold: 222
The Black Market: 101/0/0
Join Date: Oct 2012
Posts: 2,369
Received Thanks: 3,389
Quote:
Originally Posted by .He3o Crysis View Post
Wenn man sowas richtig machen möchte, sollte man es per Source machen.
Quests sind dafür eigentlich nicht gedacht und werden für sowas auch nicht mehr benötigt. (Praise the Leak!)

Nettes Release, aber trotzdem nichts besonderes/neues

Regards
Jedoch arbeitet nicht jeder mit dem Source, oder will eine neue game benutzen.
Mr. 'Avenue™ is offline  
Old 04/18/2015, 15:50   #18
 
elite*gold: 0
Join Date: Mar 2015
Posts: 19
Received Thanks: 1
Don't work,when i don't have this "
" in costinfo the GUI appears,when i put this "
" in costinfo the GUI don't appears
Undead Corporation is offline  
Old 04/18/2015, 15:52   #19

 
Mr. 'Avenue™'s Avatar
 
elite*gold: 222
The Black Market: 101/0/0
Join Date: Oct 2012
Posts: 2,369
Received Thanks: 3,389
Quote:
Originally Posted by Undead Corporation View Post
Don't work,when i don't have this "
" in costinfo the GUI appears,when i put this "
" in costinfo the GUI don't appears
I don't know what you mean exactly.
For support you can add me in skype: mravenue.epvp
Mr. 'Avenue™ is offline  
Old 04/18/2015, 16:00   #20
 
elite*gold: 0
Join Date: Mar 2015
Posts: 19
Received Thanks: 1
enter to skype to talk
edit: problem resolved

another problem:
SYSERR: Apr 18 17:08:19 :: RunState: LUA_ERROR: [string "ave_bank"]:133: attempt to compare number with nil
SYSERR: Apr 18 17:08:19 :: WriteRunningStateToSyserr: LUA_ERROR: quest ave_bank.start click


i edit the quest :
Undead Corporation is offline  
Old 04/18/2015, 21:08   #21

 
Mr. 'Avenue™'s Avatar
 
elite*gold: 222
The Black Market: 101/0/0
Join Date: Oct 2012
Posts: 2,369
Received Thanks: 3,389
Quote:
Originally Posted by Undead Corporation View Post
enter to skype to talk
edit: problem resolved

another problem:
SYSERR: Apr 18 17:08:19 :: RunState: LUA_ERROR: [string "ave_bank"]:133: attempt to compare number with nil
SYSERR: Apr 18 17:08:19 :: WriteRunningStateToSyserr: LUA_ERROR: quest ave_bank.start click


i edit the quest :
PHP Code:
define buyprice 1000000
define maxyang 1999999999
define maxbank 2000000000

quest ave_bank begin
    state start begin
        
function checkUser(name)
            return 
mysql_query(string.format("SELECT count(username) FROM quest.bank WHERE username = '%s'"name))[1][1] > 0
        end
        
function getInfo(namewhat)
            return 
tostring(mysql_query(string.format("SELECT %s FROM quest.bank WHERE username='%s';"whatname))[1][1])
        
end
        
function split_(string_,delimiter)
            
local result = { }
            
local from  1
            local delim_from
delim_to string.findstring_delimiterfrom  )
            while 
delim_from do
                
table.insertresultstring.substring_from delim_from-) )
                
from  delim_to 1
                delim_from
delim_to string.findstring_delimiterfrom  )
            
end
            table
.insertresultstring.substring_from  ) )
            return 
result
        end
        
function client_command(command_)
            return 
ave_bank.split_(command_,"#")
        
end
        
function getinput(par)
            
cmdchat("getinputbegin")
            
local ret input(cmdchat(par))
            
cmdchat("getinputend")
            return 
ret
        end
        when login begin
            cmdchat
("BANK QID/"..q.getcurrentquestindex())
        
end
        when button begin
            local cmd 
ave_bank.client_command(ave_bank.getinput("BANK QUESTCMD"))
            if 
cmd[1] == "MAKELOGIN" then
                
if not ave_bank.checkUser(cmd[2]) then
                    syschat
("Dieser Benutzer existiert nicht!")
                    return
                
end
                
if cmd[3] != ave_bank.getInfo(cmd[2], "password"then
                    syschat
("Dein eingegebens Passworrt ist falsch.")
                    return
                
end
                syschat
("Erfolgreich angemeldet.")
                
cmdchat(string.format("BANK USERDATA/%s/%s/%s"cmd[2], cmd[3], ave_bank.getInfo(cmd[2], "money")))
                
cmdchat("BANK OPEN")
            
end
            
if cmd[1] == "CHANGEPW" then
                
if not ave_bank.checkUser(cmd[2]) then
                    syschat
("Oops! Something went wrong.")
                    return
                
end
                
if cmd[3] != ave_bank.getInfo(cmd[2], "password"then
                    syschat
("Dein altes Passwort ist inkorrekt.")
                    return
                
end
                
if string.len(cmd[4]) < 4 then
                    syschat
("Dein neues Passwort muss mindestens 4 Zeichen haben!")
                    return
                
end
                
if cmd[3] == cmd[4then
                    syschat
("Dein neues Passwort darf nicht dasselbe wie dein jetziges sein!")
                    return
                
end
                mysql_query
(string.format("UPDATE quest.bank set password = '%s' WHERE username = '%s';"cmd[4], cmd[2])) 
                
mysql_query(string.format("INSERT INTO quest.bank_password_log (account_id, name, old_password, new_password, time) VALUES('%d', '%s', '%s', '%s', CURRENT_TIMESTAMP);"pc.get_account_id(), pc.get_name(), cmd[3], cmd[4]))
                
syschat(string.format("Dein Passwort wurde erfolgreich in %s geändert!"cmd[4]))
            
end
            
if cmd[1] == "CASHIN" then
                local cashedin 
tonumber(cmd[4])
                
local saldo tonumber(ave_bank.getInfo(cmd[2], "money"))
                if 
not ave_bank.checkUser(cmd[2]) then
                    syschat
("Oops! Something went wrong.")
                    return
                
end
                
if cmd[3] != ave_bank.getInfo(cmd[2], "password"then
                    syschat
("Oops! Something went wrong.")
                    return
                
end
                
if cashedin <= 0 then
                    syschat
("Was versuchst du da?")
                    return
                
end
                
if cashedin pc.get_gold() then
                    syschat
("Soviel Yang besitzt du nicht!")
                    return
                
end
                
if cashedin+saldo maxbank then
                    syschat
("Soviel Yang kannst du nicht einzahlen!")
                    return
                
end
                mysql_query
(string.format("INSERT INTO quest.bank_deposit_log (account_id, name, money, bank_name, time) VALUES('%d', '%s', '%s', '%s', CURRENT_TIMESTAMP);"pc.get_account_id(), pc.get_name(), cashedincmd[2]))
                
mysql_query(string.format("UPDATE quest.bank SET money = money + '%s' WHERE username = '%s';"cashedincmd[2]))
                
pc.changegold(-cashedin)
                
syschat(string.format("Du hast %s Yang eingezahlt."cashedin))
                
cmdchat(string.format("BANK USERDATA/%s/%s/%s"cmd[2], cmd[3], ave_bank.getInfo(cmd[2], "money")))
            
end
            
if cmd[1] == "CASHOUT" then
                local cashedout 
tonumber(cmd[4])
                
local saldo tonumber(ave_bank.getInfo(cmd[2], "money"))
                if 
not ave_bank.checkUser(cmd[2]) then
                    syschat
("Oops! Something went wrong.")
                    return
                
end
                
if cmd[3] != ave_bank.getInfo(cmd[2], "password"then
                    syschat
("Oops! Something went wrong.")
                    return
                
end
                
if cashedout <= 0 then
                    syschat
("Was versuchst du da?")
                    return
                
end
                
if cashedout >= saldo then
                    syschat
("Soviel Yang hast du nicht auf deinem Konto!")
                    return
                
end
                
if cashedout+pc.get_gold() > maxyang then
                    syschat
(string.format("Du darfst maximal nur %d Yang mit dir rumtragen."maxyang))
                    return
                
end
                mysql_query
(string.format("INSERT INTO quest.bank_withdraw_funds_log (account_id, name, money, bank_name, time) VALUES('%d', '%s', '%s', '%s', CURRENT_TIMESTAMP);"pc.get_account_id(), pc.get_name(), cashedoutcmd[2]))
                
mysql_query(string.format("UPDATE quest.bank SET money = money - '%s' WHERE username = '%s';"cashedoutcmd[2]))
                
pc.changegold(cashedout)
                
syschat(string.format("Du hast %s Yang ausgezahlt."cashedout))
                
cmdchat(string.format("BANK USERDATA/%s/%s/%s"cmd[2], cmd[3], ave_bank.getInfo(cmd[2], "money")))
            
end
            
if cmd[1] == "TRANSFER" then
                local amount 
tonumber(cmd[4])
                
local saldo tonumber(ave_bank.getInfo(cmd[2], "money"))
                
local targetsaldo tonumber(ave_bank.getInfo(cmd[5], "money"))
                if 
not ave_bank.checkUser(cmd[2]) then
                    syschat
("Oops! Something went wrong.")
                    return
                
end
                
if cmd[3] != ave_bank.getInfo(cmd[2], "password"then
                    syschat
("Oops! Something went wrong.")
                    return
                
end
                
if cmd[2] == cmd[5then
                    syschat
("Was versuchst du da?")
                    return
                
end
                
if amount <= 0 then
                    syschat
("Was versuchst du da?")
                    return
                
end
                
if not ave_bank.checkUser(cmd[5]) then
                    syschat
("Dieses Bankkonto existiert nicht!")
                    return
                
end
                
if amount >= saldo then
                    syschat
("Soviel Yang hast du nicht auf deinem Konto!")
                    return
                
end
                
if amount+targetsaldo maxbank then
                    syschat
("Soviel Yang kann das Bankkonto nicht aufnehmen!")
                    return
                
end
                mysql_query
(string.format("INSERT into quest.bank_transfer_log (account_id, name, value, transfer_to, time) VALUES('%d', '%s', '%s', '%s', CURRENT_TIMESTAMP);"pc.get_account_id(), pc.get_name(), amountcmd[5]))
                
mysql_query(string.format("UPDATE quest.bank SET money = money - '%s' WHERE username = '%s';"amountcmd[2]))
                
mysql_query(string.format("UPDATE quest.bank SET money = money + '%s' WHERE username = '%s';"amountcmd[5]))
                
syschat(string.format("Du hast %s an %s überwiesen."amountcmd[5]))
                
cmdchat(string.format("BANK USERDATA/%s/%s/%s"cmd[2], cmd[3], ave_bank.getInfo(cmd[2], "money")))
            
end
            
if cmd[1] == "REGISTER" then
                
if pc.get_gold() < buyprice then
                    syschat
(string.format("Du hast nicht genügend Yang. Dir fehlt %d Yang!"tonumber(buyprice-pc.get_gold())))
                    return
                
end
                
if ave_bank.checkUser(cmd[2]) then
                    syschat
("Ein Bankkonto mit dem Namen existiert bereits.")
                    return
                
end
                
if string.len(cmd[2]) < or string.len(cmd[3]) > 12 then
                    syschat
("Dein Benutzername muss mindestens 4 & darf maximal 12 Zeichen haben!")
                    return
                
end
                
if string.len(cmd[3]) < or string.len(cmd[3]) > 12 then
                    syschat
("Dein Passwort muss mindestens 4 & darf maximal 12 Zeichen haben!")
                    return
                
end
                mysql_query
(string.format("INSERT INTO quest.bank (account_id, name, username, password, time) VALUES ('%d', '%s', '%s', '%s', CURRENT_TIMESTAMP);"pc.get_account_id(), pc.get_name(), cmd[2], cmd[3]))
                
pc.change_gold(-buyprice)
                
syschat(string.format("Benutzername: %s"cmd[2]))
                
syschat(string.format("Passwort: %s"cmd[3]))
            
end
        end
    end
end 
Try it.
Mr. 'Avenue™ is offline  
Old 04/18/2015, 23:27   #22
 
elite*gold: 0
Join Date: Mar 2015
Posts: 19
Received Thanks: 1
define buyprice 1000000
define maxyang 1999999999
define maxbank 2000000000
where put this?
Undead Corporation is offline  
Old 04/19/2015, 01:04   #23

 
Mr. 'Avenue™'s Avatar
 
elite*gold: 222
The Black Market: 101/0/0
Join Date: Oct 2012
Posts: 2,369
Received Thanks: 3,389
Quote:
Originally Posted by Undead Corporation View Post
define buyprice 1000000
define maxyang 1999999999
define maxbank 2000000000
where put this?
It have to be in the quest-file.
But you can delete the variables if you change the uses of this variables with their values.
Mr. 'Avenue™ is offline  
Old 04/19/2015, 08:33   #24
 
elite*gold: 0
Join Date: Mar 2015
Posts: 19
Received Thanks: 1
don't work
Undead Corporation is offline  
Old 04/26/2015, 02:50   #25


 
elite*gold: 3
Join Date: Mar 2015
Posts: 439
Received Thanks: 615
0426 03:06:42039 :: Traceback (most recent call last):

0426 03:06:42040 :: File "ui.py", line 99, in OnMouseLeftButtonDown

0426 03:06:42040 :: AttributeError
0426 03:06:42040 :: :
0426 03:06:42040 :: 'ExpandedImageBox' object has no attribute 'clickEvent'
0426 03:06:42040 ::
Zphr is offline  
Old 05/27/2015, 19:40   #26
 
elite*gold: 0
Join Date: Mar 2013
Posts: 5
Received Thanks: 0
how to add this ? 0_o i have problem with german lang help ; (


use client 40k
sysrr

0527 19:27:26721 :: Traceback (most recent call last):

0527 19:27:26721 :: File "networkModule.py", line 245, in SetGamePhase

0527 19:27:26722 :: File "system.py", line 130, in __pack_import

0527 19:27:26722 :: File "
0527 19:27:26722 :: game.py
0527 19:27:26722 :: ", line
0527 19:27:26722 :: 2279
0527 19:27:26722 ::

0527 19:27:26722 ::
0527 19:27:26722 :: constInfo.INPUT_IGNORE = 1

0527 19:27:26722 ::
0527 19:27:26722 ::
0527 19:27:26722 ::
0527 19:27:26722 ::
0527 19:27:26722 ::
0527 19:27:26722 ::
0527 19:27:26722 ::
0527 19:27:26722 ::
0527 19:27:26722 ::
0527 19:27:26722 :: ^

0527 19:27:26722 :: IndentationError
0527 19:27:26722 :: :
0527 19:27:26722 :: expected an indented block
0527 19:27:26722 ::



and quest error

ave_bank.quest:1:must start with 'quest'
Abort trap (core dumped)
Damianowski0101 is offline  
Old 05/28/2015, 03:01   #27
 
elite*gold: 0
Join Date: Jan 2011
Posts: 54
Received Thanks: 2
SYSERR: May 28 00:52:46 :: RunState: LUA_ERROR: [string "ave_bank"]:133: attempt to compare number with nil
SYSERR: May 28 00:52:46 :: WriteRunningStateToSyserr: LUA_ERROR: quest ave_bank.start letter
SYSERR: May 28 00:52:55 :: RunState: LUA_ERROR: locale/germany/quest/object/state/ave_bank:2: attempt to index field `?' (a nil value)

SYSERR: May 28 00:55:44 :: WriteRunningStateToSyserr: LUA_ERROR: quest ave_bank.start letter
SYSERR: May 28 00:56:35 :: RunState: LUA_ERROR: [string "ave_bank"]:133: attempt to compare number with nil

I can't register normaly in this gui, just by db I registered account & i can login... Pff
I can't take or pay any value money in account ... Pff
This is **** & good luck with this **** :/
worldend is offline  
Old 05/28/2015, 13:49   #28
 
elite*gold: 0
Join Date: May 2015
Posts: 37
Received Thanks: 25
einfach super danke
*Nicki* is offline  
Old 05/28/2015, 19:33   #29
 
elite*gold: 0
Join Date: May 2015
Posts: 25
Received Thanks: 0
good
freddyryks is offline  
Old 05/29/2015, 01:26   #30
 
Noa_'s Avatar
 
elite*gold: 0
Join Date: May 2013
Posts: 605
Received Thanks: 580
sehr bescheiden, bis auf die quest

ich hätte das gui, i-wo eingebaut, nicht separat.

trotzdem gut gemacht
Noa_ is offline  
Thanks
1 User
Reply

Tags
banksystem, gui, lua, metin2, python


Similar Threads Similar Threads
[PYTHON | RELEASE] KillEfekt & Blood System
12/27/2022 - Metin2 PServer Guides & Strategies - 54 Replies
Onlye for ElitePVP. Please a do not share any other place.(Lütfen hiç bir forumda paylaşmayin.Sadece ElitePVP.) (Bitte teilen nicht alle Foren.) Hi.I'm Fatihbab34™ Python = Fatihbab34™ Design = Khafkef™ Video ; KillEfekt & Blood System | Fatihbab34? - YouTube
[Release]Bank System mit GUI
07/11/2014 - Metin2 PServer Guides & Strategies - 66 Replies
hi ich möchte heute mein Bank System mit euch teilen ich habe es erstellt da es meines wissens nach noch keine Bank mit GUI gibt hier ein paar screens: http://epvpimg.com/0glRe.png
[Release]Bank System über Mysql+Log System
09/06/2013 - Metin2 PServer Guides & Strategies - 16 Replies
Hallo, wie die Überschrift schon sagt Release ich euch heute ein Bank System von einem Freund von mir. Bevor ihr meckert, ich habe die Erlaubnis von ihm! Ich weiß es gibt viele Bank Systeme, aber so eins wie ich es euch Heute Release habe ich bis jetzt noch nicht gesehen. Features:



All times are GMT +1. The time now is 12:53.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.