Huhu,
ich habe mal eine Einlogg-Bonus-Funktion geschrieben.
Sie vergibt jeden Tag Cash und ein Item oder auch mehrere Items...
Einfach in der TGLOBAL_GSP eine neue Funktion erstellen und dies hier einsetzen.
/*
[Code from: Syntaxfehler]
*/
CREATE PROCEDURE [dbo].[TGiveSilverBonus]
@dwUserID INT,
@dwCharID INT
AS
BEGIN
-- Variables
DECLARE @dLastGivenSilver DATE = null
DECLARE @dwLastSilver INT = 0
DECLARE @bGive INT = 1
DECLARE @szRecvName VARCHAR(50)
DECLARE @bLenTitle BINARY(4)
DECLARE @bLenMessage BINARY(4)
DECLARE @szT VARCHAR(8)
DECLARE @szM VARCHAR(8)
-- Variables (you can change)
DECLARE @dwAddSilver INT = 10
DECLARE @dwMaxSilver INT = 40
DECLARE @szSender VARCHAR(50) = 'Administrator'
DECLARE @szTitle VARCHAR(256) = 'Willkommen zurück!'
DECLARE @szMessage VARCHAR(2048) = '(DEIN TEXT)'
-- Do not change (taken from TEventItemGive)!
SET @bLenTitle = DATALENGTH(@szTitle)
SET @bLenMessage = DATALENGTH(@szMessage)
SET @szT = RIGHT(master.dbo.fn_sqlvarbasetostr(@bLenTitle), 8)
SET @szTitle = @szT + @szTitle
SET @szM = RIGHT(master.dbo.fn_sqlvarbasetostr(@bLenMessage), 8)
SET @szMessage = @szM + @szMessage
-- Silver already given?
SELECT @dLastGivenSilver = dLastGivenSilver, @bGive = dwGetBonus
FROM TCOMEBACKTABLE WHERE dwUserID = @dwUserID
IF(@@rowcount = 0) -- then there is something wrong!
SET @bGive = 2
IF(@bGive != 0)
BEGIN
IF(@dLastGivenSilver = CONVERT(date, GetDate()))
SET @bGive = 0
IF(@dLastGivenSilver = '1900-01-01')
BEGIN
SET @bGive = 0
UPDATE TCOMEBACKTABLE SET dLastGivenSilver = CONVERT(date, GetDate())
WHERE dwUserID = @dwUserID
END
END
-- Give silver
IF(@bGive = 1 OR @bGive = 2)
BEGIN
-- Get information from TCOMEBACKTABLE
SELECT @dwLastSilver = dwLastSilver FROM TCOMEBACKTABLE WHERE dwUserID = @dwUserID
-- Get name of character
SELECT @szRecvName = szName FROM TGAME_GSP.dbo.TCHARTABLE WHERE dwCharID = @dwCharID
-- Check date
IF(DATEDIFF(day, @dLastGivenSilver, CONVERT(date, GetDate())) > 1)
SET @dwLastSilver = 0
-- Check maximum
IF(@dwMaxSilver = @dwLastSilver OR @dwMaxSilver < @dwLastSilver)
SET @dwLastSilver = @dwMaxSilver - @dwAddSilver
-- Send silver
INSERT INTO TGAME_GSP.dbo.TPOSTTABLE(dwCharID, szSender, dwSendID, szRecvName, szTitle,
szMessage, bType, bRead, dwGold, dwSilver, dwCooper, timeRecv)VALUES(
@dwCharID, @szSender, 0, @szRecvName, @szTitle, @szMessage, 0, 0, 0,
@dwLastSilver + @dwAddSilver, 0, GetDate())
END
IF(@bGive = 1)
BEGIN
UPDATE TCOMEBACKTABLE
SET dLastGivenSilver = CONVERT(date, GetDate()), dwLastSilver = @dwLastSilver + @dwAddSilver
WHERE dwUserID = @dwUserID
END
IF(@bGive = 2) -- then there is something wrong!
BEGIN
INSERT INTO TCOMEBACKTABLE(
dwUserID, dwGetBonus, dLastGiven, dwLastSilver, dLastGivenSilver)VALUES(
@dwUserID, 1, CONVERT(date, GetDate()), @dwAddSilver, CONVERT(date, GetDate()))
END
END
@dwAddSilver = Wieviel Silber es pro Tag gibt
@dwMaxSilver = Maximal erreichbare Silber-Anzahl
@szSender = Der Absender vom Brief
@szTitle = Der Brief-Titel
@szMessage = Der Text im Brief
In die TEnterServer-Funktion (auch TGLOBAL_GSP) müssen jetzt noch folgende
Zeilen eingefügt werden:
Damit diese Funktionen funktionieren wird eine extra Tabelle benötigt.
Folgende Datei kann per "Dump SQL File" in der TGLOBAL_GSP ausgeführt werden und fügt die entsprechende Tabelle hinzu.
In der TCOMEBACKTABLE ist auch dwGetBonus zu finden, dadurch kann man Accounts vom Einlogg-Bonus ausschließen.
Was genau funktioniert denn nicht?
Ich habe im Moment nicht die Möglichkeit ein Video-Tutorial zu machen.
Hast du alles richtig gemacht?
Also, du erstellst eine neue Funktion, fügst den Code aus dem ersten
Spoiler ein und speicherst sie.
Dann öffnest du die Funktion TEnterServer und fügst ein oder zwei Zeilen (da ist ja immer Abstand zwischen)
noch vorCOMMIT TRAN TENTERSERVER die Zeile aus dem zweiten Spoiler ein!
Falls es immernoch nicht klappt, muss ich gucken, ob ich das mit dem Video-TuT vielleicht
doch mal zum Funktionieren kriege.
Geh in Navicat, such deine SQL-Verbindung, klick auf TGLOBAL_GSP, dann dbo und dann oben auf Function. Dann mach einfach rechts klick und drück auf New Function.
Mfg TheKiingZ
Metin2 Pserver einlogg Problem 09/05/2012 - Metin2 Private Server - 1 Replies Ich habe meinem Freund einen Account in der Datenbank angelegt und wenn er sich einloggen will kommt immer: Benutzername oder Passwort falsch.
Es kann garnicht falsch sein ich habe alles richtig gemacht ;) Wenn ich versuche da einzuloggen kommt es bei mir auch. In meinen Account kann er rein!
flyff pserver einlogg problem 02/21/2011 - Flyff Private Server - 26 Replies hallo liebe e*pvpers
ich habe das problem, wenn ich mich einloggen will, das da immer so ein server zertifizierungs fehler kommt ich hab alle 7server an(V15 Files Repack by Sedrika)
und ich hab die Sedrika's V15 Repack 16-08-2010
ich habe echt keine ahnung woran das liegt hab alles nach dem TuT gemacht( Einrichten der v15 Offi Files) bitte um hilfe http://img87.imageshack.us/img87/3418/errorflyff.p ng Uploaded with ImageShack.us
#Edit
PServer Einlogg problem 05/09/2010 - Metin2 Private Server - 2 Replies Halloo,
vl kann mir ja einer helfen.
Ich habe 1 1/2 probleme bei meinem hamatchi metin2 p server.
Problem1:
Der Virtual Pc 2007 haut die IPv4 Adresse und die Netmask immer raus.
Dh. , dass er die nicht speichert und auch wenn ich sie neu eingebe und dann den virtuellen server starte, ist sie wieder raus.
Gelöst:
1/2 Problem:
Help Pserver einlogg problem 10/31/2009 - Metin2 Private Server - 24 Replies Ich habe ein recht komisches problem, ich hoffe ihr könnt mir helfen.
Ich habe bereits die SuFu benutzt aber nix gefunden.
Und zwar:
wenn ich bei .de mich einlogg kommt Fehler beim verbinden mit dem Server. Ich habe die mc.txt richtig auf die IP des besitzers eingegeben. ich weiß nicht wieso es nicht geht vor paar tagen lief alles einbahnfrei. Wenn ich bei china.exe auf Sura kopf klick kommt: LoadLocaleError(locale/hongkong/locale_game.txt)
Falls mir jemand helfen kann, wäre ich...
[Help]Pserver einlogg Problem 10/29/2009 - Metin2 Private Server - 8 Replies Hallo liebe com.
Ich hab schon die SuFu benutz aber finde leider nix, also:
Wenn ich mich einloggen will kommt fehler beim verbinden mit dem server. Wenn ich aber auf nem anderem server zock geht es... kann mir jemand helfen?...:confused: