Je Kill ein up

10/14/2013 20:54 riderz1#1
Hi,

ich hatte da eine idee und wollte es so einstellen damit man auf einem highlvlserver pro kill ein up kriegt. Aber irgendwie hat es nicht geklappt. Vielleicht könnt ihr mir helfen. Würde mich auf eine Antwort freuen. Danke schonmal im vorraus.

PHP Code:
USE [PS_GameLog]
GO
/****** Object:  StoredProcedure [dbo].[usp_Insert_Action_Log_E]    Script Date: 10/14/2013 20:47:25 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE 
[dbo].[usp_Insert_Action_Log_E]
    @
UserID [varchar](18),
    @
UserUID [int],
    @
CharID [int],
    @
CharName [varchar](50),
    @
CharLevel [tinyint],
    @
CharExp [int],
    @
MapID [smallint],
    @
PosX [real],
    @
PosY [real],
    @
PosZ [real],
    @
ActionTimeZ [varchar](50),
    @
ActionType [tinyint],
    @
Value1 [bigint] = null,
    @
Value2 [int] = null,
    @
Value3 [int] = null,
    @
Value4 [bigint] = null,
    @
Value5 [int] = null,
    @
Value6 [int] = null,
    @
Value7 [int] = null,
    @
Value8 [int] = null,
    @
Value9 [int] = null,
    @
Value10 [int] = null,
    @
Text1 [varchar](100) = '',
    @
Text2 [varchar](100) = '',
    @
Text3 [varchar](100) = '',
    @
Text4 [varchar](100) = '',
    @
Sql [nvarchar](4000) = '',
    @
yyyy [varchar](4) = '',
    @
mm [varchar](2) = '',
    @
dd [varchar](2) = '',
    @
Bucket [smallint] = -1
WITH EXECUTE 
AS CALLER
AS
DECLARE @
ActionTime as datetime
SELECT 
@ActionTime CONVERT(datetime, @ActionTimeZ120)
SET @yyyy datepart(yyyy, @ActionTime)
SET @mm datepart(mm, @ActionTime)
SET @dd datepart(dd, @ActionTime)


IF(
LEN(@mm) = 1)
BEGIN
    SET 
@mm '0' + @mm
END

IF(LEN(@dd) = 1)
BEGIN
    SET 
@dd '0' + @dd
END

IF (@ActionType 103)
begin
Update PS_GameData
.dbo.Chars SET @CharLevel  = @CharLevel  1 WHERE CharID = @CharID
END

SET 
@Sql N'
INSERT INTO PS_GameLog.dbo.ActionLog
(UserID, UserUID, CharID, CharName, CharLevel, CharExp, MapID,  PosX, PosY, PosZ, ActionTime, ActionType, 
Value1, Value2, Value3, Value4, Value5, Value6, Value7, Value8, Value9, Value10, Text1, Text2, Text3, Text4)
VALUES(@UserID, @UserUID, @CharID, @CharName, @CharLevel, @CharExp, @MapID, @PosX, @PosY, @PosZ, @ActionTime, @ActionType, 
@Value1, @Value2, @Value3, @Value4, @Value5, @Value6, @Value7, @Value8, @Value9, @Value10, @Text1, @Text2, @Text3, @Text4)'

EXEC sp_executesql @Sql
N'@UserID varchar(18), @UserUID int, @CharID int, @CharName varchar(50), 
@CharLevel tinyint, @CharExp int, @MapID smallint, @PosX real, @PosY real, @PosZ real, @ActionTime datetime, @ActionType tinyint, 
@Value1 bigint, @Value2 int, @Value3 int, @Value4 bigint, @Value5 int, @Value6 int, @Value7 int, @Value8 int, 
@Value9 int, @Value10 int, @Text1 varchar(100), @Text2 varchar(100), @Text3 varchar(100), @Text4 varchar(100)'
,
@
UserID, @UserUID, @CharID, @CharName, @CharLevel, @CharExp, @MapID, @PosX, @PosY, @PosZ, @ActionTime, @ActionType
@
Value1, @Value2, @Value3, @Value4, @Value5, @Value6, @Value7, @Value8, @Value9, @Value10, @Text1, @Text2, @Text3, @Text4 
10/14/2013 21:36 nubness#2
The level of an online character is stored in the memory and no matter what you do in the database while the character is online, it won't change.
10/14/2013 21:42 riderz1#3
and after the relogg?
10/14/2013 22:30 nubness#4
If you change it when the player is offline, then it stays, of course.
10/14/2013 22:45 riderz1#5
do you have any idea how I can change it so that I get per kill after the relogg a level? or can you make me a script for level per minute pls?
10/14/2013 23:55 nubness#6
I could, but the idea just seems to be too stupid, sorry.
10/16/2013 03:12 olinou2#7
Quote:
Originally Posted by nubness View Post
the idea just seems to be too stupid, sorry.
This deserves a thanks!

Lol...