|
You last visited: Today at 21:11
Advertisement
Metin2 p server EXP bank
Discussion on Metin2 p server EXP bank within the Metin2 Private Server forum part of the Metin2 category.
03/27/2014, 13:09
|
#1
|
elite*gold: 0
Join Date: Jun 2010
Posts: 14
Received Thanks: 1
|
Metin2 p server EXP bank
Hay EPVP
ich habe mir mal was überlegt für meinen server.
Nur ich weiss nicht wie ich das umsätzen soll
also ich dachte an einer exp bank wo ein spieler seine exp
spenden kann und auch wieder abrufen kann.
oder auch einem anderen spieler spenden kann
nur habe null plan wie das gehen soll
aber ich denke mal das es server site und client site
dran gearbeitet werden muss
hoffe ihr wisst vielleicht etwas
bedanke mich schon mal
und fals ich was falsch gemacht habe es ist mein erster
post
|
|
|
03/27/2014, 13:29
|
#2
|
elite*gold: 0
Join Date: Dec 2008
Posts: 2,825
Received Thanks: 1,538
|
ist eigentlich nur per quest möglich.
von der funktion her ist es das gleiche wie ein yang-lager.
schau doch einfach mal nach wie so eine "bank quest" funktioniert, da du da nicht sehr viel umschreiben musst.
|
|
|
03/27/2014, 13:43
|
#3
|
elite*gold: 0
Join Date: Jun 2010
Posts: 14
Received Thanks: 1
|
das ist garnicht so doof die idee vielen danke schaue ich mir mal an und überlege mir was. ich halte dich oder euch auf dem laufenden falls noch jemand ideen hatt posten
|
|
|
03/27/2014, 13:45
|
#4
|
elite*gold: 539
Join Date: Mar 2012
Posts: 435
Received Thanks: 90
|
Aber die idee mit den anderen Spieler geben is doch dumm, dann kann ein high level nen low level die ganze Zeit exp spenden.
|
|
|
03/27/2014, 13:50
|
#5
|
elite*gold: 0
Join Date: Jun 2010
Posts: 14
Received Thanks: 1
|
naja das ist schon richtig aber warum nicht ob den lvln oder exp geben kommt auf das selbe raus oder nicht
habe gerade bei mir geschaut habe keine bank quest da
hatt jemand eine gerade ?
habe jetzt eine so setze mich mal daran und mal sehen was raus kommt
quest eventnpc begin
state start begin
when 20350.chat."Bank" begin
local pin = pc.getqf("konto_pin")
local konto_yang = pc.getqf("konto_yang")
if pin == 0 then
--------------------------- PIN FESTLEGEN! ---------------------------
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Hallo. Ich bin Axel und Verwalte das")
say("Da du das erste mal mit mir sprichst möchte")
say("Ich dich bitten deine Pin fest zu legen.")
say("Nur eine Sichere 5 stellige Pin stellt")
say("sicher das dein Konto vor Dieben sicher")
say("ist.")
say("")
say_reward("Bitte 5 stellige Pin eingeben (Nur Zahlen)")
local pin_eing = tonumber(input("12345"))
if pin_eing > 9999 and pin_eing < 100000 then
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Dieser Pin ist ok!")
say("")
say_reward("Pin " ..pin_eing.. " Speichern?")
local sel=select("Ja", "Nein")
if sel==1 then
pc.setqf("konto_pin", pin_eing)
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Pin wurde gespeichert.")
say("Bis bald mal.")
elseif sel==2 then
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Bis bald mal.")
else
-- Fehler abfangen!
say("Unbekannter Fehler!")
say("Bitte umgehend mit ihren")
say("Fehler Code beim Serverleiter")
say("melden!")
say("Fehler Code: 1")
end
elseif pin_eing > 99999 or pin_eing == 0 or pin_eing < 10000 then
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Tut mir leid doch irgendwas stimmt nicht mit")
say("deiner Pin.")
say("")
say_reward("Info: Pin darf nur Zahlen enthalten!")
say_reward("Info: Pin darf nicht größer als 99999")
say_reward("oder kleiner als 10000 sein!")
else
-- Fehler abfangen!
say("Unbekannter Fehler!")
say("Bitte umgehend mit ihren")
say("Fehler Code beim Serverleiter")
say("melden!")
say("Fehler Code: 2")
end
else
--------------------------- PIN VORHANDEN! ---------------------------
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Hallo. Ich bin Axel und Verwalte das")
say("EXP was die Leute mir anvertraun.")
say("")
say_reward("Was möchtest du tun?")
say("")
local sel=select("EXP geben", "EXP nehmen", "Konto Abfragen", "Pin ändern", "Nichts")
if sel==1 then
---------------------------EXP GEBEN---------------------------
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Bitte Pin eingeben.")
local pin_abf = tonumber(input(""))
if pin_abf == pc.getqf("konto_pin") then
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Pin ist Korrekt.")
say("Wie viel EXP willst auf das Konto einzahlen?")
say("Maximal 1.999.999.999!")
say("")
say_reward("Dabei: " ..pc.get_money())
say("")
local Geld_auf_konto = tonumber(input(""))
local auf_konto_new = tonumber(geld_auf_konto) + pc.getqf("konto_yang")
if geld_auf_konto < 0 then
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Das geht leider nicht.")
else
if pc.get_money() < geld_auf_konto then
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Soviel hast du garnicht dabei.")
else
if auf_konto_new < 2000000000 then
pc.change_money(-geld_auf_konto)
pc.setqf("konto_yang", auf_konto_new)
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Ich habe " ..geld_auf_konto.. " EXP auf dein Konto getan.")
else
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Soviel kannst du nicht aufs Konto.")
say("machen. Das würde die Maximal menge")
say("von 1.999.999.999 überschreiten.")
end
end
end
else
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Falsche Pin.")
end
elseif sel==2 then
---------------------------EXp ABHEBEN---------------------------
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Bitte Pin eingeben.")
local pin_abf = tonumber(input(""))
if pin_abf == pc.getqf("konto_pin") then
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Pin ist Korrekt.")
say("Wie viel EXP vom Konto abheben?")
say("")
say_reward("Auf Konto: " ..pc.getqf("konto_yang"))
say("")
local geld_von_konto = tonumber(input(""))
if geld_von_konto < 0 then
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Das geht leider nicht.")
else
if geld_von_konto > pc.getqf("konto_yang") then
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Soviel hast du nicht auf deinem Konto.")
elseif geld_von_konto <= pc.getqf("konto_yang") then
local yang_bug_check = pc.get_money() + geld_von_konto
if yang_bug_check < 2000000000 then
local auf_konto_new = tonumber(pc.getqf("konto_yang") - geld_von_konto)
pc.setqf("konto_yang", auf_konto_new)
pc.change_money(geld_von_konto)
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Ich habe dir " ..geld_von_konto.. " Yang gegeben.")
else
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Soviel kann ich dir nicht geben. Das würde")
say("Dein Yang auf 0 Setzen! (0 YANG BUG)")
end
end
end
else
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Falsche Pin.")
end
elseif sel==3 then
---------------------------GELD ABFRAGEN---------------------------
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Du möchtest wissen wie viel EXP du auf deinem")
say("Konto hast? Nun gut du hast:")
say("")
say_reward("Yang auf Konto: " ..pc.getqf("konto_yang"))
elseif sel==4 then
---------------------------PIN ÄNDERN---------------------------
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Bitte aktuelle Pin eingeben.")
local pin_abf = tonumber(input(""))
if pin_abf == pc.getqf("konto_pin") then
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Pin ist Korrekt.")
say("Bitte Neue Pin eingeben. (Nur Zahlen)")
local pin_eing = tonumber(input("12345"))
if pin_eing > 9999 and pin_eing < 100000 then
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Diese Pin ist ok!")
say("")
say_reward("Pin " ..pin_eing.. " Speichern?")
local sel=select("Ja", "Nein")
if sel==1 then
pc.setqf("konto_pin", pin_eing)
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Pin wurde erfolgreich geändert.")
say("Bis bald mal.")
elseif sel==2 then
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Bis bald mal.")
else
-- Fehler abfangen!
say("Unbekannter Fehler!")
say("Bitte umgehend mit ihren")
say("Fehler Code beim Serverleiter")
say("melden!")
say("Fehler Code: 3")
end
elseif pin_eing > 99999 or pin_eing == 0 or pin_eing < 10000 then
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Tut mir leid doch irgendwas stimmt nicht mit")
say("deinem Pin. Deshalb habe ich es nicht geändert.")
say("")
say("")
say_reward("Info: Pin darf nur Zahlen enthalten!")
say_reward("Info: Pin darf nicht größer als 99999")
say_reward("oder kleiner als 10000 sein!")
else
-- Fehler abfangen!
say("Unbekannter Fehler!")
say("Bitte umgehend mit ihren")
say("Fehler Code beim Serverleiter")
say("melden!")
say("Fehler Code: 4")
end
else
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Falsche Pin.")
end
elseif sel==5 then
---------------------------Abbrechen---------------------------
say_title("Axel spricht zu ".. pc.get_name() ..".")
say("")
say("Bis bald mal.")
else
-- Fehler abfangen!
say("Unbekannter Fehler!")
say("Bitte umgehend mit ihren")
say("Fehler Code beim Serverleiter")
say("melden!")
say("Fehler Code: 5")
end
end
end
end
end
weiter komme ich nicht       
|
|
|
03/28/2014, 20:56
|
#6
|
elite*gold: 0
Join Date: Jun 2010
Posts: 14
Received Thanks: 1
|
also ich komme nicht weiter ich suche den befehl wie bei der gilde wo ich exp spenden kann
-.- hmmmmmmmmmmmm
also beim npc geht schon alles
nur halt nicht mit exp da ich ja den befehel nicht kenne
|
|
|
03/29/2014, 09:08
|
#7
|
elite*gold: 2
Join Date: Jun 2013
Posts: 1,063
Received Thanks: 1,724
|
Exp an einen Spieler spenden nach Namen:
PHP Code:
quest exp_trading begin state start begin when 20001.chat.'EXP spenden' begin say_title'EXP Spende:' say'Wieviel EXP moechtest du einem User von dir spenden?' local expDonate = tonumber(input()) if expDonate < 1 or expDonate > pc.get_exp() then return end say'Wem moechtest du die EXP spenden?' local name = input() local vid = find_pc_by_name(name) if vid == 0 then return end local myVid = pc.select(vid) pc.give_exp2(expDonate) pc.select(myVid) pc.give_exp2(-expDonate) say(expDonate..' - EXP erfolgreich an '..name..' gespendet!') end end end
Das ganze funktioniert aber nur wenn sich der Charakter im selben Channel befindet
|
|
|
03/29/2014, 09:44
|
#8
|
elite*gold: 0
Join Date: Jun 2010
Posts: 14
Received Thanks: 1
|
Danke hast ein thanks bekommen
Ich werde jetzt versuchen das in die quest einzubauen
und da etwas raus kopieren das ich es für die exp bank benutzen kann
ich hoffe ich schaffe es
|
|
|
03/29/2014, 11:21
|
#9
|
elite*gold: 0
Join Date: Dec 2008
Posts: 2,825
Received Thanks: 1,538
|
Für exp in Gilde spenden gibt es leider keine questflag...
|
|
|
03/29/2014, 15:13
|
#10
|
elite*gold: 0
Join Date: Jun 2010
Posts: 14
Received Thanks: 1
|
ich habe auch noch nichts gefunden aber es muss doch irgendwie möglich sein EXP zu speichern auf einer art bank ...........
|
|
|
03/29/2014, 16:09
|
#11
|
elite*gold: 2
Join Date: Jun 2013
Posts: 1,063
Received Thanks: 1,724
|
Koenntest die EXP in einer mysql Tabelle oder .txt Datei speichern.
|
|
|
03/29/2014, 17:40
|
#12
|
elite*gold: 0
Join Date: Jun 2010
Posts: 14
Received Thanks: 1
|
wie ist das denn gemeint verstehe ich nicht
|
|
|
03/29/2014, 17:51
|
#13
|
elite*gold: 2
Join Date: Jun 2013
Posts: 1,063
Received Thanks: 1,724
|
Naja wenn du z.b. die gespeicherten EXP von dir fuer andere verfuegbar machen moechtest, dann ist es per Questflag eine eher schlechte Idee.
Du koenntest deine gelagerten EXP in einer mysql Tabelle oder in einer .txt Datei speichern lassen und so fuer die anderen verfuegbar machen, indem sie diese dann dort abrufen koennen.
Die Aufgabe ist ein wenig zu groß fuer jemanden der noch nie was mit Lua gemacht hat. Evtl. findest du wen der dir das umsonst macht, ansonsten meld dich bei mir (nicht umsonst).
|
|
|
03/29/2014, 18:03
|
#14
|
elite*gold: 0
Join Date: Jun 2010
Posts: 14
Received Thanks: 1
|
naja ich bin halt nur auf die idee gekommen nur es scheint ein paar nummern zu goß für mich zu sein
also ich möchte einfach das leute ihre exp auf einer bank speichern können und ssie später zb wieder abrufen können
das mit dem exp spenden das habe ich ja hier schon von einem bekommen
das geht alles wunderbar und vielen dank nochmal für die quest mit dem exp spenden
|
|
|
03/29/2014, 21:39
|
#15
|
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
|
Quote:
Originally Posted by David✔
Aber die idee mit den anderen Spieler geben is doch dumm, dann kann ein high level nen low level die ganze Zeit exp spenden.
|
So doof ist die Idee gar nicht. Man kann ja eine Levelgrenze like Gruppe einbauen.
PHP Code:
quest exp_trading begin
state start begin
when 20001.chat.'EXP spenden' begin
say_title'EXP Spende:'
say'Wieviel EXP moechtest du einem User von dir spenden?'
local expDonate = tonumber(input())
if expDonate < 1 or expDonate > pc.get_exp() then return end
say'Wem moechtest du die EXP spenden?'
local name = input()
local vid = find_pc_by_name(name)
if vid == 0 then return end
local me = pc.get_name()
local myLevel = pc.get_level()
local myVid = pc.select(vid)
if myLevel-15 > pc.get_level() or myLevel+15 < pc.get_level() then
pc.select(myVid)
syschat("Nur Spielern mit dem Level -15 / +15 kann Erfahrung gespendet werden!")
return
end
pc.give_exp2(expDonate)
pc.select(myVid)
pc.give_exp2(-expDonate)
say(expDonate..' - EXP erfolgreich an '..name..' gespendet!')
end
end
end
|
|
|
Similar Threads
|
Metin2 p server EXP bank
03/27/2014 - elite*gold Trading - 1 Replies
Hay EPVP
ich habe mir mal was überlegt für meinen server.
Nur ich weiss nicht wie ich das umsätzen soll:confused:
also ich dachte an einer exp bank wo ein spieler seine exp
spenden kann und auch wieder abrufen kann.
oder auch einem anderen spieler spenden kann
nur habe null plan wie das gehen soll
aber ich denke mal das es server site und client site
dran gearbeitet werden muss
hoffe ihr wisst vielleicht etwas
|
All times are GMT +1. The time now is 21:11.
|
|